Гайд · Антинюк

Права в Дискорде: как они складываются и какие из них опасны

Как роли, права каналов и «Администратор» определяют, что может участник, насколько рискованно каждое важное право, безопасные схемы для модераторов, хелперов и ботов и быстрый аудит.

АнтинюкМодерация

На этой странице

Права в Дискорде — это переключатели, привязанные к ролям. Участник может всё, что разрешает хотя бы одна из его ролей: права складываются, а в общих правах сервера нет «запрета». Дальше каждый канал может это переопределить правами канала (разрешить, запретить или наследовать) для отдельных ролей и участников. Администратор обходит всё это: у кого есть это право, тот может всё и везде, что бы ни было написано в канале.

Несколько прав позволяют разнести сервер за минуту: «Администратор», «Управлять сервером», «Управлять ролями», «Управлять каналами», «Управлять вебхуками», бан и кик участников. В этом гайде разберём, как Discord вычисляет, что может участник, оценим риск каждого важного права, дадим безопасные схемы для хелперов, модераторов и ботов и покажем, как проверить свой сервер, — а затем расскажем, как это подстраховывают антинюк и защита ролей в BotGG.

Как складываются права в Дискорде

Discord считает права участника в строгом порядке. Зная его, легко ответить на большинство вопросов вида «почему он видит этот канал?».

1. Права сервера: роли складываются

У каждого участника есть роль @everyone и роли, которые вы ему выдали. Его права на сервере — сумма прав всех этих ролей. Если @everyone может писать сообщения, а роль «Хелпер» добавляет «Управлять сообщениями», у хелпера есть и то и другое. Отнять право на уровне сервера другой ролью нельзя: если хоть одна роль его даёт, оно у участника есть.

Поэтому @everyone — это база: всё, что может эта роль, может любой новый аккаунт, включая твинк только что забаненного.

2. Права канала переопределяют права сервера

В настройках канала → Права доступа можно поставить для роли или конкретного участника разрешение (✓), запрет (✗) или наследование (/). Discord применяет их в таком порядке, и каждый следующий шаг сильнее:

  1. Права участника на сервере (сумма всех ролей).
  2. Настройки канала для @everyone.
  3. Настройки канала для всех ролей участника вместе: сначала запреты, потом разрешения. Если одной его роли запрещено, а другой разрешено, побеждает разрешение.
  4. Настройка для конкретного участника — самая сильная.
СитуацияРезультат
@everyone запрещён «Просмотр канала», роли «Стафф» разрешёнСтафф видит канал
Роли «Мут» запрещено писать, роли «Участник» разрешено, у человека обеОн может писать (между ролями разрешение сильнее запрета)
Роли разрешено, но лично участнику запрещеноЗапрещено
В канале запрещено всё, но у участника есть «Администратор»Он видит и может всё

Поэтому роли «Мут» на запретах в каналах ненадёжны — встроенный в Discord тайм-аут работает лучше: участник в тайм-ауте может только читать.

Помогают и два неявных правила: без просмотра канала все остальные права в нём ничего не значат, а без отправки сообщений участник не может там ни прикреплять файлы, ни встраивать ссылки, ни упоминать @everyone.

3. Администратор и владелец обходят всё

У владельца сервера и у всех с правом Администратор есть все права во всех каналах, настройки каналов на них не действуют. «Администратор» — это не «много прав», а отсутствие ограничений, поэтому никогда не выдавайте его «для удобства».

4. Категории и синхронизация

Канал внутри категории может быть синхронизирован с ней: он использует права категории, и изменение категории меняет канал. Стоит изменить права самого канала — синхронизация пропадает, и у канала остаётся своя копия. Дальнейшие изменения категории до него уже не доходят — частая причина, почему в «закрытой» категории остаётся один открытый канал. В настройках канала видно, синхронизирован ли он, и есть кнопка, чтобы синхронизировать заново.

5. Иерархия ограничивает, кто кем управляет

Позиция роли не влияет на права в каналах, но ограничивает власть: участник (или бот) с правом «Управлять ролями» может редактировать и выдавать только роли ниже своей высшей роли, не может выдать право, которого нет у него самого, и может кикнуть, забанить или отправить в тайм-аут только тех, чья высшая роль ниже его. Подробно о порядке ролей — в гайде роли в Дискорде.

Все важные права и их уровень риска

