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

如何用Pyrogram检查Telegram频道评论?遇GetGroupsForDiscussion传参问题

解决Pyrogram检查Telegram频道评论的正确方法

首先明确:你误解了get_groups_for_discussion方法的作用——它不需要参数,也不能用来直接查询单个频道的讨论组。这个方法的功能是返回当前登录账号已加入的所有讨论组(即关联频道的评论区),所以传参数调用必然触发错误,这是符合设计逻辑的。

正确实现步骤

要检查指定频道的评论数量,需通过以下流程:

  1. 获取目标频道的Chat对象,提取其关联的讨论组ID(linked_chat_id字段)
  2. 通过该ID获取讨论组的Chat对象
  3. 统计讨论组内的消息总数(即评论数量)

代码示例

from pyrogram import Client

# 初始化客户端(需填入你的API信息)
app = Client(
    "my_session",
    api_id=123456,
    api_hash="your_api_hash"
)

async def count_channel_comments(channel_username):
    # 获取频道信息
    channel = await app.get_chat(channel_username)
    # 检查是否有关联讨论组
    if not channel.linked_chat_id:
        print("该频道未设置关联讨论组,无法统计评论")
        return
    
    # 获取讨论组信息并统计消息数
    discussion_chat = await app.get_chat(channel.linked_chat_id)
    comment_count = await app.get_chat_history_count(discussion_chat.id)
    print(f"频道@{channel_username}的评论总数:{comment_count}")

# 运行客户端执行任务
with app:
    app.run(count_channel_comments("target_channel_username"))

关键说明

  • get_groups_for_discussion仅用于批量拉取当前账号加入的讨论组列表,无参数需求,也不支持指定单个频道
  • linked_chat_id是频道Chat对象的核心字段,只有当频道开启了评论功能(关联了讨论组)时才会有值
  • 使用get_chat_history_count统计消息数时,需确保你的账号有权限访问该讨论组(公开讨论组无需加入,私有讨论组需先加入)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 04:00:02