Files
LGBot/src/config.py

232 lines
14 KiB
Python
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Директория, где хранятся модули
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': (
"<b>📋 Как создать лог ошибки</b>\n\n"
"Подробная инструкция по созданию логов для диагностики проблем:\n\n"
"🔗 <a href='https://linux-gaming.ru/t/kak-sozdat-log-oshibki/25'>Перейти к инструкции</a>"
),
'help': (
"<b>📚 Справочник команд администратора</b>\n\n"
"<u>Основные команды:</u>\n"
"• <code>/start</code> - Начало работы\n"
"• <code>/help</code> - Этот справочник\n"
"• <code>/log</code> - Инструкция по созданию логов\n\n"
"<u>🛠 Команды модерации:</u>\n"
"• <code>/warn help</code> - Выдать предупреждение\n"
"• <code>/mute help</code> - Инструкция по муту\n"
"• <code>/unmute help</code> - Снятие мута\n"
"• <code>/ban help</code> - Инструкция по бану\n"
"• <code>/unban help</code> - Снятие бана\n\n"
"<u>⭐ Система кармы:</u>\n"
"• <code>/karma</code> - Просмотр кармы\n"
"• <code>/top</code> - Топ пользователей по карме\n\n"
"<i> Для подробностей по конкретной команде используйте: /команда help</i>"
),
'manual_mute': (
"<b>🔇 Команда /mute</b>\n\n"
"<i>Ограничивает права пользователя на указанное время</i>\n\n"
"<u>🕒 Форматы времени:</u>\n"
"• Минуты: <code>10м</code>, <code>30м</code>\n"
"• Часы: <code>1ч</code>, <code>3ч</code>\n"
"• Дни: <code>1д</code>, <code>7д</code>\n\n"
"<u>🎯 Способы использования:</u>\n"
"1. Ответ на сообщение:\n"
" <code>/mute 30м причина</code>\n"
"2. По тегу пользователя:\n"
" <code>/mute @username 1ч спам</code>\n"
"3. По ID пользователя:\n"
" <code>/mute 123456789 1д нарушение правил</code>\n\n"
"<b>⚠️ Максимальный срок: 30 дней</b>\n"
"<i> Причину стараться указывать</i>"
),
'manual_unmute': (
"<b>🔊 Команда /unmute</b>\n\n"
"<i>Снимает ограничения с пользователя</i>\n\n"
"<u>🎯 Способы использования:</u>\n"
"1. Ответ на сообщение:\n"
" <code>/unmute</code>\n"
"2. По тегу пользователя:\n"
" <code>/unmute @username</code>\n"
"3. По ID пользователя:\n"
" <code>/unmute 123456789</code>\n\n"
"<i> Работает только для временно замученных пользователей</i>"
),
'manual_ban': (
"<b>🚫 Команда /ban</b>\n\n"
"<i>Навсегда исключает пользователя из чата</i>\n\n"
"<u>🎯 Способы использования:</u>\n"
"1. Ответ на сообщение:\n"
" <code>/ban причина</code>\n"
"2. По тегу пользователя:\n"
" <code>/ban @username спам</code>\n"
"3. По ID пользователя:\n"
" <code>/ban 123456789 нарушение правил</code>\n\n"
"<b>⚠️ Добавляет в ЧС</b>\n"
"<i> Для разбана используйте /unban</i>"
),
'manual_unban': (
"<b>✅ Команда /unban</b>\n\n"
"<i>Снимает бан с пользователя</i>\n\n"
"<u>🎯 Способы использования:</u>\n"
"1. Ответ на сообщение:\n"
" <code>/unban</code>\n"
"2. По тегу пользователя:\n"
" <code>/unban @username</code>\n"
"3. По ID пользователя:\n"
" <code>/unban 123456789</code>\n\n"
"<b>⚠️ Работает только для забаненных через /ban</b>\n"
"<i> Пользователь сможет снова присоединиться</i>"
),
'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': (
'⚠️ Пользователь <b>{user_name}</b> получил мут на <b>{duration}</b> '
'за использование нецензурной лексики.\n\n'
'📊 Нарушение #{count}\n'
'💡 При повторных нарушениях время мута будет увеличиваться.'
),
'auto_mute_permanent': (
'⛔️ Пользователь <b>{user_name}</b> получил перманентный мут '
'за злостное нарушение правил чата (использование нецензурной лексики).\n\n'
'📊 Количество нарушений: <b>{count}</b>\n'
'🔒 Режим: только чтение (навсегда)'
),
'badwords_help': (
"<b>🔧 Управление списком бранных слов</b>\n\n"
"<u>Основные команды:</u>\n"
"• <code>/badwords list</code> - Показать список слов\n"
"• <code>/badwords count</code> - Статистика\n"
"• <code>/badwords add [слово]</code> - Добавить слово\n"
"• <code>/badwords remove [слово]</code> - Удалить слово\n\n"
"<u>Исключения:</u>\n"
"• <code>/badwords exceptions</code> - Список исключений\n"
"• <code>/badwords add_exception [слово]</code> - Добавить\n"
"• <code>/badwords remove_exception [слово]</code> - Удалить\n\n"
"<u>Прочее:</u>\n"
"• <code>/badwords reload</code> - Перезагрузить из файла\n\n"
"<i>💡 Все изменения применяются немедленно</i>"
),
'reset_violations_help': (
"<b>🔄 Команда /reset_violations</b>\n\n"
"<i>Сбрасывает счётчик нарушений пользователя</i>\n\n"
"<u>🎯 Способы использования:</u>\n"
"1. Ответ на сообщение:\n"
" <code>/reset_violations</code>\n"
"2. По тегу пользователя:\n"
" <code>/reset_violations @username</code>\n"
"3. По ID пользователя:\n"
" <code>/reset_violations 123456789</code>\n\n"
"<i> Сбрасывает все записи об автомутах пользователя</i>"
),
'manual_warn': (
"<b>⚠️ Команда /warn</b>\n\n"
"<i>Выдает официальное предупреждение пользователю</i>\n\n"
"<u>🎯 Способы использования:</u>\n"
"1. Ответ на сообщение:\n"
" <code>/warn причина</code>\n"
"2. По тегу пользователя:\n"
" <code>/warn @username причина</code>\n"
"3. По ID пользователя:\n"
" <code>/warn 123456789 причина</code>\n\n"
"<b>📋 Система накопления:</b>\n"
"• 1-й варн: просто предупреждение\n"
"• 2-й варн за неделю: автомут на 7 дней (строгое)\n"
"• 2-й варн за 2 недели: автомут на 1 день (мягкое)\n\n"
"<i> Причину обязательно указывайте для прозрачности</i>"
),
'warned': '⚠️ Пользователь получил предупреждение.',
'warned_auto_mute_day': '⚠️ Пользователь получил предупреждение и автомут на 1 день (2-е предупреждение за 2 недели).',
'warned_auto_mute_week': '⚠️ Пользователь получил предупреждение и автомут на 7 дней (2-е предупреждение за неделю - строгое наказание).',
'karma_help': (
"<b>⭐ Команда /karma</b>\n\n"
"<i>Показывает карму пользователя в этом чате</i>\n\n"
"<u>🎯 Способы использования:</u>\n"
"1. Показать свою карму:\n"
" <code>/karma</code>\n"
"2. По тегу пользователя:\n"
" <code>/karma @username</code>\n"
"3. Ответ на сообщение:\n"
" Ответьте на сообщение: <code>/karma</code>\n\n"
"<b>💡 Как начислить карму?</b>\n"
"<u>Способ 1: Ответить на сообщение</u>\n"
"• спасибо → +1 карма\n"
"• благодарю → +1 карма\n"
"• спс, сенкс, thanks и др. → +1 карма\n\n"
"<u>Способ 2: Поставить реакцию 👍</u>\n"
"• Нажмите на сообщение и выберите 👍 → +1 карма\n\n"
"<b>🔥 БОНУС: Благодарность с восклицательным знаком даёт x2 кармы!</b>\n"
"• спасибо! → +2 кармы 👍👍\n"
"• thanks! → +2 кармы 👍👍\n\n"
"<b>⏱ Медленный режим на основе кармы:</b>\n"
"• Карма 0: 30 сек между сообщениями\n"
"• Карма > 0: меньше задержка (50+ = нет задержки)\n"
"• Карма < 0: больше задержка (-50 = 120 сек)\n\n"
"<b>⚠️ Снятие кармы:</b>\n"
"• Предупреждение (/warn): -5 кармы\n"
"• Мут (/mute или автомут): -10 кармы\n\n"
"<i>⏱ Одному пользователю можно давать карму раз в час</i>"
),
'top_karma_help': (
"<b>🏆 Команда /top</b>\n\n"
"<i>Показывает топ-10 пользователей по карме в этом чате</i>\n\n"
"<u>🎯 Использование:</u>\n"
" <code>/top</code>\n\n"
"<i>💡 Система кармы поощряет активных и полезных участников чата!</i>"
),
'setkarma_help': (
"<b>🎚 Команда /setkarma</b>\n\n"
"<i>Устанавливает карму пользователя в указанное значение (только для администраторов)</i>\n\n"
"<u>🎯 Способы использования:</u>\n"
"1. Ответ на сообщение:\n"
" <code>/setkarma 100</code>\n"
"2. По тегу пользователя:\n"
" <code>/setkarma @username 50</code>\n"
"3. По ID пользователя:\n"
" <code>/setkarma 123456789 -10</code>\n\n"
"<b>💡 Примеры:</b>\n"
"• Установить карму на 0: <code>/setkarma @user 0</code>\n"
"• Установить отрицательную карму: <code>/setkarma @user -50</code>\n"
"• Установить высокую карму: <code>/setkarma @user 1000</code>\n\n"
"<i>⚠️ Команда доступна только администраторам с правами ограничения</i>"
)
}