NEU 📢 Begrenztes Startangebot: bis zu 70 % Rabatt auf deinen ersten Monat, für jedes Spiel!Tarife ansehen

Discord mit Telegram, Matrix oder Slack verbinden mit matterbridge

Discord-Bot-HostingUpdated Oct 29, 20266 min read

matterbridge verbindet einen Discord-Kanal mit Räumen auf Telegram, Matrix, Slack, IRC, Mattermost und mehr: Was in einem Raum geschrieben wird, erscheint in den anderen. Die Räume wählst du in der matterbridge.toml unter Files, den Discord-Bot-Token trägst du im Bot-Tab ein und für Telegram den Telegram-Bot-Token unter Umgebung.

Installiert ist Version 1.26.0. Das Projekt hat seit 2023 nichts mehr veröffentlicht, deshalb bieten wir es so an, wie es ist.

  1. Erstell den Bot im Discord Developer Portal, kopier seinen Token und schalte Server Members Intent und Message Content Intent ein.
  2. Lass den Server im Panel matterbridge ausführen (Ändern, was läuft), füg den Discord-Token auf der Karte Deinen Bot einrichten ein und lad den Bot ein.
  3. Erstell für Telegram mit @BotFather einen Bot und füg seinen Token unter Bot, Umgebung, Zugangsdaten, Telegram bot token ein.
  4. Öffne die matterbridge.toml unter Files, trag deine Discord-Server-ID und die zu verbindenden Räume ein und lösch die Zeile mit PNH_EXAMPLE_CONFIG.
  5. Drück in der Console auf Starten.

Jeder Schritt wird unten erklärt. Die Beispieldatei verbindet einen Discord-Kanal mit einer Telegram-Gruppe, der häufigste Fall.

1. Die Discord-Seite

  1. Erstell den Bot und kopier seinen Token: So erstellst du einen Discord-Bot und holst seinen Token. Schalte auf der Bot-Seite der Anwendung Server Members Intent und Message Content Intent ein und drück auf Save Changes.
  2. Öffne deinen Server im Panel. Klick auf der Übersicht in der Karte Deinen Bot einrichten auf den Schritt Was läuft. Wenn dort nicht „Dieser Bot führt matterbridge aus.“ steht, klick auf Ändern, was läuft, wähl matterbridge, drück auf Nächster Schritt, hak die Bestätigung an und drück auf Servertyp ändern.
  3. Schritt Mit Discord verbinden: Füg den Token bei Füge deinen Bot-Token ein ein, drück auf Verbinden und dann auf Ja, weiter.
  4. Schritt Berechtigungen: Beide Intents müssen unter In deinem Portal An zeigen. Drück unter Einladungslink auf Zu einem Discord-Server hinzufügen. Der Link enthält Manage Webhooks, womit Nachrichten von der anderen Seite mit dem Namen und dem Bild des jeweiligen Absenders erscheinen.

2. Die Telegram-Seite

  1. Sprich in Telegram mit @BotFather: Sende /newbot, wähl einen Namen und kopier den Token, den du bekommst.
  2. Sende weiter bei @BotFather /setprivacy, wähl deinen Bot und dann Disable. Sonst sieht ein Telegram-Bot in einer Gruppe nur Befehle, keine normalen Nachrichten.
  3. Füg den Bot deiner Telegram-Gruppe hinzu. Um die Chat-ID der Gruppe (eine negative Zahl) zu finden, füg @getidsbot kurz der Gruppe hinzu.
  4. Öffne im Panel den Bot-Tab und klick auf Umgebung. Drück auf der Karte Zugangsdaten neben Telegram bot token auf Setzen, füg ihn ein und drück auf Speichern.

Der Bot-Tab, Bereich Umgebung, mit der Karte Zugangsdaten für matterbridge, die zeigt, dass Telegram bot token gespeichert ist.

