跳转到主要内容

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 中并未暴露。依赖某方法前请先在方法矩阵确认可用性。

这是否解答了您的问题?