Exemplo n.º 1
0
async def register_phone_write(message: types.Message, state: FSMContext):
    """Ввод номера телефона."""
    await message.delete()
    user = DataBaseFunc.get_user(message.from_user.id)
    data = await state.get_data()
    message_id = data['callback_message_id']
    phone = "".join(ch for ch in message.text if ch.isdigit())
    if (phone[0] == '8'):
        phone = '7' + phone[1:]
    errors = get_text(user, 'write_phone_errors')
    keyboard = UserGeneratorKeyboard.register_button(user)
    # keyboard = types.InlineKeyboardMarkup()
    # keyboard.add(types.InlineKeyboardButton(get_text_but(user, 'register_write_back'), callback_data="register_write_back"))

    if len(phone) == 0:
        await bot.edit_message_text(text=errors['empty'],
                                    chat_id=message.chat.id,
                                    message_id=message_id,
                                    reply_markup=keyboard)
        await UserStateRegister.main_menu.set()
        return

    check_user = DataBaseFunc.get_user_for_phone(phone)
    if (check_user != None):
        await bot.edit_message_text(text=errors['is_register'],
                                    chat_id=message.chat.id,
                                    message_id=message_id,
                                    reply_markup=keyboard)
        await UserStateRegister.main_menu.set()
        return

    contact = DataBaseFunc.get_contact(phone=phone)
    if (contact == None):
        await bot.edit_message_text(text=errors['not_found'],
                                    chat_id=message.chat.id,
                                    message_id=message_id,
                                    reply_markup=keyboard)
        await UserStateRegister.main_menu.set()
        return

    user.phone = phone
    user.mail = contact.mail
    user.is_register = True
    user.course_id = contact.course_id
    contact.is_register = True
    DataBaseFunc.commit()

    DataBaseFunc.add_course_in_user(user,
                                    DataBaseFunc.get_course(user.course_id))
    await bot.edit_message_text(text=get_text(user, 'start'),
                                chat_id=message.chat.id,
                                message_id=message_id,
                                reply_markup=await
                                UserGeneratorKeyboard.start_button(user))
    await UserStateMainMenu.main_menu.set()
Exemplo n.º 2
0
async def register_mail_write(message: types.Message, state: FSMContext):
    """Ввод номера телефона."""
    await message.delete()
    user = DataBaseFunc.get_user(message.from_user.id)
    data = await state.get_data()
    message_id = data['callback_message_id']
    mail = message.text
    mail = mail.lower()
    errors = get_text(user, 'write_mail_errors')
    keyboard = UserGeneratorKeyboard.register_button(user)
    # keyboard = types.InlineKeyboardMarkup()
    # keyboard.add(types.InlineKeyboardButton(get_text_but(user, 'register_write_back'), callback_data="register_write_back"))

    if ("@" in mail) == False:
        await bot.edit_message_text(text=errors['empty'],
                                    chat_id=message.chat.id,
                                    message_id=message_id,
                                    reply_markup=keyboard)
        await UserStateRegister.main_menu.set()
        return

    check_user = DataBaseFunc.get_user_for_mail(mail)
    if (check_user != None):
        await bot.edit_message_text(text=errors['is_register'],
                                    chat_id=message.chat.id,
                                    message_id=message_id,
                                    reply_markup=keyboard)
        await UserStateRegister.main_menu.set()
        return

    contact = DataBaseFunc.get_contact(mail=mail)
    if (contact == None):
        await bot.edit_message_text(text=errors['not_found'],
                                    chat_id=message.chat.id,
                                    message_id=message_id,
                                    reply_markup=keyboard)
        await UserStateRegister.main_menu.set()
        return

    user.mail = mail
    user.phone = contact.phone
    user.is_register = True
    contact.is_register = True
    user.course_id = contact.course_id
    DataBaseFunc.commit()

    DataBaseFunc.add_course_in_user(user,
                                    DataBaseFunc.get_course(user.course_id))
    await bot.edit_message_text(text=get_text(user, 'start'),
                                chat_id=message.chat.id,
                                message_id=message_id,
                                reply_markup=await
                                UserGeneratorKeyboard.start_button(user))
    await UserStateMainMenu.main_menu.set()