Модерация
Ручные наказания, авто-наказания по варнам, автомод-фильтры и ИИ-модерация — как Маяри следит за порядком
Модерация в Маяри — это четыре независимых слоя, которые работают вместе, а не вместо друг друга: ручные команды модератора, автоматическая лестница наказаний по накопленным варнам, автомод-фильтры на конкретные паттерны и ИИ-модерация, которая пытается понять контекст беседы. Каждый слой можно включить или выключить отдельно.
TL;DR для нетерпеливых. /бан, /кик, /мут, /варн — ручные команды с окном подтверждения. Накопил варны — сработает автонаказание по настроенной лестнице. Автомод ловит спам-паттерны (капс, инвайты, повторы, залго) без ИИ. ИИ-модерация Маяри (премиум) понимает контекст беседы и отличает дружеский подкол от реальной травли.
🛡️ Ручные команды
| Команда | Что делает | Право Discord |
|---|---|---|
/бан | Блокировка + опциональное удаление сообщений за период (от часа до 7 дней) | Ban Members |
/кик | Исключение с сервера | Kick Members |
/мут | Тайм-аут (от 60 секунд до 1 недели) | Moderate Members |
/варн | Предупреждение с причиной и до 3 скриншотов-доказательств | Moderate Members |
/варн-лист | Просмотр предупреждений — свои может смотреть любой, чужие только с правами модерации | — |
/очистка | Удаление 1–100 последних сообщений в канале, опционально только от одного автора | Manage Messages |
Каждое наказание — с окном подтверждения. Перед применением Маяри показывает карточку с целью, причиной и параметрами (например, период удаления сообщений при бане можно поменять прямо в окне) и ждёт явного клика. Наказанному заранее уходит анонимное личное сообщение с причиной — до того, как действие применится.
Скриншоты-доказательства к /варн перезаливаются в собственное хранилище (Cloudflare R2) сразу при выдаче — оригинальные ссылки Discord на вложения протухают через некоторое время, а R2-копии остаются доступны всегда.
/варн дополнительно проверяет иерархию ролей: нельзя выдать предупреждение тому, чья роль выше или равна твоей (кроме владельца сервера), и Маяри должна физически быть способна управлять этим участником.
📈 Авто-наказания по варнам
Каждый варн считается «активным» ограниченное время — по умолчанию 30 дней (настраивается, 1–30). Просроченные варны не пропадают из истории, но перестают учитываться при подсчёте.
Если своя лестница наказаний не настроена в панели, используется дефолтная:
| Активных варнов | Наказание |
|---|---|
| 3 | Тайм-аут на 1 час |
| 5 | Тайм-аут на 24 часа |
| 10 | Бан |
Правило срабатывает на точное совпадение количества, а не «от X и выше» — то есть на 4-м варне ничего не произойдёт, следующее наказание сработает ровно на 5-м. Если на одно и то же число варнов настроено сразу два правила — применяется более строгое (бан строже кика, кик строже таймаута).
Пользователь в любом случае получает личное сообщение с причиной варна, текущим количеством активных/всего предупреждений и (если сработало) применённым наказанием.
🤖 Фильтры на стороне бота
Живут внутри блока «Автомодерация», под правилами Discord — в подразделе «Дополнительно от Маяри». Здесь остались проверки, которые Discord выполнить не может: он сверяет текст со словами и паттернами, а тут нужно считать долю заглавных, количество спецсимволов и повторы.
Для каждого фильтра отдельно настраиваются исключения (каналы/роли/категории), реакция (удалить сообщение и/или наказать) и наказание при срабатывании.
| Фильтр | Что ловит | Порог по умолчанию |
|---|---|---|
| 🔁 Повторения | Один символ, повторённый подряд (ааааа) | Больше 5 подряд |
| 🔠 Капс | Слишком много ЗАГЛАВНЫХ букв в сообщении | 70% букв в верхнем регистре (минимум 5 буквенных символов) |
| 👾 Залго | «Глючный» текст из наложенных диакритических знаков | Больше 30 спецсимволов |
Инвайты переехали к Discord. Ссылки-приглашения теперь блокирует правило «Ссылки-приглашения» в AutoMod — до отправки сообщения, а не после. Старый фильтр бота остался видимым только на серверах, где он всё ещё включён: чтобы никто не остался с защитой, которую не выключить. Включили правило Discord — старый фильтр можно смело гасить.
«Игнорировать» — это не «выключить». Если у фильтра включена детекция, но не задано ни удаление, ни наказание — Маяри специально ничего не делает и не считает сообщение обработанным, чтобы не сломать остальную цепочку обработки (XP, команды, ИИ-чат). Хочешь по-настоящему выключить фильтр — сними тумблер «включён», а не убирай реакции.
Срабатывания автомода логируются в отдельный канал (настраивается в панели, независимо от общего модуля «Логи» — это выделенный канал именно для вердиктов автомода).
⚖️ Движок автомодерации
Сообщения проверяет один из двух движков — выбирается переключателем в панели:
| Движок | Как работает | Сильная сторона |
|---|---|---|
| 🛡️ AutoMod Discord | Правила и словари, которые проверяет сам Discord | Блокирует до публикации, работает без бота |
| ✨ ИИ-модерация Маяри 👑 | Языковая модель читает беседу и решает, насколько сообщение неадекватно в ней | Отличает дружеские подколы от реальной агрессии |
Движки не работают одновременно: при выборе ИИ Маяри снимает свои правила Discord (их настройки сохраняются и вернутся, если переключиться обратно). Фильтры бота — капс, залго, повторы — а также варны и защита от новорегов работают при любом движке.
🛡️ AutoMod Discord
Отдельный слой: Маяри создаёт и держит в актуальном состоянии нативные правила AutoMod самого Discord (в списке правил сервера они называются «Mayari • …»).
Есть такие правила — нарушение блокируется до публикации: сообщение вообще не появляется в чате, никто его не видит, и работает это даже когда бот офлайн. Нет — остаётся только фильтр на стороне бота: сообщение сначала видят все, и лишь потом Маяри его удаляет, а на время рестарта бота остаётся дыра. Поэтому дешёвые и однозначные проверки логично отдать Discord, а контекстные (капс с учётом исключений, залго, ИИ-модерация) — оставить боту.
| Правило | Что делает |
|---|---|
| 📕 Словари Discord | Встроенные списки: ругательства, сексуальный контент, оскорбления/слурсы |
| 📝 Запрещённые слова | Свой список слов и фраз (до 1000 записей) |
| 🚫 Исключения | Что считать нормальным — работает и для словарей Discord (до 100 записей) |
| 🌊 Антиспам | Спам-эвристика Discord: массовые рассылки и флуд |
| 📣 Лимит упоминаний | Сообщение с числом пингов больше заданного не пройдёт |
| 🔗 Приглашения | Любые discord.gg / discord.com/invite блокируются регекспом |
Реакция настраивается один раз на все правила: блокировать сообщение (с собственным текстом, который увидит автор), отправлять алерт в выбранный канал, выдавать тайм-аут. Роли и каналы можно освободить от проверки целиком.
Нужно право «Управление сервером». Без него Discord не даёт боту трогать AutoMod, и панель честно покажет ошибку последней синхронизации. Правила пересобираются автоматически при сохранении настроек и при старте бота.
Маяри трогает только свои правила. Всё, что начинается с «Mayari • », приводится к настройкам панели — включая удаление, если вы выключили правило. Правила, созданные вами вручную, бот не читает и не меняет.
🧠 ИИ-модерация Маяри (премиум)
Вместо списков слов здесь работает языковая модель: она читает последние сообщения канала и оценивает, насколько неадекватно новое сообщение в этой беседе. Настроек почти нет — только строгость в процентах.
Главная задача — отличить френд-токс от настоящего токса. «Лёха ты конченый, опять слил катку» между старыми друзьями, которые отвечают друг другу тем же тоном, — нормальная культура чата. Новенький, который зашёл пять минут назад и посылает всех подряд, — нет. Маяри видит, кто давно на сервере, кто только пришёл, отвечают ли собеседнику тем же и не нарушал ли автор только что.
Каждое сообщение получает оценку от 0 до 100 по единой шкале, а строгость задаёт порог, с которого начинается нарушение:
| Что в сообщении | Оценка | 0 % | 50 % | 100 % |
|---|---|---|---|---|
| Обычное сообщение, добрая шутка | 0–15 | ✅ | ✅ | ✅ |
| Френд-токс: мат и подколы между своими | 15–30 | ✅ | ✅ | ✅ |
| Грубость без злобы | 30–50 | ✅ | ✅ | ❌ |
| Адресное оскорбление всерьёз | 50–70 | ✅ | ❌ | ❌ |
| Токс ко всем подряд, оскорбления семьи | 70–90 | ✅ | ❌ | ❌ |
| Угрозы, ненависть по признаку, 18+ | 90–100 | ❌ | ❌ | ❌ |
✅ — пропускаем, ❌ — ловим. Границы примерные: итог зависит от контекста беседы.
Угрозы, ненависть и 18+ ловятся на любой строгости, даже на 0 %. Строгость меняет отношение к тону общения, а не к тяжёлым нарушениям. Дружеские подколы, наоборот, не ловятся даже на 100 %.
При срабатывании можно: только отправить отчёт, удалить сообщение или выдать тайм-аут (с удалением или без). Отчёт с оценкой, порогом и причиной уходит в выбранный канал или в лог-канал модерации. Совет: начните с «только отчёт», посмотрите пару дней, что ловится, и подвиньте ползунок.
Админов и модераторов Маяри не проверяет; можно ограничить модерацию каналами и освободить роли. У ИИ-модерации есть суточный лимит проверок на сервер — если он исчерпан, до 03:00 МСК сообщения проходят без ИИ-проверки (фильтры бота продолжают работать).
🛠️ Что настраивается в панели
Раздел «Модерация» в веб-панели:
- канал лога срабатываний автомода;
- срок жизни варна и своя лестница авто-наказаний (сколько варнов → какое действие);
- блок «Автомодерация»: правила Discord (словари, свои слова и исключения, антиспам, лимит упоминаний, приглашения, реакция и освобождения) и подраздел «Дополнительно от Маяри» с капсом, залго и повторами;
- движок автомодерации: AutoMod Discord или ИИ-модерация Маяри;
- ИИ-модерация: включение, строгость в процентах, действие, канал отчётов, каналы действия и освобождённые роли.
Полный журнал банов/киков/таймаутов (кто, кого, когда, за что) — уже в разделе «Логи», отдельно от лога автомода.
Куда дальше
- Экономика — если наказание связано с игровой экономикой (например, ограбление), там же лимиты и штрафы.
- Тэги конструктора сообщений — переменные для кастомных сообщений в других модулях.