forked from Muzifs/LGBot
232 lines
14 KiB
Python
232 lines
14 KiB
Python
# Директория, где хранятся модули
|
||
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>"
|
||
)
|
||
|
||
} |