/Commando

Official command framework for discord.js

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Commando

Discord Downloads Version Dependency status Build status

About

Commando is the official command framework for discord.js. It is flexible, fully object-oriented, easy to use, and makes it trivial to create your own powerful commands. Additionally, it makes full use of ES2017's async/await functionality for clear, concise code that is simple to write and easy to comprehend.

Features

  • Plain command names and aliases
  • Regular expression triggers
  • Robust parsing of arguments (with "quoted strings" support)
  • Sophisticated argument system (optional)
    • Automatic prompting for arguments that aren't provided
    • Type system with rules, automatic validation, and parsing to usable values
      • Basic types (string, integer, float, boolean)
      • Discord objects (user, member, role, channel, message)
      • User-defined custom types
      • Union types
    • Automatic re-prompting of invalid arguments
    • Optional arguments with default values
    • Infinite arguments (arguments that accept as many values as provided)
  • Multiple responses to commands
  • Command editing (user edits their message that triggered the command, and the bot's response updates with it)
  • Command reloading, as well as loading/unloading
  • Command throttling/cooldowns

Installation

Node 12.0.0 or newer is required.
npm install discord.js@12 discord.js-commando

Documentation

View the docs here.
See the discord.js documentation as well.