nyxx 0.24.0

  • README.md
  • Installing
  • Versions
  • 25

Build Status Pub documentation

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


  • Commands framework <br> Faster way of creating commands for bot. You just have to implement one class, and initialize framework. Everything is done automatically.
  • Cross Platform <br> Nyxx works on the command line, browser, mobile.
  • Fine Control <br> Nyxx allows you to control every outgoing HTTP request or websocket messages.
  • Internal Sharding <br> 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 <br> Nyxx supports nearly all DiscordAPI endpoints.


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

  bot.onReady.listen((discord.ReadyEvent e) {

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

Documentation and examples


Latest docs for newest release.

Dev docs

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


Wiki docs are designed to match latest release.


  • [ ] 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


Tue 03.08.2018

  • Changes

    • nyxx now supports Dart 2.0
    • Added Interactivity module
    • Added few methods to CommandContext
    • Rewritten CooldownCache
  • Bug fixes

    • Fixed Command help generating error
    • Fixed Emojis equals operator


Tue 31.07.2018

  • Bug fixes
    • Fixed MessageDeleteEvent deserializing error
    • Fixed checking for channel nsfw for CommandsFramework


Mon 30.07.2018

  • New features
    • Support for services - DEPENDENCY INJECTION
    • Support for type parsing
    • Logging support
    • Listener for messages for channel
    • Automatic registering Services and Commands
    • Remainder annotation which captures all remaining text
    • Permissions are now READ/WRITE - added PermissionsBuilder
    • Checking for topics and if channel is nsfw for commands
  • Bug fixes
    • Fixed error throwing
    • Text in quotes is one String
    • Fixed StreamControllers to be broadcast
    • Removed unnecessary fields from DMChannel and GroupDMChannel
    • Big performance improvement of CommandFramework
    • Fixed Permissions opcode
    • delay() changed to nextMessage()
  • Deprecations
    • Deprecated browser target
    • Removed MirrorsCommandFramework and InstanceCommandFramework


Wed 11.07.2018

  • Bug fixes
    • Fixed bug with sending Emoji. toString() now return proper representation ready to send via message
  • New features
    • Searching in EmojisUnicode is now handled by future.
    • toString() in User, Channel, Role now returns mention instead of content, name etc.


Wed 11.07.2018

  • Bug fixes
    • Next serialization bug fixes
  • New features
    • Added support for audit logs
    • Searching in EmojisUnicode based on shortcode


Fri 09.07.2018

  • Bug fixes
    • Fixed embed serialization


Fri 09.07.2018

  • Bug fixes
    • Fixed embed serialization


Fri 08.07.2018

  • Bug fixes
    • Fixed embed serialization
  • Added few Docs


Fri 06.07.2018

  • Bug fixes
    • Added overrides
    • Implemented hashCode
    • Fixed return type for delay() in Command class


Fri 06.07.2018

  • Bug fixes
    • Fixed constructors in MessageChannel and TextChannel


Fri 06.07.2018

  • New features
    • Support for sending files, attaching files in embed
    • Added missing gateway events
    • Replaced String ids with Snowflake type
  • Bug fixes

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  nyxx: ^0.24.0

2. Install it

You can install packages from the command line:

with pub:

$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:nyxx/nyxx.dart';
Version Uploaded Documentation Archive
0.24.0 Aug 3, 2018 Go to the documentation of nyxx 0.24.0 Download nyxx 0.24.0 archive
0.23.1 Jul 31, 2018 Go to the documentation of nyxx 0.23.1 Download nyxx 0.23.1 archive
0.23.0 Jul 30, 2018 Go to the documentation of nyxx 0.23.0 Download nyxx 0.23.0 archive
0.22.1 Jul 13, 2018 Go to the documentation of nyxx 0.22.1 Download nyxx 0.22.1 archive
0.22.0 Jul 11, 2018 Go to the documentation of nyxx 0.22.0 Download nyxx 0.22.0 archive
0.21.5 Jul 9, 2018 Go to the documentation of nyxx 0.21.5 Download nyxx 0.21.5 archive
0.21.4 Jul 9, 2018 Go to the documentation of nyxx 0.21.4 Download nyxx 0.21.4 archive
0.21.3 Jul 8, 2018 Go to the documentation of nyxx 0.21.3 Download nyxx 0.21.3 archive
0.21.2 Jul 6, 2018 Go to the documentation of nyxx 0.21.2 Download nyxx 0.21.2 archive
0.21.1 Jul 6, 2018 Go to the documentation of nyxx 0.21.1 Download nyxx 0.21.1 archive

All 20 versions...

Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Issues and suggestions

Fix platform conflicts.

Error(s) prevent platform classification:

Fix dependencies in pubspec.yaml.

Fix dependencies in pubspec.yaml.

Running pub upgrade failed with the following output:

ERR: The current Dart SDK version is 2.0.0.
 Because nyxx depends on w_transport >=1.0.1 which requires SDK version <2.0.0, version solving failed.

The description is too short.

Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

Format lib/src/internal/Http.dart.

Run dartfmt to format lib/src/internal/Http.dart.

Format lib/src/objects/Shard.dart.

Run dartfmt to format lib/src/objects/Shard.dart.

Maintain an example.

None of the files in your example/ directory matches a known example patterns. Common file name patterns include: main.dart, example.dart or you could also use nyxx.dart.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.23.0 <3.0.0