Zrzur Entwickler

Rollen und Berechtigungen

So werden Berechtigungen berechnet

  1. Der Servereigentümer darf alles.
  2. Sonst beginne bei den Standardberechtigungen des Servers (@everyone).
  3. Addiere die Berechtigungen jeder Rolle des Mitglieds (allow), dann entferne, was Rollen verweigern, von der niedrigsten zur höchsten Rolle.
  4. Wende in einem Kanal die Standard-Überschreibung des Kanals an, dann die der Rollen, auf dieselbe Art.
  5. Ein Mitglied im Timeout behält nur „Kanal sehen“ und „Ältere Nachrichten lesen“.

Berechtigungen sind eine 64-Bit-Zahl; jede Berechtigung ist ein Bit. Nimm in JavaScript BigInt: Eine einfache Zahl kann nicht jedes Bit genau halten.

const SEND_MESSAGE = 1n << 22n;
const canSend =
  (BigInt(interaction.user_permissions_string) & SEND_MESSAGE) === SEND_MESSAGE;

Jede Interaktion nennt dir die Berechtigungen der Person (user_permissions_string) und deines Bots (app_permissions_string) in diesem Kanal, du musst sie also selten selbst berechnen.

Berechtigungsnamen

Endpunkte in dieser Referenz nennen Berechtigungen wie Timeout Members. In einem Fehler steht dieselbe Berechtigung als TimeoutMembers, die erste Spalte der Tabelle unten. Addiere Werte, um mehrere zu senden: Kick Members (64) und Ban Members (128) ergeben 192.

Threads und Foren

CreateThreads, SendMessageInThreads und CreateForumPosts sind für @everyone standardmäßig an. Verbiete sie an einer Rolle oder einem Kanal, dann können diese Personen nur lesen. Sie werden am übergeordneten Kanal gelesen, zusätzlich zu Nachrichten senden.

Rang

Rollen haben einen Rang; eine kleinere Zahl steht höher. Ein Bot kann nur Mitglieder und Rollen unter seiner höchsten Rolle bearbeiten, vergeben, entziehen, kicken, bannen oder mit Timeout belegen. Sonst antwortet der Server NotElevated. Bitte die Admins, die Rolle deines Bots höher zu setzen, wenn er moderiert.

Berechtigungsbits

PermissionBitValue
ManageChannel01Den Kanal oder die Kanäle des Servers verwalten
ManageServer12Den Server verwalten
ManagePermissions24Berechtigungen auf Servern oder Kanälen verwalten
ManageRole38Rollen des Servers verwalten
ManageCustomisation416Anpassungen des Servers verwalten, etwa Emojis
KickMembers664Mitglieder kicken
BanMembers7128Mitglieder bannen
TimeoutMembers8256Mitgliedern ein Timeout geben
AssignRoles9512Rangniedrigeren Mitgliedern Rollen geben
ChangeNickname101024Den eigenen Spitznamen ändern
ManageNicknames112048Spitznamen anderer ändern oder entfernen
ChangeAvatar124096Den eigenen Server-Avatar ändern
RemoveAvatars138192Server-Avatare anderer entfernen
ViewChannel201048576Den Kanal sehen
ReadMessageHistory212097152Ältere Nachrichten lesen
SendMessage224194304Nachrichten senden
ManageMessages238388608Nachrichten löschen, anheften und verwalten
ManageWebhooks2416777216Webhooks verwalten
InviteOthers2533554432Einladungen erstellen
SendEmbeds2667108864Embeds senden
UploadFiles27134217728Dateien hochladen
Masquerade28268435456Namen und Avatar auf Nachrichten ändern
React29536870912Reaktionen hinzufügen
Connect301073741824Sprachkanälen beitreten
Speak312147483648In Sprachkanälen sprechen
Video324294967296Video und Bildschirm teilen
MuteMembers338589934592Mitglieder stummschalten
DeafenMembers3417179869184Mitgliedern das Hören sperren
MoveMembers3534359738368Mitglieder zwischen Sprachkanälen verschieben
Listen3668719476736In Sprachkanälen zuhören
MentionEveryone37137438953472@everyone und @online erwähnen
MentionRoles38274877906944Rollen erwähnen
BypassSlowmode39549755813888Den langsamen Modus umgehen
ViewAuditLogs401099511627776Das Audit-Log lesen
UseExternalEmojis412199023255552Emojis anderer Server benutzen
ManageJoinRequests424398046511104Beitrittsanfragen annehmen oder ablehnen
CreateThreads438796093022208Einen Thread in einem Textkanal starten
SendMessageInThreads4417592186044416In Threads und Forenbeiträgen schreiben
CreateForumPosts4535184372088832Einen Beitrag in einem Forum starten
Administrator4670368744177664Alle Rechte in allen Kanälen des Servers, egal was deren Einstellungen sagen
UseSoundboard47140737488355328Sounds des Server-Soundboards in einem Sprachanruf abspielen
ManageSoundboard48281474976710656Sounds des Server-Soundboards hinzufügen, ändern und entfernen

