Реакция на ответ боту в чате telegram aiogram

Нужно сделать так, чтобы бот отправлял сообщение в чате только тогда, когда человек написал определенное слово именно ответом на другое определенное сообщение бота. Помогите реализовать

@dp.message_handler() 
async def filter_messages(message: types.Message):    
    if "Мат" in message.text.lower():   
        await message.reply('Веди себя прилично, приблуда!')

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

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

Если правильно понял вопрос, то вам нужно посмотреть про машину состояний.

Код будет выглядеть как-то так:

from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters.state import State, StatesGroup

class StateGroupExample(StatesGroup):
    wait_for_answer = State() #создаёте состояние
from main import bot, dp, asyncio
from aiogram import types
from states import FSMContext, StateGroupExample

@dp.message_handler()
async def help(message: types.Message, state: FSMContext):
    await message.answer(text='я вернулся')
    await StateGroupExample.wait_for_answer.set() #теперь бот будет ловить сообщения в хендлеры с установленным состоянием

@dp.message_handler(state=StateGroupExample.wait_for_answer, text=['откуда'])
async def help(message: types.Message, state: FSMContext):
    if message.text == 'откуда':
        await message.answer(text='Ото сна')
    await state.finish()
import asyncio
from aiogram import Bot, Dispatcher, executor
from config import BOT_TOKEN
from aiogram.contrib.fsm_storage.memory import MemoryStorage

loop = asyncio.get_event_loop()
bot = Bot(BOT_TOKEN)
dp = Dispatcher(bot, loop=loop, storage=MemoryStorage())

if __name__ == "__main__":
    from handlers import dp
    executor.start_polling(dp) #передаём диспатчер со стораджем
→ Ссылка