почему бот выдает ошибку? Сделал все по документации aiogram.
Код:
@dp.callback_query_handler(text="setup")
async def setup_time(query: CallbackQuery):
cancel = InlineKeyboardMarkup(row_width=1).add(
InlineKeyboardButton(text="❎ Назад", callback_data="start")
)
await query.message.edit_text(" Окей. Введите время проведения мероприятия в формате: 14:30", reply_markup=cancel)
await Form.timeng.set()
@dp.message_handler(state=Form.timeng)
async def setup_adress(message: types.Message, state: FSMContext):
cancel = InlineKeyboardMarkup(row_width=1).add(
InlineKeyboardButton(text="❎ Назад", callback_data="start")
)
await message.answer(" Продолжим. Введите дату проведения в формате 2022-13-02 ", reply_markup=cancel)
await Form.next()
@dp.message_handler(state=Form.data)
async def setup_vip(message: types.Message):
cancel = InlineKeyboardMarkup(row_width=1).add(
InlineKeyboardButton(text="❎ Назад", callback_data="start")
)
await message.answer(" Окей. Теперь введите адрес проведения в формате: ул. Розина 128", reply_markup=cancel)
await Form.next()
@dp.message_handler(state=Form.adress)
async def setup_vip(message: types.Message, state: FSMContext):
cancel = InlineKeyboardMarkup(row_width=1).add(
InlineKeyboardButton(text="❎ Назад", callback_data="start")
)
await message.answer(" Отлично. Теперь введите цену за VIP билет. Внимание - вводите в формате 75000 - где 750 это рубли, а 00 - копейки. Ни в коем случае не вводите другие символы кроме цифр!", reply_markup=cancel)
await Form.next()
@dp.message_handler(state=Form.vip)
async def setup_vip(message: types.Message, state: FSMContext):
cancel = InlineKeyboardMarkup(row_width=1).add(
InlineKeyboardButton(text="❎ Назад", callback_data="start")
)
await message.answer(" Отлично. Теперь введите цену за СТАНДАРТ билет. Внимание - вводите в формате 45000 - где 450 это рубли, а 00 - копейки. Ни в коем случае не вводите другие символы кроме цифр!", reply_markup=cancel)
await Form.next()
@dp.message_handler(state=Form.stand)
async def setup_finally(message: types.Message, state: FSMContext):
conn = await aiomysql.connect(host='localhost', port=3306, user='root', password='Fhntv338954',
db='aiosystem',
loop=loop)
cur = await conn.cursor()
async with state.proxy() as data:
data['stand'] = int(message.text)
timeng = data['timeng'],
date = data['date'],
adress = data['adress'],
vip = data['vip'],
stand = data['stand']
print(timeng, date, adress)
install = "INSERT INTO setup(time, date, vip_price, stand_price, location), VALUES ((%s), (%s), (%s), (%s), (%s))"
cur.execute(install,(time, date, adress, vip, stand))
Ошибка:
return await self.message_handlers.notify(update.message)
File "/Users/redwest/PycharmProjects/pardonte-org/venv/lib/python3.10/site-packages/aiogram/dispatcher/handler.py", line 116, in notify
response = await handler_obj.handler(*args, **partial_data)
File "/Users/redwest/PycharmProjects/pardonte-org/main.py", line 189, in setup_finally
timeng = data['timeng'],
File "/Users/redwest/PycharmProjects/pardonte-org/venv/lib/python3.10/site-packages/aiogram/dispatcher/storage.py", line 439, in __getitem__
return self._data[item]
KeyError: 'timeng'