2017-10-06 46 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