From 3b4edbfa16861b5013663396e1af827ba889e9df Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Mon, 21 Sep 2020 18:47:34 -0400 Subject: join/leave guild --- discord/discord.hpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'discord/discord.hpp') diff --git a/discord/discord.hpp b/discord/discord.hpp index 93f5527..cda3854 100644 --- a/discord/discord.hpp +++ b/discord/discord.hpp @@ -68,6 +68,7 @@ public: std::set GetMessagesForChannel(Snowflake id) const; std::set GetPrivateChannels() const; + void FetchInviteData(std::string code, std::function cb, std::function err); void UpdateSettingsGuildPositions(const std::vector &pos); void FetchMessagesInChannel(Snowflake id, std::function &)> cb); void FetchMessagesInChannelBefore(Snowflake channel_id, Snowflake before_id, std::function &)> cb); @@ -83,6 +84,8 @@ public: void DeleteMessage(Snowflake channel_id, Snowflake id); void EditMessage(Snowflake channel_id, Snowflake id, std::string content); void SendLazyLoad(Snowflake id); + void JoinGuild(std::string code); + void LeaveGuild(Snowflake id); void UpdateToken(std::string token); @@ -91,6 +94,9 @@ private: std::vector m_compressed_buf; std::vector m_decompress_buf; z_stream m_zstream; + + void ProcessNewGuild(Guild &guild); + void HandleGatewayMessageRaw(std::string str); void HandleGatewayMessage(std::string str); void HandleGatewayReady(const GatewayMessage &msg); @@ -98,6 +104,8 @@ private: void HandleGatewayMessageDelete(const GatewayMessage &msg); void HandleGatewayMessageUpdate(const GatewayMessage &msg); void HandleGatewayGuildMemberListUpdate(const GatewayMessage &msg); + void HandleGatewayGuildCreate(const GatewayMessage &msg); + void HandleGatewayGuildDelete(const GatewayMessage &msg); void HeartbeatThread(); void SendIdentify(); @@ -137,6 +145,8 @@ public: typedef sigc::signal type_signal_message_delete; typedef sigc::signal type_signal_message_update; typedef sigc::signal type_signal_guild_member_list_update; + typedef sigc::signal type_signal_guild_create; + typedef sigc::signal type_signal_guild_delete; type_signal_gateway_ready signal_gateway_ready(); type_signal_channel_list_refresh signal_channel_list_refresh(); @@ -144,6 +154,8 @@ public: type_signal_message_delete signal_message_delete(); type_signal_message_update signal_message_update(); type_signal_guild_member_list_update signal_guild_member_list_update(); + type_signal_guild_create signal_guild_create(); + type_signal_guild_delete signal_guild_delete(); protected: type_signal_gateway_ready m_signal_gateway_ready; @@ -152,4 +164,6 @@ protected: type_signal_message_delete m_signal_message_delete; type_signal_message_update m_signal_message_update; type_signal_guild_member_list_update m_signal_guild_member_list_update; + type_signal_guild_create m_signal_guild_create; + type_signal_guild_delete m_signal_guild_delete; }; -- cgit v1.2.3