Added entireity of utility and generate-report(only works with PNG for now)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#include "../Common.hpp"
|
||||
#include "../Utility/CairoTools.hpp"
|
||||
|
||||
#include <dpp/dispatcher.h>
|
||||
#include <dpp/dpp.h>
|
||||
@@ -9,24 +10,10 @@
|
||||
#include <dpp/snowflake.h>
|
||||
#include <dpp/user.h>
|
||||
|
||||
#include <cairo/cairo.h>
|
||||
|
||||
#include <functional>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
|
||||
void pngToCairoSurface(std::string data) {
|
||||
cairo_surface_t *image =
|
||||
cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 300, 200);
|
||||
}
|
||||
void jpegToCairoSurface(std::string data) {}
|
||||
void webpToCairoSurface(std::string data) {}
|
||||
|
||||
std::unordered_map<std::string, std::function<void(std::string)>>
|
||||
supportedImageFileTypes{{"image/png", pngToCairoSurface},
|
||||
{"image/jpeg", jpegToCairoSurface},
|
||||
{"image/webp", webpToCairoSurface}};
|
||||
|
||||
void commandGenerateReport(const dpp::slashcommand_t &event,
|
||||
dpp::cluster &bot) {
|
||||
event.thinking();
|
||||
@@ -38,7 +25,14 @@ void commandGenerateReport(const dpp::slashcommand_t &event,
|
||||
bot.request(
|
||||
file.url, dpp::http_method::m_get,
|
||||
[event, &bot, fileType](const dpp::http_request_completion_t &result) {
|
||||
fileType->second(result.body);
|
||||
std::string responseData = GenerateReportImage(
|
||||
fileType->second(
|
||||
result.body), // Image itself processed for cario to handle
|
||||
std::get<std::string>(event.get_parameter("headline")));
|
||||
|
||||
dpp::message response(event.command.channel_id, "");
|
||||
response.add_file("report.png", responseData);
|
||||
event.edit_response(response);
|
||||
});
|
||||
} else {
|
||||
event.edit_response(
|
||||
@@ -46,3 +40,7 @@ void commandGenerateReport(const dpp::slashcommand_t &event,
|
||||
" is not allowed. Only PNG, JPEG, and WEBP are allowed!");
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// ACTUAL GENERATION STARTS HERE
|
||||
//
|
||||
|
Reference in New Issue
Block a user