Files
LGBot/src/bad_words.py
Евгений Храмов 6a7df9bc55 Улучшение системы фильтрации мата и управления кармой
Фильтрация бранных слов:
- Добавлена полная транслитерация латиница→кириллица (все 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 для поддержки операций без привязки к пользователю
2025-11-18 18:16:59 +03:00

19 KiB