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(); } }
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(); } }
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(); } } }