コード例 #1
0
        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);
            }
        }
コード例 #2
0
        private async Task OnLeavingGuild([NotNull] SocketGuild arg)
        {
            var guild = new GuildInfo
            {
                GuildGuid = arg.Id.ToString(),
                GuildName = arg.Name
            };

            await DynamoSystem.DeleteItemAsync(guild);
        }
コード例 #3
0
ファイル: GuildHandler.cs プロジェクト: Pentagrade/Gabby
        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);
        }