You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Python Telethon获取Telegram群组管理员返回空结果问题求助

解决Telethon获取Telegram群组管理员返回空结果的问题

你遇到的情况很清晰——返回结果里count=1说明频道确实有1个管理员,但participantsusers数组为空,核心问题出在offset参数的设置上

问题根源

你代码里写了offset=42,这表示你要从第43个参与者的位置开始获取数据,但结果显示管理员总数只有1个。从offset=42的位置自然拿不到任何内容,因为这个位置根本不存在参与者。

修正后的代码

把offset改成0(从第一个参与者开始获取),同时可以简化hash参数(Telethon通常会自动处理hash值,不需要硬设为0):

client.connect()
if not client.is_user_authorized():
    client.send_code_request(phone)
    client.sign_in(phone, input('Enter the code: '))
result = client(functions.channels.GetParticipantsRequest(
    channel='mychannel',
    filter=types.ChannelParticipantsAdmins(),
    offset=0,  # 从第一个管理员开始获取
    limit=100,
    hash=0  # 也可以省略该参数,让Telethon自动生成
))
print(result.stringify())

额外提醒

  • 如果你的mychannel是普通群组(非超级群/频道),可能需要改用functions.messages.GetParticipantsRequest,因为channels.*系列接口仅适用于超级群和频道类型。
  • 确保你的账号有权限查看该群组的管理员信息,部分私密群组会限制非管理员查看管理员列表。

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

火山引擎 最新活动