Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从slack bot接收消息_Python_Slack - Fatal编程技术网

Python 从slack bot接收消息

Python 从slack bot接收消息,python,slack,Python,Slack,我对slackbot使用Python感到非常困惑。我希望能够接收通过bot发送到的消息: client = SlackClient(API_TOKEN) if client.rtm_connect(): while True: print client.rtm_read() time.sleep(1) else: print "Connection Failed, invalid token?" 然后我向我的机器人发送一条消息。但我不明白。如何

我对slackbot使用Python感到非常困惑。我希望能够接收通过bot发送到的消息:

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

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


至于问题的第二部分,提及(例如,
@bot
)不是特殊事件,您必须检查每个传入事件,以确定它是否是指向您的bot的消息(见此。一个问题是你需要知道你的机器人的ID,因为事件将包含类似于
args 123
的内容。查找你的机器人的ID和其他构建python slack机器人的有用提示可以在中找到。

slack中有许多类型的事件,如果你的机器人订阅了这些事件,那么你的机器人肯定会得到响应请求URL上的相关流量

所以,如果您想接收直接发送到BOT的任何消息,您必须订阅direct message事件

如果你想让你的机器人由@BOT.类消息触发,那么你需要订阅app_-nite事件。如果你的机器人在任何组中被提及,它将接收流量,但它可以将消息发布到唯一允许它发布的组