首页 > 解决方案 > Slack Bot [Python/Flask]:等待来自指定用户的直接消息并保存响应

问题描述

我当前的 slack 应用程序是一个斜杠命令,它将使用我的请求 URL 打开一些带有交互式按钮的对话框。

在我的应用程序中,我有一个来自订阅 Slack 应用程序的各种用户的直接消息通道 ID 列表。

到目前为止,我的机器人会向此“订阅”用户列表中的每个人发送消息。我希望能够保存每个用户发送给机器人的消息。

我如何实现这一目标?我正在研究 API,但我很难找到某种“监听”机制。我知道我可以在 python 中创建一个真正的循环,但我不确定如何检测消息何时发送到我的机器人。

标签: pythonflaskslackslack-api

解决方案


我建议使用 Slack 的事件 API来收集消息给你的机器人。

设置后,Slack 会自动向您的应用程序发送一个请求,以获取提及您的机器人的每条新消息,例如通过订阅app_mention事件。该请求将包括实际消息以及上下文信息。

或者,您也可以通过订阅消息事件来收听所有消息,然后过滤掉您想要保留的消息。


推荐阅读