SylonSylon
Дом
Функции
Команды
Все функцииПравила сообщений

Правила сообщений

Ограничения на форму сообщения, а не на его смысл — эмодзи, строки, капс, упоминания, zalgo. Бесплатно и одинаково на всех языках.

Обзор

Всё остальное, что читает здесь сообщения, спрашивает, что они говорят. Словесный фильтр ищет термины из вашего списка; анализатор судит о намерении и стоит вызова модели. Правила сообщений не спрашивают о смысле вообще: сколько эмодзи, сколько строк, какая часть — капс, скольких упомянули. Поэтому они ничего не стоят, не требуют ИИ и ведут себя одинаково на любом языке: счёт — не языковое действие.

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

1

Девять лимитов, каждый выключается отдельно

Эмодзи, строки, символы, капс, упоминания участников, упоминания ролей, вложения, стикеры и переключатель для zalgo. Лимит 0 означает «не проверять», так что вся функция бездействует, пока вы не решите, что ваш сервер считает перебором.
2

Сначала удалить, наказывать только при повторении

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

Правки тоже читаются

Написать обычное и потом переделать в стену эмодзи не выйдет: те же правила снова проходят по изменённому сообщению. Оба пути используют одну реализацию и потому не могут судить по-разному.

Ключевые возможности

Лимит эмодзи, считающий юникод- и кастомные вместе
Лимиты строк и длины против стены текста, выталкивающей канал за экран
Доля заглавных, измеряемая только по буквам, у которых есть регистр
Отдельные лимиты для упоминаний участников и ролей, по каждому адресату один раз
Лимиты вложений и стикеров
Обнаружение zalgo по доле комбинируемых знаков — письмо с диакритикой не затрагивается
Исключённые роли, участники и каналы, и собственный лог-канал
Необязательная эскалация до тайм-аута, исключения или бана после порога

Настройка

1.Откройте панель, перейдите на вкладку «Правила сообщений», включите её и выберите лог-канал.
2.Задайте только те лимиты, которые вашему серверу действительно нужны. Всё оставленное на 0 остаётся выключенным.
3.Оставьте наказание на «Только удалять» на несколько дней и читайте лог — он точно показывает, что было бы удалено.
4.Добавьте исключённые роли для команды или ботов, которые законно публикуют длинные или насыщенные эмодзи сообщения.

Как это работает подробно

Счёт одинаков во всех языках, суждение — нет

В этом вся причина, почему функция стоит рядом со словесным фильтром и анализатором, а не внутри них. Список слов надо писать под каждый язык и вечно поддерживать; модель стоит денег и может ошибиться. Десять эмодзи — это десять эмодзи и по-турецки, и по-тайски, и по-японски, а ответ стоит одного прохода по сообщению — поэтому эти правила могут работать на каждом сообщении в каждом сервере без бюджета.

Там, где правило могло стать несправедливым, оно сужено

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

Одно удаление, одно уведомление, одна строка лога

Сообщение может нарушить несколько правил сразу. Sylon называет их все, удаляет один раз, засчитывает одно нарушение, отправляет в канал одно уведомление, которое само исчезает через несколько секунд, и пишет одну запись в лог с каждым сработавшим правилом, его значением и лимитом.

Настройки

Максимум эмодзиЮникод- и кастомные эмодзи вместе. 0 выключает правило.
Максимум строкПереносы строк в одном сообщении — стена текста, выталкивающая канал за экран. 0 выключает правило.
Максимум символовДлина в символах, как их видит человек, поэтому одно эмодзи считается за один. 0 выключает правило.
Максимум заглавных (%)Доля заглавных букв. Считаются только буквы, у которых есть регистр, поэтому арабский, тайский, китайский и корейский не могут задеть это правило. 0 выключает его.
Игнорировать сообщения корочеБолее короткие сообщения никогда не проверяются на капс. Без этого «ОК!» — это 100% заглавных, и каждое подтверждение на сервере удаляется.
Максимум упоминаний участниковРазные участники, упомянутые в одном сообщении; упомянуть одного человека дважды считается один раз. 0 выключает правило.
Максимум упоминаний ролейРазные упомянутые роли. @everyone и @here здесь не считаются — это право, а их злоупотреблением занимается защита сервера.
Максимум вложенийФайлы и изображения в одном сообщении. 0 выключает правило.
Максимум стикеровСтикеры в одном сообщении. 0 выключает правило.
Блокировать zalgo-текстТекст с нагромождением комбинируемых знаков, переливающийся на соседние строки. Переключатель, а не число: порог — это факт о Unicode, и обычное письмо с диакритикой до него не доходит.
НаказаниеДействие, предпринятое против пользователя при достижении лимита. Таймаут временно ограничивает, Кик удаляет с сервера, Бан навсегда банит.
Журнал каналаКанал, куда бот будет отправлять сообщения журнала для этой функции.
Исключённые ролиУчастники с любой из этих ролей будут освобождены от этой защиты.
Исключённые участникиКонкретные участники, которых эта система полностью игнорирует, помимо исключённых ролей.
Освобожденные каналыСообщения в этих каналах не будут проверяться данной защитой.

Полезно знать

Sylon нужно «Управление сообщениями» для удаления плюс то, чего требует выбранное наказание.
Участники с «Администратором» или «Управлением сервером» не оцениваются никогда, как и списки исключений.
Тикеты исключены: их содержимое уже есть в собственной расшифровке тикета.
Каждое правило считается на сообщение, а не в минуту — лимиты скорости это дело защиты от спама.

Часто задаваемые вопросы

Почему все лимиты по умолчанию равны нулю?

Потому что числовое поле, которое сервер не заполнил, обязано бездействовать. Если бы 0 значил «ничего не разрешать», включение функции до настройки удалило бы каждое сообщение на сервере. Ноль означает, что правило не проверяется, — единственное прочтение, при котором безопасно сначала включить, а потом настроить.

Наказывает ли правило капса языки, у которых нет заглавных?

Не может. Доля считается по буквам, у которых есть регистр, поэтому арабский, тайский, китайский, корейский и иврит получают ноль и никогда его не задевают. Есть и минимальная длина: «ОК!» — это 100% заглавных и это не крик.

Ловит ли это злоупотребление @everyone?

Нет, и намеренно. @everyone и @here — это право, а не количество: кому можно, тому можно. Их злоупотреблением занимается защита сервера, где ему и место.

Связанные функции