public virtual async Task ReactionsCleared(ReactionContext context) { var col = context.Database.GetCollection<IReactionHandler>(); var handler = col.Find(rh => rh.MsgId == context.Message.Id).FirstOrDefault(); if (handler == null) return; await handler.ReactionsCleared(context); }
private async Task ReactionAddedAsync(Cacheable <IUserMessage, ulong> cachedMsg, ISocketMessageChannel channel, SocketReaction addedReaction) { var msg = await cachedMsg.DownloadAsync(); if (msg == null) { return; } IChannelHandler handler = ChannelHandlers.ContainsKey(msg.Channel.Name) ? ChannelHandlers[msg.Channel.Name] : DefaultHandler; var context = new ReactionContext(Context, msg); await handler.ReactionAdded(context, addedReaction); }