ПравоЧто позволяетРиск
АдминистраторВсё, игнорируя любые настройки каналовКритический
Управлять серверомПереименовать сервер, менять настройки безопасности и персональную ссылку, добавлять ботовКритический
Управлять ролямиСоздавать, менять, удалять и выдавать роли ниже своей; менять права каналовКритический
Управлять каналамиСоздавать, менять и удалять каналы и категорииВысокий
Управлять вебхукамиСоздавать вебхуки, которые пишут от любого имени, в том числе с @everyone, даже после бана автораВысокий
Банить участниковБанить и удалять их недавние сообщенияВысокий
Выгонять участниковУдалять участников с сервераВысокий
Отправлять участников подумать о своём поведении (тайм-аут)Лишать участников голоса до 28 днейВысокий
Упоминать @everyone, @here и все ролиПинговать весь сервер и роли, которые нельзя упоминатьВысокий
Управлять выражениями (эмодзи, стикеры, звуки)Менять и удалять все эмодзи, стикеры и звукиВысокий
Управлять сообщениямиУдалять и закреплять чужие сообщенияСредний
Управлять веткамиУдалять, закрывать и архивировать ветки и публикации на форумеСредний
Управлять никнеймамиМенять ник кому угодно (удобно для выдачи себя за другого)Средний
Отключать микрофон, звук и перемещать участниковГлушить, перетаскивать и отключать людей в голосовых каналахСредний
Просматривать журнал аудитаВидеть все действия стаффа и изменения настроекСредний
Управлять событиямиМенять и удалять запланированные событияНизкий
Создавать приглашенияСоздавать ссылки-приглашенияНизкий
Просмотр каналов, отправка сообщений, история, реакции, ссылки, файлы, подключение, речь, видео, команды приложенийОбычная активность участникаНизкий

Простое правило: критические права — только владельцу и одному-двум совладельцам, высокие — проверенному стаффу с 2FA и только то, что нужно для работы, средние подходят хелперам, низкие — обычный набор участника.

Безопасные схемы прав для стаффа и ботов

РольПрава на сервереЗаметки
@everyoneПросмотр каналов, отправка сообщений, чтение истории, реакции, встраивание ссылок, файлы, подключение, речь, команды приложенийВыключите упоминание @everyone; приглашения тоже, если их должен создавать только стафф
ХелперНабор участника + «Управлять сообщениями», тайм-аутХватает, чтобы убрать спам и остудить ссору
МодераторНабор хелпера + кик, бан, «Управлять ветками», перемещение участниковБез «Управлять ролями», «Управлять каналами» и «Управлять вебхуками»
Админ / совладелецНабор модератора + «Управлять каналами», «Управлять ролями», журнал аудита«Администратор» — только если доверяете ему весь сервер
БотыРовно то, что нужно их функциямНикогда не «Администратор, чтобы проще было настроить»
Косметические роли (цвета, пинги, уровни)НичегоДоступ к каналам — через настройки каналов, а не через права

Чтобы эти схемы работали, нужны привычки:

  • Включите 2FA для модерации. В Настройках сервера → Настройка безопасности владелец может требовать двухфакторную аутентификацию для действий модераторов. Без 2FA участник не сможет банить, кикать, удалять сообщения и управлять каналами, даже если роли это позволяют.
  • Открывайте закрытые каналы настройками канала, а не мощными ролями. Роль «Стафф» можно пустить в #стафф-чат вообще без прав на сервере.
  • У ботов своя управляемая роль. При добавлении бота Discord создаёт роль с правами, которые вы подтвердили на экране приглашения. Снимите лишние галочки до нажатия «Авторизовать» и проверьте роль после — её права меняются как у любой другой роли. Помните: кто может добавлять ботов («Управлять сервером»), тот может завести аккаунт с любым правом, которое есть у него самого.

Как проверить права на своём сервере

Делайте это после каждой смены стаффа и просто раз в несколько месяцев:

  1. Настройки сервера → Роли. Откройте каждую роль, найдите критические и высокие права и спросите себя, кому они ещё нужны.
  2. Начните с @everyone. Шаблоны и старые настройки иногда оставляют «Управлять сообщениями» или упоминание @everyone включёнными для всех.
  3. Используйте «Просмотреть сервер от лица роли» (в меню роли в Настройках сервера → Роли), чтобы увидеть сервер глазами участника или хелпера.
  4. Откройте права закрытых каналов. Ищите разрешения для широких ролей и забытые настройки для отдельных участников; синхронизируйте с категорией каналы, которые должны с ней совпадать.
  5. Настройки сервера → Интеграции. Удалите ботов, которыми больше не пользуетесь, и проверьте роль каждого. Здесь же можно ограничить, кто и в каких каналах может использовать команды бота.
  6. Настройки сервера → Участники. Отфильтруйте по роли и посмотрите, у кого на самом деле мощные роли, — особенно у неактивных аккаунтов.

Как BotGG обращается с опасными правами

Антинюк следит за опасными правами

У антинюка BotGG есть мгновенный триггер ровно на те права, которые позволяют захватить сервер. Если человек без доверия даёт роли «Администратор», «Управлять сервером», «Управлять ролями», «Управлять каналами», «Управлять вебхуками», бан, кик, управление эмодзи и стикерами, упоминание @everyone или тайм-аут — или выдаёт такую роль участнику, — антинюк срабатывает сразу, не дожидаясь массовых удалений. По умолчанию он отправляет аккаунт в карантин, а затем откатывает что может: снимает опасные права с изменённой роли и забирает выданную опасную роль.

Доверенные — это владелец, BotGG и указанные вами пользователи и роли; доверенная роль начинает действовать только через десять минут после выдачи, а сама выдача доверенной роли — тоже мгновенный триггер. При возврате ролей из карантина роли с опасными правами требуют отдельного подтверждения. Автовосстановление удалённых каналов и ролей из последнего бэкапа входит бесплатно. Полная настройка — в гайде по защите от нюка.

