[Slack]建立一個Slack Bot 來發送WebHook訊息

最近有一些需求 需要串到Slack 來通知訊息

所以就來建立一個Slack Bot 吧

 

 

連線到Slack Creat App 介面 點選Create New App

輸入App Name 這裡使用 TestBot, 點選Create App

這裡會需要連線到團隊的workspace 並且設定你的機器人要發送到哪一個Channel

建立好了以後 會進入這個Bot 的管理介面
1. 請點選“Incoming Webhooks”
2. 點選右上角Off 改為ON
3.下面就會有發送Web Hook的Sample


使用以下的程式就可以簡單發送訊息囉!

var wc = new WebClient();
wc.Headers.Add("Content-Type", "application/json");
var PostStr = "{\"text\":\"Hello, This is Slack Bot.\"}";
var postBytes = Encoding.UTF8.GetBytes(PostStr);
var webHook = "你的Web Hook 網址";
var res = Encoding.UTF8.GetString(wc.UploadData(webHook, "POST", postBytes));
Console.Write(res);

Slack 冷知識

  1. Token 辨識 Bot 和OAuth 
    • Bot Token 開頭為 xoxb
    • OAuth Token 開頭為xoxp
  2. UserID 和Channel ID 
    • User ID 開頭為U
    • Channel ID 開頭為D
  3. WebHook How to Tag User : 使用角括號+@包住 User ID 
    var slackUserID = "U12346789"
    var tagUserID = $"<@{slackUserID}>"

     

其他傳連結或者是表情貼圖可以參考
Formatting text for app surfaces:https://api.slack.com/reference/surfaces/formatting

-----------------------------------------

有時在會走之前你就得跑

你不解決問題 就等問題解決你