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 12.0.0 or newer is required.
npm install discord.js@12 discord.js-commando
View the docs here.
See the discord.js documentation as well.