#include "../Common.hpp" #include "../Utility/CairoTools.hpp" #include #include #include #include #include void commandGenerateReport(const dpp::slashcommand_t &event, dpp::cluster &bot) { event.thinking(); dpp::snowflake fileId = std::get(event.get_parameter("image")); dpp::attachment file = event.command.get_resolved_attachment(fileId); auto fileType = supportedImageFileTypes.find(file.content_type); if (fileType != supportedImageFileTypes.end()) { // Don't forget that its only funny if it is all in upper case std::string headline = std::get(event.get_parameter("headline")); // Never seen this method before but looks awesome std::transform(headline.begin(), headline.end(), headline.data(), ::toupper); dpp::message confirmRequest( event.command.channel_id, COMMAND_GENERATE_REPORT_CONFIRMATION_QUESTION( std::to_string(COMMAND_GENERATE_REPORT_COST), file.url, headline)); confirmRequest.add_component( dpp::component() .add_component(dpp::component() .set_label(BUTTON_ACCEPT) .set_type(dpp::cot_button) .set_style(dpp::component_style::cos_success) .set_id(COMPONENT_GENERATE_REPORT_CONFIRM)) .add_component(dpp::component() .set_label(BUTTON_CANCEL) .set_type(dpp::cot_button) .set_style(dpp::component_style::cos_danger) .set_id(COMPONENT_COMMAND_CANCEL))); event.edit_response(confirmRequest); } else { event.edit_response( COMMAND_GENERATE_REPORT_FAIL_NOT_SUPPORTED(file.content_type)); } }