Маяри

Модерация

Ручные наказания, авто-наказания по варнам и автомод-фильтры — как Маяри следит за порядком

Модерация в Маяри — это три независимых слоя, которые работают вместе, а не вместо друг друга: ручные команды модератора, автоматическая лестница наказаний по накопленным варнам и автомодерация — правила AutoMod Discord плюс фильтры самой Маяри. Один мастер-тумблер в шапке раздела гасит всё сразу: ручные команды, автомод (фильтры Маяри и правила Discord) и защиту от новорегов.

TL;DR для нетерпеливых. /бан, /кик, /мут, /варн — ручные команды с окном подтверждения. Накопил варны — сработает автонаказание по настроенной лестнице. Правила AutoMod Discord блокируют мат, спам и инвайты ещё до публикации, а фильтры Маяри ловят капс, залго и повторы. Все срабатывания автомода пишутся в один канал лога модерации.

🛡️ Ручные команды

КомандаЧто делаетПраво Discord
/банБлокировка + опциональное удаление сообщений за период (от часа до 7 дней)Ban Members
/разбанСнятие серверного бана по ID пользователя с подтверждениемBan Members
/кикИсключение с сервераKick Members
/мутТайм-аут (от 60 секунд до 1 недели)Moderate Members
/варнПредупреждение с причиной и до 3 скриншотов-доказательствModerate Members
/варн-листПросмотр предупреждений — свои может смотреть любой, чужие только с правами модерации—
/очисткаУдаление 1–100 последних сообщений в канале, опционально только от одного автораManage Messages

Каждое наказание — с окном подтверждения. Перед применением Маяри показывает карточку с целью, причиной и параметрами (например, период удаления сообщений при бане можно поменять прямо в окне) и ждёт явного клика. Наказанному заранее уходит анонимное личное сообщение с причиной — до того, как действие применится.

Скриншоты-доказательства к /варн перезаливаются в собственное хранилище (Cloudflare R2) сразу при выдаче — оригинальные ссылки Discord на вложения протухают через некоторое время, а R2-копии остаются доступны всегда.

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

🔓 Как снять бан

Используйте /разбан пользователь:ID причина:Апелляция (английское имя — /unban). В текстовом варианте: m.unban ID Апелляция или m.разбан ID Апелляция; вместо m. подставьте префикс вашего сервера. Причина необязательна, максимум 400 символов. Текстовая команда также принимает упоминание пользователя.

ID можно скопировать через контекстное меню пользователя в Discord, включив режим разработчика в настройках. Забаненного пользователя уже нет среди участников, поэтому команда принимает ID строкой. Перед снятием бана Маяри покажет пользователя, ID и причину и предложит подтвердить действие или отменить его. На подтверждение есть 60 секунд, кнопки работают только для вызвавшего команду модератора.

Право Ban Members («Банить участников») требуется и модератору, и боту. Оно повторно проверяется после подтверждения. Если бан уже снят, Маяри сообщит об этом. Событие разбана попадает в журнал при включённых логах модерации; модератор и причина определяются по доступному аудит-логу Discord.

Разбан разрешает снова зайти по приглашению: автоматически участник на сервер не возвращается. Разбан не снимает варны и не восстанавливает удалённые сообщения. Уведомление о наказании в ЛС при разбане не отправляется.

📈 Авто-наказания по варнам

Каждый варн считается «активным» ограниченное время — по умолчанию 30 дней (настраивается, 1–30). Просроченные варны не пропадают из истории, но перестают учитываться при подсчёте.

Если своя лестница наказаний не настроена в панели, используется дефолтная:

Активных варновНаказание
3Тайм-аут на 1 час
5Тайм-аут на 24 часа
10Бан

Правило срабатывает на точное совпадение количества, а не «от X и выше» — то есть на 4-м варне ничего не произойдёт, следующее наказание сработает ровно на 5-м. Если на одно и то же число варнов настроено сразу два правила — применяется более строгое (бан строже кика, кик строже таймаута).

Пользователь в любом случае получает личное сообщение с причиной варна, текущим количеством активных/всего предупреждений и (если сработало) применённым наказанием.

🤖 Фильтры на стороне бота

Живут внутри блока «Автомодерация», под правилами Discord — в подразделе «Дополнительно от Маяри». Здесь остались проверки, которые Discord выполнить не может: он сверяет текст со словами и паттернами, а тут нужно считать долю заглавных, количество спецсимволов и повторы.

Для каждого фильтра отдельно настраиваются исключения (каналы/роли/категории), реакция (удалить сообщение и/или наказать) и наказание при срабатывании.

