Mattermost(插件)
状态:通过插件支持(机器人 Token + WebSocket 事件)。频道、群组与私信均支持。Mattermost 为可自托管的团队消息平台;产品介绍与下载见官网 mattermost.com 。
需要安装插件
Mattermost 以插件形式提供,不随核心安装打包。通过 CLI 安装(npm 源):
moltbot plugins install @moltbot/mattermost本地代码库(从 git 仓库运行时):
moltbot plugins install ./extensions/mattermost在配置/入门中选择 Mattermost 且检测到 git 仓库时,Moltbot 会自动提示本地安装路径。详见 插件。
快速设置
- 安装 Mattermost 插件。
- 创建 Mattermost 机器人账号并复制 机器人 Token。
- 复制 Mattermost Base URL(例如
https://chat.example.com)。 - 配置 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 mattermost、moltbot 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账号。
最后更新于: