Проблема с Contains в Aiogram Telegram Bot

Здравствуйте написал код на aiogram :

eda = ['яблоко', 'груша', 'персик']

@dp.message_handler(filters.Text(contains=eda, ignore_case=True))
async def text_example(message : types.Message):
        await message.reply('Фрукты')

Вопрос заключается в том, что contains ждёт пока я все три слова напишу и только тогда реагирует, а надо чтоб он индивидуально каждое слово находил в тексте независимости от местоположения слова.
Как это обойти?
Рад буду помощи
Про equals, startswith, endswith - я знаю, они не нужны


Ответы (2 шт):

Автор решения: oleksandrigo

Попробуй так.

@dp.message_handler(lambda msg: msg.text.lower() in eda)
→ Ссылка
Автор решения: RichardJP

Вот два решения для моего вопроса

eda = ['яблоко', 'банан', 'груша', 'персик']

@dp.message_handler(content_types=['text'])
async def main(message : types.Message):
    if any(word in message.text for word in eda):
        await message.reply('Фруты')

Или

eda = ['яблоко', 'банан', 'груша', 'персик']

@dp.message_handler(lambda msg: any(word in msg.text.lower() for word in eda))
async def text_example(message : types.Message):
        await message.reply('Фрукты')
→ Ссылка