/// <summary> /// Slack integration redirect url /// </summary> /// <param name="code"></param> /// <returns></returns> public async Task <ActionResult> GrantSuccess([FromUri] string code) { var slackIntegrationBusiness = new SlackIntegrationBusiness(); var oAuthResp = await slackIntegrationBusiness.OAuthAccess(code); var isGranted = oAuthResp.ok; if (isGranted) { var existingTeam = GetTeamBySlackId(oAuthResp.team_id); var isSlackTeamExists = existingTeam != null; //if team already exists, update access token. if (isSlackTeamExists) { existingTeam.BotAccessToken = oAuthResp.bot.bot_access_token; //refresh token EditSlackTeam(existingTeam); } else { SaveSlackTeam(oAuthResp); } //say hello to new team! var resp = await slackIntegrationBusiness.PostMessage(GetWelcomeMessage(oAuthResp.bot.bot_access_token)); ViewBag.SlackMessage = resp.error ?? resp.message.text; } ViewBag.Error = oAuthResp.error ?? ""; return(View(isGranted)); }
public async Task PostMessageViaBot() { var payload = new SlackMessage { channel = "#general", token = "xoxb-290876090100-HByhoYtz4LNcADDfFZthAO0v", text = SlackBotMessage.Welcome }; var slackIntegrationBusiness = new SlackIntegrationBusiness(); //say hello to new team! var resp = await slackIntegrationBusiness.PostMessage(payload); Assert.IsTrue(resp.ok); }