核心規則: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。
