Mattermost
Mattermost ボットの設定と OpenClaw への接続方法。
ステータス:プラグイン経由でサポート(bot token + WebSocket イベント)。チャンネル、グループ、DM をサポートします。
Mattermost はセルフホスト可能なチームメッセージングプラットフォームです。製品とダウンロードは ''mattermost.com'' を参照してください。
プラグインのインストールが必要
Mattermost はプラグインとして提供されており、コアインストールにはバンドルされていません。
CLI 経由でインストール(npm registry):
openclaw plugins install @openclaw/mattermost
ローカルインストール(git リポジトリから実行する場合):
openclaw plugins install ./extensions/mattermost
configure/onboarding で Mattermost を選択し、git checkout が検出された場合、OpenClaw は自動的にローカルインストールパスを使用するよう促します。
More: ''/plugin''
クイックセットアップ
1. Mattermost プラグインをインストールします。
2. Mattermost ボットアカウントを作成し、bot token をコピーします。
3. Mattermost base URL をコピーします(例:https://chat.example.com)。
4. OpenClaw を設定し、gateway を起動します。
Minimal configuration:
{
channels: {
mattermost: {
enabled: true,
botToken: "mm-token",
baseUrl: "https://chat.example.com",
dmPolicy: "pairing",
},
},
}Environment Variables (default account)
環境変数を優先する場合、gateway ホストで設定します:
- MATTERMOST_BOT_TOKEN=...
- MATTERMOST_URL=https://chat.example.com
注意:環境変数は default アカウント(default)にのみ適用されます。他のアカウントは設定ファイルで提供する必要があります。
チャットモード
Mattermost はデフォルトで DM に自動返信します。チャンネル内の動作は chatmode で制御されます:
- oncall(デフォルト):チャンネルで @mention された場合のみ返信します。
- onmessage:チャンネルのすべてのメッセージに返信します。
- onchar:メッセージが特定のトリガープレフィックスで始まる場合に返信します。
Example:
{
channels: {
mattermost: {
chatmode: "onchar",
oncharPrefixes: [">", "!"],
},
},
}Notes:
- onchar は明示的な @mentions にも返信します。
- 旧設定の channels.mattermost.requireMention はまだ互換性がありますが、chatmode の使用が推奨されます。
アクセス制御(DM)
- デフォルト:channels.mattermost.dmPolicy = "pairing"(不明な送信者はペアリングコードを受け取ります)。
- Approve:
- openclaw pairing list mattermost
- openclaw pairing approve mattermost <CODE>
- 公開 DM:channels.mattermost.dmPolicy="open" かつ channels.mattermost.allowFrom=["*"]。
チャンネル/グループ(groups)
- デフォルト:channels.mattermost.groupPolicy = "allowlist"(メンションゲートも影響を受けます)。
- channels.mattermost.groupAllowFrom を使用して送信者許可リスト(user ids または @username)を作成します。
- オープンチャンネル:channels.mattermost.groupPolicy="open"(メンションゲートはまだ影響を受けます)。
送信ターゲット
openclaw message send または cron/webhooks で使用します:
- channel:<id>: Deliver to a channel
- user:<id>: Deliver to a DM
- @username:DM に送信(Mattermost API 経由で解決)
裸 ID はチャンネル ID として扱われます。
複数アカウント
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" },
},
},
},
}トラブルシューティング
- チャンネルで返信がない:bot がチャンネルに参加しているか確認してください;oncall モードでは @mention が必要;onchar モードではトリガープレフィックスが必要;または chatmode を onmessage に設定してください。
- 認証エラー:bot token、base URL、およびアカウントが有効かどうかを確認してください。
- 複数アカウントの問題:環境変数は default アカウントにのみ適用されます。