首页 > 解决方案 > Slack 事件订阅 url 无法验证,给出 500 错误

问题描述

Slack 事件订阅 url 无法验证给出 500 错误

有人可以帮助我为什么出现 500 错误以及如何解决这个问题,请在下面找到我正在运行的代码

代码事件.py

from slackeventsapi import SlackEventAdapter
from slackclient import SlackClient
import json


tokens = {}
with open('configs.json') as json_data:
    tokens = json.load(json_data)

slack_events_adapter = SlackEventAdapter(tokens.get("slack_signing_secret"), "/slack/events")
slack_client = SlackClient(tokens.get("slack_bot_token"))


@slack_events_adapter.on("message")
def handle_message(event_data):
    message = event_data["event"]
    if message.get("subtype") is None and "BOT TEST" in message.get('text'):
        channel = message["channel"]
        send_message = "Responding to `BOT TEST` message sent by user <@%s>" % message["user"]
        slack_client.api_call("chat.postMessage", channel=channel, text=send_message)


@slack_events_adapter.on("error")
def error_handler(err):
    print("ERROR: " + str(err))

slack_events_adapter.start(port=3000)

配置文件

{
  "slack_bot_token":"xoxb-527557105879-949546657207-***************",
  "slack_signing_secret":"ab6ae1405cb4d1db09d***********"
}

在此处输入图像描述

在此处输入图像描述

标签: pythonslack

解决方案


错误 500 表示您的 python 脚本有问题。 尝试在您的 events.py 脚本中进行这一更改 您的版本:

@slack_events_adapter.on("message")
def handle_message(event_data):
    message = event_data["event"]
    if message.get("subtype") is None and "BOT TEST" in message.get('text'):
        channel = message["channel"]
        send_message = "Responding to `BOT TEST` message sent by user <@%s>" % message["user"]
        slack_client.api_call("chat.postMessage", channel=channel, text=send_message)

将最后一行更改为: slack_client.chat_postMessage(channel=channel,text=send_message)


推荐阅读