2017-10-06 37 views
0

我想創建一個鬆弛命令,被調用後返回結果發佈者,並寫另一個消息到特定的通道。使鬆弛命令發送響應發佈者和特定通道

這可能嗎?

在文檔中,我發現我可以設置in_channel屬性,但我想指定將響應發送到特定通道,甚至將命令調用限制到特定通道。

回答

1

是的,你可以用標準的slash commmand來實現。斜槓命令觸發您的應用程序,然後可以將結果返回給用戶,並通過chat.postMessage(只要您擁有必要的權限)將消息發送到另一個頻道。

限制斜槓命令調用到特定的頻道是可能的,但只適用於公共頻道,因爲Slack會告訴您的應用程序名稱,如果它被調用的公共頻道,但不是專用頻道的名稱。

對於公共頻道,您的應用將從每個請求調用斜槓命令的位置獲取頻道ID。您的應用可以使用該信息來決定是否允許該命令並作出相應的響應。

對於私人頻道,您只能獲得privategroup作爲頻道名稱,但不是真實姓名或組ID。您當然可以使用此信息在所有專用通道中排除該命令的使用情況,但不能用於特定通道。

這裏是您的應用鬆弛獲得請求的例子:

token=gIkuvaNzQIHg97ATvDxqgjtO 
team_id=T0001 
team_domain=example 
enterprise_id=E0001 
enterprise_name=Globular%20Construct%20Inc 
channel_id=C2147483705 
channel_name=test 
user_id=U2147483697 
user_name=Steve 
command=/weather 
text=94070 
response_url=https://hooks.slack.com/commands/1234/5678 
trigger_id=13345224609.738474920.8088930838d88f008e0