当使用 Aiogram 发送转发消息时,可能会遇到消息未发送的问题。可以尝试使用以下代码序列化转发消息:
from aiogram.types import MessageEntity, InputMessageContent, InlineQueryResultArticle, InlineQuery
import json
async def on_inline_query(inline_query: InlineQuery):
    results = []
    forward_message = # 转发消息
    forward_message_text = forward_message.text
    entities = forward_message.entities
    input_message_content = InputMessageContent(
        message_text=forward_message_text,
        parse_mode='HTML'  # 或者 'Markdown'
    )
    # 序列化转发消息
    entities_json = json.dumps([entity.to_dict() for entity in entities])
    message_entity = MessageEntity(type=entities[0].type, offset=entities[0].offset, length=entities[0].length)
    message_entity_json = json.dumps(message_entity.to_dict(), ensure_ascii=False)
    # 添加转发消息到结果列表
    results.append(
        InlineQueryResultArticle(
            id='0',
            title='Forward Message',
            input_message_content=input_message_content,
            description=forward_message_text,
            reply_markup=None,
            url=None,
            hide_url=None,
            thumb_url=None,
            thumb_width=None,
            thumb_height=None,
            message_text=forward_message_text,
            message_entities=[message_entity_json],
            parse_mode='HTML'  # 或者 'Markdown'
        )
    )
    await inline_query.answer(results, cache_time=0)
上述代码中,我们对消息实体使用了 json.dumps 进行序列化。同时,使用 InlineQueryResultArticle 将转发消息作为内联查询结果返回。
这是发生转发消息发送问题时的一种解决方法。