fix: Discord does not always send the member on VOICE_STATE_UPDATE

some guilds aren't on g250k yet? not sure
This commit is contained in:
Christopher F
2018-05-28 15:25:46 -04:00
parent aeb3095593
commit 64d8938ed5

View File

@@ -1429,7 +1429,9 @@ namespace Discord.WebSocket
after = SocketVoiceState.Create(null, data); 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) if (user == null)
{ {
await UnknownGuildUserAsync(type, data.UserId, guild.Id).ConfigureAwait(false); await UnknownGuildUserAsync(type, data.UserId, guild.Id).ConfigureAwait(false);