Official command framework for discord.js
JavaScript Shell TypeScript
Clone or download


Discord Downloads Version Dependency status Build status


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.


  • 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


Node 8.6.0 or newer is required.
npm install discord.js-commando


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