如何使用Slack API代表其他用户发送命令

时间:2019-06-12 08:30:17

标签: python api slack

我正在构建一个类似于fuck命令行工具的Slack应用。应该可以发现试图执行命令并代表他们执行正确命令的用户的错别字。

我进行了大量搜索,找到了有关chat.command api的非官方文档,该文档很有用,但是我需要以其他用户身份发送命令。我现在采用的方法是向用户询问通道上的旧令牌,然后将其保存在db中以代表他们发送命令。但这不切实际

slack.legacy_client.api_call(
   "chat.command",
    channel='channel_id',
    command='/command',
    text='do stuff',
)

是否有更好的方法可以代表另一个用户发送命令?

1 个答案:

答案 0 :(得分:1)

我认为,做到这一点的唯一方法就是保存令牌。否则,Slack无法知道您能够作为其他用途执行。在安装该应用程序的过程中,您可能需要添加一个配置步骤,每个用户都必须完成安装该工具的步骤,并在那里保存令牌。

您可以按照建议使用数据库。另一种选择是使用像Tranposit这样的平台(完整披露,我受雇于此)。他们构建了一个系统来存储用户令牌(用于Slack和其他API,尽管Slack是此处的相关API)。此处更多信息:https://www.transposit.com/docs/building/managed-authentication/