Добавлено 219 новых исключений из серверного файла:
- Словоформы с суффиксами (влюблять, расслаблять, оскорблять и др.)
- Технические термины (гейм, даунгрейд, ребаланс и др.)
- Географические названия (прибалт, прибалтика, любляна и др.)
- Производные слова (гребля, сабля, корабля и др.)
Общее количество исключений: 241 (было 22)
Это значительно снизит количество ложных срабатываний фильтра
Фильтрация бранных слов:
- Добавлена полная транслитерация латиница→кириллица (все 26 букв)
- Добавлен маппинг цифр→буквы (0→о, 3→з, 4→ч, 6→б, 8→в и др.)
- Добавлено определение ASCII-art паттернов (><→х, }|{→ж и др.)
- Реализована 3-уровневая система категоризации паттернов:
* whole_word - только целые слова с границами \b
* word_start - только начало слова (новая категория)
* contains - любое вхождение (минимум 4 буквы)
- Добавлен расширенный список исключений для предотвращения ложных срабатываний
(требует, употреблять, скребу, гребу, республика, документ и др.)
Система кармы:
- Добавлен штраф за эмодзи клоуна 🤡 (-20 кармы тому, кто добавил)
- Карма не возвращается при снятии клоуна
- Реализована возможность отключения кармы в конкретных топиках:
* Новая таблица disabled_karma_topics в БД
* Методы: is_karma_disabled_in_topic(), disable/enable_karma_in_topic()
- Перенесены команды управления кармой из /badwords в /karma:
* /karma disable - отключить карму в текущем топике
* /karma enable - включить карму в текущем топике
* /karma status - показать статус кармы во всех топиках
- Убраны упоминания пользователей в команде /top (используется <code>)
Аудит и логирование:
- Добавлена отправка в канал аудита для операций со словами:
* Добавление/удаление бранных слов
* Добавление/удаление исключений
- Расширен action_reporter для поддержки операций без привязки к пользователю