adds file sanitizing to automatically convert long messages to text files

This commit is contained in:
SuperNovaa41 2022-03-12 17:54:11 -05:00
parent 837af4239a
commit c4ec549fd0

View File

@ -3,6 +3,24 @@
#include <dpp/commandhandler.h>
#include <dpp/message.h>
#include <iostream>
#include <fstream>
#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<std::string>(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<std::string>(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<std::string>(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 &parameters, dpp::command_source src) {
fetch_raw_gbp();
command_handler.reply(dpp::message("Fetched latest GBP!"), src);