You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP云函数Python代码无法执行Slack Bot斜杠命令排查

问题分析与解决

错误原因

你遇到的TypeError是因为GCP云函数的入口函数要求必须接收一个request参数,但你写的delete_session()没有定义这个参数,云函数调用时自动传入了request对象,导致参数不匹配。另外你的代码混用了Flask框架写法,GCP云函数不需要手动创建Flask app,它会直接托管你的函数。

修改后的代码

from slack_sdk import WebClient

# Set your Slack token
slack_token = "abcdev-xxx-xxxxx"
client = WebClient(token=slack_token)

def delete_session(request):
    # 检查请求方法是否为POST
    if request.method != 'POST':
        return 'Method not allowed', 405
    
    # 从请求中获取Slack传递的表单数据
    data = request.form
    channel_id = data.get('channel_id')
    
    # 发送响应消息到Slack频道
    response_message = "I am ready"
    client.chat_postMessage(channel=channel_id, text=response_message)
    
    # 返回Slack要求的200响应,避免Slack重复触发请求
    return '', 200

关键修改点

  • 移除了所有Flask相关代码(Flask、app.route等),GCP云函数不需要Flask来处理请求路由
  • 给delete_session函数添加了request参数,这是云函数入口函数的强制要求
  • 保留了Slack WebClient的初始化和消息发送逻辑,这部分是正常工作的
  • 增加了请求方法检查,确保只处理POST请求
  • 返回空字符串和200状态码,符合Slack斜杠命令的响应要求(Slack只需要确认请求成功,不需要返回内容)

内容的提问来源于stack exchange,提问作者Waseem Mir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 09:09:59