首页 > 解决方案 > 如何使用 slack api 代表另一个用户发送命令

问题描述

我正在构建一个类似于fuck命令行工具的 Slack 应用程序。它应该找到试图执行命令并代表他们执行正确命令的用户的拼写错误。

我搜索了很多,找到了关于chat.commandapi 的非官方文档,这很有用,但我需要以另一个用户的身份发送命令。我现在采取的方法是在频道上向用户询问他或她的遗留令牌,然后将其保存在 db 中以代表他们发送命令。但这并不实用

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

有没有更好的方法来代表另一个用户发送命令?

标签: pythonapislack

解决方案


我认为这样做的唯一方法是,正如你所说,保存令牌。否则,Slack 不可能知道您可以作为其他用途执行。作为安装应用程序的一部分,您可能会添加一个配置步骤,每个用户都必须通过该步骤来设置工具,并在那里保存令牌。

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


推荐阅读