![]()  | 
  
    D++ (DPP)
    
   C++ Discord API Bot Library 
   | 
 
A common mistake people do is use event.thinking with event.reply, however, they always run into the Interaction has already been acknowledged. error! The reason for this is because event.thinking is a response to the interaction, meaning you have acknowledged it! You should use dpp::interaction_create_t::edit_original_response instead.
Below is an example, showing how you should properly use the thinking method.
#include <dpp/dpp.h>   int main() {     dpp::cluster bot("token");       bot.on_log(dpp::utility::cout_logger());       /* The event is fired when someone issues your commands */     bot.on_slashcommand([&bot](const dpp::slashcommand_t& event) {         /* Check which command they ran */         if (event.command.get_command_name() == "thinking") {             /*              * true for Ephemeral.               * You can set this to false if you want everyone to see the thinking response.              */             event.thinking(true, [event](const dpp::confirmation_callback_t& callback) {                 event.edit_original_response(dpp::message("thonk"));             });           }     });       bot.on_ready([&bot](const dpp::ready_t& event) {         if (dpp::run_once<struct register_bot_commands>()) {             /* Create a new global command on ready event */             dpp::slashcommand newcommand("thinking", "Thinking example...", bot.me.id);               /* Register the command */             bot.global_command_create(newcommand);         }     });       bot.start(dpp::st_wait);       return 0; } 
This will make the bot think briefly, then change the response to "thonk"!