#include #include 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(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(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()) { /* 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; }