private async Task OnConnected() { var recordedGuilds = await DynamoSystem.ScanItemAsync <GuildInfo>(); var guildsToUpdate = new List <GuildInfo>(); foreach (var rGuild in recordedGuilds) { var match = this._discord.Guilds.SingleOrDefault(x => x.Id.ToString() == rGuild.GuildGuid); if (match == null) { await DynamoSystem.DeleteItemAsync(rGuild); continue; } rGuild.GuildName = match.Name; guildsToUpdate.Add(rGuild); } foreach (var uGuild in guildsToUpdate) { await DynamoSystem.UpdateItemAsync(uGuild); } }
private async Task OnLeavingGuild([NotNull] SocketGuild arg) { var guild = new GuildInfo { GuildGuid = arg.Id.ToString(), GuildName = arg.Name }; await DynamoSystem.DeleteItemAsync(guild); }
private static async Task OnLeftGuildAsync([NotNull] SocketGuild arg) { var guild = await DynamoSystem.GetItemAsync <GuildInfo>(arg.Id).ConfigureAwait(false); if (guild == null) { return; } await DynamoSystem.DeleteItemAsync(guild).ConfigureAwait(false); }