Exemplo n.º 1
0
        public async Task ProgressInteractiveReactions(IUserMessage message, ISocketMessageChannel channel, SocketReaction reaction, IUser user)
        {
            if (!ProgressTracker.IsProgressTrackerMessage(message))
            {
                return;
            }

            if (reaction.Emote.Name == DecreaseEmoji)
            {
                DecreaseProgress(message);
                await message.RemoveReactionAsync(reaction.Emote, user).ConfigureAwait(false);
            }
            if (reaction.Emote.Name == IncreaseEmoji)
            {
                IncreaseProgress(message);
                await message.RemoveReactionAsync(reaction.Emote, user).ConfigureAwait(false);
            }
            if (reaction.Emote.Name == FullEmoji)
            {
                IncreaseProgressFullCheck(message);
                await message.RemoveReactionAsync(reaction.Emote, user).ConfigureAwait(false);
            }
            if (reaction.Emote.Name == RollEmoji)
            {
                var tracker = new ProgressTracker(message);
                var roll    = new ActionRoll(0, tracker.ActionDie, $"{ProgressResources.ProgressRollFor}{tracker.Title}");
                await channel.SendMessageAsync(roll.ToString()).ConfigureAwait(false);

                await message.RemoveReactionAsync(reaction.Emote, user).ConfigureAwait(false);
            }

            return;
        }