If you are porting from Telegram, read this first. The path shape is familiar but several behaviors differ. Status is authoritative at core.mp.net/bots.
Overview
The MPChat Bot API mirrors Telegram-style methods but is not a full replica. These are the differences that break naive ports.
file_id is not reusable
A previously sent media file_id cannot be reused. sendPhoto, sendVideo, sendDocument, and setChatPhoto accept a public URL or multipart upload. When migrating, switch to URLs or your own storage.
banChatMember mutes, does not kick
banChatMember sets the member to restricted (muted) without removing them. until_date=0 or omitted means permanent until unbanChatMember. Risk L3, DocOnly.
Bots cannot start conversations
A user must establish context first. Sending to a chat_id with no conversation may return 400. Flow: user messages → getUpdates reads chat_id → sendMessage.
sendMessage buttons and MiniApp
sendMessage is an MP difference: reply_markup supports inline url / web_app / callback_data / copy_text and Reply Keyboard. Message callbacks use answerCallbackQuery. MiniApp client return flows (web_app_data / sendData / answerWebAppQuery) are still not available.
Quick reference
Topic | Telegram expectation | MP today |
Media reuse | file_id reusable | Not supported; URL / multipart |
Ban member | Kicks from chat | Mutes, stays in chat |
Proactive DM | Possible in some cases | User must establish context |
Message callback buttons | callback_data + answerCallbackQuery | Supported (300s window; no url/cache_time) |
sendMessage MiniApp open | Full MiniApp return flows | web_app opens MiniApp; also url / copy_text |
MiniApp client return | web_app_data / sendData / answerWebAppQuery | Not supported |
Menu button vs Reply Keyboard | Independent left / right controls | Same; setChatMenuButton never drives Reply Keyboard |
sendPoll / sendLocation / sendChatAction | Available | HTTP 501 |
Related
Many Telegram methods are simply not exposed by MP. Confirm availability in the method matrix before depending on a method.
