diff options
Diffstat (limited to 'discord')
-rw-r--r-- | discord/discord.cpp | 9 | ||||
-rw-r--r-- | discord/discord.hpp | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/discord/discord.cpp b/discord/discord.cpp index d1c4c2a..ab5ab9f 100644 --- a/discord/discord.cpp +++ b/discord/discord.cpp @@ -710,6 +710,15 @@ void DiscordClient::PutRelationship(Snowflake id, sigc::slot<void(bool success, }); } +void DiscordClient::Unpin(Snowflake channel_id, Snowflake message_id, sigc::slot<void(DiscordError code)> callback) { + m_http.MakeDELETE("/channels/" + std::to_string(channel_id) + "/pins/" + std::to_string(message_id), [this, callback](const http::response_type &response) { + if (CheckCode(response, 204)) + callback(DiscordError::NONE); + else + callback(GetCodeFromResponse(response)); + }); +} + void DiscordClient::FetchPinned(Snowflake id, sigc::slot<void(std::vector<Message>, DiscordError code)> callback) { m_http.MakeGET("/channels/" + std::to_string(id) + "/pins", [this, callback](const http::response_type &response) { if (!CheckCode(response)) { diff --git a/discord/discord.hpp b/discord/discord.hpp index 28f7fb6..1352499 100644 --- a/discord/discord.hpp +++ b/discord/discord.hpp @@ -138,6 +138,7 @@ public: void RemoveRelationship(Snowflake id, sigc::slot<void(bool success)> callback); void SendFriendRequest(const Glib::ustring &username, int discriminator, sigc::slot<void(bool success, DiscordError code)> callback); void PutRelationship(Snowflake id, sigc::slot<void(bool success, DiscordError code)> callback); // send fr by id, accept incoming + void Unpin(Snowflake channel_id, Snowflake message_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; |