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

Jak dostawać alerty z serwera na Discordzie przez webhooki

Serwery gier i panelUpdated Oct 27, 20266 min read

Webhook wysyła krótką wiadomość na kanał Discorda, gdy coś dzieje się na twoim serwerze: serwer się uruchamia, zatrzymuje albo wysypuje, gracz dołącza albo wychodzi, albo kończy się backup. Wszyscy na kanale widzą to bez otwierania panelu. Webhook może też wysyłać na dowolny inny adres https, do twoich własnych narzędzi.

Webhooki serwera może ustawić tylko jego właściciel. Osoby, które zaprosiłeś na serwer, nie widzą tej strony.

1. Utwórz webhook na Discordzie

Potrzebujesz uprawnienia do zarządzania webhookami na serwerze Discorda. Zwykle mają je jego właściciel i admini.

  1. Na Discordzie otwórz Server Settings i przejdź do Integrations.
  2. Kliknij Create Webhook, nadaj mu nazwę i wybierz kanał tekstowy, na który ma pisać, na przykład kanał #alerty-serwera.
  3. Kliknij Copy Webhook URL.

Discord opisuje te kroki z obrazkami w swoim poradniku Intro to Webhooks. Traktuj URL webhooka jak hasło: każdy, kto go ma, może pisać na tym kanale.

2. Dodaj go do serwera

  1. Otwórz serwer w panelu i kliknij Webhooki w lewym menu.
  2. Kliknij Dodaj, a jeśli serwer ma już webhook, Nowy webhook.
  3. Jeśli chcesz, wpisz Nazwa. Jest tylko dla ciebie i opisuje webhook na twojej liście.
  4. Wklej adres w polu URL. Musi zaczynać się od https://. Gdy to webhook Discorda, panel pokazuje Rozpoznano webhook Discorda.
  5. W sekcji Wyślij, gdy zaznacz zdarzenia, które chcesz dostawać (zobacz niżej). Serwer się wysypał jest zaznaczone na start, a co najmniej jedno zdarzenie musi być zaznaczone.
  6. Kliknij Utwórz webhook.

Zdarzenia

ZdarzenieKiedy jest wysyłane
Serwer wystartowałGdy serwer działa i jest gotowy na graczy, także po restarcie.
Serwer zatrzymanyZatrzymanie, o które ktoś poprosił: ty, członek zespołu albo harmonogram.
Serwer się wysypałSerwer padł bez polecenia. Wiadomość przychodzi minutę lub dwie później, gdy mamy pewność, i mówi, czy serwer sam wrócił.
Gracz dołączyłZ nazwą gracza, w grach, które podają, kto jest online. Gry, które podają tylko liczbę, mówią, ilu jest graczy.
Gracz wyszedłTo samo, gdy ktoś wychodzi. Gracze są sprawdzani raz na minutę, gdy serwer działa.
Backup zakończonyCzy backup się udał i jak jest duży.
Instalacja zakończonaPo pierwszej instalacji albo po ponownej instalacji.
Przenoszenie zakończoneGdy przenoszenie twojego serwera się zakończyło.

Serwery Project Zomboid mają dodatkowe zdarzenia odczytywane z logu gry: Gracz zginął, Zabójstwo PvP, Akcja admina, Mod zaktualizowany, Rozpoczęto odliczanie do restartu i Przekazuj czat z gry. Czat jest wysyłany tylko wtedy, gdy go zaznaczysz, i tylko czat ogólny: szepty oraz czat frakcji i safehouse'a nigdy nie są wysyłane.

Co przychodzi

  • Na Discordzie wiadomości przychodzą od PlayNHost jako krótkie karty z nazwą serwera, tym, co się stało, i kiedy. Discord pokazuje godzinę w strefie czasowej każdego czytelnika.
  • Wiadomości zawierają nazwę twojego serwera, ale nigdy jego adres ani ID, więc mogą trafiać na publiczny kanał. Żeby zmienić pokazywaną nazwę, zmień nazwę serwera. Zobacz Jak zmienić nazwę serwera i liczbę slotów graczy.
  • Gracz nie może spingować twojego kanału swoją nazwą. Nazwa taka jak @everyone dociera jako zwykły tekst.
  • Każdy inny adres dostaje zdarzenia jako JSON. Zobacz Dla własnych narzędzi niżej.

Wyłącz webhook, zmień go albo usuń

  • Przełącznik w wierszu webhooka wyłącza go i włącza ponownie. Gdy jest wyłączony, zachowuje swoje ustawienia.
  • Otwórz menu wiersza i wybierz Edytuj, żeby zmienić nazwę, adres albo zdarzenia, lub Usuń, żeby go usunąć. Nic poza tym się nie zmienia: serwer dalej działa, a kanał po prostu przestaje dostawać wiadomości.

Warto wiedzieć

  • Serwer może mieć do 10 webhooków, na przykład po jednym na kanał.
  • Żeby kanał był czytelny, każdy webhook wysyła najwyżej 4 wiadomości na minutę i 40 na godzinę. Wiadomości ponad limit są pomijane zamiast wysyłane z opóźnieniem, a następna wiadomość mówi, ile wcześniejszych aktualizacji pominięto.
  • Jeśli webhook zostanie usunięty na Discordzie, panel wyłączy go sam przy następnej próbie wysłania, a wiersz pokaże Wyłączony. Utwórz nowy webhook na Discordzie, wybierz Edytuj, wklej nowy adres, a potem włącz webhook z powrotem.
  • Nie ma przycisku testowego. Żeby sprawdzić nowy webhook, zaznacz Serwer wystartował i zrestartuj serwer. Wiadomość przychodzi niedługo po tym, jak serwer jest gotowy.
  • Webhooki są dla kanału, który współdzieli twoja grupa. Alerty tylko dla ciebie, w panelu albo e-mailem, znajdziesz w Jak zarządzać powiadomieniami i preferencjami.

Dla własnych narzędzi

Adres, który nie jest webhookiem Discorda, dostaje POST z treścią JSON:

  • source to PlayNHost.
  • events to lista. Każde zdarzenie ma type (na przykład server.crash albo player.join), server (nazwa serwera), at (kiedy się stało), czytelne title i text oraz obiekt data ze szczegółami.
  • skipped to liczba wcześniejszych wiadomości pominiętych przez limit opisany wyżej.

Adres musi używać https i wskazywać publiczny adres w internecie. Przekierowania nie są śledzone. Wiadomości nie są podpisane, więc sam adres trzymaj w tajemnicy.

Powiązane

NASZE OSTATNIE WPISY