跳至主要內容

MPChat Bot 概覽:運作方式與支援範圍

在開始開發前理解 MPChat Bot 是什麼、訊息如何收發、Bot API 支援哪些分類,以及目前階段的能力邊界與限制。

一句話結論:MPChat Bot 是一個由你的後端透過 Bot API 控制的 MPChat 帳號。它可以向既有會話發訊息、接收用戶與群事件、開啟 MiniApp——但不能憑空主動發起會話,且部分 Telegram 風格的方法目前尚未提供。


總覽

本文幫你在寫程式前建立心智模型。Bot 使用一個保密的 bot token,在統一且可預測的路徑上呼叫 Bot API:

https://call.mp.net/bot/bot{MPCHAT_BOT_TOKEN}/{methodName}

API 同時支援上方 URL token 方式,以及不在 API 路徑中攜帶 token、改用 Authorization: Bearer <token> 的方式;同時提供時 Bearer 優先。建議請求格式見驗證指南。不要在前端程式碼、公開截圖或日誌中暴露 token。

Bot 能做什麼

  • 向 Bot 已有上下文的會話傳送文字與媒體訊息。

  • 透過輪詢或 Webhook 接收用戶/群的事件(Update)。

  • 讀取會話與成員資訊,管理訊息(編輯/置頂/轉發/複製/撤回),管理指令選單。

  • 從訊息按鈕開啟 MiniApp,並讓後端驗證簽名後的用戶身分。

資料流

所有接入都是同一個雙向迴圈:

  • 入站:用戶訊息 → Update → 你的 getUpdates 輪詢或 Webhook 處理器。

  • 出站:解析 chat_id → sendMessage 帶 reply_markup(內嵌按鈕:url / web_app / callback_data / copy_text;或底部 Reply Keyboard)。也可用 setChatMenuButton 設定左側選單按鈕。

支援哪些能力

在方法矩陣中可依官方十個分類查閱方法,包括 Bot Profile、Bot Menu 和 MediaUpload。

目前暫不支援

  • Bot 不能主動發起會話。必須用戶/會話先建立上下文,Bot 才能回覆。

  • 部分方法回傳 HTTP 501(目前為 sendChatAction、sendLocation、sendPoll)。

  • 不支援 file_id 複用——媒體請用公網 URL 或 multipart 上傳。

  • MiniApp 用戶端回流能力受限(沒有 web_app_data / sendData / answerWebAppQuery)。訊息按鈕的 callback(callback_query → answerCallbackQuery)是另一條已支援的鏈路。

下一步去哪

相關文章

支援的方法集合與 MP 差異可能變化。參數級權威來源始終是 core.mp.net/bots。

是否回答了您的問題?