summaryrefslogtreecommitdiff
path: root/discord
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2021-06-23 02:24:24 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2021-06-23 02:24:24 -0400
commit6e75c4a95dcf0e601aba324ab5ae5f34ebd1a00d (patch)
tree680c741a0664361beca4b7e3578d695b4e79e17b /discord
parent41d60e5e907aa0d6f625796e15c6317074e2af7d (diff)
downloadabaddon-portaudio-6e75c4a95dcf0e601aba324ab5ae5f34ebd1a00d.tar.gz
abaddon-portaudio-6e75c4a95dcf0e601aba324ab5ae5f34ebd1a00d.zip
add pin menu item to messages
Diffstat (limited to 'discord')
-rw-r--r--discord/discord.cpp9
-rw-r--r--discord/discord.hpp3
2 files changed, 11 insertions, 1 deletions
diff --git a/discord/discord.cpp b/discord/discord.cpp
index a56481e..ef93360 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::Pin(Snowflake channel_id, Snowflake message_id, sigc::slot<void(DiscordError code)> callback) {
+ m_http.MakePUT("/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::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))
diff --git a/discord/discord.hpp b/discord/discord.hpp
index d647f03..10da6e8 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 Pin(Snowflake channel_id, Snowflake message_id, sigc::slot<void(DiscordError code)> callback);
void Unpin(Snowflake channel_id, Snowflake message_id, sigc::slot<void(DiscordError code)> callback);
bool CanModifyRole(Snowflake guild_id, Snowflake role_id) const;
@@ -327,7 +328,7 @@ public:
typedef sigc::signal<void, Snowflake, RelationshipType> type_signal_relationship_remove;
typedef sigc::signal<void, RelationshipAddData> type_signal_relationship_add;
typedef sigc::signal<void, Message> type_signal_message_unpinned; // not a real event
- typedef sigc::signal<void, Message> type_signal_message_pinned; // not a real event either
+ typedef sigc::signal<void, Message> type_signal_message_pinned; // not a real event either
typedef sigc::signal<void, Message> type_signal_message_sent;
typedef sigc::signal<void, std::string /* nonce */, float /* retry_after */> type_signal_message_send_fail; // retry after param will be 0 if it failed for a reason that isnt slowmode
typedef sigc::signal<void, bool, GatewayCloseCode> type_signal_disconnected; // bool true if reconnecting