mirror of
https://github.com/HappyTanuki/BumbleCee.git
synced 2025-12-18 21:23:29 +00:00
스킵 구현
This commit is contained in:
66
DPP-master/docpages/example_code/subcommands.cpp
Normal file
66
DPP-master/docpages/example_code/subcommands.cpp
Normal file
@@ -0,0 +1,66 @@
|
||||
#include <dpp/dpp.h>
|
||||
#include <iostream>
|
||||
|
||||
int main() {
|
||||
dpp::cluster bot("token");
|
||||
|
||||
bot.on_log(dpp::utility::cout_logger());
|
||||
|
||||
/* Use the on_slashcommand event to look for commands */
|
||||
bot.on_slashcommand([&bot](const dpp::slashcommand_t & event) {
|
||||
dpp::command_interaction cmd_data = event.command.get_command_interaction();
|
||||
|
||||
/* Check if the command is the image command. */
|
||||
if (event.command.get_command_name() == "image") {
|
||||
/* Get the sub command */
|
||||
auto subcommand = cmd_data.options[0];
|
||||
/* Check if the subcommand is "dog" */
|
||||
if (subcommand.name == "dog") {
|
||||
/* Checks if the subcommand has any options. */
|
||||
if (!subcommand.options.empty()) {
|
||||
/* Get the user from the parameter */
|
||||
dpp::user user = event.command.get_resolved_user(subcommand.get_value<dpp::snowflake>(0));
|
||||
event.reply(user.get_mention() + " has now been turned into a dog.");
|
||||
} else {
|
||||
/* Reply if there were no options.. */
|
||||
event.reply("No user specified");
|
||||
}
|
||||
} else if (subcommand.name == "cat") { /* Check if the subcommand is "cat". */
|
||||
/* Checks if the subcommand has any options. */
|
||||
if (!subcommand.options.empty()) {
|
||||
/* Get the user from the parameter */
|
||||
dpp::user user = event.command.get_resolved_user(subcommand.get_value<dpp::snowflake>(0));
|
||||
event.reply(user.get_mention() + " has now been turned into a cat.");
|
||||
} else {
|
||||
/* Reply if there were no options.. */
|
||||
event.reply("No user specified");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/* Executes on ready. */
|
||||
bot.on_ready([&bot](const dpp::ready_t & event) {
|
||||
if (dpp::run_once<struct register_bot_commands>()) {
|
||||
/* Define a slash command. */
|
||||
dpp::slashcommand image("image", "Send a specific image.", bot.me.id);
|
||||
image.add_option(
|
||||
/* Create a subcommand type option for "dog". */
|
||||
dpp::command_option(dpp::co_sub_command, "dog", "Send a picture of a dog.")
|
||||
.add_option(dpp::command_option(dpp::co_user, "user", "User to turn into a dog.", false))
|
||||
);
|
||||
image.add_option(
|
||||
/* Create another subcommand type option for "cat". */
|
||||
dpp::command_option(dpp::co_sub_command, "cat", "Send a picture of a cat.")
|
||||
.add_option(dpp::command_option(dpp::co_user, "user", "User to turn into a cat.", false))
|
||||
);
|
||||
|
||||
/* Create command */
|
||||
bot.global_command_create(image);
|
||||
}
|
||||
});
|
||||
|
||||
bot.start(dpp::st_wait);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user