Browse Source

fix: Discord does not always send the member on VOICE_STATE_UPDATE

some guilds aren't on g250k yet? not sure
tags/2.0
Christopher F 7 years ago
parent
commit
64d8938ed5
1 changed files with 3 additions and 1 deletions
  1. +3
    -1
      src/Discord.Net.WebSocket/DiscordSocketClient.cs

+ 3
- 1
src/Discord.Net.WebSocket/DiscordSocketClient.cs View File

@@ -1429,7 +1429,9 @@ namespace Discord.WebSocket
after = SocketVoiceState.Create(null, data);
}

user = guild.GetUser(data.UserId) ?? guild.AddOrUpdateUser(data.Member.Value); //per g250k, this is always sent
// per g250k, this should always be sent, but apparently not always
user = guild.GetUser(data.UserId)
?? (data.Member.IsSpecified ? guild.AddOrUpdateUser(data.Member.Value) : null);
if (user == null)
{
await UnknownGuildUserAsync(type, data.UserId, guild.Id).ConfigureAwait(false);


Loading…
Cancel
Save