Raise GuildMembersDownloaded for non-large guilds

This commit is contained in:
RogueException
2017-04-06 00:03:34 -03:00
parent 14f0535a43
commit 6192228378
2 changed files with 11 additions and 5 deletions

View File

@@ -545,6 +545,12 @@ namespace Discord.WebSocket
if (unavailableGuilds != 0)
_unavailableGuilds = unavailableGuilds - 1;
await GuildAvailableAsync(guild).ConfigureAwait(false);
if (guild.DownloadedMemberCount >= guild.MemberCount && !guild.DownloaderPromise.IsCompleted)
{
guild.CompleteDownloadUsers();
await TimedInvokeAsync(_guildMembersDownloadedEvent, nameof(GuildMembersDownloaded), guild).ConfigureAwait(false);
}
}
else
{
@@ -879,7 +885,7 @@ namespace Discord.WebSocket
foreach (var memberModel in data.Members)
guild.AddOrUpdateUser(memberModel);
if (guild.DownloadedMemberCount >= guild.MemberCount) //Finished downloading for there
if (guild.DownloadedMemberCount >= guild.MemberCount && !guild.DownloaderPromise.IsCompleted)
{
guild.CompleteDownloadUsers();
await TimedInvokeAsync(_guildMembersDownloadedEvent, nameof(GuildMembersDownloaded), guild).ConfigureAwait(false);

View File

@@ -190,8 +190,8 @@ namespace Discord.WebSocket
if (Discord.ApiClient.AuthTokenType != TokenType.User)
{
var _ = _syncPromise.TrySetResultAsync(true);
if (!model.Large)
_ = _downloaderPromise.TrySetResultAsync(true);
/*if (!model.Large)
_ = _downloaderPromise.TrySetResultAsync(true);*/
}
}
internal void Update(ClientState state, Model model)
@@ -258,8 +258,8 @@ namespace Discord.WebSocket
_members = members;
var _ = _syncPromise.TrySetResultAsync(true);
if (!model.Large)
_ = _downloaderPromise.TrySetResultAsync(true);
/*if (!model.Large)
_ = _downloaderPromise.TrySetResultAsync(true);*/
}
internal void Update(ClientState state, EmojiUpdateModel model)