Utworzenie aplikacji Discord zajmuje około pięciu minut i nie wymaga kodowania: zaloguj się do Developer Portal, kliknij Nowa aplikacja, dodaj do niej bota, włącz intencje, których potrzebuje, wygeneruj token i zbuduj link zapraszający. Wszystko do tego ostatniego kroku to po prostu wypełnianie formularzy. Co zrobisz z aplikacją później, czy napiszesz własny kod, czy przekażesz token hostingowi, który uruchamia dla Ciebie gotowy zestaw funkcji, to osobna decyzja.

Czym właściwie jest „aplikacja Discord”

Aplikacja to kontener, który Discord tworzy dla wszystkiego, co budujesz na jego platformie: nazwa, ikona, client ID i opcjonalnie przypisany do niej użytkownik bota. Sama aplikacja niczego nie robi. Użytkownik bota przypisany do niej to właśnie on loguje się, wysyła wiadomości i odpowiada na komendy. Większość ludzi używa słów „aplikacja” i „bot” zamiennie, bo w praktyce tworzy się jedno, żeby dostać drugie. Różnica ma jednak znaczenie przy zakresach i uprawnieniach OAuth2, które są żądane w imieniu aplikacji, a nie wpisywane ręcznie.

Krok po kroku

  1. Otwórz Developer Portal. Wejdź na discord.com/developers/applications i zaloguj się kontem, które ma być właścicielem bota.
  2. Kliknij Nowa aplikacja. Nadaj jej nazwę. Stanie się ona wewnętrzną nazwą aplikacji; możesz ją później zmienić, nie wpływa to na nic, co już działa.
  3. Otwórz kartę Bot. Użytkownik bota jest dodawany automatycznie. Ustaw tu jego nazwę użytkownika i wgraj awatar; to właśnie będzie widoczne na każdym serwerze, do którego dołączy.
  4. Włącz uprzywilejowane intencje, których potrzebuje. W sekcji Uprzywilejowane intencje Gateway intencje Server Members Intent oraz Message Content Intent są domyślnie wyłączone. Bot, który czyta tekst wiadomości albo reaguje na dołączanie i wychodzenie członków, potrzebuje obu włączonych, inaczej w ogóle nie zaloguje się.
  5. Kliknij Resetuj token. Discord generuje token i pokazuje go dokładnie raz. Skopiuj go od razu; nie ma strony, która ponownie wyświetla istniejący token, a ponowne kliknięcie Resetuj token unieważnia to, co właśnie skopiowałeś.
  6. Zbuduj link zapraszający. Użyj Generatora URL w karcie OAuth2, zaznacz zakresy bot i applications.commands, zaznacz uprawnienia, których bot faktycznie potrzebuje, i skopiuj wygenerowany link.
  7. Zaproś go na serwer. Otwórz link, wybierz serwer, którym zarządzasz, i zatwierdź uprawnienia, które pokaże Discord.

Błędy, które wciągają ludzi w kłopoty

  • Mylenie nazwy aplikacji z nazwą użytkownika bota. Mogą być różne. Zmiana nazwy aplikacji nie zmienia nazwy bota; to robi się na karcie Bot.
  • Zgubienie tokenu przed wklejeniem go gdziekolwiek. Jeśli zamkniesz kartę przed skopiowaniem, nie panikuj, po prostu kliknij Resetuj token ponownie, by dostać nowy. Stary po prostu przepadł.
  • Pominięcie intencji, a potem zastanawianie się, czemu bot nie wchodzi online. Bot, którego kod żąda uprzywilejowanej intencji niewłączonej w portalu, nie łączy się w zredukowanym trybie. Discord po prostu odrzuca logowanie z błędem „disallowed intents”.
  • Z przyzwyczajenia żądanie uprawnienia Administrator w linku zapraszającym. To działa, ale to najstraszniejszy ekran uprawnień, jaki Discord może pokazać właścicielowi serwera, i częsty powód odrzucenia zaproszenia. Zaznaczaj tylko to, czego bot używa.
A user's bot token runs on a Noxyr node and comes online as their own branded bot. Your token Noxyr node MyBot Online

Co dalej z aplikacją

Gdy masz już aplikację, użytkownika bota i token, są stąd dwie ścieżki. Możesz napisać lub pobrać kod bota i uruchomić go samodzielnie, na swoim komputerze lub hostingu, czego dotyczy nasz poradnik o darmowym hostingu botów. Możesz też w ogóle nie pisać kodu i wkleić token do usługi, która uruchamia gotowy zestaw funkcji pod tożsamością Twojego bota. Custom Bot Noxyr robi właśnie to: zgłoszenia, sklep, bezpieczeństwo, giveaway'e, weryfikację i więcej, wszystko odpowiadające pod nazwą i awatarem, które właśnie ustawiłeś, hostowane za darmo w zamian za głos na Top.gg. Pełny przewodnik po konfiguracji, łącznie z dwiema intencjami opisanymi wyżej, znajdziesz w dokumentacji Custom Bot.

Niezależnie od wybranej ścieżki, aplikacja, którą właśnie utworzyłeś, to jedyna rzecz, jakiej którakolwiek z nich potrzebuje. Samo jej utworzenie nie zobowiązuje Cię do żadnego kierunku.

Najczęstsze pytania

Czy muszę umieć programować, żeby utworzyć aplikację Discord? Nie. Utworzenie aplikacji, użytkownika bota i tokenu to kroki wykonywane kliknięciami w Developer Portal. Kodowanie pojawia się dopiero, gdy sam zdecydujesz, że chcesz napisać zachowanie bota.

Jaka jest różnica między client ID a tokenem bota? Client ID jest publiczne, jest w każdym linku zapraszającym i można je bezpiecznie udostępniać. Token to dane uwierzytelniające: kto go ma, może zalogować bota, więc traktuj go jak hasło.

Czy mogę później zmienić nazwę aplikacji lub bota? Tak, zarówno nazwę aplikacji, jak i nazwę użytkownika bota można zmienić w dowolnym momencie w portalu, bez utraty tokenu, serwerów, na których jest bot, ani czegokolwiek innego powiązanego z jego ID użytkownika Discord.

Czy każdy bot potrzebuje uprzywilejowanych intencji? Nie. Włączenia wymagają tylko boty, które czytają tekst wiadomości (Message Content Intent) lub potrzebują danych o dołączaniu, wychodzeniu członków i rolach (Server Members Intent). Prosty bot obsługujący tylko komendy slash nie potrzebuje żadnej z nich.

Czy utworzenie aplikacji Discord jest darmowe? Tak, utworzenie aplikacji, wygenerowanie tokenu i zaproszenie bota gdziekolwiek nic nie kosztuje. Kosztować może uruchamianie kodu, który za tym stoi, chyba że użyjesz darmowego hostingu albo usługi takiej jak Custom Bot Noxyr.

Co, jeśli zgubię token albo podejrzewam, że wyciekł? Wróć na kartę Bot i kliknij Resetuj token. Stary token przestaje działać natychmiast, wszędzie, gdzie był używany, a dostajesz świeży, który wklejasz tam, gdzie trzeba.

Gdy Twoja aplikacja już istnieje, zajrzyj do naszego poradnika o linkach zapraszających i zakresach OAuth2, by poprawnie zbudować ten link, albo dodaj Noxyr za darmo i zamień swoją nową aplikację w pełni działającego bota, bez pisania ani jednej linijki kodu.