コード例 #1
0
        private async Task MessageDeletedAsync(Cacheable <IMessage, ulong> arg1, ISocketMessageChannel arg2)
        {
            using (var db = new ApplicationDataContext())
            {
                var msg = await DiscordMessage.CreateOrGetAsync(await arg1.GetOrDownloadAsync());

                db.Entry(msg);
                msg.IsDeleted = true;
                await db.SaveChangesAsync();
            }
        }
コード例 #2
0
        private async Task ReactionAddedAsync(Cacheable <IUserMessage, ulong> arg1, ISocketMessageChannel arg2, SocketReaction arg3)
        {
            Console.WriteLine($"Adding Reaction {arg3.Emote.Name}");
            using (var db = new ApplicationDataContext())
            {
                await DiscordMessage.CreateOrGetAsync(await arg1.GetOrDownloadAsync());

                var reaction = new UserMessageReaction()
                {
                    Created = DateTime.UtcNow, MessageId = arg3.MessageId, ReactorId = arg3.UserId, Reaction = arg3.Emote.Name
                };
                db.Add(reaction);
                await db.SaveChangesAsync();
            }
        }
コード例 #3
0
        private async Task ReactionRemovedAsync(Cacheable <IUserMessage, ulong> arg1, ISocketMessageChannel arg2, SocketReaction arg3)
        {
            Console.WriteLine($"Removing Reaction {arg3.Emote.Name}");
            using (var db = new ApplicationDataContext())
            {
                await DiscordMessage.CreateOrGetAsync(await arg1.GetOrDownloadAsync());

                var reaction = db.UserMessageReactions.FirstOrDefault(r => r.MessageId == arg3.MessageId && r.ReactorId == arg3.UserId && r.Reaction == arg3.Emote.Name);
                if (reaction != null)
                {
                    db.Remove(reaction);
                    await db.SaveChangesAsync();
                }
            }
        }