NOVO 📢 Oferta de lançamento limitada: até 70% de desconto no seu primeiro mês, em todos os jogos!Ver planos

Como conectar o Discord ao Telegram, Matrix ou Slack com o matterbridge

Hospedagem de bot do DiscordUpdated Oct 29, 20267 min read

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á.

  1. No Discord Developer Portal, crie o bot, copie o token dele e ligue Server Members Intent e Message Content Intent.
  2. 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.
  3. Para o Telegram, crie um bot com o @BotFather e cole o token dele em Bot, Ambiente, Credenciais, Telegram bot token.
  4. Abra o matterbridge.toml em Files, preencha o ID do seu servidor do Discord e as salas a conectar, e apague a linha que diz PNH_EXAMPLE_CONFIG.
  5. 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

  1. 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.
  2. 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.
  3. Etapa Conectar ao Discord: cole o token em Cole o token do seu bot, clique em Conectar e depois em Sim, continuar.
  4. 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

  1. No Telegram, fale com o @BotFather: envie /newbot, escolha um nome e copie o token que ele der a você.
  2. 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.
  3. 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.
  4. 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.

A aba Bot, seção Ambiente, com o card Credenciais do matterbridge mostrando o Telegram bot token salvo.

3. Preencha o matterbridge.toml

  1. Abra Files e clique em matterbridge.toml.
  2. Em [discord.mydiscord], troque YOUR_DISCORD_SERVER_ID pelo 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).
  3. Em [[gateway]], defina o channel do Discord como o nome do seu canal sem o # e o channel do Telegram como o ID de chat do grupo.
  4. Apague a primeira linha que contém PNH_EXAMPLE_CONFIG e 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"

O matterbridge.toml aberto no editor de arquivos, com o ID do servidor do Discord e os dois canais do gateway preenchidos.

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] com Server="https://matrix.org" (o seu homeserver), Login e Password e depois um [[gateway.inout]] com account="matrix.mymatrix" e channel="#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; 0 desliga.
  • 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.

Seu bot já está em outro lugar? Traga-o para nós

NOSSOS ÚLTIMOS ARTIGOS