Skip to main content
Guider
GuiderRolesBasics

Roller och behörigheter på Discord: därför kan din bot inte ge den rollen

Rollhierarkin är den vanligaste orsaken till att något inte fungerar på Discord. Förstå den en gång så sparar du timmar av felsökning.

Publicerad av AlphaCloud3 min läsning

Det finns en situation som varje serverägare hamnar i till slut: en bot ska ge en roll och gör det inte. Boten har Administratör. Inställningen är sparad. Ändå händer ingenting.

Orsaken är nästan alltid densamma, och den har inget med behörigheter att göra.

Två system, inte ett

Discord avgör i två separata steg om någon får göra något:

  1. Behörigheten. Får den här rollen hantera roller över huvud taget?
  2. Positionen. Sitter den här rollen tillräckligt högt för att röra målrollen?

De flesta känner bara till det första steget. Det är det andra som fallerar.

Regeln i en mening

En medlem, bot inräknad, kan bara ge och ta bort roller som sitter under dess egen högsta roll. Och den kan bara moderera medlemmar vars högsta roll sitter under dess egen.

Det gäller även med Administratör. Administratör åsidosätter behörigheter, inte hierarkin. En bot med Administratör vars roll sitter längst ner i listan kan i praktiken ingenting.

Ett exempel

Din rollista ser ut så här, uppifrån och ner:

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

Det här kan boten göra:

  • Ge och ta bort Verified och Member
  • Moderera medlemmar vars högsta roll är Verified eller Member

Det här kan boten inte göra:

  • Ge Moderator, eftersom den rollen sitter ovanför
  • Kicka, banna eller byta namn på en moderator
  • Röra en administratör

Om du vill att boten ska kunna ge moderatorrollen måste du dra dess roll ovanför Moderator. Inte tvärtom.

Det praktiska rådet

Placera botens roll direkt under din högsta personalroll. Så här:

Owner
Administrator
AlphaCloud          <- here
Moderator
Verified
Member

Då kan boten hantera allt under ledningen utan att kunna röra själva ledningen. Det är nästan alltid precis det du vill.

Ordningen ändrar du under Serverinställningar, Roller genom att dra.

Tre specialfall som ändå inte fungerar

Även med en perfekt hierarki finns det tre saker som Discord aldrig tillåter en bot:

Byta namn på eller moderera serverägaren. Ägaren står utanför hierarkin. Ingen roll och ingen behörighet ändrar det.

Redigera roller på samma position. Två roller på samma höjd kan inte röra varandra. Det måste vara verkligen ovanför, inte i jämnhöjd.

Ge rollen @everyone. Alla har den automatiskt, den kan inte tilldelas.

Kanalbehörigheter slår serverbehörigheter

Det näst vanligaste fallet: enligt sin roll får boten skicka meddelanden, men gör det inte i just en kanal.

Discord tillåter undantag från serverbehörigheterna per kanal. Om Skicka meddelanden uttryckligen nekas i en kanal för @everyone eller för någon av botens roller, vinner det, oavsett vad serverrollen säger.

Du kan kontrollera det direkt: kanalinställningar, Behörigheter, välj sedan boten högst upp under Visa behörigheter för. Discord visar då exakt vad den får göra i den kanalen.

Vilken behörighet för vad

Om du hellre inte ger en bot Administratör rakt av är det här den realistiska listan:

Uppgift Behörighet
Tilldela roller Hantera roller
Tickets, tillfälliga kanaler Hantera kanaler
Radera spam Hantera meddelanden
Tysta Ge medlemmar timeout
Ta bort Kicka medlemmar, Banna medlemmar
Flytta till AFK-kanalen Flytta medlemmar
Prefix i smeknamn Hantera smeknamn
Veta vem som utlöste en åtgärd Visa granskningslogg

Administratör är ändå det pragmatiska valet om du använder många funktioner. Inte för att det är säkrare, utan för att varje ny funktion annars skickar dig på jakt efter den enda behörighet som saknas. Oavsett vilket är hierarkin den viktigare spaken.

Kortversionen för felsökning

När något inte fungerar, gå igenom de här fyra frågorna i ordning:

  1. Sitter botens roll ovanför rollen det gäller?
  2. Sitter botens roll ovanför medlemmen det gäller?
  3. Har boten rätt behörighet på servernivå?
  4. Nekas den behörigheten uttryckligen i den här kanalen?

I nio fall av tio är det fråga 1 eller 2.

Fler artiklar