Пишу бота на основе библиотеки aiogram.
Необходимо получить id определённого сообщения от бота.
Ситуация такая: бот выдает из базы данных заказы (циклом) и каждому заказу можно присвоить статус (принят или нет), но чтоб его присвоить мне нужно получить id заказа, а так он храниться в определённом сообщении бота, нужно найти именно это сообщение и еще раз прочитать его, чтоб найти id заказа.
Найти id заказа в сообщении я знаю как, а вот получить id сообщения бота не могу.
Можете что-то подсказать или есть какие-то альтернативные решения данного вопроса?
@dp.callback_query_handler(text='check_new_ords')
async def process_order_callback_2(query: types.CallbackQuery):
if answer_ord_date == 'check_new_ords':
if len(records):
await bot.send_message(query.from_user.id, text='Хорошо! Вывожу новые заказы:')
for r in records:
if r[6] == 1:
client_id_1= int(re.search('\d+',r[1]).group(0))
cl_name = db.get_client_name(client_id_1)
await bot.send_message(query.from_user.id,
text=f"Заказ № {r[0]}\nСтатус: НА РАССМОТРЕНИИ.\nНазвание работы: {r[2]}\nОписание: {r[3]}\nКлиент: {cl_name}\nДата создания заказа:\n{r[5]}\n\n",
reply_markup=nav.order_list_admin_1)
await bot.send_message(query.from_user.id, text='Выберите пункт меню:',reply_markup=nav.back_admin_menu_order)
@dp.callback_query_handler(text="accept_ord")
@dp.callback_query_handler(text="refusal_ord")
async def process_order_callback_3(query: types.CallbackQuery):
answ_date_2=query.data
if answ_date_2 == "accept_ord":
status = 2
## Вот здесь я застрял
message_id=
##
db.set_new_status(id, status)
await bot.send_message(query.from_user.id, text=f'ЗАКАЗ №{id} ПРИНЯТ', reply_markup=nav.back_admin_menu_order)
Конечно, есть вариант в ручную переключать статус в бд, но это будет уже крайний случай.