public ShopifyServiceBusTriggerManager(IOrderReader orderReader, IOrderFilter orderCreatedFilter, IOrderToTrelloCardMapper orderMapper, TrelloClient trelloClient, ILogger <ShopifyServiceBusTriggerManager> logger, SheetsClient sheetsClient) { _orderReader = orderReader; _orderCreatedFilter = orderCreatedFilter; _orderMapper = orderMapper; _trelloClient = trelloClient; _logger = logger; _sheetsClient = sheetsClient; }
public async Task ProcessMessageAsync() { var message = this.Context.Message; var arguments = message.Content.Split(' ', StringSplitOptions.RemoveEmptyEntries); if (arguments.Length != 6 && arguments.Length != 7) { await message.Channel.SendMessageAsync("Invalid usage of !signup. Use like this: " + Description); return; } string run, character; CharacterClass charClassParsed; List <RaidRole> rolesParsed; bool canFunnel, isValid; (isValid, run, character, charClassParsed, rolesParsed, canFunnel) = await ValidateAndParseSignupArguments(message, arguments); if (!isValid) { return; } var sheetsClient = new SheetsClient(); await sheetsClient.Initialize(); try { var mainUser = message.Author; if (message.MentionedUsers.Any()) { mainUser = message.MentionedUsers.First(); } await sheetsClient.AddSignupAsync(character, rolesParsed.Contains(RaidRole.Tank), rolesParsed.Contains(RaidRole.Healer), rolesParsed.Contains(RaidRole.Dps), charClassParsed, canFunnel, false, mainUser.Username); await message.Channel.SendMessageAsync($"Successfully signed up: {character} for {mainUser.Mention} for {run}!"); } catch (SheetsSignupException ex) { await message.Channel.SendMessageAsync($"{message.Author.Mention} - {ex.Message}"); } catch (Exception ex) { await message.Channel.SendMessageAsync($"Signup attempt resulted in error, @sealslicer please check into it."); throw; } }
public async Task ProcessMessageAsync(string run, string character, string force = null) { var message = this.Context.Message; var arguments = message.Content.Split(' ', StringSplitOptions.RemoveEmptyEntries); var isForce = false; if (!string.IsNullOrEmpty(force)) { isForce = true; if (!(await this.CheckRoleMembershipAsync("Banana Spider"))) { await message.Channel.SendMessageAsync("User cannot use the \"force\" parameter. Unauthorized."); return; } } if (!SignupCommand.RunTypes.Contains(run, StringComparer.OrdinalIgnoreCase)) { await message.Channel.SendMessageAsync("Invalid usage of !signup. Invalid 'runType/id' value."); return; } var sheetsClient = new SheetsClient(); await sheetsClient.Initialize(); try { await sheetsClient.RevokeSignupAsync(character, message.Author.Username, isForce); await message.Channel.SendMessageAsync($"Successfully Revoked: {character} for {message.Author.Mention} for {run}!"); } catch (InvalidOperationException ex) { await message.Channel.SendMessageAsync(ex.Message); } catch (Exception ex) { await message.Channel.SendMessageAsync($"Revoke attempt resulted in error, @sealslicer please check into it."); throw; } }