From 462f801af20562f151cd7ad7fa70aa65695b3e22 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Fri, 15 Jan 2021 06:37:35 +0000 Subject: Guild settings 1 (#19) * start guild settings window, tweak style --- discord/discord.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'discord/discord.cpp') diff --git a/discord/discord.cpp b/discord/discord.cpp index 4e1a35e..a3acd2a 100644 --- a/discord/discord.cpp +++ b/discord/discord.cpp @@ -437,6 +437,36 @@ void DiscordClient::RemoveReaction(Snowflake id, Glib::ustring param) { m_http.MakeDELETE("/channels/" + std::to_string(channel_id) + "/messages/" + std::to_string(id) + "/reactions/" + param + "/@me", [](auto) {}); } +void DiscordClient::SetGuildName(Snowflake id, const Glib::ustring &name) { + SetGuildName(id, name, [](auto) {}); +} + +void DiscordClient::SetGuildName(Snowflake id, const Glib::ustring &name, sigc::slot callback) { + ModifyGuildObject obj; + obj.Name = name; + sigc::signal signal; + signal.connect(callback); + m_http.MakePATCH("/guilds/" + std::to_string(id), nlohmann::json(obj).dump(), [this, signal](const cpr::Response &r) { + const auto success = r.status_code == 200; + signal.emit(success); + }); +} + +void DiscordClient::SetGuildIcon(Snowflake id, const std::string &data) { + SetGuildIcon(id, data, [](auto) {}); +} + +void DiscordClient::SetGuildIcon(Snowflake id, const std::string &data, sigc::slot callback) { + ModifyGuildObject obj; + obj.IconData = data; + sigc::signal signal; + signal.connect(callback); + m_http.MakePATCH("/guilds/" + std::to_string(id), nlohmann::json(obj).dump(), [this, signal](const cpr::Response &r) { + const auto success = r.status_code == 200; + signal.emit(success); + }); +} + void DiscordClient::UpdateToken(std::string token) { if (!IsStarted()) { m_token = token; -- cgit v1.2.3