Exemplo n.º 1
0
        protected override async Task ProcessUncanceledMessage(string message)
        {
            switch (_state)
            {
            case State.title:
                await ProcessTitleAsync(message);

                break;

            case State.description:
                await ProcessDescriptionAsync(message);

                break;

            case State.channel:
                await ProcessChannelAsync(message);

                break;

            case State.date:
                await ProcessDateAsync(message);

                _raid.AddStandardReminder();
                break;

            case State.duration:
                await ProcessDurationAsync(message);

                break;

            case State.organisator:
                await ProcessOrganisatorAsync(message);

                break;

            case State.guild:
                await ProcessGuildAsync(message);

                break;

            case State.voicechat:
                await ProcessVoiceChatAsync(message);

                break;

            case State.accountType:
                await ProcessAccountTypeAsync(message);

                break;

            case State.roles:
                await ProcessRolesAsync(message);

                break;
            }
        }
Exemplo n.º 2
0
        private async Task <bool> CreateRaid(string message)
        {
            StringReader strReader = new StringReader(message);

            if (!await SetTitleAsync(strReader.ReadLine()))
            {
                return(false);
            }
            if (!await SetChannelAsync(strReader.ReadLine()))
            {
                return(false);
            }
            if (!await SetDateAsync(strReader.ReadLine()))
            {
                return(false);
            }
            if (!await SetDurationAsync(strReader.ReadLine()))
            {
                return(false);
            }
            if (!await SetOrganisatorAsync(strReader.ReadLine()))
            {
                return(false);
            }
            if (!await SetGuildAsync(strReader.ReadLine()))
            {
                return(false);
            }
            if (!await SetVoiceChatAsync(strReader.ReadLine()))
            {
                return(false);
            }
            if (!await SetAccountTypeAsync(strReader.ReadLine()))
            {
                return(false);
            }


            string line = strReader.ReadLine();

            while (line != null && Parsers.TryParseRole(line, out int noPositions, out string roleName, out string roleDecription))
            {
                _raid.AddRole(noPositions, roleName, roleDecription);
                line = strReader.ReadLine();
            }
            if (_raid.Roles.Count == 0)
            {
                await UserExtensions.SendMessageAsync(_user, $"No role was found.");

                return(false);
            }

            string description = string.Empty;

            while (line != null)
            {
                if (!string.IsNullOrEmpty(description))
                {
                    description += "\n";
                }
                description += line;
                line         = strReader.ReadLine();
            }
            _raid.Description = description;
            _raid.AddStandardReminder();
            return(true);
        }