You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telethon无法获取相册(Album)类型消息的文本内容

解决Telethon获取相册类型消息文本的问题

当消息为相册(Album)类型时,说明文本不会存储在主消息的message或text属性中,而是保存在相册内对应媒体项的caption字段里。以下是调整后的代码:

# python3.8
from telethon import TelegramClient
from telethon.tl.types import MessageMediaAlbum

session_name = 'XXXX'
api_id = 999999
api_hash = 'XXXXXXXXXXX'

async def main():
    chat = 1473001998
    message_id = 23420
    msg = await client.get_messages(chat, ids=message_id)
    
    # 处理常规消息文本
    if msg.message:
        print("消息文本:", msg.message)
    # 处理相册类型消息
    elif isinstance(msg.media, MessageMediaAlbum):
        print("相册消息说明文本:")
        for index, media_item in enumerate(msg.media.items):
            if media_item.caption:
                print(f"第{index+1}个媒体项: {media_item.caption}")

client = TelegramClient(session_name, api_id, api_hash)
client.start()
client.loop.run_until_complete(main())

关键说明:

  • 先判断消息媒体类型是否为MessageMediaAlbum,确认是相册消息
  • 遍历msg.media.items,每个media_item的caption属性就是对应媒体的说明文本
  • 若不确定消息结构,可取消注释print(msg.stringify()),查看消息的完整字段结构,快速定位文本存储位置

内容的提问来源于stack exchange,提问作者Nikitosiwe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 04:39:57