BotGG не выдаёт слишком мощные роли

Многие функции BotGG выдают роли автоматически: меню ролей, награды за уровни и приглашения, товары в магазине, верификация, одобренные заявки, игровые роли, шаги «выдать роль» во Flows. Если бы любой с правом «Управлять сервером» мог поставить наградой роль с «Администратором», консоль стала бы чёрным ходом. Поэтому при сохранении таких настроек консоль проверяет роль:

  • Слишком мощная — если у роли есть любое из прав захвата выше, либо «Управлять сообщениями», «Управлять ветками», «Управлять никнеймами», «Управлять событиями», отключение микрофона или звука, перемещение участников или журнал аудита, сохранение отклоняется. Разрешить её может только владелец сервера или участник с «Администратором» — добавив роль в Привилегированные роли в настройках бота.
  • Выше вашей — настраивать можно только роли ниже вашей высшей роли, то же правило, что Discord применяет при ручной выдаче. На владельца это не распространяется.

Бот проверяет роль ещё раз в момент выдачи, так что роль, которая получила опасное право позже, всё равно не будет выдана.

Модерация работает с той же идеей с другой стороны: можно назначить роли модераторов, чтобы стафф пользовался /warn, /timeout, /kick и /ban через BotGG, не получая сами права Discord. BotGG всё равно проверяет, что цель ниже модератора по ролям, каждое действие становится пронумерованным случаем в мод-логе, а антинюк засчитывает кики и баны через BotGG на имя самого модератора.

Права самого BotGG: без «Администратора»

Ссылка-приглашение BotGG (https://discord.com/oauth2/authorize?client_id=1553367772451446804&scope=bot%20applications.commands&permissions=282970448981207) запрашивает фиксированный список прав, и «Администратора» в нём нет:

ПраваЗачем они BotGG
Просмотр каналов, отправка сообщений, сообщения в ветках, встраивание ссылок, файлы, история, реакции, внешние эмодзиОтветы, панели, оповещения и эмбеды
Упоминание @everyoneТолько пинги, которые настроили вы, например оповещение о стриме для @everyone
Управлять сообщениямиЗакрепление панелей и /purge
Управлять каналами, управлять ролямиКаналы тикетов и лобби, блокировка каналов, права каналов, выдача ролей
Управлять ветками, создавать публичные и приватные веткиВетки пати и тикетов
Подключение, перемещение участников, статус голосового каналаВременные голосовые лобби
Кик, бан и тайм-аутКоманды модерации, реакция антирейда и антинюка
Журнал аудитаПонимать, кто удалил канал; имена модераторов в логах
Создавать приглашенияСсылки-приглашения и одноразовое приглашение после одобренной апелляции на бан

Не запрашиваются: «Администратор», «Управлять сервером», «Управлять вебхуками», «Управлять выражениями», «Управлять никнеймами», отключение микрофона и звука. Бот с «Администратором» — это мастер-ключ: если его токен утечёт, у злоумышленника будут все права, и никакие настройки каналов его не остановят. С конкретным списком защиты Discord действуют на BotGG так же, как на любого участника.

Два следствия: BotGG может управлять только ролями и участниками ниже своей роли, поэтому поднимите её выше ролей стаффа; а без «Управлять вебхуками» антинюк сообщает о вебхуках, созданных злоумышленником, вместо того чтобы удалить их, — выдайте это право сами, если хотите. Если чего-то не хватает, карточка Права бота в консоли покажет, чего именно, и предложит пригласить BotGG заново с рекомендуемыми правами.

Частые вопросы

Какие права в Дискорде самые опасные?

«Администратор», «Управлять сервером» и «Управлять ролями» — критические; «Управлять каналами», «Управлять вебхуками», бан, кик, тайм-аут, упоминание @everyone и «Управлять выражениями» — высокого риска. Держите их у минимума ролей и включите 2FA для модерации.

Запрет в канале сильнее разрешения роли?

Между ролями — нет: если одной роли участника в канале разрешено, а другой запрещено, побеждает разрешение. Разрешение роли перебивает только личный запрет участника, а «Администратора» не перебивает ничто.

Почему участник видит канал, который я закрыл?

Обычно у другой его роли есть разрешение в этом канале, у него есть личное разрешение или у него «Администратор». Проверьте через «Просмотреть сервер от лица роли» и список прав канала.

Нужен ли боту «Администратор»?

Почти никогда. Боту нужны права, которые используют его функции. BotGG работает без «Администратора»; если бот на нём настаивает, дайте ему конкретный список и проверьте его роль после приглашения.

Антинюк BotGG бесплатный?

Да. Антинюк — с триггером на опасные права, карантином, откатом и автовосстановлением из бэкапов — входит в бесплатный тариф.

Готовы прокачать свой сервер?

Добавьте BotGG бесплатно и включайте нужные функции в веб-консоли.