diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2022-10-18 18:34:14 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2022-10-18 18:34:14 -0400 |
commit | e2110c22eefa899bf5d588eb34c477a3cc9c365e (patch) | |
tree | d56db62f9583e890967f2f6730d67c580115fdff /src/discord/discord.cpp | |
parent | cf53831b2a368c5413f10565e2ead88d8db8d1b4 (diff) | |
download | abaddon-portaudio-e2110c22eefa899bf5d588eb34c477a3cc9c365e.tar.gz abaddon-portaudio-e2110c22eefa899bf5d588eb34c477a3cc9c365e.zip |
store user data from voice state updates
Diffstat (limited to 'src/discord/discord.cpp')
-rw-r--r-- | src/discord/discord.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
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); |