从松弛机器人接收消息
Receive message from slack bot
我对使用 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?"
然后我在 slack 中向我的机器人发送消息。但我没有收到消息。如何开始向我的用户发送消息?
此外,是否可以在所有频道中包含该机器人?因此,如果我在任何频道中,我希望能够说 @myBot args 123
Slack 只向加入频道的机器人发送事件,默认情况下它们没有加入任何频道,并且只接收私人消息的事件。如果您邀请机器人加入频道,Slack 应该开始将事件从频道路由到它。
至于问题的第二部分,提及(例如 @bot
)不是特殊事件,您必须检查每个传入事件以查看它是否是针对您的机器人的消息(请参阅此answer. One gotcha is you need to know the ID of your bot as the event will contain something like <@YOURBOTID> args 123
. Finding the ID of your bot and other useful tips for building a python slack bot can be found in this article.
slack中的事件种类很多,如果已经被你的BOT订阅了,那么你的BOT一定会根据你的请求获得相关流量URL。
因此,如果您想接收任何直接发送给您的 BOT 的消息,您必须订阅直接消息事件。
如果您希望您的 BOT 由@bot .. 类型的消息触发,那么您需要订阅 app_mention 事件。如果您的 BOT 在任何组中被提及,它就会收到流量,但它可以 post 向允许它的唯一组发送消息。
我对使用 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?"
然后我在 slack 中向我的机器人发送消息。但我没有收到消息。如何开始向我的用户发送消息?
此外,是否可以在所有频道中包含该机器人?因此,如果我在任何频道中,我希望能够说 @myBot args 123
Slack 只向加入频道的机器人发送事件,默认情况下它们没有加入任何频道,并且只接收私人消息的事件。如果您邀请机器人加入频道,Slack 应该开始将事件从频道路由到它。
至于问题的第二部分,提及(例如 @bot
)不是特殊事件,您必须检查每个传入事件以查看它是否是针对您的机器人的消息(请参阅此answer. One gotcha is you need to know the ID of your bot as the event will contain something like <@YOURBOTID> args 123
. Finding the ID of your bot and other useful tips for building a python slack bot can be found in this article.
slack中的事件种类很多,如果已经被你的BOT订阅了,那么你的BOT一定会根据你的请求获得相关流量URL。
因此,如果您想接收任何直接发送给您的 BOT 的消息,您必须订阅直接消息事件。
如果您希望您的 BOT 由@bot .. 类型的消息触发,那么您需要订阅 app_mention 事件。如果您的 BOT 在任何组中被提及,它就会收到流量,但它可以 post 向允许它的唯一组发送消息。