KIZORADOCS На сайт

Навигация

Поиск по документации

Права автоматизаций

Главное правило: право редактировать автоматизации не даёт автоматически права банить, выдавать роли или модерировать сервер.

Как это работает

У каждого правила есть автор — тот, кто его создал. В момент выполнения Kizora заново проверяет права автора, а не того, кто вызвал событие.

Каждое действие требует двух вещей: automations.manage и право того модуля, в который действие вмешивается.

ДействиеНужно автору
Выдать роль, снять рольautomations.manage и roles.manage
Написать в канал, в личные, поставить реакцию, закрепитьautomations.manage и messages.manage
Удалить сообщение, выдать тайм-аутautomations.manage и moderation.act
Записать в журналautomations.manage

Пример

Человек имеет automations.manage, но не имеет moderation.act.

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

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

Права проверяются каждый раз

Права не запоминаются в момент создания правила. Их проверяют при каждом срабатывании — потому что человек может уйти из команды, а правило продолжит работать от его имени.

Практическое следствие: если у автора правила забрали право, правило перестаёт выполнять соответствующее действие. Не ломается и не удаляется — именно перестаёт делать то, на что права больше нет.

Отдельный статус «запрещено» существует ровно для этого случая: Discord тут ни при чём, отказала Kizora, и причина исправимая — вернуть право или убрать действие.

Что делать, если правило перестало работать

  1. Откройте журнал запусков правила.
  2. Найдите статус «запрещено» и посмотрите, какого права не хватает.
  3. Либо верните право автору, либо пересоздайте правило от имени того, у кого право есть, либо уберите действие.

Что видно без прав

Список правил и само правило открыты любому участнику сервера: «что этот сервер делает автоматически» видно и по поведению бота, а прятать это значило бы сделать сервер менее объяснимым, ничего не защитив.

Закрыто то, из чего видно людей и подробности: разбор условий, проверка вхолостую и журнал срабатываний — они требуют automations.manage.

Откуда берутся права автора

Из его Discord-ролей и выданных этим ролям прав Kizora — тем же способом, что и в любой команде (см. Права Kizora). Набор собирается заново на момент срабатывания, а не запоминается при создании правила.

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

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

Связанные страницы