Задать вопрос
@datel

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

@dp.message(WriteAppeal.message)
async def wrote(message: Message, state: FSMContext):
    await bot.forward_message(chat_id=CHANNEL_ID, from_chat_id=message.chat.id, message_id=message.message_id)
    await message.answer('Обращение благополучно отправлено!')

@dp.message(Command('answer'))
async def answering(message: Message):
    try:
        msg = message.reply_to_message
    except AttributeError:
        return

    print(msg.forward_from_chat)
    print(msg.message_thread_id, msg.sender_chat)
    await bot.send_message(msg.chat.id, f'Ответ на ваше обращение: \n {message.text}', reply_to_message_id=msg.message_id)


Есть вот такой код

Моё ПРЕСЛАННОЕ сообщение не имеет свойств ПЕРЕСЛАННОГО сообщения.

Почему так? И есть ли какие либо альтернативы, потому что в принтах выдаёт None, а forward_origin выдает только MessageOriginUser и больше ничего
  • Вопрос задан
  • 37 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Доки говорят:
reply_to_message: Message | None
Optional. For replies in the same chat and message thread, the original message. Note that the Message object in this field will not contain further reply_to_message fields even if it itself is a reply.

Может, это и к сведениям о форварде относится.

Я бы просто заставил бота сохранять в базу ID оригинального сообщения, ID чата, где оно было отправлено, и ID форварда. Тогда впоследствии можно было бы выбрать из базы по ID форварда оригинал, и ответить на него.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы