Задать вопрос
@azizback

Как реализовать функцию редакции заказов?

У меня список заказов которые пользователь когда либо создавал, нужно реализовать функции редакции текста этих заказов. При нажатие на кнопку 'edit' пользователь может написать новое сообщение которые запишется вместо раннего. Приложил код как фундамент с чем работаю.

db
#karkas
async def edit_order_text(order_text, userid):
    cur.execute("UPDATE orders SET orderText = ? WHERE userId = ?", (order_text, userid))

async def list_orders(message):
    cur.execute("SELECT * FROM orders WHERE userId=?", (message.from_user.id,))
    user = cur.fetchall()
    if user:
        for i in user:
            await message.answer(text=f'order #{i[2]}\n\n'
                                      'state: OPEN\n\n'
                                      f'text: <b>{i[3]}</b>', parse_mode='HTML',
                                 reply_markup=InlineKeyboardMarkup(inline_keyboard=[

                                     [
                                         InlineKeyboardButton(text='edit', callback_data='edit_order')
                                     ]
                                 ]))
        await message.answer(text='no orders.')


handler
@orders_router.callback_query(F.data == 'edit_order')
async def edit_order(callback: CallbackQuery, state: FSMContext):
    await callback.message.answer('pass text below.')
    await state.set_state(Form.text_order)



@orders_router.message(Form.text_order)
async def form_order_text(message: Message, state: FSMContext):
    await state.update_data(order_text=message.text)
    order_data = await state.get_data()
    await edit_order_text(message, order_data['order_text'])
654b6f8407025670504782.png
  • Вопрос задан
  • 44 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Продвинутый SQL
    5 недель
    Далее
  • Яндекс Практикум
    SQL для разработки
    4 месяца
    Далее
  • Академия Eduson
    SQL-разработчик: тариф Базовый
    3 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