diff --git a/README.md b/README.md index c064960..2aee56c 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ ## Список дел - [X] Команда /start -- [ ] Команда /help +- [X] Команда /help - [X] Команда /mute -- [ ] Команда /unmute +- [X] Команда /unmute - [X] Команда /ban - [X] Команда /unban - [ ] Фильтрация сообщений diff --git a/src/config.py b/src/config.py index acc21e9..046c895 100644 --- a/src/config.py +++ b/src/config.py @@ -9,31 +9,71 @@ LOG_FILE_NAME = 'bot.log' # Сообщения команд COMMAND_MESSAGES = { - 'start': 'Бот-модератор для чата @linux_gaming_ru', - 'help': 'пусто', + 'start': 'Бот-администратор для чата @linux_gaming_ru', + 'help': ( + "📚 Справочник команд администратора\n\n" + "Основные команды:\n" + "• /start - Начало работы\n" + "• /help - Этот справочник\n\n" + "🛠 Команды модерации:\n" + "• /mute help - Инструкция по муту\n" + "• /unmute help - Снятие мута\n" + "• /ban help - Инструкция по бану\n" + "• /unban help - Снятие бана\n\n" + "ℹ️ Для подробностей по конкретной команде используйте: /команда help" + ), 'manual_mute': ( - 'ℹ️ Использование мута:\n' - '1️⃣ Ответьте на сообщение: /mute время\n' - '2️⃣ Укажите тэг: /mute @username время\n' - '3️⃣ Укажите ID: /mute 123456789 время\n\n' + "🔇 Команда /mute\n\n" + "Ограничивает права пользователя на указанное время\n\n" + "🕒 Форматы времени:\n" + "• Минуты: 10м, 30м\n" + "• Часы: , \n" + "• Дни: , \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': ( - 'ℹ️ Использование размута:\n' - '1️⃣ Ответьте на сообщение: /unmute время\n' - '2️⃣ Укажите тэг: /unmute @username время\n' - '3️⃣ Укажите ID: /unmute 123456789 время\n\n' + "🔊 Команда /unmute\n\n" + "Снимает ограничения с пользователя\n\n" + "🎯 Способы использования:\n" + "1. Ответ на сообщение:\n" + " /unmute\n" + "2. По тегу пользователя:\n" + " /unmute @username\n" + "3. По ID пользователя:\n" + " /unmute 123456789\n\n" + "ℹ️ Работает только для временно замученных пользователей" ), 'manual_ban': ( - 'ℹ️ Использование бана:\n' - '1️⃣ Ответьте на сообщение: /ban\n' - '2️⃣ Укажите тэг: /ban @username\n' - '3️⃣ Укажите ID: /ban 123456789' + "🚫 Команда /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': ( - 'ℹ️ Использование разбана:\n' - '1️⃣ Ответьте на сообщение: /unban\n' - '2️⃣ Укажите тэг: /unban @username\n' - '3️⃣ Укажите ID: /unban 123456789' + "✅ Команда /unban\n\n" + "Снимает бан с пользователя\n\n" + "🎯 Способы использования:\n" + "1. По тегу пользователя:\n" + " /unban @username\n" + "2. По ID пользователя:\n" + " /unban 123456789\n\n" + "⚠️ Работает только для забаненных через /ban\n" + "ℹ️ Пользователь сможет снова присоединиться" ), 'no_admin_rights': '❌ Только администраторы могут использовать эту команду.', 'no_restrict_rights': '❌ У вас недостаточно прав.', diff --git a/src/modules/help.py b/src/modules/help.py new file mode 100644 index 0000000..e6bfba0 --- /dev/null +++ b/src/modules/help.py @@ -0,0 +1,24 @@ +from telebot.async_telebot import AsyncTeleBot +from telebot.types import Message +import logging + +from config import COMMAND_MESSAGES + +logger = logging.getLogger(__name__) # Получаем логгер для текущего модуля + +def register_handlers(bot: AsyncTeleBot): # Регистрирует все обработчики команд + + @bot.message_handler(commands=['help']) # Обработчик команды /help + async def help_command(message: Message): + + # Отправка сообщения в тему или обычный чат + send_message = bot.reply_to if message.is_topic_message else bot.send_message + chat_id = message if message.is_topic_message else message.chat.id + + try: + + await send_message(chat_id, COMMAND_MESSAGES['help']) + logger.info(f"Пользователь {message.from_user.id} запустил /help.") + + except Exception as e: + logger.error(f"Пользователь {message.from_user.id} запустил /help: {str(e)}") \ No newline at end of file