【问题标题】:Receive message from slack bot接收来自 slack bot 的消息
【发布时间】:2017-01-21 02:08:46
【问题描述】:

我对使用 Python 的 Slack 机器人感到很困惑。我希望能够接收机器人发送的消息:

client = SlackClient(API_TOKEN)

if client.rtm_connect():
    while True:
        print client.rtm_read()
        time.sleep(1)
else:
    print "Connection Failed, invalid token?"

然后我向我的机器人发送一条消息。但我没有收到消息。如何开始向我的用户发送消息?

另外,是否可以在所有频道中包含机器人?所以如果我在任何频道,我都希望能够说@myBot args 123

【问题讨论】:

    标签: python slack


    【解决方案1】:

    Slack 仅向加入频道的机器人发送事件,默认情况下它们不加入任何频道,仅接收私人消息的事件。如果你邀请你的机器人加入频道,那么 Slack 应该开始将事件从频道路由到它。

    至于您问题的第二部分,提及(例如,@bot)不是特殊事件,您必须检查每个传入事件以查看它是否是针对您的机器人的消息(请参阅此 answer.一个问题是您需要知道您的机器人的 ID,因为该事件将包含类似 <@YOURBOTID> args 123 的内容。查找您的机器人的 ID 以及构建 python slack 机器人的其他有用提示可以在 this article 中找到。

    【讨论】:

      【解决方案2】:

      slack中有很多类型的事件,如果它们已经被你的BOT订阅了,那么你的BOT肯定会在你的请求URL上获得相关的流量。

      因此,如果您想接收任何直接发送到您的 BOT 的消息,您必须订阅直接消息事件。

      如果您希望您的 BOT 由 @bot .. 类消息触发,那么您需要订阅 app_mention 事件。如果您的 BOT 在任何群组中被提及,您的 BOT 会收到流量,但它可以向唯一允许的群组发布消息。

      【讨论】:

        猜你喜欢
        • 2016-09-20
        • 1970-01-01
        • 1970-01-01
        • 2017-02-27
        • 1970-01-01
        • 1970-01-01
        • 2021-07-01
        • 2020-05-03
        • 2018-06-30
        相关资源
        最近更新 更多