Skip to Content
👋 欢迎来到 HowToUseMoltbot 快速入门
频道Mattermost

Mattermost(插件)

状态:通过插件支持(机器人 Token + WebSocket 事件)。频道、群组与私信均支持。Mattermost 为可自托管的团队消息平台;产品介绍与下载见官网 mattermost.com 

需要安装插件

Mattermost 以插件形式提供,不随核心安装打包。通过 CLI 安装(npm 源):

moltbot plugins install @moltbot/mattermost

本地代码库(从 git 仓库运行时):

moltbot plugins install ./extensions/mattermost

在配置/入门中选择 Mattermost 且检测到 git 仓库时,Moltbot 会自动提示本地安装路径。详见 插件

快速设置

  1. 安装 Mattermost 插件。
  2. 创建 Mattermost 机器人账号并复制 机器人 Token
  3. 复制 Mattermost Base URL(例如 https://chat.example.com)。
  4. 配置 Moltbot 并启动网关。

最小配置:

{ channels: { mattermost: { enabled: true, botToken: "mm-token", baseUrl: "https://chat.example.com", dmPolicy: "pairing" } } }

环境变量(默认账号)

若偏好环境变量,在网关主机上设置:

  • MATTERMOST_BOT_TOKEN=...
  • MATTERMOST_URL=https://chat.example.com

环境变量仅作用于默认账号(default)。其他账号须使用配置中的值。

聊天模式

Mattermost 会自动响应私信。频道行为由 chatmode 控制:

  • oncall(默认):仅在频道中被 @ 提及时回复。
  • onmessage:回复每条频道消息。
  • onchar:当消息以触发前缀开头时回复。

配置示例:

{ channels: { mattermost: { chatmode: "onchar", oncharPrefixes: [">", "!"] } } }

说明:onchar 仍会响应显式 @ 提及。旧版配置中的 channels.mattermost.requireMention 仍生效,但推荐使用 chatmode

访问控制(私信)

  • 默认:channels.mattermost.dmPolicy = "pairing"(未知发件人收到配对码)。
  • 批准方式:moltbot pairing list mattermostmoltbot pairing approve mattermost <CODE>
  • 开放私信:channels.mattermost.dmPolicy="open"channels.mattermost.allowFrom=["*"]

频道(群组)

  • 默认:channels.mattermost.groupPolicy = "allowlist"(需 @ 提及)。
  • 使用 channels.mattermost.groupAllowFrom 配置发件人白名单(用户 ID 或 @username)。
  • 开放频道:channels.mattermost.groupPolicy="open"(仍需 @ 提及)。

出站投递目标

moltbot message send 或 cron/webhook 配合使用以下目标格式:

  • channel:<id> — 频道
  • user:<id> — 私信
  • @username — 私信(通过 Mattermost API 解析)

裸 ID 按频道处理。

多账号

Mattermost 支持在 channels.mattermost.accounts 下配置多账号:

{ channels: { mattermost: { accounts: { default: { name: "Primary", botToken: "mm-token", baseUrl: "https://chat.example.com" }, alerts: { name: "Alerts", botToken: "mm-token-2", baseUrl: "https://alerts.example.com" } } } } }

故障排查

  • 频道无回复:确认机器人已加入频道并 @ 它(oncall)、使用触发前缀(onchar),或设置 chatmode: "onmessage"
  • 鉴权错误:检查机器人 Token、Base URL 以及该账号是否已启用。
  • 多账号问题:环境变量仅作用于 default 账号。
最后更新于: