python - 如何使用 slack api 代表另一个用户发送命令
问题描述
我正在构建一个类似于fuck
命令行工具的 Slack 应用程序。它应该找到试图执行命令并代表他们执行正确命令的用户的拼写错误。
我搜索了很多,找到了关于chat.command
api 的非官方文档,这很有用,但我需要以另一个用户的身份发送命令。我现在采取的方法是在频道上向用户询问他或她的遗留令牌,然后将其保存在 db 中以代表他们发送命令。但这并不实用
slack.legacy_client.api_call(
"chat.command",
channel='channel_id',
command='/command',
text='do stuff',
)
有没有更好的方法来代表另一个用户发送命令?
解决方案
我认为这样做的唯一方法是,正如你所说,保存令牌。否则,Slack 不可能知道您可以作为其他用途执行。作为安装应用程序的一部分,您可能会添加一个配置步骤,每个用户都必须通过该步骤来设置工具,并在那里保存令牌。
您可以按照您的建议使用数据库。另一种选择是使用像 Tranposit 这样的平台(完全公开,我在那里工作)。他们建立了一个系统来存储用户的令牌(用于 Slack 和其他 API,尽管 Slack 是这里的相关 API)。更多信息:https ://www.transposit.com/docs/building/managed-authentication/
推荐阅读
- spring-boot - Spring将保存到数据库与另一个实例同步
- java - 如何将成员添加到数组列表的后面或前面
- java - 将日期格式转换为 excel 友好格式,然后对其进行解析以转换日期
- sql - 如何将行名更新为 SQL 中两个表之间的列名
- html - 每次单击显示列按钮后,表格列的宽度都会增加
- javascript - 在单击按钮上打开当前手风琴,关闭其他使用 jqwery 动态打开的手风琴
- angular - 扫描后如何返回带有插入项的更新数组?
- java - 两个不同的查询返回相同的对象 Spring Boot JPA
- python - 在两个日期时间之间选择 xarray 数据集数据超出范围
- sql - 将列透视到行 PL/SQL