跳至主要內容

MP 與 Telegram Bot API 差異(file_id、banChatMember、會話、501)

MPChat Bot API 與常見 Telegram 預期的關鍵行為差異:不支援 file_id 複用、banChatMember 為禁言、Bot 不能主動發起會話、訊息 callback 已支援、MiniApp 用戶端回流仍關閉、501 方法。

從 Telegram 遷移請先讀這篇。路徑形態相似,但若干行為不同。狀態以 core.mp.net/bots 為準。


總覽

MPChat Bot API 沿用 Telegram 風格的方法,但不是完整複刻。以下是會讓「無腦遷移」失敗的差異。

file_id 不可複用

已傳送媒體的 file_id 不能複用。sendPhoto、sendVideo、sendDocument、setChatPhoto 接受公網 URL 或 multipart 上傳。遷移時改用 URL 或自有儲存。

banChatMember 為禁言非踢人

banChatMember 將成員設為 restricted(禁言),不移除出群。until_date=0 或省略表示永久,直至 unbanChatMember。風險 L3,DocOnly。

Bot 不能主動發起會話

用戶須先建立上下文。向無會話的 chat_id 傳送可能回傳 400。流程:用戶發訊息 → getUpdates 取 chat_id → sendMessage。

sendMessage 按鈕與 MiniApp

sendMessage 屬 MP 差異:reply_markup 支援內嵌 url / web_app / callback_data / copy_text 與 Reply Keyboard。訊息 callback 走 answerCallbackQuery。MiniApp 用戶端回流(web_app_data / sendData / answerWebAppQuery)仍不可用。

速查表

主題

Telegram 預期

MP 現狀

媒體複用

file_id 可複用

不支援;URL / multipart

封禁成員

踢出群

禁言,仍在群內

主動私聊

部分情境可推送

用戶須先建立會話

訊息 callback 按鈕

callback_data + answerCallbackQuery

已支援(300 秒視窗;無 url/cache_time)

sendMessage 開啟 MiniApp

完整 MiniApp 回流

web_app 開啟 MiniApp;另支援 url / copy_text

MiniApp 用戶端回流

web_app_data / sendData / answerWebAppQuery

不支援

選單按鈕 vs Reply Keyboard

左右獨立控件

同;setChatMenuButton 不驅動底部鍵盤

sendPoll / sendLocation / sendChatAction

可用

HTTP 501

相關文章

大量 Telegram 方法在 MP 中並未暴露。依賴某方法前請先在方法矩陣確認可用性。

是否回答了您的問題?