# Praktyczne przykłady systemu uprawnień
Jeśli przeczytałeś poprzednie poradniki, a wciąż nie rozumiesz naszego systemu uprawnień, zalecamy przeczytanie wszystkich poniższych przykładów. Nawet jeśli nie znajdziesz tu swojego problemu, to pomogą Ci one lepiej zrozumieć nasz system.
# Dodawanie uprawnień moderatorom
Jak już poprzednio wspomnieliśmy, na każdym serwerze są dodane domyślnie najpotrzebniejsze grupy, w tym właśnie Moderator. Wystarczy więc przydzielić Discordowej roli moderatorów tą właśnie grupę. Wykonujemy to komendą:
- permissions role @ping-roli-moderatorów add Moderator
Od teraz rola moderatorów będzie miała dostęp do wszystkich komend z kategorii moderacja oraz do wyświetlania logów akcji moderacyjnych.
# Zabieranie pojedynczej komendy
Uwaga!
Zanim przeczytasz ten przykład, zapoznaj się z pojęciami na stronie TUTAJ.
Najczęstszym błędem podczas próby wyłączania komend jest:
- permissions group Grupa remove commands.x.x
To zwykle nie zadziała, gdyż tym sposobem możemy tylko zabrać nadane wcześniej uprawnienia. Uprawnienia, które możemy w ten sposób zabrać, można zobaczyć po wywołaniu menu za pomocą komendy:
- permissions group Grupa info
Jeśli uprawnienie, które chcemy zabrać, np. pojedyncza komenda, się tam nie znajduje, musimy dodać grupie osobne uprawnienie blokujące inne, czyli zwykle wyjątek do omówionego wcześniej wildcardu.
Przykładowo: chcemy zabrać moderatorom komendę kick.
Grupa Moderator domyślnie posiada uprawnienie "commands.moderation.*" zawarte w aliasie "commands.moderator", czyli właśnie wildcard na wszystkie komendy moderacyjne. Nie możemy więc użyć komendy remove, gdyż w praktyce grupa nie ma przypisanego uprawnienia "commands.moderation.kick". Dodajemy więc negację(minus), stanowiącą wyjątek do wildcardu:
- permissions group Moderator add -commands.moderation.kick
Dla pewności, że wszystko dobrze zrobiliśmy, możemy teraz użyć komendy check, pokazującej grupy mające dostęp do uprawnienia.
- check commands.moderation.kick
Jeśli nie znajduje się tam grupa Moderator, udało się, nie mogą teraz używać komendy kick!
# Nie ma tu mojego przykładu/problemu
Jeśli jeszcze tego nie zrobiłeś, przeczytaj wszystkie powyższe przykłady oraz pojęcia, pomogą Ci one lepiej zrozumieć nasz system. Jeśli nadal nie potrafisz rozwiązać problemu, bez wahania spytaj nas na naszym serwerze. Do zobaczenia!