diff options
Diffstat (limited to 'src/discord')
-rw-r--r-- | src/discord/discord.cpp | 18 | ||||
-rw-r--r-- | src/discord/discord.hpp | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp index 0536a4e..6819375 100644 --- a/src/discord/discord.cpp +++ b/src/discord/discord.cpp @@ -960,6 +960,24 @@ void DiscordClient::MarkAllAsRead(sigc::slot<void(DiscordError code)> callback) }); } +void DiscordClient::MuteGuild(Snowflake id, sigc::slot<void(DiscordError code)> callback) { + m_http.MakePATCH("/users/@me/guilds/" + std::to_string(id) + "/settings", R"({"muted":true})", [this, callback](const http::response_type &response) { + if (CheckCode(response)) + callback(DiscordError::NONE); + else + callback(GetCodeFromResponse(response)); + }); +} + +void DiscordClient::UnmuteGuild(Snowflake id, sigc::slot<void(DiscordError code)> callback) { + m_http.MakePATCH("/users/@me/guilds/" + std::to_string(id) + "/settings", R"({"muted":false})", [this, callback](const http::response_type &response) { + if (CheckCode(response)) + callback(DiscordError::NONE); + else + callback(GetCodeFromResponse(response)); + }); +} + void DiscordClient::FetchPinned(Snowflake id, sigc::slot<void(std::vector<Message>, DiscordError code)> callback) { // return from db if we know the pins have already been requested if (m_channels_pinned_requested.find(id) != m_channels_pinned_requested.end()) { diff --git a/src/discord/discord.hpp b/src/discord/discord.hpp index 1f8daa5..44f02bb 100644 --- a/src/discord/discord.hpp +++ b/src/discord/discord.hpp @@ -143,6 +143,8 @@ public: void MuteChannel(Snowflake channel_id, sigc::slot<void(DiscordError code)> callback); void UnmuteChannel(Snowflake channel_id, sigc::slot<void(DiscordError code)> callback); void MarkAllAsRead(sigc::slot<void(DiscordError code)> callback); + void MuteGuild(Snowflake id, sigc::slot<void(DiscordError code)> callback); + void UnmuteGuild(Snowflake id, sigc::slot<void(DiscordError code)> callback); bool CanModifyRole(Snowflake guild_id, Snowflake role_id) const; bool CanModifyRole(Snowflake guild_id, Snowflake role_id, Snowflake user_id) const; |