Оптимизация кода телеграмм бот 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)
→ Ссылка