Перейти к основному содержимому
Версия: 2026.2.4

Права и роли

В отличие от Gateway Intents (грубая проверка «умеет ли бот вообще»), права из этого раздела определяют, что боту разрешено делать в конкретной группе и в конкретном канале. Система прав у ботов полностью совпадает с системой прав у людей — это одна и та же модель, как в Discord: биты прав (Permissions), роли, персональные и ролевые оверрайды на уровне канала/категории.

Управляемая роль бота​

Когда владелец добавляет бота в группу (AddBotToGroup, см. «Быстрый старт»), сервер автоматически создаёт для бота отдельную управляемую роль («managed role») с набором битов прав, который владелец передал в поле permissions — это прямой аналог параметра permissions= в пригласительной ссылке Discord.

Важные особенности управляемой роли:

  • владелец бота не может выдать боту больше прав, чем есть у него самого в этой группе;
  • управляемую роль нельзя назначить/снять вручную через обычные методы работы с ролями — она привязана строго к одному боту;
  • при исключении бота из группы или его выходе управляемая роль удаляется автоматически.

Дальше, уже находясь в группе, бот может (если ему выдан бит ManageRoles, см. ниже) создавать дополнительные, обычные роли и назначать их себе или другим участникам через методы BotsApi (CreateRole, AssignRole и т.д.) — они работают как самые обычные роли группы, без ограничений управляемой роли.

Как считаются эффективные права​

Эффективные права участника (человека или бота) в конкретном канале считаются так же, как в Discord:

  1. База — объединение (побитовое ИЛИ) прав роли @everyone и всех остальных ролей, назначенных участнику.
  2. Если в базе есть бит Administrator — все дальнейшие проверки и оверрайды пропускаются, участник получает полный доступ.
  3. Иначе последовательно применяются оверрайды канала (или родительской категории, если канал синхронизирован с ней): сначала оверрайд @everyone, затем объединённый deny/allow по всем остальным ролям участника (сначала снимаются все deny, затем добавляются все allow), и в конце — персональный оверрайд конкретного участника (имеет наивысший приоритет).

Если ваш бот получает отказ в действии, которое, казалось бы, разрешено его ролью — проверьте, нет ли на конкретном канале персонального «deny»-оверрайда для этого бота или его роли.

Список прав (Permissions)​

Права — это битовая маска uint64. Значения битов стабильны и не меняются между версиями API.

ПравоЗначение бита (1 << n)Описание
ViewChannels1Просматривать каналы группы
ManageChannels2Создавать, редактировать и удалять каналы и категории
ManageRoles4Создавать, редактировать, удалять роли; назначать/снимать роли участникам
ManageEmojisAndStickers8Управлять пользовательскими эмодзи и стикерами
ViewAuditLog16Просматривать журнал аудита группы
ViewServerInsights32Просматривать статистику и аналитику группы
ManageWebhooks64Управлять вебхуками
ManageServer128Изменять настройки группы
CreateInvite256Создавать пригласительные ссылки
ChangeNickname512Изменять собственный никнейм в группе
ManageNicknames1024Изменять никнеймы других участников
KickMembers2048Исключать участников из группы
BanMembers4096Блокировать участников в группе
ManageEvents8192Создавать и управлять событиями группы
Administrator16384Полные права без ограничений (см. алгоритм выше)
SendMessages32768Отправлять сообщения в текстовых каналах
SendMessagesInThreads65536Отправлять сообщения в тредах
CreatePublicThreads131072Создавать публичные треды
CreatePrivateThreads262144Создавать приватные треды
EmbedLinks524288Вставлять ссылки с предпросмотром в сообщениях
AttachFiles1048576Прикреплять файлы к сообщениям
AddReactions2097152Добавлять реакции на сообщения
UseExternalEmoji4194304Использовать эмодзи с других серверов
UseExternalStickers8388608Использовать стикеры с других серверов
MentionEveryone16777216Упоминать @everyone, @here и все роли
ManageMessages33554432Удалять и закреплять чужие сообщения
ManageThreads67108864Управлять тредами (архивировать, закреплять, удалять)
ReadMessageHistory134217728Просматривать историю сообщений канала
SendTextToSpeechMessages268435456Отправлять сообщения с озвучиванием текста (TTS)
UseApplicationCommands536870912Использовать слэш-команды приложений
Connect1073741824Подключаться к голосовому каналу
Speak2147483648Говорить в голосовом канале
Video4294967296Включать видео и демонстрацию экрана
StartActivities8589934592Запускать активности в голосовом канале
UseVoiceActivity17179869184Использовать голосовую активацию микрофона
PrioritySpeaker34359738368Приглушать звук других при собственной речи
MuteMembers68719476736Выключать микрофон другим участникам голосового канала
DeafenMembers137438953472Отключать звук другим участникам голосового канала
MoveMembers274877906944Перемещать участников между голосовыми каналами
RequestToSpeak549755813888Запрашивать право высказаться в трибунном канале

Для типичного текстового бота обычно достаточно ViewChannels | SendMessages | ReadMessageHistory | AddReactions = 1 | 32768 | 134217728 | 2097152 = 136314881.

Управление ролями и структурой группы от лица бота​

Если у бота есть intent Guilds и в конкретной группе выданы соответствующие права (ManageChannels/ManageRoles), он может через BotsApi управлять структурой этой группы — точно теми же действиями, что доступны человеку с такими же правами:

МетодТребуемое право (Permissions)Что делает
CreateCategoryManageChannelsСоздаёт категорию в группе
CreateChannelManageChannelsСоздаёт канал внутри категории
CreateRoleManageRolesСоздаёт новую роль в группе
UpdateRoleManageRolesИзменяет имя/права/цвет роли
DeleteRoleManageRolesУдаляет роль
AssignRoleManageRolesВыдаёт роль участнику группы
RemoveRoleManageRolesЗабирает роль у участника группы

Несколько правил, о которых важно помнить, если ваш бот работает с ролями:

  • Иерархия ролей. Бот не может создать, изменить, выдать или забрать роль, которая находится выше или на одном уровне с его собственной управляемой ролью в иерархии позиций группы. Это то же правило, что действует для людей: нельзя управлять ролями «сильнее» собственной.
  • Нельзя выдать больше прав, чем есть у себя. При создании роли с помощью CreateRole бот не может указать в правах новой роли биты, которых у него самого сейчас нет в этой группе (кроме случая, когда у самого бота уже есть Administrator).
  • Создание группы («сервера») ботам недоступно намеренно. Бот может создавать только категории и каналы внутри уже существующей группы, в которой состоит — не саму группу.
  • Роль @everyone и управляемые роли (в том числе принадлежащие другим ботам) нельзя изменять или удалять этими методами — сервер вернёт ошибку.

Полные описания запросов и ответов этих методов — в разделе «BotsApi: методы бота».