Browse Source

Raise GuildMembersDownloaded for non-large guilds

tags/1.0.0-rc2
RogueException 8 years ago
parent
commit
6192228378
2 changed files with 11 additions and 5 deletions
  1. +7
    -1
      src/Discord.Net.WebSocket/DiscordSocketClient.cs
  2. +4
    -4
      src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs

+ 7
- 1
src/Discord.Net.WebSocket/DiscordSocketClient.cs 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);


+ 4
- 4
src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs 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)


Loading…
Cancel
Save