Canal Mattermost do OpenClaw
Conecte o OpenClaw ao Mattermost, a plataforma empresarial de mensagens de codigo aberto, permitindo que seu assistente de IA participe de mensagens diretas, canais de grupo e conversas de equipe. A integracao utiliza autenticacao por Bot Token e eventos WebSocket para comunicacao bidirecional em tempo real, com modos de chat flexiveis e politicas de controle de acesso granulares.
Mattermost Recursos suportados
Mensagens de texto
Suportado
Mídia e arquivos
Suportado
Reações
Suportado
Threads
Suportado
Mensagens de voz
Não suportado
Chat em grupo
Suportado
Mattermost Pré-requisitos
- Um servidor Mattermost (auto-hospedado ou na nuvem) com acesso de administrador para criar contas de bot
- Uma conta de Bot com um Bot Token criado no System Console do Mattermost
- A URL base do servidor Mattermost acessivel a partir do OpenClaw Gateway
- OpenClaw Gateway instalado e em execucao
- O plugin do Mattermost instalado via 'openclaw plugins install @openclaw/mattermost'
Mattermost Configuração rápida
Instalar o plugin do Mattermost
Execute 'openclaw plugins install @openclaw/mattermost' para adicionar o suporte ao Mattermost ao seu Gateway.
Criar uma conta de Bot no Mattermost
Acesse Mattermost System Console > Integrations > Bot Accounts. Clique em 'Add Bot Account', defina um nome de exibicao e descricao, e copie o Bot Token gerado. Certifique-se de que 'Enable Bot Account Creation' esteja definido como true em System Console > Integrations > Integration Management.
Configurar e iniciar
Adicione a configuracao do canal Mattermost ao arquivo ~/.openclaw/openclaw.json com seu botToken, baseUrl e as politicas desejadas. Inicie o Gateway com 'openclaw start'. Envie uma mensagem direta ao bot ou mencione-o com @ em um canal para verificar a conexao.
Mattermost Exemplo de configuração
{
"channels": {
"mattermost": {
"enabled": true,
"botToken": "your-bot-token",
"baseUrl": "https://mattermost.example.com",
"dmPolicy": "pairing",
"chatmode": "oncall"
}
}
}Mattermost Documentação Detalhada
Visao Geral da Arquitetura
Criando uma Conta de Bot
{
"channels": {
"mattermost": {
"botToken": "your-bot-token",
"baseUrl": "https://mattermost.example.com"
}
}
}Modos de Chat
{
"channels": {
"mattermost": {
"chatmode": "onchar",
"oncharPrefixes": ["!", "/ai"]
}
}
}Politicas de DM
{
"channels": {
"mattermost": {
"dmPolicy": "pairing",
"allowFrom": ["user-id-1", "user-id-2"]
}
}
}Politicas de Grupo e Canal
{
"channels": {
"mattermost": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["channel-id-1", "channel-id-2"]
}
}
}Configuracao Multi-Account
{
"channels": {
"mattermost": {
"accounts": {
"production": {
"botToken": "prod-bot-token",
"baseUrl": "https://mattermost.company.com",
"chatmode": "oncall",
"dmPolicy": "pairing",
"allowFrom": ["user-1", "user-2"]
},
"dev-team": {
"botToken": "dev-bot-token",
"baseUrl": "https://mm-dev.company.com",
"chatmode": "onmessage",
"dmPolicy": "open"
}
}
}
}
}Mensagens de Saida
{
"action": "mattermost",
"params": {
"message": "Daily standup reminder: please post your updates!",
"to": "channel:abc123def456"
}
}Recursos de Mensagens Avancadas
Limites de Taxa e Melhores Praticas
Mattermost Referência de Configuração
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Habilitar ou desabilitar o canal Mattermost |
| botToken | string | "" | Bot Token obtido em Mattermost System Console > Bot Accounts |
| baseUrl | string | "" | URL completa do seu servidor Mattermost (ex.: https://mattermost.example.com) |
| chatmode | string | "oncall" | Modo de gatilho do chat: 'oncall' (mencao), 'onmessage' (todas) ou 'onchar' (prefixo) |
| oncharPrefixes | string[] | [] | Caracteres de prefixo que ativam o bot quando o chatmode e 'onchar' |
| dmPolicy | string | "pairing" | Politica de acesso a DM: 'pairing' (somente lista permitida) ou 'open' (qualquer usuario) |
| allowFrom | string[] | [] | IDs de usuario do Mattermost autorizados a enviar DM ao bot (usado com dmPolicy: pairing) |
| groupPolicy | string | "allowlist" | Politica de canal de grupo: 'allowlist' (somente canais especificados) ou 'open' (qualquer canal) |
| groupAllowFrom | string[] | [] | IDs de canal do Mattermost onde o bot pode responder (usado com groupPolicy: allowlist) |
| requireMention | boolean | true | Configuracao legada - prefira usar chatmode: 'oncall' em vez disso |
| accounts.<id>.botToken | string | "" | Bot Token para uma conta especifica no modo multi-account |
| accounts.<id>.baseUrl | string | "" | URL do servidor Mattermost para uma conta especifica |
| accounts.<id>.chatmode | string | "oncall" | Modo de gatilho do chat para uma conta especifica |
| accounts.<id>.dmPolicy | string | "pairing" | Politica de acesso a DM para uma conta especifica |
Habilitar ou desabilitar o canal Mattermost
Bot Token obtido em Mattermost System Console > Bot Accounts
URL completa do seu servidor Mattermost (ex.: https://mattermost.example.com)
Modo de gatilho do chat: 'oncall' (mencao), 'onmessage' (todas) ou 'onchar' (prefixo)
Caracteres de prefixo que ativam o bot quando o chatmode e 'onchar'
Politica de acesso a DM: 'pairing' (somente lista permitida) ou 'open' (qualquer usuario)
IDs de usuario do Mattermost autorizados a enviar DM ao bot (usado com dmPolicy: pairing)
Politica de canal de grupo: 'allowlist' (somente canais especificados) ou 'open' (qualquer canal)
IDs de canal do Mattermost onde o bot pode responder (usado com groupPolicy: allowlist)
Configuracao legada - prefira usar chatmode: 'oncall' em vez disso
Bot Token para uma conta especifica no modo multi-account
URL do servidor Mattermost para uma conta especifica
Modo de gatilho do chat para uma conta especifica
Politica de acesso a DM para uma conta especifica
Mattermost Perguntas Frequentes
Mattermost Solução de Problemas
O modo de chat ou a politica de acesso pode estar filtrando as mensagens.
A baseUrl esta incorreta, o Bot Token e invalido ou o servidor esta inacessivel.
O bot nao e membro do canal de destino.
As configuracoes de upload de arquivos do servidor Mattermost podem restringir tipos ou tamanhos de arquivo.
O bot esta fazendo muitas requisicoes de API em um curto periodo.