NOWOŚĆ 📢 Ograniczona oferta na start: do 70% zniżki na pierwszy miesiąc, na każdą grę!Zobacz plany

Jak połączyć Discord z Telegramem, Matrix lub Slackiem przez matterbridge

Hosting botów DiscordUpdated Oct 29, 20266 min read

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.

  1. W Discord Developer Portal stwórz bota, skopiuj jego token i włącz Server Members Intent i Message Content Intent.
  2. W panelu ustaw serwer tak, żeby uruchamiał matterbridge (Zmień to, co działa), wklej token Discord na karcie Skonfiguruj swojego bota i zaproś bota.
  3. Dla Telegrama stwórz bota u @BotFather i wklej jego token w Bot, Środowisko, Dane uwierzytelniające, Telegram bot token.
  4. Otwórz matterbridge.toml w Files, wpisz ID swojego serwera Discord i pokoje do połączenia, a linię z PNH_EXAMPLE_CONFIG usuń.
  5. 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

  1. 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.
  2. 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.
  3. Krok Połącz z Discord: wklej token w Wklej token swojego bota, naciśnij Połącz, a potem Tak, dalej.
  4. 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

  1. W Telegramie napisz do @BotFather: wyślij /newbot, wybierz nazwę i skopiuj token, który dostaniesz.
  2. 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.
  3. Dodaj bota do swojej grupy na Telegramie. Żeby poznać ID czatu grupy (liczbę ujemną), dodaj na chwilę do grupy @getidsbot.
  4. 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.

Strona Bot, sekcja Środowisko, z kartą Dane uwierzytelniające dla matterbridge, na której zapisany jest Telegram bot token.

3. Uzupełnij matterbridge.toml

  1. Otwórz Files i kliknij matterbridge.toml.
  2. W [discord.mydiscord] zastąp YOUR_DISCORD_SERVER_ID ID swojego serwera: w Discordzie Settings, Advanced, włącz Developer Mode, potem kliknij prawym przyciskiem ikonę serwera i wybierz Copy Server ID.
  3. Pod [[gateway]] ustaw channel Discorda na nazwę swojego kanału bez #, a channel Telegrama na ID czatu grupy.
  4. Usuń pierwszą linię zawierającą PNH_EXAMPLE_CONFIG i 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"

Plik matterbridge.toml otwarty w edytorze plików, z uzupełnionym ID serwera Discord i dwoma kanałami bramki.

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] z Server="https://matrix.org" (twój homeserver), Login i Password, a potem [[gateway.inout]] z account="matrix.mymatrix" i channel="#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; 0 go 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.

Twój bot działa już gdzie indziej? Przenieś go do nas

NASZE OSTATNIE WPISY