From 33e893e2788219d2b0165f58706e8069f78414e2 Mon Sep 17 00:00:00 2001 From: Noikoio Date: Fri, 8 Dec 2017 13:52:32 -0800 Subject: [PATCH] Fix incoming users not getting cached --- Module/EntityCache/EntityCache.cs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Module/EntityCache/EntityCache.cs b/Module/EntityCache/EntityCache.cs index 8af68ec..36a66df 100644 --- a/Module/EntityCache/EntityCache.cs +++ b/Module/EntityCache/EntityCache.cs @@ -31,18 +31,19 @@ namespace Noikoio.RegexBot.Module.EntityCache client.GuildAvailable += Client_GuildAvailable; client.GuildUpdated += Client_GuildUpdated; client.GuildMemberUpdated += Client_GuildMemberUpdated; - // it may not be necessary to handle JoinedGuild, as GuildAvailable provides this info + client.UserJoined += Client_UserJoined; } else { Log("No database storage available.").Wait(); } } - + public override Task ProcessConfiguration(JToken configSection) => Task.FromResult(null); #region Event handling - // Guild _and_ guild member information has become available + // Guild and guild member information has become available. + // This is a very expensive operation, when joining larger guilds for the first time. private async Task Client_GuildAvailable(SocketGuild arg) { await Task.Run(async () => @@ -64,12 +65,14 @@ namespace Noikoio.RegexBot.Module.EntityCache { await Task.Run(() => UpdateGuildMember(arg2)); } -#endregion -#region Table setup - -#endregion - + // A new guild member has appeared + private async Task Client_UserJoined(SocketGuildUser arg) + { + await UpdateGuildMember(arg); + } + #endregion + private async Task UpdateGuild(SocketGuild g) { try