В телеграмм бота не приходит "reply_to_message"

Всем привет! Подскажите, пожалуйста. Я сделал телеграмм бота, который должен реагировать только в случаях, если в сообщении есть реплай сообщения. Код выглядит примерно так (библиотека aiogram, python):

bot = Bot(token=tg_token)   
dp = Dispatcher(bot)

@dp.message_handler(commands=['snow'])
async def snowball(message: types.Message):
    if 'reply_to_message' in message:
        await message.reply(f'Ты переслал сообщение')
    else:
        print(message.as_json())
        await message.reply(f'Тебе нужно переслать сообщение!')

if __name__ == '__main__':
    executor.start_polling(dp)

Но он не всегда работает - иногда реплай сообщения есть, но он отдаёт "Тебе нужно переслать сообщение!". Строка print(message.as_json()) возвращает следующий словарь: {"message_id": 49, "from": {"id": 12345, "is_bot": false, "first_name": "first_name", "last_name": "last_name", "username": "username", "is_premium": true}, "chat": {"id": -123, "title": "testttt", "type": "group", "all_members_are_administrators": true}, "date": 1701598218, "text": "/snow", "entities": [{"type": "bot_command", "offset": 0, "length": 5}]}. В этом словаре почему-то нет ключа reply_to_message. Сообщение, которое было пересланно, отправилось после того как добавили бота (т.е. история сообщений ему видна), и я пробовал выдавать ему админку, тоже не всегда помогает. Работает как будто рандомно, иногда работает - иногда нет. Как можно это исправить?Скрин, где бот сработал, и после сразу же не сработал


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

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

Попробуй вот это, вроде работает без ошибок, у тебя неправильная проверка на reply_message, я подправил

@dp.message_handler(commands=['snow'])
async def snowball(message: Message):
    if message.reply_to_message:
        await message.reply(f'Ты переслал сообщение')
    else:
        print(message.as_json())
        await message.reply(f'Тебе нужно переслать сообщение!')
→ Ссылка