常见报错 · 小白

Telegram Bot 提示 chat not found 怎么解决

chat not found 一般是 Bot 没进群、chat_id 写错或用户没和 Bot 私聊过,按顺序排查。

  • Telegram
  • Bot
  • 排错
更新于 2026-05-17

一句话结论

Bot 没进群、chat_id 写错、用户没和 Bot 私聊过,按这四步过一遍基本就解。

适用场景

  • Telegram 推送一直失败
  • 群里 Bot 不回话
  • 面板里 chat_id 看着对,还是报错

常见现象

  • API 返回 Bad Request: chat not found
  • 面板里发送测试消息一直失败
  • Webhook 日志里 chat_id 不存在

原因解释

  • Bot 没被邀请到目标群或频道
  • chat_id 写成了用户名,或者多了空格、负号缺失
  • 用户没主动和 Bot 私聊过,Bot 无法主动发消息
  • Bot 在频道里没有发消息权限

解决步骤

  1. 把 Bot 加到群,给它管理员或发消息权限
  2. 用 getUpdates 接口确认真实的 chat_id
  3. 私聊场景下让用户先发一条 /start 给 Bot
  4. 把 chat_id 重新填进面板,再发一次测试消息

可复制命令

curl https://api.telegram.org/bot<TOKEN>/getUpdates

仍然不行怎么办

  • 还是失败的话,换一个新群再试,排除是不是历史群被限制
  • 或者把日志发到排错入口

小白先准备什么

  1. 在 @BotFather 创建好 Bot,拿到 Token
  2. 确认 Bot 已经被拉进目标群,或者用户已经私聊过 Bot
  3. 准备好 curl 或 Postman,能手动调 Telegram API
  4. 知道自己要发的是群消息还是私聊消息

验收标准

  • 用 getUpdates 能看到正确的 chat_id
  • 用 sendMessage 手动发一条消息能成功
  • 面板里的测试消息功能正常
  • 群消息和私聊消息都能正常收发

可复制排查提示词

把下面这段发给 AI,让它帮你确认 chat_id 是否正确:

我的 Telegram Bot 报 chat not found 错误。

Bot Token:<前几位>...<后几位>(脱敏)
目标场景:<群消息/私聊/频道>
我填的 chat_id:<你填的值>

请帮我:
1. 确认 chat_id 格式是否正确(群是负数、超级群是 -100 开头)
2. 给出用 getUpdates 获取正确 chat_id 的完整 curl 命令
3. 给出发送测试消息的 curl 命令
4. 如果是权限问题,告诉我怎么设置

常见误区

  • 误区:chat_id 就是用户名 → 实际上 chat_id 是一串数字,群的 chat_id 是负数
  • 误区:Bot 创建好就能发消息 → 用户必须先 /start 过,Bot 才能主动私聊
  • 误区:把 Bot 加到群就行 → 还需要给 Bot 发消息权限(管理员或允许发消息)
  • 误区:chat_id 永远不变 → 群升级为超级群后 chat_id 会变,需要重新获取

相关问题

还卡着?

可以把截图、日志、需求单或当前页面链接发到 zhemuy@gmail.com。