@alwaystried

Почему код выдает ошибку?

почему бот выдает ошибку? Сделал все по документации 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'
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы