Skip to main content
Poradniki
PoradnikiRolesBasics

Role i uprawnienia na Discordzie: dlaczego twój bot nie może nadać tej roli

Hierarchia ról to najczęstszy powód, dla którego coś na Discordzie nie działa. Zrozum ją raz, a zaoszczędzisz godziny szukania błędu.

Opublikowano autor: AlphaCloud3 min czytania

Jest sytuacja, w której każdy właściciel serwera prędzej czy później się znajdzie: bot ma nadać rolę i tego nie robi. Bot ma Administratora. Ustawienie jest zapisane. A mimo to nic się nie dzieje.

Przyczyna jest prawie zawsze ta sama i nie ma nic wspólnego z uprawnieniami.

Dwa systemy, nie jeden

Discord w dwóch osobnych krokach decyduje, czy ktoś może coś zrobić:

  1. Uprawnienie. Czy ta rola w ogóle może zarządzać rolami?
  2. Pozycja. Czy ta rola jest wystarczająco wysoko, żeby ruszyć rolę docelową?

Większość zna tylko pierwszy krok. Problem pojawia się w drugim.

Zasada w jednym zdaniu

Członek, wliczając bota, może nadawać i odbierać tylko role, które są poniżej jego własnej najwyższej roli. I może moderować tylko członków, których najwyższa rola jest poniżej jego własnej.

Dotyczy to nawet Administratora. Administrator nadpisuje uprawnienia, ale nie hierarchię. Bot z Administratorem, którego rola jest na samym dole listy, w praktyce nie może nic.

Przykład

Twoja lista ról wygląda tak, od góry do dołu:

Owner
Administrator
Moderator
AlphaCloud          <- the bot's role
Verified
Member

Co bot może:

  • Nadawać i odbierać Verified i Member
  • Moderować członków, których najwyższa rola to Verified lub Member

Czego bot nie może:

  • Nadać Moderator, bo ta rola jest nad nim
  • Wyrzucić, zbanować ani zmienić nicku moderatorowi
  • Ruszyć administratora

Jeśli chcesz, żeby bot mógł nadawać rolę moderatora, musisz przeciągnąć jego rolę ponad Moderator. Nie odwrotnie.

Praktyczna rada

Umieść rolę bota bezpośrednio pod najwyższą rolą zespołu. Tak:

Owner
Administrator
AlphaCloud          <- here
Moderator
Verified
Member

Wtedy bot może zarządzać wszystkim poniżej kierownictwa, nie mogąc ruszyć samego kierownictwa. Prawie zawsze właśnie tego chcesz.

Kolejność zmieniasz w Ustawieniach serwera, Role przez przeciąganie.

Trzy szczególne przypadki, które i tak nie zadziałają

Nawet przy idealnej hierarchii są trzy rzeczy, na które Discord nigdy nie pozwala botowi:

Zmiana nicku lub moderowanie właściciela serwera. Właściciel stoi poza hierarchią. Żadna rola i żadne uprawnienie tego nie zmieni.

Edytowanie ról na tej samej pozycji. Dwie role na tej samej wysokości nie mogą się nawzajem ruszać. Trzeba być naprawdę wyżej, a nie na równi.

Nadawanie roli @everyone. Każdy ma ją automatycznie, nie da się jej nadać.

Uprawnienia kanału wygrywają z uprawnieniami serwera

Drugi najczęstszy przypadek: według swojej roli bot może wysyłać wiadomości, ale akurat na jednym kanale tego nie robi.

Discord pozwala na wyjątki od uprawnień serwera dla poszczególnych kanałów. Jeśli na kanale Wysyłanie wiadomości jest wyraźnie zabronione dla @everyone albo dla jednej z ról bota, to wygrywa, cokolwiek mówi rola na serwerze.

Możesz to sprawdzić bezpośrednio: ustawienia kanału, Uprawnienia, a potem na górze wybierz bota w Pokaż uprawnienia dla. Discord pokaże ci dokładnie, co może na tym kanale.

Które uprawnienie do czego

Jeśli wolisz nie dawać botowi pełnego Administratora, oto realistyczna lista:

Zadanie Uprawnienie
Nadawanie ról Zarządzanie rolami
Tickety, kanały tymczasowe Zarządzanie kanałami
Usuwanie spamu Zarządzanie wiadomościami
Wyciszanie Wyciszanie członków
Usuwanie z serwera Wyrzucanie członków, Banowanie członków
Przenoszenie na kanał AFK Przenoszenie członków
Prefiksy w nickach Zarządzanie pseudonimami
Wiedza, kto wywołał akcję Wyświetlanie dziennika zdarzeń

Administrator i tak pozostaje pragmatycznym wyborem, jeśli korzystasz z wielu funkcji. Nie dlatego, że jest bezpieczniejszy, tylko dlatego, że inaczej każda nowa funkcja wyśle cię na poszukiwanie tego jednego brakującego uprawnienia. Tak czy inaczej ważniejszą dźwignią pozostaje hierarchia.

Krótka wersja do szukania błędów

Gdy coś nie działa, przejdź po kolei przez te cztery pytania:

  1. Czy rola bota jest powyżej danej roli?
  2. Czy rola bota jest powyżej danego członka?
  3. Czy bot ma odpowiednie uprawnienie na poziomie serwera?
  4. Czy to uprawnienie jest wyraźnie zabronione na tym kanale?

W dziewięciu przypadkach na dziesięć chodzi o pytanie 1 albo 2.

Więcej artykułów