O matterbridge conecta um canal do Discord a salas do Telegram, Matrix, Slack, IRC, Mattermost e mais: o que é dito em uma sala aparece nas outras. Você escolhe as salas no matterbridge.toml, em Files, coloca o token do bot do Discord na aba Bot e, para o Telegram, o token do bot do Telegram em Ambiente.
A versão 1.26.0 é a instalada; o projeto não lança nada desde 2023, então o oferecemos como está.
- No Discord Developer Portal, crie o bot, copie o token dele e ligue Server Members Intent e Message Content Intent.
- No painel, faça o servidor rodar o matterbridge (Mudar o que roda), cole o token do Discord no card Configurar seu bot e convide o bot.
- Para o Telegram, crie um bot com o @BotFather e cole o token dele em Bot, Ambiente, Credenciais, Telegram bot token.
- Abra o
matterbridge.tomlem Files, preencha o ID do seu servidor do Discord e as salas a conectar, e apague a linha que dizPNH_EXAMPLE_CONFIG. - Clique em Iniciar no Console.
Cada etapa em detalhe abaixo. O arquivo de exemplo conecta um canal do Discord a um grupo do Telegram, o caso mais comum.
1. O lado do Discord
- Crie o bot e copie o token dele: Como criar um bot do Discord e obter o token. Na página Bot do aplicativo, ligue Server Members Intent e Message Content Intent e clique em Save Changes.
- Abra o seu servidor no painel. Na Visão geral, no card Configurar seu bot, clique na etapa O que roda. Se ela não disser "Este bot roda matterbridge.", clique em Mudar o que roda, escolha matterbridge, clique em Próxima etapa, marque a confirmação e clique em Mudar o tipo de servidor.
- Etapa Conectar ao Discord: cole o token em Cole o token do seu bot, clique em Conectar e depois em Sim, continuar.
- Etapa Permissões: os dois intents precisam mostrar Ligado em No seu portal. Em Link de convite, clique em Adicionar a um servidor do Discord. O link inclui Gerenciar webhooks, que faz as mensagens do outro lado aparecerem com o nome e a foto de cada remetente.
2. O lado do Telegram
- No Telegram, fale com o @BotFather: envie
/newbot, escolha um nome e copie o token que ele der a você. - Ainda com o @BotFather, envie
/setprivacy, escolha o seu bot e escolha Disable. Caso contrário, um bot do Telegram só vê comandos em um grupo, não as mensagens comuns. - Adicione o bot ao seu grupo do Telegram. Para achar o ID de chat do grupo (um número negativo), adicione o @getidsbot ao grupo por um momento.
- No painel, abra a aba Bot e clique em Ambiente. No card Credenciais, clique em Definir ao lado de Telegram bot token, cole o token e clique em Salvar.

3. Preencha o matterbridge.toml
- Abra Files e clique em
matterbridge.toml. - Em
[discord.mydiscord], troqueYOUR_DISCORD_SERVER_IDpelo ID do seu servidor: no Discord, Settings (Configurações), Advanced (Avançado), ligue Developer Mode (modo de desenvolvedor), depois clique com o botão direito no ícone do servidor e escolha Copy Server ID (copiar ID do servidor). - Em
[[gateway]], defina ochanneldo Discord como o nome do seu canal sem o#e ochanneldo Telegram como o ID de chat do grupo. - Apague a primeira linha que contém
PNH_EXAMPLE_CONFIGe salve.
As partes preenchidas ficam assim:
[discord.mydiscord]
Server="123456789012345678"
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
AutoWebhooks=true
PreserveThreading=true
[telegram.mytelegram]
RemoteNickFormat="<{NICK}> "
MessageFormat="HTMLNick"
[[gateway]]
name="gateway1"
enable=true
[[gateway.inout]]
account="discord.mydiscord"
channel="general"
[[gateway.inout]]
account="telegram.mytelegram"
channel="-1001234567890"

Mantenha os nomes de conta discord.mydiscord e telegram.mytelegram: é assim que os dois tokens que você salvou no painel chegam ao matterbridge, então nunca precisam ser escritos no arquivo.
4. Inicie
Abra o Console e clique em Iniciar. Quando o arquivo está pronto, você vê a linha da versão e depois:
[PlayNHost] Starting your bot
Escreva uma mensagem no canal do Discord; ela aparece no grupo do Telegram com o nome do remetente, e vice-versa.
Matrix ou Slack em vez do Telegram
O painel tem um campo de credenciais só para o Telegram. Para outras redes, adicione uma seção de conta ao matterbridge.toml com o login no próprio arquivo e depois adicione essa conta ao gateway. Quem tem acesso aos arquivos do seu servidor consegue lê-lo, e os backups o incluem.
- Matrix: crie uma conta do Matrix só para a ponte, não use a sua. Adicione
[matrix.mymatrix]comServer="https://matrix.org"(o seu homeserver),LoginePassworde depois um[[gateway.inout]]comaccount="matrix.mymatrix"echannel="#yourroom:matrix.org". Salas criptografadas não são compatíveis. - Slack: o matterbridge 1.26.0 se conecta ao Slack com o token de um usuário dedicado do Slack. As regras de token do Slack mudaram desde essa versão, então siga a wiki do próprio matterbridge para o Slack e teste antes de depender dele.
Todas as opções de todas as redes estão na wiki do matterbridge (github.com/42wim/matterbridge/wiki). Reinicie o bot depois de cada mudança no arquivo.
Linhas do console que você pode ver
[PlayNHost] matterbridge is not set up yet: matterbridge.toml is still the example.
A linha PNH_EXAMPLE_CONFIG ou o YOUR_DISCORD_SERVER_ID ainda está no arquivo. Termine a etapa 3 e depois clique em Reiniciar.
[PlayNHost] Created matterbridge.toml from the example.
Não havia matterbridge.toml, então um exemplo novo foi escrito. Preencha-o como na etapa 3.
[PlayNHost] matterbridge is not installed. Reinstall it on the Bot page, Code, then press Start.
O programa está faltando. Clique em Reinstalar no card Reinstalar, em Bot, Código, e confirme. O seu matterbridge.toml fica.
Bom saber
- Debug log, em Bot, Código, Configurações, registra cada mensagem que o matterbridge repassa. Ligue só enquanto procura um problema: digite
1, clique em Salvar e reinicie;0desliga. - O matterbridge só se conecta de dentro para fora às redes de chat. Ele não abre nenhuma porta e não precisa de domínio.
- Vai escrever o seu próprio bot de Telegram, Slack ou Matrix? Como hospedar um bot de Telegram, Twitch, Slack ou Matrix.



