【问题标题】:Can a Slack bot interact with another bot and trigger some functions of it in a channel?Slack 机器人可以与另一个机器人交互并在频道中触发它的某些功能吗?
【发布时间】:2018-01-16 20:51:07
【问题描述】:

我构建了一个 Slack 机器人并试图让我的机器人与 a 频道中的另一个机器人交互,但它似乎不起作用。

例如,我想使用Polly(一个Slack bot)的投票功能。

像我这样的普通用户发送 /polly “哪个更好?” “Tacos”“Pizza” 消息和 Polly 将在频道中创建 Slack 投票。但是当我让我的机器人在同一个频道中发送相同的消息时(我使用python-slackclient和chat.postMessage方法),消息就像一个简单的文本,换句话说,它没有触发Polly。

那么,在频道中,Slack 机器人如何与另一个机器人交互并触发它的某些功能? 有人做过这样的事吗?


更新

https://github.com/ErikKalkoken/slackApiDoc/blob/master/chat.command.md

我尝试了这个方法,但遇到了另一个问题......

错误信息是

{'error': 'missing_scope',
 'needed': 'post',
 'ok': False,
 'provided': 'identify,bot:basic'}

Oauth 令牌需要“post”范围,但官方文件显示“post”范围已被弃用。如何使我的令牌具有“发布”范围?

【问题讨论】:

    标签: python bots slack slack-api


    【解决方案1】:

    我试图让两个机器人交互,但没有发现它起作用。 Slack 以某种方式识别消息的来源,如果消息是由机器人或应用程序发送的,则它无法响应。我什至尝试通过 slack API 以用户身份发布消息,但没有让它工作。 但是,机器人可以使用chat.command 方法来调用斜杠命令。 非官方文档可以在这里找到:

    https://github.com/ErikKalkoken/slackApiDoc/blob/master/chat.command.md

    【讨论】:

    • 非常感谢!!
    • OK:) 但是我在使用 slack bot 令牌作为令牌参数时遇到了错误。错误消息是 { 'error': 'missing_scope', 'needed': 'post', 'ok': False, 'provided': 'identify,bot:basic'} 令牌需要范围“post”,我该如何将其添加到我的 Oauth 范围...?
    • 您需要为机器人用户添加访问范围。转到 slack API 页面并为您的机器人添加所需的权限。 api.slack.com 进入我的应用程序
    【解决方案2】:

    您是正确的,未记录的 chat.command 需要 post 范围才能工作,这在标准 OAuth 过程中不可用(例如,您不能在 Slack 应用配置站点上选择它作为范围。)

    据我所知,目前唯一可行的解​​决方案是使用legacy 令牌。

    另请参阅this 答案。

    【讨论】:

    • 感谢您的回答!顺便说一句,我也问过你 GitHub 上的相同问题:)
    • 是的,我看到了,并在我的 github 上回答了你的问题 :-) 正如我所说,我还向 Slack 团队发送了一个请求,请求将此方法集成到标准 Oauth 过程中。让我们看看他们怎么说...
    • @ErikKalkoken,你有没有收到 Slack 团队关于这方面的任何更新?
    • 支持人员这样说:“我会确保将建议传递给我们的产品团队,并让他们知道不断增长的需求”没有收到任何其他回复。
    猜你喜欢
    • 1970-01-01
    • 2020-11-16
    • 2020-08-20
    • 2016-10-27
    • 1970-01-01
    • 2018-01-08
    • 2016-07-13
    • 2021-11-08
    • 2017-09-02
    相关资源
    最近更新 更多