Slack機器人自動Like👍 – 透過Slack API在訊息添加Emoji

Slack機器人自動Like👍 - 透過Slack API在訊息添加Emoji 1
Product screenshots from Slack Official Brand Assets

不知道你有沒有用 Slack 這個辦公通訊軟體呢?在歐美的企業比較流行使用它來作為內部溝通平台,火熱人氣到有很多第三方 Slack Chatbots開發出來,向辦公室及企業銷售自動化的方案。今次我也來介紹一個簡單的 Slack API,讓你思考如何編寫一個自動讚好 (auto-like) 的 Slack 聊天機器人。

Slack API Methods,讚好或者添加表情符號 (Emoji) 的操作隸屬於 reactions 類型,包括以下四種方法:

方法描述
reactions.add向項目添加反應。
reactions.get獲取項目的反應。
reactions.list列出用戶所給予的反應。
reactions.remove從項目中刪除反應。

若以編寫自動讚好的機器人作為例子,那麼要使用的就是 reactions.add 方法。


reactions.add

方法網址:https://slack.com/api/reactions.add
首選HTTP方法:POST
接受內容類型:application/x-www-form-urlencoded, application/json
Rate limiting:Tier 3
適用於 :
Token 類型所需 scope(s)
botreactions:write 
userreactions:write 
classic botbot

此方法將一個反應(表情符號)添加到項目(文件,文件註釋,頻道消息,群組消息或直接消息)。 必須指定 file,file_comment,或者 channel + timestamp 的組合,以上參數的其中之一。

參數


token

必需

所需範圍的 Authentication token。

例子:xxxx-xxxxxxxxx-xxxx


channel

必需

要添加反應的消息所發布了的頻道。

例子:C1234567890


name

必需

反應(表情符號)的名稱。

例子:thumbsup = :+1: 👍

※ 可以參考 📙 Emojipedia — 😃 Home of Emoji Meanings 💁👌🎍😍


timestamp

必需

要添加反應的消息的時間戳。

例子:1234567890.123456


file

不再適用

要添加反應的檔案

例子:F1234567890


file_comment

不再適用

要添加反應的檔案評論

例子:Fc1234567890


API POST 例子:

Shell

如何找取timestamp

第1步

在Slack的消息上面按 ‧‧‧,選擇 Copy Link 取得該消息的URL。例如:
https://<team_name>.slack.com/archives/<channel_id>/p1234567890123456 
最尾的16位數字字串就是代表 timestamp,把一個 . 插入到字串,使其變成一個10位+6個小數點位的數字。

Slack機器人自動Like👍 - 透過Slack API在訊息添加Emoji 2

第2步

通過API取得消息歷史,例如: channels.historygroups.historyconversations.history 。使用GET方法取得消息歷史之後,分析回傳的資料,從 JSON格式之中提取messages。以下是一個 JavaScript例子:

JS

timestamp 格式轉換


回傳值

典型的成功回傳反應:

JSON

典型的錯誤回傳反應:

JSON

進行此調用後,將保存反應,並通過 RTM API 廣播 reaction_added 事件。
( RTM API = Real Time Messaging API )


錯誤標籤

請到參考 Slack API 上的說明。

如果您喜歡這篇文章,請分享到您的 Facebook 和 Twitter。您也可以通過 Ko-fi 捐款支持本站。

Scroll to Top