nyxx

pub documentation documentation documentation documentation

Simple, robust framework for creating discord bots for Dart language.


Features

  • Slash commands support
    Supports and provides easy API for creating and handling slash commands
  • Commands framework included
    A fast way to create a bot with command support. Implementing the framework is simple - and everything is done automatically.
  • Cross Platform
    Nyxx works on the command line, in the browser, and on mobile devices.
  • Fine Control
    Nyxx allows you to control every outgoing HTTP request or WebSocket message.
  • Complete
    Nyxx supports nearly all Discord API endpoints.

Quick example

Basic usage:

void main() {
  final bot = Nyxx("TOKEN", GatewayIntents.allUnprivileged);

  bot.onMessageReceived.listen((event) {
    if (event.message.content == "!ping") {
      event.message.channel.getFromCache()?.sendMessage(content: "Pong!");
    }
  });
}

Slash commands:

void main() {
  final bot = Nyxx("<%TOKEN%>", GatewayIntents.allUnprivileged);
  Interactions(bot)
    ..registerSlashCommand(
        SlashCommandBuilder("hi", "This is example slash command", [])
            ..registerHandler((event) async {
              await event.acknowledge();
              
              await event.respond(MessageBuilder.content("Hello World!"));
            })
    );
}

Commands:

void main() {
  final bot = Nyxx("TOKEN", GatewayIntents.allUnprivileged);

  Commander(bot, prefix: "!!!")
    ..registerCommand("ping", (context, message) => context.reply(content: "Pong!"));
}

More examples

Nyxx examples can be found here.

Commander examples can be found here

Slash commands (interactions) examples can be found here

Example bots

Documentation, help and examples

Dartdoc documentation is hosted on pub. This wiki just fills gap in docs with more descriptive guides and tutorials.

Discord API docs

Discord API documentation features rich descriptions about all topics that nyxx covers.

Discord API Guild

The unofficial guild for Discord Bot developers. To get help with nyxx check #dart_nyxx channel.

Dartdocs

The dartdocs page will always have the documentation for the latest release.

Dev docs

You can read about upcoming changes in the library on my website.

Wiki

Wiki documentation are designed to match the latest Nyxx release.

Contributing to Nyxx

Read contributing document

Credits

Libraries

nyxx
Nyxx Discord API wrapper for Dart