Exemple #1
0
        public async Task _discord_ReactionAdded(Cacheable <IUserMessage, ulong> arg1, ISocketMessageChannel arg2, SocketReaction arg3)
        {
            var reaction = new ReactionNet
            {
                ChannelId   = arg2.Id,
                Emote       = arg3.Emote,
                MessageId   = arg3.MessageId,
                TimeReacted = arg2.CreatedAt,
                UserToReact = arg3.User
            };

            var result = await _reactionLogic.VerwerkReaction(reaction);

            if (result.Status == Status.ResultOk)
            {
                if (result.DmUser != null)
                {
                    await result.DmUser.SendMessageAsync(result.MessageToReply);
                }
                else
                {
                    await arg3.Channel.SendMessageAsync(result.MessageToReply);
                }
            }
        }
Exemple #2
0
        public async Task <IServiceMessage> VerwerkReaction(ReactionNet reaction)
        {
            var message = string.Empty;

            if (reaction.ChannelId == StaticChannels.TestChannel)
            {
                message = "Emoticon not known";
                if (Equals(reaction.Emote, EmojiList.Accepted))
                {
                    message = $"Accepted invite";
                }
                if (Equals(reaction.Emote, EmojiList.Declined))
                {
                    message = $"Declined invite";
                }

                return(new ServiceMessage {
                    Status = Status.ResultOk, MessageToReply = message, DmUser = reaction.UserToReact.GetValueOrDefault()
                });
            }

            return(NullServiceMessage.Instance);
        }