matterbridge łączy kanał Discord z pokojami na Telegramie, Matrix, Slacku, IRC, Mattermost i nie tylko: to, co zostanie powiedziane w jednym pokoju, pojawia się w pozostałych. Pokoje wybierasz w matterbridge.toml w Files, token bota Discord wklejasz na stronie Bot, a dla Telegrama token bota Telegram w sekcji Środowisko.
Zainstalowana jest wersja 1.26.0; projekt nie wydał nic od 2023 roku, więc oferujemy go takim, jaki jest.
- W Discord Developer Portal stwórz bota, skopiuj jego token i włącz Server Members Intent i Message Content Intent.
- W panelu ustaw serwer tak, żeby uruchamiał matterbridge (Zmień to, co działa), wklej token Discord na karcie Skonfiguruj swojego bota i zaproś bota.
- Dla Telegrama stwórz bota u @BotFather i wklej jego token w Bot, Środowisko, Dane uwierzytelniające, Telegram bot token.
- Otwórz
matterbridge.tomlw Files, wpisz ID swojego serwera Discord i pokoje do połączenia, a linię zPNH_EXAMPLE_CONFIGusuń. - Naciśnij Uruchom w Console.
Każdy krok szczegółowo poniżej. Przykładowy plik łączy jeden kanał Discord z jedną grupą Telegram, czyli najczęstszy przypadek.
1. Strona Discorda
- Stwórz bota i skopiuj jego token: Jak stworzyć bota Discord i zdobyć jego token. Na stronie Bot swojej aplikacji włącz Server Members Intent i Message Content Intent i naciśnij Save Changes.
- Otwórz swój serwer w panelu. Na stronie Przegląd, na karcie Skonfiguruj swojego bota, kliknij krok Co działa. Jeśli nie mówi „Ten bot uruchamia matterbridge.”, kliknij Zmień to, co działa, wybierz matterbridge, naciśnij Następny krok, zaznacz potwierdzenie i naciśnij Zmień typ serwera.
- Krok Połącz z Discord: wklej token w Wklej token swojego bota, naciśnij Połącz, a potem Tak, dalej.
- Krok Uprawnienia: oba intenty muszą pokazywać Włączone w kolumnie W twoim portalu. Pod Link zaproszenia naciśnij Dodaj na serwer Discord. Link zawiera Zarządzanie webhookami, dzięki czemu wiadomości z drugiej strony pokazują się z nazwą i obrazkiem każdego nadawcy.
2. Strona Telegrama
- W Telegramie napisz do @BotFather: wyślij
/newbot, wybierz nazwę i skopiuj token, który dostaniesz. - Nadal u @BotFather wyślij
/setprivacy, wybierz swojego bota i wybierz Disable. W przeciwnym razie bot Telegram widzi w grupie tylko komendy, a nie zwykłe wiadomości. - Dodaj bota do swojej grupy na Telegramie. Żeby poznać ID czatu grupy (liczbę ujemną), dodaj na chwilę do grupy @getidsbot.
- W panelu otwórz stronę Bot i kliknij Środowisko. Na karcie Dane uwierzytelniające naciśnij Ustaw przy Telegram bot token, wklej go i naciśnij Zapisz.

3. Uzupełnij matterbridge.toml
- Otwórz Files i kliknij
matterbridge.toml. - W
[discord.mydiscord]zastąpYOUR_DISCORD_SERVER_IDID swojego serwera: w Discordzie Settings, Advanced, włącz Developer Mode, potem kliknij prawym przyciskiem ikonę serwera i wybierz Copy Server ID. - Pod
[[gateway]]ustawchannelDiscorda na nazwę swojego kanału bez#, achannelTelegrama na ID czatu grupy. - Usuń pierwszą linię zawierającą
PNH_EXAMPLE_CONFIGi zapisz.
Uzupełnione fragmenty wyglądają tak:
[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"

Zostaw nazwy kont discord.mydiscord i telegram.mytelegram: właśnie tak dwa tokeny zapisane w panelu docierają do matterbridge, więc nigdy nie trzeba ich wpisywać w pliku.
4. Uruchom go
Otwórz Console i naciśnij Uruchom. Gdy plik jest gotowy, widzisz linię z wersją, a potem:
[PlayNHost] Starting your bot
Napisz wiadomość na kanale Discord; pojawi się w grupie Telegram z nazwą nadawcy, i w drugą stronę też.
Matrix lub Slack zamiast Telegrama
Panel ma pole danych uwierzytelniających tylko dla Telegrama. Dla innych sieci dodaj do matterbridge.toml sekcję konta z loginem w samym pliku, a potem dodaj to konto do bramki. Każdy, kto ma dostęp do plików twojego serwera, może go odczytać, a backupy go zawierają.
- Matrix: załóż dla mostu osobne konto Matrix, nie swoje własne. Dodaj
[matrix.mymatrix]zServer="https://matrix.org"(twój homeserver),LoginiPassword, a potem[[gateway.inout]]zaccount="matrix.mymatrix"ichannel="#yourroom:matrix.org". Zaszyfrowane pokoje nie są obsługiwane. - Slack: matterbridge 1.26.0 łączy się ze Slackiem tokenem dedykowanego użytkownika Slacka. Zasady tokenów Slacka zmieniły się od tamtego wydania, więc kieruj się własną wiki matterbridge dla Slacka i przetestuj to, zanim zaczniesz na tym polegać.
Każda opcja każdej sieci jest na wiki matterbridge (github.com/42wim/matterbridge/wiki). Po każdej zmianie pliku zrestartuj bota.
Linie konsoli, które możesz zobaczyć
[PlayNHost] matterbridge is not set up yet: matterbridge.toml is still the example.
Linia PNH_EXAMPLE_CONFIG albo YOUR_DISCORD_SERVER_ID nadal jest w pliku. Dokończ krok 3, a potem naciśnij Restart.
[PlayNHost] Created matterbridge.toml from the example.
Nie było matterbridge.toml, więc zapisano nowy przykład. Uzupełnij go jak w kroku 3.
[PlayNHost] matterbridge is not installed. Reinstall it on the Bot page, Code, then press Start.
Brakuje programu. Naciśnij Zainstaluj ponownie na karcie Zainstaluj ponownie w sekcji Bot, Kod i potwierdź. Twój matterbridge.toml zostaje.
Warto wiedzieć
- Debug log w Bot, Kod, Ustawienia zapisuje każdą wiadomość, którą przekazuje matterbridge. Włączaj go tylko wtedy, gdy szukasz problemu: wpisz
1, naciśnij Zapisz, zrestartuj;0go wyłącza. - matterbridge tylko łączy się na zewnątrz z sieciami czatu. Nie otwiera żadnego portu i nie potrzebuje domeny.
- Piszesz własnego bota Telegram, Slack albo Matrix? Jak hostować bota Telegram, Twitch, Slack lub Matrix.



