slack - Slack 机器人如何找到自己的 id?
问题描述
我正在编写一个可以收听频道中所有消息的 slack 机器人。他的反应应该根据消息是否提到他而有所不同。问题是我无法弄清楚如何“正确”找出机器人的 ID。该机器人已订阅message.channels
事件,当有人发布提及该机器人的消息时,我得到以下信息:
{"client_msg_id":"b94dcc57-d640-4815-9eeb-23c048564bf0",
"type":"message",
"text":"<@UFT98YYYY> how are you?",
"user":"UD45QXXXX",
"ts":"1548958008.003400",
"channel":"CFK3AZZZZ",
"event_ts":"1548958008.003400",
"channel_type":"channel"}
知道这UFT98YYYY
是机器人身份的正确方法是什么?当然有解决这个问题的方法(查看日志,在配置中设置 bot 的 id),但它们看起来丑陋、脆弱,并且在安装 bot 时需要一些额外的步骤。机器人是否可以使用 Slack API 调用来查找其 ID?
顺便说一句,我知道我只能订阅提及,但我也需要倾听和反应非提及的消息。
解决方案
知道了。要使用的 API 方法是auth.test
,它返回用户 ID(加上一些额外的字段)。
推荐阅读
- laravel - 使用 GitHub 将 Laravel 部署到 azure windows web 应用程序会出现错误,需要 ext-fileinfo * -> 您的系统中缺少它
- ruby-on-rails - 是否可以在子类上获取超类和子类属性?
- powershell - ls -a 命令在我的 VS Code 终端上不起作用
- c# - Azure 服务总线订阅指标
- azure - 结合 2 个 ARM 模板(Action Group 和 Budget Alert)
- here-api - 在 HERE sdk 中交换手势
- curl - Ansible Playbook 中的 Curl -F 选项
- javascript - “官方” useInterval 示例中的潜在错误
- reactjs - 通过 props 传递的组件的 React 和 TypeScript 使用
- .net - 在 DbContextOptions 中找不到 ApplicationDbContext