Przejdź do treści

Jak utworzyć bota Discord w Discord Developer Portal

Utwórz bota Discord krok po kroku: aplikacja w Developer Portal, token bota, intencje i link zaproszenia na serwer.

Każdy bot Discord to aplikacja w Discord Developer Portal (otwiera się w nowej karcie). Zanim uruchomisz kod bota na serwerze, musisz ją utworzyć, skopiować token, którym bot loguje się do Discorda, i zaprosić bota na swój serwer Discord. Portal jest po angielsku, więc nazwy przycisków podajemy w oryginale.

Tworzenie aplikacji

  1. Otwórz Developer Portal

    Wejdź na discord.com/developers/applications (otwiera się w nowej karcie) i zaloguj się kontem Discord. Bot będzie przypisany do tego konta.

  2. Utwórz aplikację

    Kliknij New Application w prawym górnym rogu. Wpisz nazwę bota w polu Name, zaznacz zgodę na regulamin dla deweloperów i kliknij Create. Discord może poprosić o potwierdzenie, że nie jesteś robotem.

Otworzy się strona General Information. Nazwę, opis i ikonę zmienisz tu w każdej chwili. Jest tu też Application ID, którego niektóre biblioteki potrzebują do rejestrowania komend z ukośnikiem.

Token bota

Token to hasło, którym kod bota loguje się do Discorda.

  1. Otwórz zakładkę Bot

    W menu po lewej kliknij Bot. Tu zmienisz też nazwę użytkownika i awatar bota, które widać na serwerze.

  2. Wygeneruj token

    W sekcji Token kliknij Reset Token i potwierdź przyciskiem Yes, do it!. Jeśli masz włączone uwierzytelnianie dwuskładnikowe, Discord poprosi o kod albo klucz bezpieczeństwa.

  3. Skopiuj token

    Kliknij Copy i zapisz token w bezpiecznym miejscu. Discord pokazuje go tylko raz. Gdy opuścisz stronę, zobaczysz już tylko przycisk Reset Token.

Intencje

Intencje decydują, jakie dane bot dostaje od Discorda. Trzy z nich, w sekcji Privileged Gateway Intents w zakładce Bot, trzeba włączyć ręcznie:

IntencjaKiedy jest potrzebna
Presence Intentbot śledzi statusy graczy, np. kto gra w co
Server Members Intentbot reaguje na dołączenie i wyjście członków albo pobiera listę członków serwera
Message Content Intentbot czyta treść wiadomości, np. komendy z prefiksem !pomoc

Włącz tylko te, których używa twój bot. Jeśli bot korzysta wyłącznie z komend z ukośnikiem, zwykle nie potrzebuje żadnej z nich. Po zmianie kliknij Save Changes na pasku na dole strony.

Bot, który jest na ponad 10 000 serwerach, potrzebuje zgody Discorda na te intencje.

Zaproszenie bota na serwer

  1. Wybierz zakresy

    W menu po lewej kliknij OAuth2 i przewiń do OAuth2 URL Generator. W sekcji Scopes zaznacz bot, a jeśli bot ma komendy z ukośnikiem, także applications.commands.

  2. Wybierz uprawnienia

    Pod zakresami pojawi się sekcja Bot Permissions. Zaznacz tylko to, czego bot potrzebuje. Większości botów wystarczą View Channels, Send Messages, Embed Links i Read Message History. Bot moderacyjny potrzebuje też np. Kick Members i Ban Members.

  3. Skopiuj link

    W polu Integration Type zostaw Guild Install i skopiuj link z pola Generated URL przyciskiem obok.

  4. Dodaj bota na serwer

    Otwórz link w przeglądarce. W polu Add to server wybierz serwer Discord, kliknij Continue, sprawdź listę uprawnień i potwierdź. Na liście są tylko serwery, na których masz uprawnienie Manage Server.

Bot pojawi się na liście członków serwera, ale będzie offline, dopóki nie uruchomisz jego kodu.

Najczęstsze problemy

Bot jest na serwerze, ale ciągle offline

Discord pokazuje bota online dopiero wtedy, gdy działa jego kod z poprawnym tokenem. Sprawdź, czy kod jest uruchomiony i czy token nie został zresetowany po skopiowaniu.

Bot się nie uruchamia z błędem o intencjach

Kod prosi o intencję, która nie jest włączona w portalu. discord.js zgłasza wtedy Used disallowed intents, a discord.py PrivilegedIntentsRequired. Włącz tę intencję w zakładce Bot i kliknij Save Changes.

Na liście Add to server nie ma mojego serwera

Możesz dodać bota tylko na serwer, na którym masz uprawnienie Manage Server. Poproś właściciela serwera o to uprawnienie albo o dodanie bota z twojego linku.

Inni nie mogą dodać mojego bota

W zakładce Bot włącz Public Bot. Gdy jest wyłączony, bota może dodać tylko jego właściciel.