处理回复消息aiogram

handle replied message aiogram

我该怎么做:我的 tgbot 使用 aiogram,我需要这个机器人来处理回复的消息。例如:聊天中的用户回复了一些消息,机器人应该处理用户消息以及用户回复的消息。

我试过:

@dp.message_handler(lambda message: message.chat.id == chat_id, commands='add')
async def add_to_db(message: types.Message, state: FSMContext):
    await bot.send_message(message.chat.id, 'Сейчас добавлю')
    await bot.send_message(message.chat.id, message.text)
    await state.finish()

该代码对命令 'add' 作出反应,我需要机器人了解使用此命令回复了哪条消息。

types.Message 具有属性 reply_to_message 并且它也是 types.Message 对象:

@dp.message_handler(lambda message: message.chat.id == chat_id, commands='add')
async def add_to_db(message: types.Message, state: FSMContext):

    # message.reply_to_message is a types.Message object too
    try:
        msg = message.reply_to_message.text # if replied
    except AttributeError:
        msg = 'not replied'
    
    await message.answer(f'Replied message text: {msg}')
    await message.answer(f'Message text: {message.text}')
    await state.finish()