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

如何让AWS Lex、Azure Bot Framework创建的Slack机器人在消息线程内回复

AWS Lex 端实现方案
  • 第一步从Slack触发的事件回调参数中提取thread_ts值,若触发消息没有父线程,该值等于消息本身的ts参数,直接复用即可
  • 关闭Lex默认的Slack响应模板,开启自定义响应配置,在返回给Slack的消息payload中新增thread_ts字段,赋值为你提取到的对应值
  • 若使用Lex V2版本,需在控制台的Slack集成配置页手动开启自定义响应开关,否则你附加的线程参数会被默认模板覆盖
  • 额外权限校验:确保机器人在对应频道拥有chat:write、channels:history(公域频道)/groups:history(私域频道)权限,避免线程参数失效
Azure Bot Framework 端实现方案
  • 从接收到的Activity对象的ChannelData属性中提取原消息的thread_ts值,无父线程时取ts参数值作为替代
  • 构造回复Activity时,在ChannelData中同步写入thread_ts参数,同时可搭配reply_broadcast参数控制是否将线程回复同步展示在频道主信息流中,设置为false时回复仅在线程内可见
  • 参考代码示例(Python SDK v4):
from botbuilder.core import TurnContext

async def on_message_activity(turn_context: TurnContext):
    # 提取线程ID
    channel_data = turn_context.activity.channel_data
    thread_ts = channel_data.get("thread_ts") or channel_data.get("ts")
    # 构造回复
    reply = turn_context.activity.create_reply("线程内回复内容")
    reply.channel_data = {
        "thread_ts": thread_ts,
        "reply_broadcast": False
    }
    await turn_context.send_activity(reply)
  • 权限校验:在Azure门户的Slack通道配置页,确认已申请并授权channels:history、chat:write权限,重新部署后生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 18:06:00