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

Slack机器人DM场景下message_posted触发器配置问题咨询

解决方案

1. 让message_posted触发器仅在DM中生效

不需要指定channel_ids(每个用户与机器人的DM频道ID都是动态唯一的,无法提前写死),改用频道类型过滤器限制仅在私信频道触发。修改后的触发器配置如下:

const createQuestionTrigger: Trigger<typeof CreateQuestion.definition> = {
  type: 'event',
  name: 'Create Question',
  description: 'Create a new question',
  workflow: '#/workflows/create_question',
  event: {
    event_type: 'slack#/events/message_posted',
    // 移除固定channel_ids,通过filter限制频道类型
    filter: {
      version: 1,
      root: {
        statement: '{{data.channel_type}} == "im" && {{data.text}} == "create question"',
      },
    },
  },
  inputs: {
    interactivity: {
      value: '{{data.interactivity}}',
    },
    user: {
      value: '{{data.user_id}}',
    },
  },
};

channel_type == "im"会自动匹配用户与机器人的私信频道,无需提前获取具体频道ID。

2. 解决app_mentioned事件的文本过滤问题

如果改用app_mentioned事件,消息文本会包含机器人ID标记(格式为<@BOT_ID>),可以利用Slack触发器表达式的字符串处理函数,移除机器人ID后再做严格匹配:

const createQuestionMentionTrigger: Trigger<typeof CreateQuestion.definition> = {
  type: 'event',
  name: 'Create Question (Mention)',
  description: 'Create a new question by mentioning the bot',
  workflow: '#/workflows/create_question',
  event: {
    event_type: 'slack#/events/app_mentioned',
    filter: {
      version: 1,
      root: {
        // 移除机器人ID标记并修剪空格后,匹配目标文本
        statement: 'trim(replace({{data.text}}, "<@" + {{data.bot_user_id}} + ">", "")) == "create question"',
      },
    },
  },
  inputs: {
    interactivity: {
      value: '{{data.interactivity}}',
    },
    user: {
      value: '{{data.user_id}}',
    },
  },
};

通过replace移除机器人ID标记,trim处理多余空格后,就能实现目标文本的严格相等比较。

3. 触发器的创建时机选择

  • 应用安装时自动创建:如果希望每个安装应用的团队/用户都自动获得该触发器,推荐在app_installed事件触发的工作流中动态创建。这样能在安装时获取当前团队的机器人ID、上下文等动态数据,确保触发器配置准确。
  • 单独的setup快捷方式创建:如果需要用户手动开启/关闭该功能,可以创建快捷方式触发器,让用户主动触发创建流程。这种方式适合非强制的可选功能。

核心功能的触发器通常选择安装时自动创建,无需用户额外操作,体验更流畅。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 03:01:13