diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-01-15 06:37:35 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-15 06:37:35 +0000 |
commit | 462f801af20562f151cd7ad7fa70aa65695b3e22 (patch) | |
tree | ec5ab7509bc9478ac82715fe9e74381bbfc4a9df /discord/discord.cpp | |
parent | f51ab48009e7fcfafee1d09800764fcbd5d36bf5 (diff) | |
download | abaddon-portaudio-462f801af20562f151cd7ad7fa70aa65695b3e22.tar.gz abaddon-portaudio-462f801af20562f151cd7ad7fa70aa65695b3e22.zip |
Guild settings 1 (#19)
* start guild settings window, tweak style
Diffstat (limited to 'discord/discord.cpp')
-rw-r--r-- | discord/discord.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
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<void(bool success)> callback) { + ModifyGuildObject obj; + obj.Name = name; + sigc::signal<void, bool> 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<void(bool success)> callback) { + ModifyGuildObject obj; + obj.IconData = data; + sigc::signal<void, bool> 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; |