SeanOMik / nimcord

Memory optimized, simple, and feature rich Discord API wrapper written in Nim.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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++.

Note:

Library is discontinued. Due to Discord's lack of communication and out-of-touch attitude towards library developers, this library is no longer being maintained. Recommended alternative is Dimscord.

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:

  • 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.
  • Configurable Logger.
  • Add library to official Nimble package repository.
  • Memory optimizations.
    • Member
    • Channel
    • Guild
    • Misc.
  • Sharding.
  • Deglobalize (Remove global client instance).
  • Audit log.
  • Voice.

About

Memory optimized, simple, and feature rich Discord API wrapper written in Nim.

License:MIT License


Languages

Language:Nim 98.7%Language:Batchfile 0.6%Language:Shell 0.6%