# Директория, где хранятся модули
MODULES_DIR = 'modules'
# Название файла db sqlite
DATABASE_NAME = 'users.db'
# Название файла для логов
LOG_FILE_NAME = 'bot.log'
# ===========================================
# Временные константы (в секундах)
# ===========================================
# Период учёта нарушений (30 дней)
VIOLATIONS_PERIOD = 2592000
# Кулдаун для благодарностей (1 час)
THANK_COOLDOWN = 3600
# Периоды для предупреждений
ONE_WEEK = 604800 # 7 дней
TWO_WEEKS = 1209600 # 14 дней
# Максимальное время мута (30 дней)
MAX_MUTE_TIME = 2592000
# Сообщения команд
COMMAND_MESSAGES = {
'start': 'Бот-администратор для чата @linux_gaming_ru',
'log': (
"📋 Как создать лог ошибки\n\n"
"Подробная инструкция по созданию логов для диагностики проблем:\n\n"
"🔗 Перейти к инструкции"
),
'help': (
"📚 Справочник команд администратора\n\n"
"Основные команды:\n"
"• /start
- Начало работы\n"
"• /help
- Этот справочник\n"
"• /log
- Инструкция по созданию логов\n\n"
"🛠 Команды модерации:\n"
"• /warn help
- Выдать предупреждение\n"
"• /mute help
- Инструкция по муту\n"
"• /unmute help
- Снятие мута\n"
"• /ban help
- Инструкция по бану\n"
"• /unban help
- Снятие бана\n\n"
"⭐ Система кармы:\n"
"• /karma
- Просмотр кармы\n"
"• /top
- Топ пользователей по карме\n\n"
"ℹ️ Для подробностей по конкретной команде используйте: /команда help"
),
'manual_mute': (
"🔇 Команда /mute\n\n"
"Ограничивает права пользователя на указанное время\n\n"
"🕒 Форматы времени:\n"
"• Минуты: 10м
, 30м
\n"
"• Часы: 1ч
, 3ч
\n"
"• Дни: 1д
, 7д
\n\n"
"🎯 Способы использования:\n"
"1. Ответ на сообщение:\n"
" /mute 30м причина
\n"
"2. По тегу пользователя:\n"
" /mute @username 1ч спам
\n"
"3. По ID пользователя:\n"
" /mute 123456789 1д нарушение правил
\n\n"
"⚠️ Максимальный срок: 30 дней\n"
"ℹ️ Причину стараться указывать"
),
'manual_unmute': (
"🔊 Команда /unmute\n\n"
"Снимает ограничения с пользователя\n\n"
"🎯 Способы использования:\n"
"1. Ответ на сообщение:\n"
" /unmute
\n"
"2. По тегу пользователя:\n"
" /unmute @username
\n"
"3. По ID пользователя:\n"
" /unmute 123456789
\n\n"
"ℹ️ Работает только для временно замученных пользователей"
),
'manual_ban': (
"🚫 Команда /ban\n\n"
"Навсегда исключает пользователя из чата\n\n"
"🎯 Способы использования:\n"
"1. Ответ на сообщение:\n"
" /ban причина
\n"
"2. По тегу пользователя:\n"
" /ban @username спам
\n"
"3. По ID пользователя:\n"
" /ban 123456789 нарушение правил
\n\n"
"⚠️ Добавляет в ЧС\n"
"ℹ️ Для разбана используйте /unban"
),
'manual_unban': (
"✅ Команда /unban\n\n"
"Снимает бан с пользователя\n\n"
"🎯 Способы использования:\n"
"1. Ответ на сообщение:\n"
" /unban
\n"
"2. По тегу пользователя:\n"
" /unban @username
\n"
"3. По ID пользователя:\n"
" /unban 123456789
\n\n"
"⚠️ Работает только для забаненных через /ban\n"
"ℹ️ Пользователь сможет снова присоединиться"
),
'no_admin_rights': '❌ Только администраторы могут использовать эту команду.',
'no_restrict_rights': '❌ У вас недостаточно прав.',
'user_not_found': '❌ Пользователь не найден.',
'incorrect_time_format': '❌ Неверный формат времени. Используйте: 10м, 1ч, 2д.',
'min_mute': '❌ Минимальное время мута - 1 минута.',
'max_mute': '❌ Максимальное время мута - 30 дней.',
'cant_mute_admin': '❌ Невозможно замутить администратора.',
'cant_ban_admin': '❌ Невозможно забанить администратора.',
'muted': '✅ Пользователь замучен на {time_display}.',
'unmuted': '✅ Пользователь размучен.',
'banned': '✅ Пользователь успешно забанен.',
'unbanned': '✅ Пользователь успешно разбанен.',
'error': '⚠️ Ошибка: {e}',
'general_error': '⚠️ Произошла непредвиденная ошибка.',
'auto_mute_warning': (
'⚠️ Пользователь {user_name} получил мут на {duration} '
'за использование нецензурной лексики.\n\n'
'📊 Нарушение #{count}\n'
'💡 При повторных нарушениях время мута будет увеличиваться.'
),
'auto_mute_permanent': (
'⛔️ Пользователь {user_name} получил перманентный мут '
'за злостное нарушение правил чата (использование нецензурной лексики).\n\n'
'📊 Количество нарушений: {count}\n'
'🔒 Режим: только чтение (навсегда)'
),
'badwords_help': (
"🔧 Управление списком бранных слов\n\n"
"Основные команды:\n"
"• /badwords list
- Показать список слов\n"
"• /badwords count
- Статистика\n"
"• /badwords add [слово]
- Добавить слово\n"
"• /badwords remove [слово]
- Удалить слово\n\n"
"Исключения:\n"
"• /badwords exceptions
- Список исключений\n"
"• /badwords add_exception [слово]
- Добавить\n"
"• /badwords remove_exception [слово]
- Удалить\n\n"
"Прочее:\n"
"• /badwords reload
- Перезагрузить из файла\n\n"
"💡 Все изменения применяются немедленно"
),
'reset_violations_help': (
"🔄 Команда /reset_violations\n\n"
"Сбрасывает счётчик нарушений пользователя\n\n"
"🎯 Способы использования:\n"
"1. Ответ на сообщение:\n"
" /reset_violations
\n"
"2. По тегу пользователя:\n"
" /reset_violations @username
\n"
"3. По ID пользователя:\n"
" /reset_violations 123456789
\n\n"
"ℹ️ Сбрасывает все записи об автомутах пользователя"
),
'manual_warn': (
"⚠️ Команда /warn\n\n"
"Выдает официальное предупреждение пользователю\n\n"
"🎯 Способы использования:\n"
"1. Ответ на сообщение:\n"
" /warn причина
\n"
"2. По тегу пользователя:\n"
" /warn @username причина
\n"
"3. По ID пользователя:\n"
" /warn 123456789 причина
\n\n"
"📋 Система накопления:\n"
"• 1-й варн: просто предупреждение\n"
"• 2-й варн за неделю: автомут на 7 дней (строгое)\n"
"• 2-й варн за 2 недели: автомут на 1 день (мягкое)\n\n"
"ℹ️ Причину обязательно указывайте для прозрачности"
),
'warned': '⚠️ Пользователь получил предупреждение.',
'warned_auto_mute_day': '⚠️ Пользователь получил предупреждение и автомут на 1 день (2-е предупреждение за 2 недели).',
'warned_auto_mute_week': '⚠️ Пользователь получил предупреждение и автомут на 7 дней (2-е предупреждение за неделю - строгое наказание).',
'karma_help': (
"⭐ Команда /karma\n\n"
"Показывает карму пользователя в этом чате\n\n"
"🎯 Способы использования:\n"
"1. Показать свою карму:\n"
" /karma
\n"
"2. По тегу пользователя:\n"
" /karma @username
\n"
"3. Ответ на сообщение:\n"
" Ответьте на сообщение: /karma
\n\n"
"💡 Как начислить карму?\n"
"Способ 1: Ответить на сообщение\n"
"• спасибо → +1 карма\n"
"• благодарю → +1 карма\n"
"• спс, сенкс, thanks и др. → +1 карма\n\n"
"Способ 2: Поставить реакцию (работает как переключатель)\n"
"• Поставил 👍 → +1 карма | Убрал 👍 → -1 карма\n"
"• Поставил 👎 → -1 карма | Убрал 👎 → +1 карма\n"
"• Поставил 🔥 → +2 кармы | Убрал 🔥 → -2 кармы\n"
"• Поставил ❤ → +5 кармы | Убрал ❤ → -5 кармы\n"
"• Поставил ❤🔥 → +10 кармы | Убрал ❤🔥 → -10 кармы\n"
"• Нет ограничений по времени для реакций!\n\n"
"🔥 БОНУС: Благодарность с восклицательным знаком даёт x2 кармы!\n"
"• спасибо! → +2 кармы 👍👍\n"
"• thanks! → +2 кармы 👍👍\n\n"
"⏱ Медленный режим на основе кармы:\n"
"• Карма 0: 30 сек между сообщениями\n"
"• Карма > 0: меньше задержка (50+ = нет задержки)\n"
"• Карма < 0: больше задержка (-50 = 120 сек)\n\n"
"⚠️ Снятие кармы:\n"
"• Предупреждение (/warn): -5 кармы\n"
"• Мут (/mute или автомут): -10 кармы\n\n"
"⏱ Одному пользователю можно давать карму раз в час"
),
'top_karma_help': (
"🏆 Команда /top\n\n"
"Показывает топ-10 пользователей по карме в этом чате\n\n"
"🎯 Использование:\n"
" /top
\n\n"
"💡 Система кармы поощряет активных и полезных участников чата!"
),
'setkarma_help': (
"🎚 Команда /setkarma\n\n"
"Устанавливает карму пользователя в указанное значение (только для администраторов)\n\n"
"🎯 Способы использования:\n"
"1. Ответ на сообщение:\n"
" /setkarma 100
\n"
"2. По тегу пользователя:\n"
" /setkarma @username 50
\n"
"3. По ID пользователя:\n"
" /setkarma 123456789 -10
\n\n"
"💡 Примеры:\n"
"• Установить карму на 0: /setkarma @user 0
\n"
"• Установить отрицательную карму: /setkarma @user -50
\n"
"• Установить высокую карму: /setkarma @user 1000
\n\n"
"⚠️ Команда доступна только администраторам с правами ограничения"
)
}