Build Status Pub documentation

Simple, robust framework for creating discord bots for Dart.
Fork of Hackzzila's nyx - extended with new functionality, few bug fixes, applied pending pull requests.


Features

  • Commands framework
    Faster way of creating commands for bot. You just have to implement one class, and initialize framework. Everything is done automatically.
  • Cross Platform
    Nyxx works on the command line, browser, mobile.
  • Fine Control
    Nyxx allows you to control every outgoing HTTP request or websocket messages.
  • Internal Sharding
    Nyxx automatically spawns shards for your bot, but you can override this and spawn a custom number of shards. Internal sharding means that all of your bots servers are managed in one script, no need for communication between shards.
  • Complete
    Nyxx supports nearly all DiscordAPI endpoints.

Sample

void main() {
  discord.Client bot =
      new discord.Client(Platform.environment['DISCORD_TOKEN']);

  bot.onReady.listen((discord.ReadyEvent e) {
    print("Ready!");
  });

  bot.onMessage.listen((discord.MessageEvent e) {
    if (e.message.content == "!ping") {
      e.message.channel.sendMessage(content: "Pong!");
    }
  });
}

Documentation and examples

Dartdocs

Latest docs for newest release.

Dev docs

My website has docs for latests commits - You can read about incoming changes

Wiki

Wiki docs are designed to match latest release.

Roadmap

  • Better dartdocs documentation
  • x More examples at wiki/more tutorial/Video tutorial
  • Bigger bot written in nyxx for example
  • Fix lint errors from dartanalyzer
  • x Annotation driver flow for CommandsFramework?
  • x Recheck all code and fix styling/small logic bugs
  • Support for Voice connection

Libraries

nyxx
Nyxx DISCORD API wrapper for Dart [...]
nyxx.commands
Nyxx DISCORD API wrapper for Dart [...]