跳至主要內容

核心訊息方法詳解:getMe、getUpdates、sendMessage(含 web_app 按鈕)

每個 Bot 最先要用的三個方法的參數級詳解:getMe、getUpdates、sendMessage,含可開啟 MiniApp 的 reply_markup.web_app 按鈕。

這三個方法承載了大多數 MPChat Bot 早期接入。其餘方法遵循同一信封;欄位見方法矩陣與官方參考。


總覽

getMe 驗證身分,getUpdates 拿 chat_id,sendMessage 傳送。sendMessage 屬 MP 差異:支援 web_app 按鈕,但不支援完整回流。

getMe

GET 或 POST,無 body。適合做健康檢查,無副作用。

curl -s "https://call.mp.net/bot/bot${MPCHAT_BOT_TOKEN}/getMe"

{ "ok": true, "result": { "id": 123456789, "is_bot": true, "username": "my_mpbot" } }

401 表示 token 無效或已 revoke。

getUpdates

請求體欄位:offsetlimit(1-100)、timeout(0-50)、allowed_updates

{ "offset": 0, "limit": 50, "timeout": 30, "allowed_updates": ["message"] }

{
  "ok": true,
  "result": [{
    "update_id": 10001,
    "message": { "message_id": 42, "chat": { "id": 987654321, "type": "private" }, "text": "你好" }
  }]
}

空的 result: [] 表示沒有新訊息或該批已被消費;409 表示已啟用 Webhook。

sendMessage

欄位

必填

說明

chat_id

整數或十進位字串。

text

訊息正文。

parse_mode

Markdown 或 HTML。

reply_to_message_id

回覆指定訊息。

reply_markup

內聯鍵盤;web_app 型別可開啟 MiniApp。

web_app 按鈕範例

{
  "chat_id": "987654321",
  "text": "Open Demo MiniApp",
  "reply_markup": {
    "inline_keyboard": [
      [{ "text": "Open", "web_app": { "url": "https://mini.example.com/demo" } }]
    ]
  }
}

伺服端用 web_app.url 解析目前 Bot 的 MiniApp;無需傳 miniapp_id。完整 web_app_data / sendData / answerWebAppQuery 回流目前不支援。

相關文章

保存回傳的 message_id 供後續 editMessageText 使用。deleteMessage 為 L3 DocOnly。

是否回答了您的問題?