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

Telegram API报错Bad Request: chat not found,求正确ChatID用法

正确调用Telegram API getChatMembersCount的Chat ID用法

问题核心原因

你通过CheckChatInviteRequest拿到的频道ID格式本身没问题,但你的账号(或调用API的Bot)并未加入该频道/群组,这才是导致chat not found错误的关键——Telegram官方API要求调用者必须是目标聊天的成员(Bot需被管理员添加),才能访问诸如成员数这类信息,而CheckChatInviteRequest仅验证邀请链接有效性,不需要加入就能返回基础信息。

正确操作步骤

  1. 确保账号/Bot已加入目标频道

    • 如果是个人账号,用Telethon执行加入操作:
      from telethon.sync import TelegramClient
      from telethon import functions, types
      
      with TelegramClient('none', 111111, '12a12b12c12d12e12f12g12h') as client:
          # 通过邀请链接hash加入频道
          client(functions.messages.ImportChatInviteRequest(hash='AAAAAAAABBBBBBB'))
      
    • 如果是Bot,需要频道管理员将Bot添加到频道中,并授予至少「查看成员」的权限。
  2. 使用正确的Chat ID格式
    对于频道(Channel),官方API要求的ID格式是-100加上你拿到的原始ID,比如你获取的123456789,正确的ID应为-100123456789。

  3. 验证与替代方案

    • 可以先用Telethon验证是否已成功加入:
      with TelegramClient('none', 111111, '12a12b12c12d12e12f12g12h') as client:
          entity = client.get_entity(123456789)
          print(entity.stringify())
          # 直接用Telethon获取成员数
          count = client.get_participants_count(123456789)
          print(count)
      
    • 若Telethon能正常获取信息,再用-100123456789调用官方API的getChatMembersCount即可返回正确结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 05:05:04