From e2110c22eefa899bf5d588eb34c477a3cc9c365e Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Tue, 18 Oct 2022 18:34:14 -0400 Subject: store user data from voice state updates --- src/discord/discord.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/discord/discord.cpp') diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp index 7b1c7b9..cc066cc 100644 --- a/src/discord/discord.cpp +++ b/src/discord/discord.cpp @@ -2166,10 +2166,19 @@ void DiscordClient::HandleGatewayGuildMembersChunk(const GatewayMessage &msg) { #ifdef WITH_VOICE void DiscordClient::HandleGatewayVoiceStateUpdate(const GatewayMessage &msg) { VoiceState data = msg.Data; + if (data.UserID == m_user_data.ID) { printf("voice session id: %s\n", data.SessionID.c_str()); m_voice.SetSessionID(data.SessionID); + } else { + if (data.GuildID.has_value() && data.Member.has_value()) { + if (data.Member->User.has_value()) { + m_store.SetUser(data.UserID, *data.Member->User); + } + m_store.SetGuildMember(*data.GuildID, data.UserID, *data.Member); + } } + if (data.ChannelID.has_value()) { const auto old_state = GetVoiceState(data.UserID); SetVoiceState(data.UserID, *data.ChannelID); -- cgit v1.2.3