private async Task InternalStartPoll(string arg, bool isPublic = false)
            {
                var channel = (ITextChannel)Context.Channel;

                if (!(Context.User as IGuildUser).GuildPermissions.ManageChannels)
                {
                    return;
                }
                if (string.IsNullOrWhiteSpace(arg) || !arg.Contains(";"))
                {
                    return;
                }
                var data = arg.Split(';');

                if (data.Length < 3)
                {
                    return;
                }

                var poll = new Poll(Context.Message, data[0], data.Skip(1), isPublic: isPublic);

                if (ActivePolls.TryAdd(channel.Guild, poll))
                {
                    await poll.StartPoll().ConfigureAwait(false);
                }
                else
                {
                    await channel.SendErrorAsync("Poll is already running on this server.").ConfigureAwait(false);
                }
            }
Beispiel #2
0
            private async Task InternalStartPoll(string arg, bool isPublic = false)
            {
                var channel = (ITextChannel)Context.Channel;

                if (string.IsNullOrWhiteSpace(arg) || !arg.Contains(";"))
                {
                    return;
                }
                var data = arg.Split(';');

                if (data.Length < 3)
                {
                    return;
                }

                var poll = new Poll(Context.Message, data[0], data.Skip(1), isPublic: isPublic);

                if (ActivePolls.TryAdd(channel.Guild.Id, poll))
                {
                    await poll.StartPoll().ConfigureAwait(false);
                }
                else
                {
                    await ReplyErrorLocalized("poll_already_running").ConfigureAwait(false);
                }
            }
Beispiel #3
0
        private async Task InternalStartPoll(IUserMessage umsg, string arg, bool isPublic = false)
        {
            var channel = (ITextChannel)umsg.Channel;

            if (!(umsg.Author as IGuildUser).GuildPermissions.ManageChannels)
                return;
            if (string.IsNullOrWhiteSpace(arg) || !arg.Contains(";"))
                return;
            var data = arg.Split(';');
            if (data.Length < 3)
                return;

            var poll = new Poll(umsg, data[0], data.Skip(1), isPublic: isPublic);
            if (ActivePolls.TryAdd(channel.Guild, poll))
            {
                await poll.StartPoll().ConfigureAwait(false);
            }
            else
                await channel.SendMessageAsync("`Poll is already running on this server.`").ConfigureAwait(false);
        }