3. Die matterbridge.toml ausfüllen

  1. Öffne Files und klick auf matterbridge.toml.
  2. Ersetze in [discord.mydiscord] YOUR_DISCORD_SERVER_ID durch deine Server-ID: In Discord Settings, Advanced, Developer Mode einschalten, dann mit der rechten Maustaste auf das Server-Symbol klicken und Copy Server ID wählen.
  3. Setz unter [[gateway]] den Discord-channel auf den Namen deines Kanals ohne das # und den Telegram-channel auf die Chat-ID der Gruppe.
  4. Lösch die erste Zeile, die PNH_EXAMPLE_CONFIG enthält, und speichere.

Die ausgefüllten Teile sehen so aus:

[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"

Die matterbridge.toml im Dateieditor geöffnet, mit eingetragener Discord-Server-ID und den zwei Gateway-Kanälen.

Behalte die Kontonamen discord.mydiscord und telegram.mytelegram: So kommen die beiden im Panel gespeicherten Tokens bei matterbridge an, und sie müssen nie in der Datei stehen.

4. Starten

Öffne die Console und drück auf Starten. Wenn die Datei fertig ist, siehst du die Versionszeile und dann:

[PlayNHost] Starting your bot

Schreib eine Nachricht im Discord-Kanal. Sie erscheint in der Telegram-Gruppe mit dem Namen des Absenders, und umgekehrt.

Matrix oder Slack statt Telegram

Das Panel hat nur für Telegram ein Zugangsdatenfeld. Für andere Netzwerke füg der matterbridge.toml einen Konto-Abschnitt mit dem Login in der Datei selbst hinzu und nimm dieses Konto dann ins Gateway auf. Jeder mit Zugriff auf die Dateien deines Servers kann es lesen, und Backups enthalten es.

  • Matrix: Leg ein eigenes Matrix-Konto für die Brücke an, nicht dein eigenes. Füg [matrix.mymatrix] mit Server="https://matrix.org" (dein Homeserver), Login und Password hinzu, dann ein [[gateway.inout]] mit account="matrix.mymatrix" und channel="#yourroom:matrix.org". Verschlüsselte Räume werden nicht unterstützt.
  • Slack: matterbridge 1.26.0 verbindet sich mit Slack über den Token eines eigenen Slack-Nutzers. Die Token-Regeln von Slack haben sich seit diesem Release geändert, folge also dem eigenen Wiki von matterbridge für Slack und teste es, bevor du dich darauf verlässt.

Alle Optionen jedes Netzwerks stehen im Wiki von matterbridge (github.com/42wim/matterbridge/wiki). Starte den Bot nach jeder Änderung an der Datei neu.

Console-Zeilen, die du sehen kannst

[PlayNHost] matterbridge is not set up yet: matterbridge.toml is still the example.

Die Zeile PNH_EXAMPLE_CONFIG oder YOUR_DISCORD_SERVER_ID steht noch in der Datei. Erledige Schritt 3 und drück dann auf Neustart.

[PlayNHost] Created matterbridge.toml from the example.

Es gab keine matterbridge.toml, deshalb wurde ein frisches Beispiel geschrieben. Fülle es aus wie in Schritt 3.

[PlayNHost] matterbridge is not installed. Reinstall it on the Bot page, Code, then press Start.

Das Programm fehlt. Drück auf der Karte Neu installieren unter Bot, Code auf Neu installieren und bestätige. Deine matterbridge.toml bleibt.

Gut zu wissen

  • Debug log unter Bot, Code, Einstellungen protokolliert jede Nachricht, die matterbridge weiterleitet. Schalte es nur ein, solange du ein Problem suchst: Tipp 1, drück auf Speichern und starte neu; 0 schaltet es aus.
  • matterbridge verbindet sich nur nach außen mit den Chat-Netzwerken. Es öffnet keinen Port und braucht keine Domain.
  • Du schreibst lieber deinen eigenen Telegram-, Slack- oder Matrix-Bot? Einen Telegram-, Twitch-, Slack- oder Matrix-Bot hosten.

Läuft dein Bot schon woanders? Zieh ihn zu uns um

UNSERE NEUESTEN BLOGS