By default, the bot uses
?? or mention as command prefix. This means that commands are invoked by doing
@Companion Cube command arguments... or using any other configured prefix.
In below documentation, all commands will be listed with default command prefix. Arguments will be listed as
<argument>, denoting required argument;
denoting required catch-all argument (i.e. one that can take more than one value). Optional arguments will be denoted using
[argument...] for single and catch-all
optional arguments. When typing commands, you must omit the
 parts, meaning that if a command is denoted as
cc!command <argument 1> [argument 2],
you use it as
cc!command value1 value2 or
cc!command value1. If you want to pass an argument that contains spaces, wrap it in
"", for instance:
cc!command "value for argument 1" will invoke
cc!command with a single argument,
value for argument 1. This is not required for catch-all arguments. For instance, if a
command is declared as
cc!echo <message...>, you can invoke it as
cc!echo Hello, this is a message with spaces!.
cc!help [command] Displays help. Invoking this command without any arguments will list available top-level. Specifying a command will show information about that command, and its subcommands
Companion Cube features a blocking system. Blocking can happen on per-channel basis. Messages from blocked channels are ignored (this excludes administrative commands).
Companion Cube's command prefix can be changed on per-guild. The mention prefix, however, cannot be changed or disabled.
cc!admin nick [nickname...]Changes bot's nickname to one specified. Specifying an empty string (
"") or no argument will reset the nickname. Requires manage nicknames permission.
cc!admin prefix add <prefix>Adds a prefix to the list of prefixes for current guild.
cc!admin prefix remove <prefix>Removes a prefix from the list of prefixes for current guild.
cc!admin prefix enabledefault <true/false>Sets whether default prefixes are to be enabled in the current guild.
cc!admin blacklist <channel> >true/false< [reason...]Blacklists a channel from using the bot, or reverses such an operation, optionally specifying a reason. Blacklisted channels will be ignored by the bot.
cc!emoji listLists all the custom emoji installed in the guild.
cc!emoji steal <emoji> <name>Installs a specified emoji in the current guild.
cc!emoji install <name> [url...]Installs a specified image as emoji in the current guild. You can attach an image instead of specifying an URL.
At present, all tags are channel-specific tags. This means that when created in one channel, they cannot be called from any other one. Tags can be created by any user, however by default they are not shown in default listing. Moderators can approve or unapprove tags, which shows or hides them in default listing respectively. Moderators can also edit or delete any tag. The tag system features full tracking for all tags. This means that each tag has a use count, incremented when any user (excluding tag's owner) uses a tag, its use counter is incremented. Moreover, tags keep a full record of edits. Each edit to a tag records the timestamp, and the user who performed the action. Each tag's full history can be recalled at any time, including its previous versions. Deleting a tag, however, removes the tag along with its history.
cc!tag [tag name...]Displays the current version of specified tag. If the tag is not found, it displays 5 closest suggestions instead.
cc!tag create <type> <name> <contents...>Creates a new tag with specified type, name and contents. Type can be either guild or channel.
cc!tag delete <name...>Deletes the specified tag. This command requires that you own the tag.
cc!tag force_delete <name...>Moderator version of the above. It can delete any tag. This requires you have manage channel permissions.
cc!tag edit <name> <new contents...>Edits a specified tag, replacing its contents with the ones specified. This command requires that you own the tag.
cc!tag force_edit <name> <new contents...>Moderator version of the above. It can edit any tag. This requires you have manage channel permissions.
cc!tag changetype <name> <new type>Changes type of a specified tag. Type can be either guild or channel. This command requires that you own the tag.
cc!tag force_changetype <name> <new type>Moderator version of the above. It can edit any tag. This requires you have manage channel permissions.
cc!tag history <name...>Views edit history for a given tag.
cc!tag view_edit <name> <edit id>Views specific revision of a given tag.
cc!tag dump <name...>Displays raw contents of specified tag, that is with all the markdown escaped.
cc!tag info <name...>Displays information about specified tag.
cc!tag hide <name...>Hides a tag from default tag listing. Requires that you own the tag.
cc!tag unhide <name...>Unhides a tag from default tag listing. Requires that you own the tag.
cc!tag force_hide <name...>Moderation version of hide. It can edit any tag. Requires manage channel permission.
cc!tag force_unhide <name...>Moderator version of unhide. It can edit any tag. Requires manage channel permission.
cc!tag list [query...]Searches tags, and returns up to 5 tags with most similar names. If no query is specified, it shows default listing.
cc!tags [query...]Alias for the above.
cc!charinfo [codepoints...]Displays short information about specified codepoints.
cc!charinfo full [codepoints...]Displays complete information about specified codepoints.
cc!fun dice [dice]Rolls dice. Specifier is XdY, where X is number of dice, and Y is number of sides on a die (e.g. 2d6 or d20).
cc!fun choice <options...>Randomly chooses one of the specified options.
cc!fun choicex <number> <options...>Randomly chooses one of the specified options using a best-of-n format. The number specifies how many times to run the choice.
cc!aboutDisplays information about the bot, such as bot's website, invite link, etc.
cc!uptimeDisplays bot's current uptime.
cc!cleanupCleans up. This removes bot's messages found in the last 100 messages.