Example #1
0
        public async Task PollAsync([Summary("The question to vote on.")] string message, [Summary("The reactions to vote with.")] params string[] reactions)
        {
            IUserMessage msg = null;

            try
            {
                var emotes = new List <IEmote>();
                foreach (var r in reactions)
                {
                    if (Emote.TryParse(r, out var res))
                    {
                        emotes.Add(res);
                    }
                    else
                    {
                        emotes.Add(new Emoji(r));
                    }
                }
                await CreatePollAsync(msg, message, emotes);
            }
            catch (HttpException he) when(he.HttpCode == System.Net.HttpStatusCode.BadRequest)
            {
                await _inter.DelayedSendMessageAndDeleteAsync(Context.Channel, deleteDelay : TimeSpan.FromSeconds(10), text : "One of your reactions was invalid.");

                if (msg != null)
                {
                    await msg.DeleteAsync();
                }
            }
        }