OpenClawSkills
GitHub
Canales • 5 min de lectura

Mattermost

Configuración de bot Mattermost y cómo conectarlo a OpenClaw.

Estado: Soportado vía plugin (token de bot + eventos WebSocket). Soporta canales, grupos y DMs.

Mattermost es una plataforma de mensajería de equipo auto-alojable; producto y descargas en ''mattermost.com''.

Tutorial.step

Instalación de Plugin Requerida

Mattermost se proporciona como plugin y no viene incluido con la instalación core.

Instalar vía CLI (registro npm):

Bash
openclaw plugins install @openclaw/mattermost

Instalación local (cuando se ejecuta desde un repositorio git):

Bash
openclaw plugins install ./extensions/mattermost

Si seleccionaste Mattermost en configure/onboarding y se detecta un checkout git, OpenClaw automáticamente preguntará si usar la ruta de instalación local.

Más: ''/plugin''

Tutorial.step

Configuración Rápida

1. Instalar el plugin Mattermost.

2. Crear una cuenta de bot Mattermost y copiar el token de bot.

3. Copiar la URL base de Mattermost (ej., https://chat.example.com).

4. Configurar OpenClaw e iniciar el gateway.

Configuración mínima:

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

Variables de Entorno (cuenta por defecto)

Si prefieres variables de entorno, establece en el host del gateway:

- MATTERMOST_BOT_TOKEN=...

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

Nota: Las variables de entorno solo aplican a la cuenta por defecto (default). Otras cuentas deben proporcionarse en el archivo de configuración.

Tutorial.step

Modos de Chat

Mattermost auto-responde a DMs por defecto. El comportamiento de canales se controla con chatmode:

- oncall (por defecto): Solo responder cuando se @menciona en canales.

- onmessage: Responder a cada mensaje en canales.

- onchar: Responder cuando los mensajes comienzan con ciertos prefijos de activación.

Ejemplo:

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

Notas:

- onchar aún responde a @menciones explícitas.

- channels.mattermost.requireMention en configs antiguos sigue siendo compatible, pero se recomienda chatmode.

Tutorial.step

Control de Acceso (DMs)

- Por defecto: channels.mattermost.dmPolicy = "pairing" (remitentes desconocidos reciben un código de emparejamiento).

- Aprobar:

- openclaw pairing list mattermost

- openclaw pairing approve mattermost <CÓDIGO>

- DMs públicos: channels.mattermost.dmPolicy="open" y channels.mattermost.allowFrom=["*"].

Tutorial.step

Canales/Grupos

- Por defecto: channels.mattermost.groupPolicy = "allowlist" (también afectado por restricción de mención).

- Usar channels.mattermost.groupAllowFrom para lista permitida de remitentes (ids de usuario o @username).

- Canales abiertos: channels.mattermost.groupPolicy="open" (aún afectado por restricción de mención).

Tutorial.step

Objetivos de Entrega Saliente

Usar en openclaw message send o cron/webhooks:

- channel:<id>: Entregar a un canal

- user:<id>: Entregar a un DM

- @username: Entregar a un DM (resuelto vía API Mattermost)

IDs simples se tratan como IDs de canal.

Tutorial.step

Múltiples Cuentas

Configurar múltiples cuentas bajo channels.mattermost.accounts:

Json5
{
  channels: {
    mattermost: {
      accounts: {
        default: { name: "Primaria", botToken: "mm-token", baseUrl: "https://chat.example.com" },
        alerts: { name: "Alertas", botToken: "mm-token-2", baseUrl: "https://alerts.example.com" },
      },
    },
  },
}
Tutorial.step

Solución de Problemas

- Sin respuesta en canales: Asegúrate que el bot se ha unido al canal; @mención es necesaria en modo oncall; prefijo de activación es necesario en modo onchar; o establece chatmode a onmessage.

- Errores de autenticación: Verificar token de bot, URL base, y si la cuenta está habilitada.

- Problemas multi-cuenta: Las variables de entorno solo aplican a la cuenta default.