コード例 #1
0
async def start_message(message: types.Message):
    """Обработчик команды /start."""
    user = DataBaseFunc.get_user(message.from_user.id)

    if user != None:
        if (user.chat_id != message.chat.id):
            user.chat_id = message.chat.id
            DataBaseFunc.commit()

    await message.delete()

    if user == None:
        user = User(id=message.from_user.id,
                    username=message.from_user.username,
                    chat_id=message.chat.id,
                    is_check_seven_days=False)
        DataBaseFunc.add(user)
        DataBaseFunc.commit()
        mess = await message.answer(
            get_text(user, 'register'),
            reply_markup=UserGeneratorKeyboard.register_button(user))
        await DataBaseFunc.delete_messages(user)
        ms = Message(user_id=user.id, message_id=mess.message_id)
        DataBaseFunc.add(ms)
        await UserStateRegister.main_menu.set()

    elif user.is_register == False:
        if (user.chat_id == None):
            user.chat_id = message.chat.id
        mess = await message.answer(
            get_text(user, 'register'),
            reply_markup=UserGeneratorKeyboard.register_button(user))
        await DataBaseFunc.delete_messages(user)
        ms = Message(user_id=user.id, message_id=mess.message_id)
        DataBaseFunc.add(ms)
        await UserStateRegister.main_menu.set()

    else:
        if (user.chat_id == None):
            user.chat_id = message.chat.id
        mess = await message.answer(get_text(user, 'start'),
                                    reply_markup=await
                                    UserGeneratorKeyboard.start_button(user))
        await DataBaseFunc.delete_messages(user)
        ms = Message(user_id=user.id, message_id=mess.message_id)
        DataBaseFunc.add(ms)
        await UserStateMainMenu.main_menu.set()