常见报错 · 小白
chat not found 一般是 Bot 没进群、chat_id 写错或用户没和 Bot 私聊过,按顺序排查。
先核对目标聊天是否已与 Bot 建立联系、真实 chat_id 和发消息权限,再用环境变量发最小测试。
# 只在真人本机执行;关闭 shell xtrace,不要把 Token、完整 JSON、命令截图或日志发给 Agent
set +x
export TELEGRAM_BOT_TOKEN='<REDACTED>'
api="https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}"
# Token URL 通过 curl 标准输入传入,终端只输出最小 webhook 状态,不显示 webhook URL
printf 'url = "%s/getWebhookInfo"\n' "$api" | curl --fail --silent --show-error --config - | \
jq '{ok, configured: ((.result.url // "") | length > 0), pending_update_count: (.result.pending_update_count // 0), has_last_error: (.result.last_error_date != null)}'
# 仅在未配置 webhook 时读取 updates;只输出 chat.id/type,不输出姓名、用户名或消息正文
printf 'url = "%s/getUpdates"\n' "$api" | curl --fail --silent --show-error --config - | \
jq '{ok, chats: [.result[]? | (.message // .edited_message // .channel_post // .edited_channel_post // .callback_query.message // {}) | .chat? | select(.) | {id, type}] | unique}'
unset api TELEGRAM_BOT_TOKEN排查不需要提供 Bot Token;chat_id 也只描述格式,日志必须先严格脱敏:
我的 Telegram Bot 报 chat not found 错误。
Bot Token:已配置;排查时不要索取任何值或片段
目标场景:<群消息/私聊/公开频道>
webhook:<已配置/未配置/不确定>
chat_id:<只描述格式,不粘贴真实值>
必要错误片段:<删除 Token、Cookie、账号和私有信息,敏感值统一写 <REDACTED>>
请帮我:
1. 确认 chat_id 格式是否符合目标场景;公开频道是否可用 @channelusername
2. 先检查 getWebhookInfo;未配置 webhook 才使用 getUpdates,已配置则查看投递日志
3. 给出只引用环境变量的 sendMessage 测试命令
4. 如果是权限问题,告诉我最小需要开启什么权限仅把删除凭证、客户数据和环境变量值后的必要截图、日志片段、需求说明或当前页面链接发到 zhemuy@gmail.com。