Memory optimized, simple, and feature rich Discord API wrapper written in Nim. (Mirror of https://github.com/SeanOMik/nimcord)
This repository has been archived on 2023-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Intexisty 8307daff81
added ClientUser object
2020-08-13 13:25:37 -05:00
.vscode Try to get debugger working. 2020-06-18 15:32:18 -05:00
examples Only add shard in identify if shard count is more than 1 2020-06-23 23:06:56 -05:00
src added ClientUser object 2020-08-13 13:25:37 -05:00
.gitignore Add generate docs scripts 2020-06-18 16:03:34 -05:00
LICENSE Initial commit 2020-05-27 19:15:44 -05:00
README.md Sharding 2020-06-23 00:08:25 -05:00
generate_docs.bat Fix documentation generating scripts. 2020-06-22 15:57:42 -05:00
generate_docs.sh Clean-up and Nim version fix. 2020-08-05 03:06:52 -04:00
nimcord.nimble Clean-up and Nim version fix. 2020-08-05 03:06:52 -04:00

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:

  1. Install Nim
  2. 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

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.
  • Audit log.
  • Voice.