Ролі та дозволи Discord: чому твій бот не може видати цю роль
Ієрархія ролей це найпоширеніша причина, чому щось у Discord не працює. Зрозумій її один раз, і ти заощадиш собі години пошуку помилок.

Є ситуація, з якою рано чи пізно стикається кожен власник сервера: бот має видати роль і не видає. Бот має «Адміністратор». Налаштування збережено. І все одно нічого не відбувається.
Причина майже завжди та сама, і вона не має нічого спільного з дозволами.
Дві системи, а не одна
Discord вирішує у два окремі кроки, чи може хтось щось зробити:
- Дозвіл. Чи може ця роль узагалі керувати ролями?
- Позиція. Чи стоїть ця роль достатньо високо, щоб торкатися цільової ролі?
Більшість знає лише перший крок. Ламається все на другому.
Правило в одному реченні
Учасник, зокрема й бот, може видавати й забирати лише ті ролі, які стоять нижче за його власну найвищу роль. І він може модерувати лише тих учасників, чия найвища роль стоїть нижче за його власну.
Це діє навіть з «Адміністратором». «Адміністратор» перекриває дозволи, а не ієрархію. Бот з «Адміністратором», чия роль стоїть унизу списку, по суті нічого не може.
Приклад
Твій список ролей згори донизу виглядає так:
Owner
Administrator
Moderator
AlphaCloud <- the bot's role
Verified
Member
Що бот може:
- Видавати й забирати
VerifiedіMember - Модерувати учасників, чия найвища роль
VerifiedабоMember
Чого бот не може:
- Видати
Moderator, бо ця роль стоїть вище за нього - Вигнати, забанити чи перейменувати модератора
- Торкнутися адміністратора
Якщо хочеш, щоб бот міг видавати роль модератора, тобі треба перетягнути його роль вище за Moderator. Не навпаки.
Практична порада
Постав роль бота одразу під свою найвищу командну роль. Ось так:
Owner
Administrator
AlphaCloud <- here
Moderator
Verified
Member
Так бот може керувати всім, що нижче за керівництво, не маючи змоги торкнутися самого керівництва. Майже завжди це саме те, чого ти хочеш.
Порядок змінюється в Налаштуваннях сервера, Ролі перетягуванням.
Три особливі випадки, які все одно не працюватимуть
Навіть з ідеальною ієрархією є три речі, яких Discord ніколи не дозволяє боту:
Перейменовувати чи модерувати власника сервера. Власник стоїть поза ієрархією. Жодна роль і жоден дозвіл цього не змінюють.
Редагувати ролі на тій самій позиції. Дві ролі на однаковій висоті не можуть торкатися одна одної. Має бути справді вище, а не на одному рівні.
Видавати роль @everyone. Її мають усі автоматично, її неможливо призначити.
Дозволи каналу переважають дозволи сервера
Другий найпоширеніший випадок: згідно з роллю бот може надсилати повідомлення, але не робить цього саме в одному каналі.
Discord дозволяє винятки з дозволів сервера для окремих каналів. Якщо в каналі Надсилати повідомлення явно заборонено для @everyone або для однієї з ролей бота, це переважає, хоч би що казала роль на сервері.
Перевірити це можна напряму: налаштування каналу, Дозволи, потім угорі в Переглянути дозволи для вибери бота. Тоді Discord показує тобі точно, що він може в цьому каналі.
Який дозвіл для чого
Якщо не хочеш давати боту загальний «Адміністратор», ось реалістичний список:
| Завдання | Дозвіл |
|---|---|
| Видавати ролі | Керувати ролями |
| Тікети, тимчасові канали | Керувати каналами |
| Видаляти спам | Керувати повідомленнями |
| Заглушити | Тайм-аут для учасників |
| Прибрати | Виганяти учасників, Банити учасників |
| Перемістити в AFK-канал | Переміщувати учасників |
| Префікси для нікнеймів | Керувати нікнеймами |
| Знати, хто запустив дію | Переглядати журнал аудиту |
«Адміністратор» усе ще прагматичний вибір, якщо ти користуєшся багатьма функціями. Не тому, що це безпечніше, а тому, що інакше кожна нова функція змушує тебе шукати один відсутній дозвіл. Так чи інакше, ієрархія залишається важливішим важелем.
Коротка версія для пошуку помилок
Коли щось не працює, пройди ці чотири запитання по черзі:
- Чи стоїть роль бота вище за відповідну роль?
- Чи стоїть роль бота вище за відповідного учасника?
- Чи має бот відповідний дозвіл на рівні сервера?
- Чи заборонено цей дозвіл явно в цьому каналі?
У дев'яти випадках із десяти це запитання 1 або 2.
Інші статті
Серверна спільнота Discord: що вона змінює і як її увімкнути
Режим спільноти відкриває канали оголошень, Server Insights та інші функції, але також запроваджує суворіші правила безпеки. Розповідаємо, що ви отримаєте, що для цього потрібно і чи потрібен саме вашому серверу.
ПосібникиЯк додати бота на сервер Discord і які дозволи йому справді потрібні
Додати бота займає хвилину. Правильні дозволи з'ясують, чи буде сервер у безпеці. Покроковий гід і як розпізнати бота, якому не варто довіряти.
ПосібникиЯк структурувати канали та категорії Discord, щоб ними справді користувалися
Забагато каналів вбивають молодий сервер. Як почати з малого, групувати канали в категорії та використовувати дозволи категорій, щоб не налаштовувати одне правило двічі.