核心规则:bot token 位于 URL path,绝不放进 Header 或前端。把它当成密码。
总览
每个 Bot API 调用都用同一种基础 URL,token 是其中一段路径:
https://call.mp.net/bot/bot{MPCHAT_BOT_TOKEN}/{methodName}
Host 为 call.mp.net;path 为 /bot/bot + token + / + 方法名(如 getMe、sendMessage)。
Token 安全规则
不进前端——WebView、浏览器、移动端代码都不得包含。
不进日志——应用日志、APM、错误上报必须脱敏。
不进版本库——
.env加入.gitignore;通过 CI 密钥注入。不进聊天——工单、IM、AI 对话禁止粘贴真实 token。
泄露即轮换——立即在 BotFather revoke 并更换。
HTTP 方法与 Content-Type
多数写操作为 POST。
getMe、getUpdates、getWebhookInfo、getMyCommands同时支持 GET。application/json——绝大多数写方法。multipart/form-data——媒体本地上传(sendPhoto、sendVideo、sendDocument、setChatPhoto)。
ID 类型规则
chat_id、user_id、message_id 接受 JavaScript 安全整数(0–9007199254740991)或同范围十进制字符串。建议用 BIGINT 或 VARCHAR 存储,注意 JSON 精度。
限流
默认每 token 每秒 30 次;超限返回 429。生产代码必须实现指数退避(见生产检查清单)。
请求前检查清单
token 从环境变量读取。
ID 类型符合文档约定。
POST body 为合法 JSON。
媒体方法使用公网 URL 或 multipart(不复用
file_id)。
相关文章
测试与生产 Bot 使用不同 token。token 泄露应优先 revoke。
