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

如何获取Telegram频道帖子评论?get_discussion_message调用异常

问题原因

get_discussion_message方法用于获取讨论区中指定ID的单条消息。如果传入的是主帖子的ID,它返回的自然是主帖子对象,而非帖子下的评论。你需要调用专门的方法来获取主帖子的评论列表。

修复方案

使用get_discussion_replies方法遍历主帖子下的所有评论,或者通过message.get_replies()异步方法获取评论集合。

修复后的代码示例

ch = -...

app = Client(
    "my_account",
    api_id=...,
    api_hash="..."
)

async def main():
    await app.start()

    async for message in app.get_chat_history(ch):
        try:
            # 遍历当前帖子下的所有评论
            async for reply_msg in app.get_discussion_replies(ch, message.id):
                print(f"评论内容:{reply_msg.text}")
                print(f"评论作者:{reply_msg.author.username if reply_msg.author else '匿名用户'}")
                print("---")
        except Exception as e:
            print(f"处理消息ID {message.id} 时出错:{str(e)}")
    await app.stop()

app.run(main())
补充说明
  • 若要获取单条特定评论,需确保传入get_discussion_message的是评论的ID,而非主帖子ID。
  • get_discussion_replies会自动获取该帖子下的所有层级评论(包括评论的回复)。
  • 保留异常打印便于排查权限不足、帖子无评论等问题,不要直接忽略异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 21:50:00