From 2a45d7173ab58e60b63ce1e1183d719442988a32 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Fri, 20 Aug 2021 01:13:51 -0400 Subject: proper member list in threads --- discord/discord.hpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'discord/discord.hpp') diff --git a/discord/discord.hpp b/discord/discord.hpp index a9dc62e..f80d264 100644 --- a/discord/discord.hpp +++ b/discord/discord.hpp @@ -86,6 +86,7 @@ public: std::optional GetMemberHighestRole(Snowflake guild_id, Snowflake user_id) const; std::set GetUsersInGuild(Snowflake id) const; std::set GetChannelsInGuild(Snowflake id) const; + std::vector GetUsersInThread(Snowflake id) const; std::vector GetActiveThreads(Snowflake channel_id) const; void GetArchivedPublicThreads(Snowflake channel_id, sigc::slot callback); @@ -105,6 +106,7 @@ public: void DeleteMessage(Snowflake channel_id, Snowflake id); void EditMessage(Snowflake channel_id, Snowflake id, std::string content); void SendLazyLoad(Snowflake id); + void SendThreadLazyLoad(Snowflake id); void JoinGuild(std::string code); void LeaveGuild(Snowflake id); void KickUser(Snowflake user_id, Snowflake guild_id); @@ -246,6 +248,7 @@ private: void HandleGatewayThreadMembersUpdate(const GatewayMessage &msg); void HandleGatewayThreadMemberUpdate(const GatewayMessage &msg); void HandleGatewayThreadUpdate(const GatewayMessage &msg); + void HandleGatewayThreadMemberListUpdate(const GatewayMessage &msg); void HandleGatewayReadySupplemental(const GatewayMessage &msg); void HandleGatewayReconnect(const GatewayMessage &msg); void HandleGatewayInvalidSession(const GatewayMessage &msg); @@ -270,6 +273,7 @@ private: std::map m_user_to_status; std::map m_user_relationships; std::set m_joined_threads; + std::map> m_thread_members; UserData m_user_data; UserSettings m_user_settings; @@ -342,6 +346,7 @@ public: typedef sigc::signal type_signal_thread_list_sync; typedef sigc::signal type_signal_thread_members_update; typedef sigc::signal type_signal_thread_update; + typedef sigc::signal type_signal_thread_member_list_update; // not discord dispatch events typedef sigc::signal type_signal_added_to_thread; @@ -391,6 +396,8 @@ public: type_signal_thread_list_sync signal_thread_list_sync(); type_signal_thread_members_update signal_thread_members_update(); type_signal_thread_update signal_thread_update(); + type_signal_thread_member_list_update signal_thread_member_list_update(); + type_signal_added_to_thread signal_added_to_thread(); type_signal_removed_from_thread signal_removed_from_thread(); type_signal_message_sent signal_message_sent(); @@ -436,6 +443,8 @@ protected: type_signal_thread_list_sync m_signal_thread_list_sync; type_signal_thread_members_update m_signal_thread_members_update; type_signal_thread_update m_signal_thread_update; + type_signal_thread_member_list_update m_signal_thread_member_list_update; + type_signal_removed_from_thread m_signal_removed_from_thread; type_signal_added_to_thread m_signal_added_to_thread; type_signal_message_sent m_signal_message_sent; -- cgit v1.2.3