الأدوار والصلاحيات
كيف تُحسب الصلاحيات
- يستطيع مالك السيرفر فعل كل شيء.
- وإلا فالبداية من الصلاحيات الافتراضية للسيرفر (
@everyone). - أضف صلاحيات كل دور للعضو (
allow)، ثم احذف ما ترفضه الأدوار، من الأدنى ترتيبًا إلى الأعلى. - في القناة، طبّق التجاوز الافتراضي للقناة، ثم تجاوزات الأدوار بالطريقة نفسها.
- العضو في مهلة لا يحتفظ إلا برؤية القناة وقراءة الرسائل السابقة.
الصلاحيات رقم من 64 بتًا، وكل صلاحية بت واحد. استخدم BigInt في JavaScript: فالرقم العادي لا يحفظ كل بت بدقة.
const SEND_MESSAGE = 1n << 22n;
const canSend =
(BigInt(interaction.user_permissions_string) & SEND_MESSAGE) === SEND_MESSAGE;يخبرك كل تفاعل بصلاحيات من استخدمه (user_permissions_string) وصلاحيات بوتك (app_permissions_string) في تلك القناة، فنادرًا ما تحتاج إلى حسابها بنفسك.
أسماء الصلاحيات
تذكر نقاط النهاية في هذا المرجع صلاحيات مثل Timeout Members. وفي الأخطاء تُكتب الصلاحية نفسها TimeoutMembers، وهو العمود الأول في الجدول أدناه. اجمع القيم لإرسال عدة صلاحيات: Kick Members (64) وBan Members (128) تساويان 192.
المواضيع والمنتديات
الصلاحيات CreateThreads وSendMessageInThreads وCreateForumPosts مفعّلة افتراضيًا لـ @everyone. امنعها في دور أو في قناة ليقتصر هؤلاء الأعضاء على القراءة. تُقرأ من القناة الأم، إضافة إلى صلاحية إرسال الرسائل.
الترتيب
للأدوار ترتيب، والرقم الأقل أعلى مرتبة. لا يعدّل البوت أو يمنح أو يسحب أو يطرد أو يحظر أو يعطي مهلة إلا لأعضاء وأدوار أدنى من أعلى دور له. وإلا أجاب السيرفر بـNotElevated. اطلب من مسؤولي السيرفر رفع دور بوتك إذا كان يشرف.
بتات الصلاحيات
| Permission | Bit | Value | |
|---|---|---|---|
ManageChannel | 0 | 1 | إدارة القناة أو قنوات السيرفر |
ManageServer | 1 | 2 | إدارة السيرفر |
ManagePermissions | 2 | 4 | إدارة الصلاحيات في السيرفر أو القنوات |
ManageRole | 3 | 8 | إدارة أدوار السيرفر |
ManageCustomisation | 4 | 16 | إدارة تخصيص السيرفر، مثل الرموز التعبيرية |
KickMembers | 6 | 64 | طرد الأعضاء |
BanMembers | 7 | 128 | حظر الأعضاء |
TimeoutMembers | 8 | 256 | إعطاء الأعضاء مهلة صمت |
AssignRoles | 9 | 512 | إسناد الأدوار إلى الأعضاء الأدنى ترتيبًا |
ChangeNickname | 10 | 1024 | تغيير اللقب الخاص |
ManageNicknames | 11 | 2048 | تغيير ألقاب الآخرين أو إزالتها |
ChangeAvatar | 12 | 4096 | تغيير الصورة الخاصة في السيرفر |
RemoveAvatars | 13 | 8192 | إزالة صور الآخرين في السيرفر |
ViewChannel | 20 | 1048576 | رؤية القناة |
ReadMessageHistory | 21 | 2097152 | قراءة الرسائل السابقة |
SendMessage | 22 | 4194304 | إرسال الرسائل |
ManageMessages | 23 | 8388608 | حذف الرسائل وتثبيتها وإدارتها |
ManageWebhooks | 24 | 16777216 | إدارة الويب هوك |
InviteOthers | 25 | 33554432 | إنشاء الدعوات |
SendEmbeds | 26 | 67108864 | إرسال التضمينات |
UploadFiles | 27 | 134217728 | رفع الملفات |
Masquerade | 28 | 268435456 | تغيير الاسم والصورة الظاهرين على الرسائل |
React | 29 | 536870912 | إضافة التفاعلات |
Connect | 30 | 1073741824 | الاتصال بالقنوات الصوتية |
Speak | 31 | 2147483648 | التحدث في القنوات الصوتية |
Video | 32 | 4294967296 | مشاركة الفيديو والشاشة |
MuteMembers | 33 | 8589934592 | كتم صوت الأعضاء |
DeafenMembers | 34 | 17179869184 | منع الأعضاء من السماع |
MoveMembers | 35 | 34359738368 | نقل الأعضاء بين القنوات الصوتية |
Listen | 36 | 68719476736 | الاستماع في القنوات الصوتية |
MentionEveryone | 37 | 137438953472 | ذكر @everyone و@online |
MentionRoles | 38 | 274877906944 | ذكر الأدوار |
BypassSlowmode | 39 | 549755813888 | تجاوز الوضع البطيء |
ViewAuditLogs | 40 | 1099511627776 | قراءة سجل التدقيق |
UseExternalEmojis | 41 | 2199023255552 | استخدام رموز تعبيرية من سيرفرات أخرى |
ManageJoinRequests | 42 | 4398046511104 | قبول طلبات الانضمام أو رفضها |
CreateThreads | 43 | 8796093022208 | بدء موضوع في قناة نصية |
SendMessageInThreads | 44 | 17592186044416 | الكتابة في المواضيع ومنشورات المنتديات |
CreateForumPosts | 45 | 35184372088832 | بدء منشور في منتدى |
Administrator | 46 | 70368744177664 | كل الحقوق في كل قنوات السيرفر، مهما قالت إعدادات القنوات |
UseSoundboard | 47 | 140737488355328 | تشغيل أصوات لوحة أصوات السيرفر في مكالمة صوتية |
ManageSoundboard | 48 | 281474976710656 | إضافة أصوات لوحة أصوات السيرفر وتغييرها وحذفها |
المرجع
PUT /channels/{target}/permissions/{role_id}
Set Role Permission. Sets permissions for the specified role in this channel.
Channel must be a TextChannel.
الصلاحيات: Channel:ManagePermissions · حد المعدل: 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.
الصلاحيات: Channel:ManagePermissions · حد المعدل: 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.
الصلاحيات: Channel:ManagePermissions · حد المعدل: 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.
الصلاحيات: Channel:ManagePermissions · حد المعدل: 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.
حد المعدل: 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.
حد المعدل: servers, 5 / 10 s
PUT /servers/{target}/permissions/{role_id}
Set Role Permission. Sets permissions for the specified role in the server.
الصلاحيات: Channel:ManagePermissions · حد المعدل: servers, 5 / 10 s
PUT /servers/{target}/permissions/default
Set Default Permission. Sets permissions for the default role in this server.
الصلاحيات: Channel:ManagePermissions · حد المعدل: servers, 5 / 10 s
POST /servers/{target}/roles
Create Role. Creates a new server role.
الصلاحيات: Channel:ManageRole · حد المعدل: servers, 5 / 10 s
DELETE /servers/{target}/roles/{role_id}
Delete Role. Delete a server role by its id.
الصلاحيات: Channel:ManageRole · حد المعدل: servers, 5 / 10 s
GET /servers/{target}/roles/{role_id}
Fetch Role. Fetch a role by its id.
حد المعدل: servers, 5 / 10 s
PATCH /servers/{target}/roles/{role_id}
Edit Role. Edit a role by its id.
الصلاحيات: Channel:ManageRole · حد المعدل: servers, 5 / 10 s
PATCH /servers/{target}/roles/ranks
Edits server roles ranks. Edit's server role's ranks.
الصلاحيات: Channel:ManageRole · حد المعدل: servers, 5 / 10 s