private async Task HandleMentorAnswer(string uppercaseMessage) { if (_hiring == HiringStatus.Unknown) { if (uppercaseMessage.Contains("TO")) { _hiring = HiringStatus.NotHiring; await _message.Author.TrySendMessageAsync("Selected: **Looking to mentor**.\nOn which subjects are you interested in mentoring?"); } else if (uppercaseMessage.Contains("FOR")) { _hiring = HiringStatus.Hiring; await _message.Author.TrySendMessageAsync("Selected: **Looking for a mentor**.\nOn which subjects are you interested in being mentored?"); } else { await _message.Author.TrySendMessageAsync("Invalid input.\nAre you looking \n**- For** a mentor\nOr are you looking \n**- To** mentor?"); } } else if (_hiring == HiringStatus.NotHiring) { await HandleNotHiring(); } else if (_hiring == HiringStatus.Hiring) { await HandleHiring(); } async Task HandleNotHiring() { switch (_buildStage) { case 0: _fields.TryAdd("areasOfInterest", _message.Content); await _message.Author.TrySendMessageAsync("Add a description:"); _buildStage++; break; case 1: _fields.TryAdd("description", _message.Content); await _message.Author.TrySendMessageAsync("How much are your rates? (*Ie. \"**Free**\", \"**5€/h**\", \"**10$/h ~ 30$/h**\"*)"); _buildStage++; break; case 2: _fields.TryAdd("compensation", _message.Content); await _message.Author.TrySendMessageAsync("Complete! Your embed will be sent to the mentor channel"); FinalizeQuestionnaire(); await BuildMentorEmbed(); break; } } async Task HandleHiring() { switch (_buildStage) { case 0: _fields.TryAdd("areasOfInterest", _message.Content); await _message.Author.TrySendMessageAsync("Add a description:"); _buildStage++; break; case 1: _fields.TryAdd("description", _message.Content); await _message.Author.TrySendMessageAsync("How much are you willing to pay? (*Ie. \"**Free**\", \"**5€/h**\", \"**10$/h ~ 30$/h**\"*)"); _buildStage++; break; case 2: _fields.TryAdd("compensation", _message.Content); await _message.Author.TrySendMessageAsync("Complete! Your embed will be sent to the mentor channel"); FinalizeQuestionnaire(); await BuildMentorEmbed(); break; } } }
private async Task HandleHobbyAnswer(string uppercaseMessage) { if (_hiring == HiringStatus.Unknown) { if (uppercaseMessage.Contains("TEAM")) { _hiring = HiringStatus.NotHiring; await _message.Author.TrySendMessageAsync("Selected: **Looking for a team**.\nWhat is/are your role(s)?"); } else if (uppercaseMessage.Contains("PEOPLE")) { _hiring = HiringStatus.Hiring; await _message.Author.TrySendMessageAsync("Selected: **Looking for people**.\nWhat is the name of your project?"); } else { await _message.Author.TrySendMessageAsync("Invalid input.\nAre you looking for a \n**- Team**\nOr are you looking for\n**- People**?"); } } else if (_hiring == HiringStatus.NotHiring) { await HandleNotHiring(); } else if (_hiring == HiringStatus.Hiring) { await HandleHiring(); } async Task HandleNotHiring() { switch (_buildStage) { case 0: _fields.TryAdd("roles", _message.Content); await _message.Author.TrySendMessageAsync("Which specific skills do you have? (*Ie. Unity, C#, Photoshop, Microsoft Excel etc.*)"); _buildStage++; break; case 1: _fields.TryAdd("skills", _message.Content); await _message.Author.TrySendMessageAsync("Please list any previous projects or portfolio if you have one. (*N/A if none*)"); _buildStage++; break; case 2: _fields.TryAdd("portfolio", _message.Content); await _message.Author.TrySendMessageAsync("How much experience do you have in the field? (*Ie. 2 Months, 5 Years etc.*)"); _buildStage++; break; case 3: _fields.TryAdd("experience", _message.Content); await _message.Author.TrySendMessageAsync("Add a decription."); _buildStage++; break; case 4: _fields.TryAdd("description", _message.Content); await _message.Author.TrySendMessageAsync("Complete! Your embed will be sent to the hobby channel"); FinalizeQuestionnaire(); await BuildHobbyNotHiringEmbed(); break; } } async Task HandleHiring() { switch (_buildStage) { case 0: _fields.TryAdd("projectName", _message.Content); await _message.Author.TrySendMessageAsync("Which roles are you looking for?"); _buildStage++; break; case 1: _fields.TryAdd("roles", _message.Content); await _message.Author.TrySendMessageAsync("Please list any previous projects or portfolio if you have one. (*N/A if none*)"); _buildStage++; break; case 2: _fields.TryAdd("portfolio", _message.Content); await _message.Author.TrySendMessageAsync("What is the current team size?"); _buildStage++; break; case 3: _fields.TryAdd("teamSize", _message.Content); await _message.Author.TrySendMessageAsync("What is the project length? (specify if not strict)"); _buildStage++; break; case 4: _fields.TryAdd("projectLength", _message.Content); await _message.Author.TrySendMessageAsync("What specific responsibilities will the person being hired will have ? (*Ie.Implementing physics system, writing character backstories etc.*)"); _buildStage++; break; case 5: _fields.TryAdd("responsibilities", _message.Content); await _message.Author.TrySendMessageAsync("Please describe your game."); _buildStage++; break; case 6: _fields.TryAdd("description", _message.Content); await _message.Author.TrySendMessageAsync("Complete! Your embed will be sent to the hobby channel"); FinalizeQuestionnaire(); await BuildHobbyHiringEmbed(); break; } } }