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);
}
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);