ФильтрЧто ловитПорог по умолчанию
🔁 ПовторенияОдин символ, повторённый подряд (ааааа)Больше 5 подряд
🔠 КапсСлишком много ЗАГЛАВНЫХ букв в сообщении70% букв в верхнем регистре (минимум 5 буквенных символов)
👾 Залго«Глючный» текст из наложенных диакритических знаковБольше 30 спецсимволов

Инвайтов среди фильтров бота нет. Ссылки-приглашения блокирует правило «Приглашения» в AutoMod Discord — до отправки сообщения, а не после. Серверам, где раньше работал фильтр бота, правило Discord включено автоматически.

«Игнорировать» — это не «выключить». Если у фильтра включена детекция, но не задано ни удаление, ни наказание — Маяри специально ничего не делает и не считает сообщение обработанным, чтобы не сломать остальную цепочку обработки (XP, команды, ИИ-чат). Хочешь по-настоящему выключить фильтр — сними тумблер «включён», а не убирай реакции.

Срабатывания фильтров бота пишутся в канал лога модерации (настраивается в панели). Он общий с алертами правил Discord — подробнее ниже.

🛡️ AutoMod Discord

Маяри создаёт и держит в актуальном состоянии нативные правила AutoMod самого Discord (в списке правил сервера они называются «Mayari • …»).

Есть такие правила — нарушение блокируется до публикации: сообщение вообще не появляется в чате, никто его не видит, и работает это даже когда бот офлайн. Нет — остаётся только фильтр на стороне бота: сообщение сначала видят все, и лишь потом Маяри его удаляет, а на время рестарта бота остаётся дыра. Поэтому дешёвые и однозначные проверки логично отдать Discord, а контекстные (капс с учётом исключений, залго) — оставить боту.

ПравилоЧто делает
📕 Словари DiscordВстроенные списки: ругательства, сексуальный контент, оскорбления/слурсы
📝 Запрещённые словаСвой список слов и фраз (до 1000 записей)
🚫 ИсключенияЧто считать нормальным — работает и для словарей Discord (до 100 записей)
🌊 АнтиспамСпам-эвристика Discord: массовые рассылки и флуд
📣 Лимит упоминанийСообщение с числом пингов больше заданного не пройдёт
🔗 ПриглашенияЛюбые discord.gg / discord.com/invite блокируются регекспом

Реакция настраивается один раз на все правила: блокировать сообщение (с собственным текстом, который увидит автор), выдавать тайм-аут. Алерты о срабатываниях Discord отправляет в общий канал лога модерации — если он задан. Роли и каналы можно освободить от проверки целиком.

Нужно право «Управление сервером». Без него Discord не даёт боту трогать AutoMod, и панель честно покажет ошибку последней синхронизации. Правила пересобираются автоматически при сохранении настроек и при старте бота.

Маяри трогает только свои правила. Всё, что начинается с «Mayari • », приводится к настройкам панели — включая удаление, если вы выключили правило. Правила, созданные вами вручную, бот не читает и не меняет.

🛡️ Защита от новорегов

Работает на входе, а не на сообщениях: если аккаунту Discord меньше заданного возраста (в часах, днях или неделях), Маяри кикает или банит участника, при желании предупредив его в личных сообщениях. Роли из списка исключений проверку пропускают.

🔌 Мастер-тумблер

Тумблер в шапке раздела «Модерация» отключает всё разом: слэш- и префикс-команды модерации, фильтры бота, защиту от новорегов и нативные правила AutoMod (Маяри снимает свои правила «Mayari • …» с сервера и вернёт их, когда модерацию включат снова). Настройки и история варнов при этом сохраняются.

📋 Где что лежит

ЧтоКуда пишется
Срабатывания фильтров ботаКанал лога модерации
Алерты правил AutoMod DiscordТот же канал лога модерации
Баны, кики, таймаутыРаздел «Логи», категория «Модерация» (отдельный модуль со своим каналом)

🛠️ Что настраивается в панели

Раздел «Модерация» в веб-панели разбит на четыре вкладки с одной общей кнопкой «Сохранить»:

  • Обзор — схема «как это работает», карточки «что включено» (нажмите на карточку, чтобы перейти к настройке) и единый канал лога модерации;
  • Варны — лестница наказаний, срок жизни варна и история нарушений (можно снять один варн или сбросить все);
  • Автомод — правила Discord (словари, свои слова и исключения, антиспам, лимит упоминаний, приглашения, реакция и освобождения) и подраздел «Дополнительно от Маяри» с капсом, залго и повторами;
  • Вход — защита от новорегов.

Мастер-тумблер в шапке страницы относится ко всем вкладкам сразу.

Куда дальше

On this page