【问题标题】:Slack Events adapter not getting triggeredSlack 事件适配器没有被触发
【发布时间】:2021-08-27 19:37:48
【问题描述】:

我正在尝试构建一个基本的 slack 机器人,但该机器人没有接收消息事件。添加了以下范围:“chat:write”

还订阅了事件 message.channels。

我已经配置了 ngrok 服务器。当我从浏览器点击端点时,我收到一条消息说“这些不是您正在寻找的松弛机器人”,这意味着服务器正在运行。但是当我在添加机器人的频道中发布消息时,不会触发 API。你能帮忙吗?

这是我正在使用的代码:

import slack_sdk
import os
from pathlib import Path
from dotenv import load_dotenv
from flask import Flask
from slackeventsapi import SlackEventAdapter

env_path = Path('.') / '.env'
load_dotenv(dotenv_path = env_path)

app = Flask(__name__)
slack_event_adapter = SlackEventAdapter(os.environ['SIGNING_SECRET'],'/slack/events',app)

client = slack_sdk.WebClient(token = os.environ['SLACK_TOKEN'])

# client.chat_postMessage(channel = '#bi-announcements', text = "Hello World! ")

BOT_ID = client.api_call("auth.test")['user_id']

@slack_event_adapter.on('message')
def message(payload):
    print(payload)
    event = payload.get('event',{})
    channel_id = event.get('channel')
    user_id = event.get('user')
    text = event.get('text')

    if BOT_ID != user_id:
        client.chat_postMessage(channel= channel_id, text = text)

if __name__ == "__main__":
    app.run(debug=True)

以下是松弛配置:

我可以向 slack 发送消息,但无法阅读消息。任何帮助将不胜感激。

【问题讨论】:

  • 嗨,您是否邀请您的机器人到您想要捕获事件的频道?
  • 您的代码中配置的令牌是您的xoxp 令牌还是您的xoxb 令牌?确保您使用的是机器人 xoxb 令牌。
  • @sandra 是的,我正在使用 xoxb 令牌,但它仍然无法正常工作
  • @SuyashGaur 是的,我已邀请机器人进入我想要捕获事件的频道
  • 您能确认您发布消息的频道是“公共”频道吗?

标签: python flask slack slack-api


【解决方案1】:

正如在 cmets 中所讨论的,创建的应用程序出现某种故障的情况很少见。

创建具有相同配置的新应用解决了该问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 2019-11-02
    • 2012-06-30
    • 2016-11-07
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多