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, і звичайне письмо з діакритикою його не досягає.
покаранняДія, яка виконується проти користувача, коли досягається ліміт. Тайм-аут тимчасово обмежує, Kick видаляє з сервера, Ban назавжди забороняє.
Канал журналуКанал, куди бот надсилатиме повідомлення журналу для цієї функції.
Звільнені роліУчасники з будь-якою з цих ролей будуть звільнені від цього захисту.
Виключені учасникиКонкретні учасники, яких ця система повністю ігнорує, окрім виключених ролей.
Звільнені каналиПовідомлення в цих каналах не перевірятимуться цим захистом.

Варто знати

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

Часті запитання

Чому всі ліміти типово дорівнюють нулю?

Бо числове поле, якого сервер не заповнив, мусить бездіяти. Якби 0 означав «нічого не дозволяти», увімкнення функції до налаштування видалило б кожне повідомлення на сервері. Нуль означає, що правило не перевіряється, — єдине прочитання, за якого безпечно спершу увімкнути, а потім налаштувати.

Чи карає правило капсу мови, які не мають великих літер?

Не може. Частка рахується за літерами, що мають регістр, тож арабська, тайська, китайська, корейська та іврит отримують нуль і ніколи його не зачіпають. Є й мінімальна довжина: «ОК!» — це 100% великих літер і це не крик.

Чи ловить це зловживання @everyone?

Ні, і навмисно. @everyone і @here — це право, а не кількість: кому можна, тому можна. Їхнім зловживанням опікується захист сервера, де йому й місце.

Супутні функції