thinking

# Thinking

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>

    intmain(){
    dpp::clusterbot("token");

    bot.on_log(dpp::utility::cout_logger());

    /*Theeventisfiredwhensomeoneissuesyourcommands*/
    bot.on_slashcommand([&bot](constdpp::slashcommand_t&event){
    /*Checkwhichcommandtheyran*/
    if(event.command.get_command_name()=="thinking"){
    /*
    *trueforEphemeral.
    *Youcansetthistofalseifyouwanteveryonetoseethethinkingresponse.
    */
    event.thinking(true,[event](constdpp::confirmation_callback_t&callback){
    event.edit_original_response(dpp::message("thonk"));
    });

    }
    });

    bot.on_ready([&bot](constdpp::ready_t&event){
    if(dpp::run_once<struct register_bot_commands>()){
    /*Createanewglobalcommandonreadyevent*/
    dpp::slashcommandnewcommand("thinking","Thinkingexample...",bot.me.id);

    /*Registerthecommand*/
    bot.global_command_create(newcommand);
    }
    });

    bot.start(dpp::st_wait);

    return0;
    }

This will make the bot think briefly, then change the response to "thonk"!