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
SeanOMik 6852c1243f
Create log.nim
2020-06-22 23:18:21 -05:00
.vscode Try to get debugger working. 2020-06-18 15:32:18 -05:00
examples Upload examples 2020-06-22 16:57:54 -05:00
src Create log.nim 2020-06-22 23:18:21 -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 Do the readme. 2020-06-22 17:30:56 -05:00
generate_docs.bat Fix documentation generating scripts. 2020-06-22 15:57:42 -05:00
generate_docs.sh Fix documentation generating scripts. 2020-06-22 15:57:42 -05:00
nimcord.nimble Create a working nimble file 2020-06-22 15:25:42 -05: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.