diff --git a/src/Discord.Net/API/Servers.cs b/src/Discord.Net/API/Servers.cs index 73177ab6f..ee5aa64d0 100644 --- a/src/Discord.Net/API/Servers.cs +++ b/src/Discord.Net/API/Servers.cs @@ -52,7 +52,7 @@ namespace Discord.API [JsonProperty("voice_states")] public VoiceMemberInfo[] VoiceStates; [JsonProperty("unavailable")] - public bool Unavailable; + public bool? Unavailable; } //Create diff --git a/src/Discord.Net/DiscordClient.cs b/src/Discord.Net/DiscordClient.cs index e853c7f64..1be671d53 100644 --- a/src/Discord.Net/DiscordClient.cs +++ b/src/Discord.Net/DiscordClient.cs @@ -317,7 +317,7 @@ namespace Discord _privateUser.GlobalUser.Update(data.User); foreach (var model in data.Guilds) { - if (!model.Unavailable) + if (model.Unavailable != true) { var server = _servers.GetOrAdd(model.Id); server.Update(model); @@ -337,15 +337,12 @@ namespace Discord case "GUILD_CREATE": { var data = e.Payload.ToObject(_serializer); - if (!data.Unavailable) - { - var server = _servers.GetOrAdd(data.Id); - server.Update(data); - if (data.Unavailable == false) - RaiseServerAvailable(server); - else - RaiseJoinedServer(server); - } + var server = _servers.GetOrAdd(data.Id); + server.Update(data); + if (data.Unavailable == false) + RaiseServerAvailable(server); + else + RaiseJoinedServer(server); } break; case "GUILD_UPDATE":