我想将Slack中的斜杠命令转换为交互式按钮

时间:2018-10-10 10:37:58

标签: slack slack-api slack-commands

我有一个使用Slack应用程序创建的Slack频道。在通道中,我可以输入/ leave,然后离开该通道,但是我想在我的应用程序中有一个交互式按钮,该按钮的作用与/ leave相同,因此用户只需单击该按钮即可,而无需输入命令。最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

在这里,您可以在Slack上实现一个按钮,该按钮允许用户离开其当前频道:

  • 在消息中添加interactive button并将其发送到频道。例如作为对斜杠命令的响应。

  • 用户单击按钮后,将向您的应用发送包含其用户ID和频道ID的请求

  • 然后,您的应用可以使用conversations.kick从频道中删除用户,前提是您的应用具有正确的范围(例如,公共频道为channels.write)。请注意,您需要为此方法使用访问令牌。机器人令牌将不起作用。

但是,有一些潜在的绊脚石需要考虑:

  • Slack工作区的管理员可以限制将某人踢出频道的权利。如果发生这种情况,您的应用将收到相应的错误消息:restricted_action。与“常规”频道类似:cant_kick_from_general

  • 此方法也适用于私人频道,但有一个警告:您的应用必须是私人频道的成员才能将用户踢出私人频道。这意味着安装您的应用的用户必须是成员。