提问人:nerduz 提问时间:11/9/2023 更新时间:11/9/2023 访问量:12
如何在aiogram 3.0,sqlite中实现订单修订功能?
How to implement the order revision function in aiogram 3.0, sqlite?
问:
我有一个用户曾经创建的订单列表,我需要实现编辑这些订单文本的功能。通过单击“编辑”按钮,用户可以编写一条新消息,该消息将被记录下来,而不是之前的消息。我附上了代码作为我正在使用的基础。
分贝
#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.')
处理器
@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'])
答: 暂无答案
评论