/// <summary> /// scope= get:arbitrage /// cmd= 'get arbit @p0'. /// @p0 parameter for desired currency /// </summary> /// <returns></returns> public override async Task GetArbitrage() { int parameterCount = 1; var parameterSet = new List <CommandParameter> { new CommandParameter { Depth = 2, ParameterValue = Parameters[0].ToLower(), ParameterSet = new List <string> { "eth", "btc", "xrp", "ltc", "all" } } }; var validateResp = ValidateParameters(parameterSet, parameterCount); if (validateResp.ResponseCode != ResponseCode.Success) { var errorMessage = GetSlackExecutionErrorMessage(validateResp.ResponseData); if (validateResp.ResponseData == 2 && Parameters[0].ToLower() != "all") { //post depth=2 message => Given crypto currency either not found or not supported. errorMessage.text = string.Format(errorMessage.text, Parameters[0], "Eth, Btc, Ltc, Xrp"); } await PostMessage(errorMessage); return; } var currency = Statics.GetCurrency(Parameters[0]); //get crypto currencies by currency var cryptoCurrencies = GetCryptoCurrencies(currency); var successMessage = SlackMessageGenerator.GetArbitrageMessage(cryptoCurrencies, currency); await PostMessage(GetSlackExecutionSuccessMessage(successMessage)); }