D++ (DPP)
C++ Discord API Bot Library
|
The commandhandler class represents a group of commands, prefixed or slash commands with handling functions. More...
#include <commandhandler.h>
Public Member Functions | |
commandhandler (class cluster *o, bool auto_hook_events=true, snowflake application_id=0) | |
Construct a new commandhandler object. More... | |
~commandhandler () | |
Destroy the commandhandler object. More... | |
commandhandler & | set_owner (class cluster *o) |
Set the application id after construction. More... | |
commandhandler & | add_prefix (const std::string &prefix) |
Add a prefix to the command handler. More... | |
commandhandler & | add_command (const std::string &command, const parameter_registration_t ¶meters, command_handler handler, const std::string &description="", snowflake guild_id=0) |
Add a command to the command handler. More... | |
void | route (const class dpp::message &msg) |
Route a command from the on_message_create function. Call this method from within your on_message_create with the received dpp::message object. More... | |
void | route (const class interaction_create_t &event) |
Route a command from the on_interaction_create function. Call this method from your on_interaction_create with the received dpp::interaction_create_t object. More... | |
void | reply (const dpp::message &m, command_source source) |
Reply to a command. You should use this method rather than cluster::message_create as the way you reply varies between slash commands and message commands. Note you should ALWAYS reply. Slash commands will emit an ugly error to the user if you do not emit some form of reply within 3 seconds. More... | |
void | thinking (command_source source) |
Reply to a command without a message, causing the discord client to display "Bot name is thinking...". The "thinking" message will persist for a maximum of 15 minutes. This counts as a reply for a slash command. Slash commands will emit an ugly error to the user if you do not emit some form of reply within 3 seconds. More... | |
The commandhandler class represents a group of commands, prefixed or slash commands with handling functions.
dpp::commandhandler::commandhandler | ( | class cluster * | o, |
bool | auto_hook_events = true , |
||
snowflake | application_id = 0 |
||
) |
Construct a new commandhandler object.
o | Owning cluster to attach to |
auto_hook_events | Set to true to automatically hook the on_interaction_create and on_message events. Only do this if you have no other use for these events than commands that are handled by the command handler (this is usually the case). |
application_id | The application id of the bot. If not specified, the class will look within the cluster object and use cluster::me::id instead. |
dpp::commandhandler::~commandhandler | ( | ) |
Destroy the commandhandler object.
commandhandler & dpp::commandhandler::add_command | ( | const std::string & | command, |
const parameter_registration_t & | parameters, | ||
command_handler | handler, | ||
const std::string & | description = "" , |
||
snowflake | guild_id = 0 |
||
) |
Add a command to the command handler.
command | Command to be handled. Note that if any one of your prefixes is "/" this will attempt to register a global command using the API and you will receive notification of this command via an interaction event. |
handler | Handler function |
parameters | Parameters to use for the command |
commandhandler & dpp::commandhandler::add_prefix | ( | const std::string & | prefix | ) |
Add a prefix to the command handler.
prefix | Prefix to be handled by the command handler |
void dpp::commandhandler::reply | ( | const dpp::message & | m, |
command_source | source | ||
) |
Reply to a command. You should use this method rather than cluster::message_create as the way you reply varies between slash commands and message commands. Note you should ALWAYS reply. Slash commands will emit an ugly error to the user if you do not emit some form of reply within 3 seconds.
m | message to reply with. |
source | source of the command |
void dpp::commandhandler::route | ( | const class dpp::message & | msg | ) |
Route a command from the on_message_create function. Call this method from within your on_message_create with the received dpp::message object.
msg | message to parse |
void dpp::commandhandler::route | ( | const class interaction_create_t & | event | ) |
Route a command from the on_interaction_create function. Call this method from your on_interaction_create with the received dpp::interaction_create_t object.
event | command interaction event to parse |
commandhandler & dpp::commandhandler::set_owner | ( | class cluster * | o | ) |
Set the application id after construction.
o | Owning cluster to attach to |
void dpp::commandhandler::thinking | ( | command_source | source | ) |
Reply to a command without a message, causing the discord client to display "Bot name is thinking...". The "thinking" message will persist for a maximum of 15 minutes. This counts as a reply for a slash command. Slash commands will emit an ugly error to the user if you do not emit some form of reply within 3 seconds.
source | source of the command |