summaryrefslogtreecommitdiff
path: root/discord
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2021-02-18 18:37:25 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2021-02-18 18:37:25 -0500
commitc5bc3455b1bfd2d643f31f66ec61f2098a4d3ba9 (patch)
treecb65ad1c5fb3a6db7ccf83abdf145b4868e02e2d /discord
parent901028cec9a9d167e670218188449f40bbd23851 (diff)
downloadabaddon-portaudio-c5bc3455b1bfd2d643f31f66ec61f2098a4d3ba9.tar.gz
abaddon-portaudio-c5bc3455b1bfd2d643f31f66ec61f2098a4d3ba9.zip
add menus to dm channels + close/leave dm
Diffstat (limited to 'discord')
-rw-r--r--discord/discord.cpp6
-rw-r--r--discord/discord.hpp1
2 files changed, 7 insertions, 0 deletions
diff --git a/discord/discord.cpp b/discord/discord.cpp
index 851357b..52f3125 100644
--- a/discord/discord.cpp
+++ b/discord/discord.cpp
@@ -436,6 +436,12 @@ void DiscordClient::CreateDM(Snowflake user_id, sigc::slot<void(bool success, Sn
});
}
+void DiscordClient::CloseDM(Snowflake channel_id) {
+ m_http.MakeDELETE("/channels/" + std::to_string(channel_id), [this](const http::response &response) {
+ CheckCode(response);
+ });
+}
+
std::optional<Snowflake> DiscordClient::FindDM(Snowflake user_id) {
const auto &channels = m_store.GetChannels();
for (const auto &id : channels) {
diff --git a/discord/discord.hpp b/discord/discord.hpp
index 0e9dab7..fc03682 100644
--- a/discord/discord.hpp
+++ b/discord/discord.hpp
@@ -109,6 +109,7 @@ public:
void UpdateStatus(PresenceStatus status, bool is_afk, const ActivityData &obj);
void CreateDM(Snowflake user_id);
void CreateDM(Snowflake user_id, sigc::slot<void(bool success, Snowflake channel_id)> callback);
+ void CloseDM(Snowflake channel_id);
std::optional<Snowflake> FindDM(Snowflake user_id); // wont find group dms
void AddReaction(Snowflake id, Glib::ustring param);
void RemoveReaction(Snowflake id, Glib::ustring param);