Skip to content

iceproductions/Commando

 
 

Repository files navigation

Commando

About

Commando is a 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

New features in this fork

  • Discord.js v13 support (SLASH COMMANDS, more embeds, buttons and more)
  • Async inhibitors
  • Async provider loading (loading only guilds that are actually needed)
  • Services
  • Aliases for commands
  • Arguments accessible for types
  • Some default messages can be turned off (so they can be handled by event handler instead, allowing for translation)

Commando base 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 13.0.0 or newer is required.
npm install discord.js@13 @iceprod/discord.js-commando

Documentation

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