Надо, чтобы машина состояний не срабатывала, а сразу предоставляла меню, если пользователь уже есть в бд. Сейчас при каждом нажатии на кнопку старт машина состояний срабатывает заново.
Направьте в нужном направлении.
Собственно сам код системы регистрации:
@dp.message_handler(commands=['help'])
async def help_command(message: types.Message):
await message.reply(text=HELP_COMMAND)
@dp.message_handler(commands=['start'])
async def start_command(message: types.Message):
await message.reply('Привет мы еще не знакомы ?,\nКак тебя зовут')
await reg.name.set()
@dp.message_handler(state=reg.name)
async def state1(message: types.Message, state: FSMContext):
async with state.proxy() as data:
data['name'] = message.text
await reg.next()
await message.reply(f' Сколько тебе лет')
@dp.message_handler(state=reg.age)
async def state2(message: types.Message, state: FSMContext):
async with state.proxy() as data:
data['age'] = message.text
await reg.next()
await message.reply(f'Тебе осталось только написать свой номер =)')
@dp.message_handler(state=reg.phone)
async def state3(message: types.Message, state: FSMContext):
async with state.proxy() as data:
data['phone'] = message.text
await barber_db.sql_add_command(state)
await state.finish()
await bot.send_message(chat_id=message.from_user.id,
text="Добро пожаловать",
parse_mode="HTML",
reply_markup=mainMenu)