Добрый день! Прошу подсказать, почему данный код отказывается срабатывать. Его суть такова - пользователь вводит данные, бот ему показывает сообщение, и по факту должен обрабатывать данные в другом хендлере. Но вместо этого, бот просто показывает сообщение, но не приступает к выполнению кода в другом хендлере
Код:
@dp.callback_query_handler(text_startswith="buyvip")
async def checkname(query: CallbackQuery):
keyboard = InlineKeyboardMarkup(row_width=1).add(
InlineKeyboardButton(text="Назад", callback_data="Купить билет")
)
await query.message.edit_text("Введите ваше ФИО. Будьте внимательны - оно будет проверятся на входе")
await Form.name.set()
@dp.callback_query_handler(state=Form.name)
async def process_name(message: types.Message, state: FSMContext):
async with state.proxy() as data:
data['name'] = message.text
conn = aiomysql.connect(host='localhost', port=3306, user='root', password='',
db='aiodb',
loop=loop)
# variable = int(query.data.split(":")[1])
cur = await conn.cursor()
teled = message.from_user.id
sql = "SELECT name FROM users WHERE teleid=(%s)"
await cur.execute(sql, (teled))
row = await cur.fetchone()
name = data['name']
print(row)
if row is not None:
print("ok")
row = row[0]
await message.answer("✅ Ваши данные имеются в базе данных.")
else:
print("olk")
await message.answer("Введите ваше ФИО")
mes = message.text
teled = message.from_user.id
start_sql = "UPDATE users set name = (%s) where teleid=(%s)"
conn = await aiomysql.connect(host='localhost', port=3306, user='root', password='',
db='aiodb',
loop=loop)
cur = await conn.cursor()
mesg = message.text
await cur.execute(start_sql, (name, teled))
await conn.commit()
await message.answer(
"✅ Ваше ФИО добавлено. Для изменения вам будет необходимо переидти в специальный раздел (soon)")
Form.next()