Referenz

PUT /channels/{target}/permissions/{role_id}

Set Role Permission. Sets permissions for the specified role in this channel. Channel must be a TextChannel.

Berechtigungen: Channel:ManagePermissions · Ratenlimit: channels, 15 / 10 s

PUT /channels/{target}/permissions/default

Set Default Permission. Sets permissions for the default role in this channel. Channel must be a Group or TextChannel. A channel synced with its category stops following it: it keeps a copy of the category's permissions and the change applies on top.

Berechtigungen: Channel:ManagePermissions · Ratenlimit: channels, 15 / 10 s

PUT /channels/{target}/permissions/members/{user_id}

Set Member Permission. Sets one member's permissions in this channel, applied after every role (for example a ticket only its author and the staff can see). An empty override (allow 0, deny 0) removes it. Channel must be a TextChannel. Needs Manage Permissions in the channel, a higher rank than the member, and only the permissions you hold yourself.

Berechtigungen: Channel:ManagePermissions · Ratenlimit: channels, 15 / 10 s

POST /channels/{target}/permissions/sync

Sync Permissions With Category. The channel follows its category's permissions again; its own default and role overrides are cleared. Per-member overrides stay.

Berechtigungen: Channel:ManagePermissions · Ratenlimit: channels, 15 / 10 s

PUT /servers/{target}/categories/{category_id}/permissions/{role_id}

Set Category Role Permission. Sets a role's permissions for a category. Channels synced with the category use them instead of their own. An empty override removes it.

Ratenlimit: servers, 5 / 10 s

PUT /servers/{target}/categories/{category_id}/permissions/default

Set Category Default Permission. Sets the default permissions for a category. Channels synced with the category use them instead of their own.

Ratenlimit: servers, 5 / 10 s

PUT /servers/{target}/permissions/{role_id}

Set Role Permission. Sets permissions for the specified role in the server.

Berechtigungen: Channel:ManagePermissions · Ratenlimit: servers, 5 / 10 s

PUT /servers/{target}/permissions/default

Set Default Permission. Sets permissions for the default role in this server.

Berechtigungen: Channel:ManagePermissions · Ratenlimit: servers, 5 / 10 s

POST /servers/{target}/roles

Create Role. Creates a new server role.

Berechtigungen: Channel:ManageRole · Ratenlimit: servers, 5 / 10 s

DELETE /servers/{target}/roles/{role_id}

Delete Role. Delete a server role by its id.

Berechtigungen: Channel:ManageRole · Ratenlimit: servers, 5 / 10 s

GET /servers/{target}/roles/{role_id}

Fetch Role. Fetch a role by its id.

Ratenlimit: servers, 5 / 10 s

PATCH /servers/{target}/roles/{role_id}

Edit Role. Edit a role by its id.

Berechtigungen: Channel:ManageRole · Ratenlimit: servers, 5 / 10 s

PATCH /servers/{target}/roles/ranks

Edits server roles ranks. Edit's server role's ranks.

Berechtigungen: Channel:ManageRole · Ratenlimit: servers, 5 / 10 s