Оптимизация кода телеграмм бот python
Помогите, пожалуйста) делаю свой первый проект - гороскоп бота на aiogram. Понимаю, что можно все это записать одной функцией, но не могу сообразить, как правильно передать все переменные. названия знаков хранятся в списке. при выводе информация должна забираться из списков zz и horoscope с соответствующими индексами. то есть меняется только 3 значения - название знака и заголовок с текстом:
#Овен
@dp.callback_query_handler(lambda x: x.data == 'oven')
async def reaction(call: types.callback_query):
await bot.answer_callback_query(call.id)
await bot.send_message(call.message.chat.id, zz[0] + horoscope[0].text, reply_markup=back_btn)
#Телец
@dp.callback_query_handler(lambda x: x.data == 'telec')
async def reaction(call: types.callback_query):
await bot.answer_callback_query(call.id)
await bot.send_message(call.message.chat.id, zz[1] + horoscope[1].text, reply_markup=back_btn)
Ответы (1 шт):
Автор решения: Trafalgar
→ Ссылка
если это aiogram второй версии то передайте весь список в text=['oven', 'telec'] и так далее
@dp.callback_query_handler(text=zz)
async def reaction(call: types.callback_query):
await bot.answer_callback_query(call.id)
await bot.send_message(call.message.chat.id, call.data + horoscope[0].text, reply_markup=back_btn)