为什么我无法使用 Slack Bolt 库读取聊天消息?

spy*_*g63 3 python python-3.x slack-api

我创建了一个松弛的应用程序。我能够读取并响应斜杠命令。但是,应用程序无法读取消息。当我发出斜杠命令时,我会看到如下 Web 服务器事件:

127.0.0.1 - - [19/Jan/2021 13:11:07] "POST /slack/events HTTP/1.1" 200 -
Run Code Online (Sandbox Code Playgroud)

但是,当在聊天中输入短信时,我的网络服务器上没有日志。我相信 slack 消息应该触发一个事件,将数据发送到我的 API。注意:我正在使用事件 API。

我使用Bolt 来松弛

我假设此权限位于订阅机器人事件下的事件订阅设置中。在这种情况下,我只启用了app_home_opened.

有一个选项channels:readchannels:history。它们都是粗体且无法添加。我认为这意味着它们默认启用。

这是一个简化的应用程序,它响应/list但不响应hello

import os
from slack_bolt import App

# Initializes the app
app = App(
    token=os.environ.get("SLACK_BOT_TOKEN"),
    signing_secret=os.environ.get("SLACK_SIGNING_SECRET")
)

# Respond to hello
@app.message("hello")
def say_hello(message, say):
    say("hi")

# List all users
@app.command("/list")
def list_users(ack, say, command):    
    ack()
    say("list users")

# Start your app
if __name__ == "__main__":
    app.start(port=int(os.environ.get("PORT", 3000))) 
Run Code Online (Sandbox Code Playgroud)

我相信这channels:history是我查看聊天内容所需的权限。为什么我无法阅读和回复消息?

这是我试图参考事件 API 的文档。

spy*_*g63 6

我缺少“应用程序设置”>“事件订阅”>“订阅机器人事件”下的message.channels权限。