diff --git a/src/commands.cpp b/src/commands.cpp index 483cb13..25f585d 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -3,6 +3,24 @@ #include #include #include +#include + + +#define TEMP_FILE_NAME "gbp.txt" +void sanitize_message(std::string &content, dpp::message &msg) +{ + if (content.length() < 2000) + return; + std::ofstream file(TEMP_FILE_NAME); + for (int i = 0; i < content.length(); i++) { + if (content[i] != '`') + file << content[i]; + } + file.close(); + content = ""; + msg.add_file(TEMP_FILE_NAME, dpp::utility::read_file(TEMP_FILE_NAME)); +} +#undef TEMP_FILE_NAME void init_commands(dpp::commandhandler &command_handler) { @@ -16,13 +34,16 @@ void init_commands(dpp::commandhandler &command_handler) if (!parameters.empty()) username = std::get(parameters[0].second); std::string response = find_username(username); - command_handler.reply(dpp::message(response), src); + dpp::message msg; + sanitize_message(response, msg); + msg.set_content(response); + command_handler.reply(msg, src); }, "Finds the github username, and their associated GBP value." ); - std::cout << "Command added!\n"; + std::cout << "Command added 1!\n"; command_handler.add_command( "findgbp", { @@ -33,7 +54,10 @@ void init_commands(dpp::commandhandler &command_handler) if (!parameters.empty()) gbp = std::stoi(std::get(parameters[0].second)); std::string response = find_gbp(gbp); - command_handler.reply(dpp::message(response), src); + dpp::message msg; + sanitize_message(response, msg); + msg.set_content(response); + command_handler.reply(msg, src); }, "Finds the users with the amount of GBP provided." ); @@ -49,17 +73,18 @@ void init_commands(dpp::commandhandler &command_handler) if (!parameters.empty()) pos = std::stoi(std::get(parameters[0].second)); std::string response = find_gbp_pos(pos); - command_handler.reply(dpp::message(response), src); + dpp::message msg; + sanitize_message(response, msg); + msg.set_content(response); + command_handler.reply(msg, src); }, - "Finds the users with the amount of GBP provided." + "Finds the user at the specified spot on the leaderboard." ); std::cout << "Command added!\n"; command_handler.add_command( "fetchgbp", - { - {"Test", dpp::param_info(dpp::pt_string, true, "test")} - }, + {}, [&command_handler](const std::string &command, const dpp::parameter_list_t ¶meters, dpp::command_source src) { fetch_raw_gbp(); command_handler.reply(dpp::message("Fetched latest GBP!"), src);