Memory optimized, simple, and feature rich Discord API wrapper written in Nim. (Mirror of https://github.com/SeanOMik/nimcord)
SeanOMik 2ff89d9e18 | ||
---|---|---|
.vscode | ||
examples | ||
src | ||
.gitignore | ||
LICENSE | ||
README.md | ||
generate_docs.bat | ||
generate_docs.sh | ||
nimcord.nimble |
README.md
NimCord
Memory optimized, simple, and feature rich Discord API wrapper written in Nim.
NimCord
A Discord API wrapper written in Nim. Inspired, and created by the author of a memory optimized Discord Library named DisC++.
State
NimCord is currently in a testing state. If you want to use it, you can but you may encounter errors. If you do encounter errors, create a GitHub issue or join the Discord server.
Dependencies
Documenation
You can generate documenation by running generate_docs.bat/sh
(depending on your system). Documentation is outputted to the docs
directory.
What makes NimCord different?
- Low memory usage.
- Even though its memory optimized, it's still easy to use without loosing any features.
- If an member, or channel, is somehow not in cache, it will request the object from the REST api and update the cache to ensure that your bot doesn't crash.
- Other libraries don't have a command handler built in and also doesn't have a event handler that supports multiple listeners.
How to install:
- Install Nim
- Install NimCord.
- NimCord is not yet available on the official Nimble package repository. To install it, you need to clone this repo and in the project root, run:
nimble install
- NimCord is not yet available on the official Nimble package repository. To install it, you need to clone this repo and in the project root, run:
Note:
- If you already have Websocket.nim installed, you need to make sure you have version 0.4.1 installed.
- To compile you must define
ssl
example:nim compile -d:ssl --run .\examples\basic.nim
You can view examples in the examples directory.
Todo:
- Finish all REST API calls.
- Handle all gateway events.
- Reconnecting
- Memory optimizations.
- Member
- Channel
- Guild
- Misc.
- Sharding.
- Deglobalize (Remove global client instance).
- Audit log.
- Voice.