Zacznij od najmniejszego zakresu
Dla bota weryfikującego użytkowników zwykle wystarcza widoczność właściwego kanału, wysyłanie wiadomości, osadzanie treści oraz zarządzanie rolami. Wysyłanie plików jest potrzebne, jeśli bot publikuje obraz CAPTCHA jako załącznik. Nie nadawaj Administratora wyłącznie po to, żeby ukryć błąd konfiguracji.
Sprawdź hierarchię
Rola bota musi znajdować się wyżej niż rola, którą ma nadawać. Samo uprawnienie Manage Roles nie znosi tego ograniczenia. Nie używaj roli zarządzanej przez inną integrację jako wyniku weryfikacji. Osobno sprawdź nadpisania kanału — mogą blokować widoczność lub publikowanie mimo poprawnych ustawień serwera.
- Bot znajduje się na oczekiwanym serwerze i korzysta z właściwego ID kanału.
- Rola docelowa istnieje, nie jest @everyone ani rolą zarządzaną.
- Rola bota jest nad rolą docelową.
- Bot ma rzeczywisty dostęp do kanału po uwzględnieniu nadpisań.
Weryfikuj po stronie serwera
Nie przyjmuj z formularza ID roli wybranego przez użytkownika. Rola docelowa powinna pochodzić z konfiguracji serwera. Kod CAPTCHA powiąż z użytkownikiem, serwerem, terminem ważności i liczbą prób. Po poprawnym użyciu unieważnij wyzwanie. Sprawdzenie członkostwa i uprawnień wykonaj ponownie przed nadaniem dostępu.
Obsłuż błędy i ponowne kliknięcia
Wolniejsza operacja powinna otrzymać potwierdzenie interakcji w czasie wymaganym przez Discord. Po błędzie pokaż użytkownikowi jasny komunikat, a do logu zapisz kod i kontekst techniczny bez tokenu i bez odpowiedzi CAPTCHA. Ponowne kliknięcie po sukcesie nie powinno drugi raz wykonywać całego procesu.
Intents, uprawnienia OAuth i uprawnienia kanału to różne mechanizmy. Włączaj tylko intents potrzebne do rzeczywiście używanych zdarzeń. Token bota przechowuj jako sekret; po ujawnieniu resetuj go w Developer Portal zamiast jedynie usuwać wiadomość, w której się znalazł.
Źródła i dokumentacja
Odnośniki do źródeł pozwalają sprawdzić daty, dostępność oraz pełny kontekst informacji.