I have to find user_id and order_id in the message, but I want to make a separate class for this search. I just want to optimise my code.
I have highlighted a part of the code(#-----) that I would like to cram into a separate file, but since I am a beginner I do not understand how it could be implemented. Tell me, please or at least a similar example to figure it out for yourself.
This is my code:
@dp.callback_query_handler(text="accept_ord", state=None)
async def process_order_callback_4(query: types.CallbackQuery):
answ_date_2=query.data
#------------
#find the text from message
text = str(query.message.text)
#find id_order from the text of the message
id = text.split('\n')[0].split("№ ")[1]
#from str to int
id_1 = int(re.search('\d+', id).group(0))
#find id_user from table_2 in db
cl_id = str(db.get_user_id_admin(id_1))
#from str to int
cl_id_1 = int(re.search('\d+', cl_id).group(0))
#find id_user from table_1 in db
user_id = str(db.get_user_telegram_id_admin(cl_id_1))
user_id_clear=int(re.search('\d+', user_id).group(0))
#------------
await bot.send_message(user_id_clear,
text=f'The status of the order has been change №{id_1} изменен!\n\nPlease check main menu (/start)')
if answ_date_2 == "accept_ord":
status = 2
db.set_new_status(id_1, status)
await bot.send_message(query.from_user.id, text=f'The order №{id_1} has been assepted.', reply_markup=nav.back_admin_menu_order)
It looks kreepy, but it works, hah.