Fixed WaitForGuildsAsync
This commit is contained in:
@@ -552,6 +552,10 @@ namespace Discord
|
|||||||
await _gatewayLogger.WarningAsync($"{type} referenced an unknown guild.").ConfigureAwait(false);
|
await _gatewayLogger.WarningAsync($"{type} referenced an unknown guild.").ConfigureAwait(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var unavailableGuilds = _unavailableGuilds;
|
||||||
|
if (unavailableGuilds != 0)
|
||||||
|
_unavailableGuilds = unavailableGuilds - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.Unavailable != true)
|
if (data.Unavailable != true)
|
||||||
@@ -600,6 +604,8 @@ namespace Discord
|
|||||||
await LeftGuild.RaiseAsync(guild).ConfigureAwait(false);
|
await LeftGuild.RaiseAsync(guild).ConfigureAwait(false);
|
||||||
await _gatewayLogger.InfoAsync($"Left {data.Name}").ConfigureAwait(false);
|
await _gatewayLogger.InfoAsync($"Left {data.Name}").ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
_unavailableGuilds++;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -671,7 +677,7 @@ namespace Discord
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
channel = RemoveDMChannel(data.Id);
|
channel = RemoveDMChannel(data.Recipient.Value.Id);
|
||||||
if (channel != null)
|
if (channel != null)
|
||||||
await ChannelDestroyed.RaiseAsync(channel).ConfigureAwait(false);
|
await ChannelDestroyed.RaiseAsync(channel).ConfigureAwait(false);
|
||||||
else
|
else
|
||||||
@@ -1148,7 +1154,7 @@ namespace Discord
|
|||||||
|
|
||||||
private async Task WaitForGuildsAsync(CancellationToken cancelToken)
|
private async Task WaitForGuildsAsync(CancellationToken cancelToken)
|
||||||
{
|
{
|
||||||
while ((_unavailableGuilds > 0) || (Environment.TickCount - _lastGuildAvailableTime > 2000))
|
while ((_unavailableGuilds != 0) && (Environment.TickCount - _lastGuildAvailableTime < 2000))
|
||||||
await Task.Delay(500, cancelToken).ConfigureAwait(false);
|
await Task.Delay(500, cancelToken).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
public async Task WaitForGuildsAsync()
|
public async Task WaitForGuildsAsync()
|
||||||
|
|||||||
Reference in New Issue
Block a user