Przejdź do głównej zawartości

Moderation

Komendy moderacyjne do zarządzania użytkownikami serwera. Wszystkie wymagają posiadania roli z listy Moderation Roles (konfigurowanej w dashboardzie).

Hierarchia ról

Wszystkie komendy moderacyjne (oprócz /clear i /warnings) sprawdzają hierarchię ról — nie możesz moderować użytkownika, którego najwyższa rola jest powyżej Twojej.

Komendy

/ban

Banuje użytkownika z serwera. Przed banem wysyła DM z informacją (jeśli dm_on_action jest włączone).

ParametrTypWymaganyOpis
targetMemberTakUżytkownik do zbanowania
reasonstringNiePowód bana (max 512 znaków)

Uprawnienia: Moderation Roles

Przykład: /ban target:@ToxicUser reason:Spam i obraźliwy język

Sukces: Ephemeral potwierdzenie + log w module "moderation"
Błędy:

  • Brak uprawnień moderacyjnych
  • Cel ma wyższą rolę niż moderator
  • Bot nie ma permisji ban_members

/kick

Wyrzuca użytkownika z serwera. Przed kickiem wysyła DM z informacją.

ParametrTypWymaganyOpis
targetMemberTakUżytkownik do wyrzucenia
reasonstringNiePowód kicka (max 512 znaków)

Uprawnienia: Moderation Roles

Przykład: /kick target:@Troublemaker reason:Wielokrotne ostrzeżenia

Sukces: Ephemeral potwierdzenie + log
Błędy:

  • Brak uprawnień moderacyjnych
  • Cel ma wyższą rolę
  • Bot nie ma permisji kick_members

/mute

Wycisza użytkownika (Discord timeout). Użytkownik nie może pisać ani mówić przez określony czas.

ParametrTypWymaganyOpis
targetMemberTakUżytkownik do wyciszenia
durationintegerNieCzas w minutach (1–40320, domyślnie 10)
reasonstringNiePowód wyciszenia (max 512 znaków)

Uprawnienia: Moderation Roles

Przykład: /mute target:@Spammer duration:60 reason:Spam na kanale

Sukces: Ephemeral potwierdzenie + DM do użytkownika + log
Błędy:

  • Brak uprawnień moderacyjnych
  • Nieprawidłowy czas (poza zakresem 1–40320)
  • Cel ma wyższą rolę
  • Bot nie ma permisji moderate_members
notatka

40320 minut = 28 dni — to maksymalny limit timeout w Discord API.


/unmute

Zdejmuje wyciszenie (timeout) z użytkownika.

ParametrTypWymaganyOpis
targetMemberTakUżytkownik do odciszenia
reasonstringNiePowód odciszenia (max 512 znaków)

Uprawnienia: Moderation Roles

Przykład: /unmute target:@User reason:Minął czas kary

Sukces: Ephemeral potwierdzenie + log
Błędy:

  • Brak uprawnień moderacyjnych
  • Cel ma wyższą rolę
  • Bot nie ma permisji moderate_members

/warn

Wydaje ostrzeżenie użytkownikowi. Ostrzeżenie jest zapisywane w bazie danych i wysyłany jest DM.

ParametrTypWymaganyOpis
targetMemberTakUżytkownik do ostrzeżenia
reasonstringNiePowód ostrzeżenia (max 512 znaków)

Uprawnienia: Moderation Roles

Przykład: /warn target:@User reason:Nieodpowiedni język

Sukces: Ephemeral potwierdzenie + DM + log + sprawdzenie progu ostrzeżeń
Błędy:

  • Brak uprawnień moderacyjnych
  • Cel ma wyższą rolę
  • Błąd bazy danych
Próg ostrzeżeń

Gdy użytkownik osiągnie skonfigurowany próg ostrzeżeń (warning_threshold, domyślnie 3), bot wysyła powiadomienie do kanału logów moderacji. Powiadomienie jest wysyłane dokładnie raz — w momencie osiągnięcia progu.


