快速摘要
每個
callback_query.id成功應答一次,結束按鈕加載。回調事件最長投遞 150 秒。從點擊產生回調起,API 應答窗口為 300 秒。
複合編輯要保留按鈕或媒體說明時,重新提交完整值。
應答按鈕回調與原地編輯訊息
接收並應答回調
在需要的事件類型中顯式訂閱
callback_query。省略allowed_updates會沿用已保存的策略,傳空數組恢復預設。按
update_id對重投去重。執行操作前驗證點擊人及當前業務狀態。每次點擊會產生獨立回調 ID。儘快調用
answerCallbackQuery。同一個 ID 只有首次有效應答成功。重複、處理中、過期或無效的 ID 返回400。
curl -X POST "https://call.mp.net/bot/answerCallbackQuery" \
-H "Authorization: Bearer $MPCHAT_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"callback_query_id":"REPLACE_WITH_CALLBACK_ID"}'
text 和 show_alert 是兼容欄位,當前客戶端不會顯示 Toast 或 Alert。需要反饋處理結果時,可以編輯原訊息或發送新訊息。copy_text 在本地複製,不產生回調。
選擇編輯方法
方法 | 可改內容 |
| 原生文本或無媒體的 Inline 文本,可編輯實體、連結預覽和按鈕。 |
| 圖片、影片、動圖和文檔的說明與實體。非空按鈕僅支持 V2 媒體。 |
| 同類型替換圖片、影片、動圖或文檔。非空按鈕僅支持 V2 媒體。 |
| 只改受支持的原生文本或 Inline 訊息按鈕,保留其餘內容。 |
四種方法均編輯當前 Bot 發出的訊息,成功時返回 Message。editMessageText 傳 parse_mode 會返回 400。省略 link_preview_options 會重置顯式預覽設定。
保留或清空現有內容
複合編輯時,省略
reply_markup、傳 null 或傳空鍵盤會清除舊按鈕。要保留按鈕,請重新提交完整鍵盤。編輯媒體時,省略說明或傳空說明會清除舊說明和實體。要保留,請重新提交說明和實體。
編輯文本時,省略
entities會重新識別提及。顯式傳空數組會清除實體,且不會重新識別。
{"chat_id":"12345","message_id":678,"text":"已通過","reply_markup":{"inline_keyboard":[[{"text":"查看詳情","url":"https://example.com/details"}]]}}這個 editMessageText 請求顯式保留「查看詳情」按鈕。請使用可編輯訊息原有的 chat_id 和 message_id。
只清除按鈕並保留訊息其餘內容時,使用 editMessageReplyMarkup,並傳入空鍵盤。
{"chat_id":"12345","message_id":678,"reply_markup":{"inline_keyboard":[]}}
