#ifndef API_EMBED_HPP_ #define API_EMBED_HPP_ #include <includes.h> class EmbedBuilder { private: nlohmann::json embed = { {"content", ""}, {"tts", false}, {"embeds", nlohmann::json::array()} }, data; public: EmbedBuilder(const nlohmann::json& data) : data(data) { embed = { {"content", ""}, {"tts", false}, {"embeds", nlohmann::json::array()} }; } EmbedBuilder& addTitle(const std::string& title) { if (embed["embeds"].size() == 0) { embed["embeds"].emplace_back(nlohmann::json::object()); } embed["embeds"].back()["title"] = title; return *this; } EmbedBuilder& addDescription(const std::string& desc) { if (embed["embeds"].size() == 0) { embed["embeds"].emplace_back(nlohmann::json::object()); } embed["embeds"].back()["description"] = desc; return *this; } EmbedBuilder& addColor(const std::string& color) { if (embed["embeds"].size() == 0) { embed["embeds"].emplace_back(nlohmann::json::object()); } embed["embeds"].back()["color"] = color; return *this; } EmbedBuilder& addUrl(const std::string& url) { if (embed["embeds"].size() == 0) { embed["embeds"].emplace_back(nlohmann::json::object()); } embed["embeds"].back()["url"] = url; return *this; } EmbedBuilder& addImage(const std::string& imageurl) { if (embed["embeds"].size() == 0) { embed["embeds"].emplace_back(nlohmann::json::object()); } embed["embeds"].back()["image"] = { {"url", imageurl} }; return *this; } nlohmann::json getEmbed() const { return embed; } }; #endif