/warnings

Wyświetla historię ostrzeżeń użytkownika (do 10 najnowszych).

ParametrTypWymaganyOpis
targetMemberTakUżytkownik do sprawdzenia

Uprawnienia: Moderation Roles

Przykład: /warnings target:@User

Sukces: Lista ostrzeżeń z ID, moderatorem, datą i powodem
Błędy:

  • Brak uprawnień moderacyjnych
  • Brak ostrzeżeń (informacja)
  • Błąd bazy danych

/clear

Usuwa określoną liczbę wiadomości z bieżącego kanału.

ParametrTypWymaganyOpis
amountintegerTakLiczba wiadomości do usunięcia (1–100)

Uprawnienia: Moderation Roles

Przykład: /clear amount:50

Sukces: Ephemeral potwierdzenie z liczbą usuniętych wiadomości + log
Błędy:

  • Brak uprawnień moderacyjnych
  • Nieprawidłowa liczba (poza 1–100)
  • Bot nie ma permisji manage_messages
ostrzeżenie

Discord nie pozwala usuwać wiadomości starszych niż 14 dni za pomocą bulk delete. Wiadomości starsze niż 14 dni nie zostaną usunięte.


/setnick

Zmienia pseudonim (nickname) użytkownika na serwerze.

ParametrTypWymaganyOpis
targetMemberTakUżytkownik, którego nick zmienić
nicknamestringNieNowy pseudonim (puste = reset do nazwy użytkownika)

Uprawnienia: Moderation Roles

Przykład: /setnick target:@User nickname:Nowy Nick

Sukces: Ephemeral potwierdzenie ze starym → nowym nickiem + log
Błędy:

  • Brak uprawnień moderacyjnych
  • Cel ma wyższą rolę
  • Nickname za długi/krótki (1–32 znaki)
  • Bot nie ma permisji manage_nicknames

/role add

Dodaje rolę użytkownikowi.

ParametrTypWymaganyOpis
targetMemberTakUżytkownik, któremu dodać rolę
roleRoleTakRola do dodania

Uprawnienia: Moderation Roles

Przykład: /role add target:@User role:@VIP

Sukces: Ephemeral potwierdzenie + log
Błędy:

  • Brak uprawnień moderacyjnych
  • Cel ma wyższą rolę
  • Rola jest powyżej najwyższej roli bota (bot hierarchy error)
  • Użytkownik już ma tę rolę
  • Bot nie ma permisji manage_roles

/role remove

Usuwa rolę z użytkownika.

ParametrTypWymaganyOpis
targetMemberTakUżytkownik, z którego usunąć rolę
roleRoleTakRola do usunięcia

Uprawnienia: Moderation Roles

Przykład: /role remove target:@User role:@Muted

Sukces: Ephemeral potwierdzenie + log
Błędy:

  • Brak uprawnień moderacyjnych
  • Cel ma wyższą rolę
  • Rola jest powyżej najwyższej roli bota
  • Użytkownik nie ma tej roli
  • Bot nie ma permisji manage_roles

Konfiguracja

Ustawienia moderacji konfiguruje się w dashboardzie (cog "Moderation"):

OpcjaOpisDomyślna wartość
moderation_rolesLista ról z uprawnieniami moderacyjnymibrak (komendy niedostępne)
warning_thresholdPróg ostrzeżeń dla powiadomienia3
dm_on_actionCzy wysyłać DM do moderowanego użytkownikatrue
auto_delete_warnings_daysAuto-usuwanie starych ostrzeżeń (0 = wyłączone)0
Ważne

Jeśli nie skonfigurujesz żadnych moderation_roles, żaden użytkownik nie będzie mógł korzystać z komend moderacyjnych (nawet administratorzy serwera). Dodaj co najmniej jedną rolę w dashboardzie.