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

使用Telethon获取消息时部分消息views属性为None是什么原因?

Telethon获取Message对象views属性为None的常见原因
  • 消息所属会话类型不支持浏览量统计
    只有公开/私有频道的发帖才有浏览量统计字段,普通私聊、群组、超级群组内的消息,Telegram官方本身不提供浏览量统计,对应views属性固定返回None。
  • 频道管理员关闭了浏览量显示
    该问题确实可能由聊天管理员设置导致。Telegram频道支持管理员在频道设置中关闭「显示帖子浏览数」选项,关闭后所有客户端和API接口都无法获取到该频道帖子的浏览量数据,views属性会返回None。
  • 帖子发布时间过短
    刚发布的频道帖子,Telegram后台还未完成浏览量数据的统计同步,发布后几分钟内调用接口可能返回None,等待一段时间后重新请求即可拿到正常数值。
  • 当前账号无对应内容访问权限
    若请求的是私有频道内容且当前登录账号未加入该频道、或被频道拉黑限制访问,接口返回的消息数据会缺失包括views在内的部分敏感字段,返回None。

补充说明

你提供的示例代码存在缩进错误,print('message ->', message)行没有写在异步函数get_messages内部,实际运行时会在函数未执行完成时就打印,可能导致拿到未完成的协程对象而非实际消息数据,调整缩进即可:

async def get_messages(entity=None, post_id=None, limit=1):
    await app.tl_client.get_dialogs()

    input_entity = await app.tl_client.get_input_entity(entity)
    print('input_entity->', input_entity)
    message = await app.tl_client.get_messages(entity, ids=post_id, limit=limit)
    # 调整缩进后放到函数内部
    print('message ->', message)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:24:01