diff --git a/main.py b/main.py index d174198..f1b2715 100644 --- a/main.py +++ b/main.py @@ -134,18 +134,41 @@ async def btn_chat(message: Message, state: FSMContext): @router.message(F.text == "📝 Регистрация") async def btn_registration(message: Message, state: FSMContext): """Обработчик кнопки 'Регистрация'""" - from aiogram.types import CallbackQuery + from src.handlers.registration_handlers import RegistrationStates + from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton - fake_callback = CallbackQuery( - id="fake", - from_user=message.from_user, - chat_instance="0", - data="start_registration", - message=message + logger.info(f"User {message.from_user.id} pressed Registration button") + + text = ( + "📝 Регистрация в системе\n\n" + "Для участия в розыгрышах необходимо зарегистрироваться.\n\n" + "Шаг 1 из 3: Придумайте никнейм\n\n" + "🎭 Введите ваш никнейм для чата:\n" + "• От 2 до 20 символов\n" + "• Может содержать буквы, цифры, пробелы\n" + "• Это имя будут видеть другие участники" ) - from src.handlers.registration_handlers import start_registration - await start_registration(fake_callback, state) + await message.answer( + text, + reply_markup=InlineKeyboardMarkup(inline_keyboard=[ + [InlineKeyboardButton(text="❌ Отмена", callback_data="back_to_main")] + ]) + ) + + await state.set_state(RegistrationStates.waiting_for_nickname) + + +@router.message(CaseInsensitiveCommand("register")) +async def cmd_register(message: Message, state: FSMContext): + """Обработчик команды /register (регистронезависимо)""" + await btn_registration(message, state) + + +@router.message(F.text.lower().in_(["регистрация", "регистр", "register"])) +async def text_registration(message: Message, state: FSMContext): + """Обработчик текста для регистрации""" + await btn_registration(message, state) @router.message(F.text == "🔑 Мой код") diff --git a/src/controllers/bot_controller.py b/src/controllers/bot_controller.py index 30b7682..53506f3 100644 --- a/src/controllers/bot_controller.py +++ b/src/controllers/bot_controller.py @@ -35,6 +35,9 @@ class BotController(IBotController): async def handle_start(self, message: Message): """Обработать команду /start""" from src.utils.keyboards import get_main_reply_keyboard + import logging + + logger = logging.getLogger(__name__) user = await self.user_service.get_or_create_user( telegram_id=message.from_user.id, @@ -43,6 +46,9 @@ class BotController(IBotController): last_name=message.from_user.last_name ) + # Логирование статуса регистрации + logger.info(f"User {message.from_user.id}: is_registered={user.is_registered}, is_admin={self.is_admin(message.from_user.id)}") + welcome_text = f"👋 Добро пожаловать, {user.first_name or 'дорогой пользователь'}!\n\n" welcome_text += "🎲 Это бот для участия в розыгрышах.\n\n"