OpenClawSkills
GitHub
チャンネル • 5分で読める

Mattermost

Mattermost ボットの設定と OpenClaw への接続方法。

ステータス:プラグイン経由でサポート(bot token + WebSocket イベント)。チャンネル、グループ、DM をサポートします。

Mattermost はセルフホスト可能なチームメッセージングプラットフォームです。製品とダウンロードは ''mattermost.com'' を参照してください。

Tutorial.step

プラグインのインストールが必要

Mattermost はプラグインとして提供されており、コアインストールにはバンドルされていません。

CLI 経由でインストール(npm registry):

Bash
openclaw plugins install @openclaw/mattermost

ローカルインストール(git リポジトリから実行する場合):

Bash
openclaw plugins install ./extensions/mattermost

configure/onboarding で Mattermost を選択し、git checkout が検出された場合、OpenClaw は自動的にローカルインストールパスを使用するよう促します。

More: ''/plugin''

Tutorial.step

クイックセットアップ

1. Mattermost プラグインをインストールします。

2. Mattermost ボットアカウントを作成し、bot token をコピーします。

3. Mattermost base URL をコピーします(例:https://chat.example.com)。

4. OpenClaw を設定し、gateway を起動します。

Minimal configuration:

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

Environment Variables (default account)

環境変数を優先する場合、gateway ホストで設定します:

- MATTERMOST_BOT_TOKEN=...

- MATTERMOST_URL=https://chat.example.com

注意:環境変数は default アカウント(default)にのみ適用されます。他のアカウントは設定ファイルで提供する必要があります。

Tutorial.step

チャットモード

Mattermost はデフォルトで DM に自動返信します。チャンネル内の動作は chatmode で制御されます:

- oncall(デフォルト):チャンネルで @mention された場合のみ返信します。

- onmessage:チャンネルのすべてのメッセージに返信します。

- onchar:メッセージが特定のトリガープレフィックスで始まる場合に返信します。

Example:

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

Notes:

- onchar は明示的な @mentions にも返信します。

- 旧設定の channels.mattermost.requireMention はまだ互換性がありますが、chatmode の使用が推奨されます。

Tutorial.step

アクセス制御(DM)

- デフォルト:channels.mattermost.dmPolicy = "pairing"(不明な送信者はペアリングコードを受け取ります)。

- Approve:

- openclaw pairing list mattermost

- openclaw pairing approve mattermost <CODE>

- 公開 DM:channels.mattermost.dmPolicy="open" かつ channels.mattermost.allowFrom=["*"]。

Tutorial.step

チャンネル/グループ(groups)

- デフォルト:channels.mattermost.groupPolicy = "allowlist"(メンションゲートも影響を受けます)。

- channels.mattermost.groupAllowFrom を使用して送信者許可リスト(user ids または @username)を作成します。

- オープンチャンネル:channels.mattermost.groupPolicy="open"(メンションゲートはまだ影響を受けます)。

Tutorial.step

送信ターゲット

openclaw message send または cron/webhooks で使用します:

- channel:<id>: Deliver to a channel

- user:<id>: Deliver to a DM

- @username:DM に送信(Mattermost API 経由で解決)

裸 ID はチャンネル ID として扱われます。

Tutorial.step

複数アカウント

channels.mattermost.accounts で複数のアカウントを設定します:

Json5
{
  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" },
      },
    },
  },
}
Tutorial.step

トラブルシューティング

- チャンネルで返信がない:bot がチャンネルに参加しているか確認してください;oncall モードでは @mention が必要;onchar モードではトリガープレフィックスが必要;または chatmode を onmessage に設定してください。

- 認証エラー:bot token、base URL、およびアカウントが有効かどうかを確認してください。

- 複数アカウントの問題:環境変数は default アカウントにのみ適用されます。