跳转到主要内容

核心 API 参数详解:getMe、getUpdates、sendMessage

getMe、getUpdates、sendMessage 的参数级详解,含 reply_markup 内联按钮、底部键盘与 MiniApp 入口。

这三个方法承载了大多数 MPChat Bot 早期接入。其余方法遵循同一信封;字段见方法矩阵与官方参考。


总览

getMe 验证身份,getUpdates 拿 chat_id,sendMessage 发送。sendMessage 属 MP 差异:reply_markup 支持内联按钮(url / web_app / callback_data / copy_text)与 Reply Keyboard;MiniApp 客户端回流仍不可用。

getMe

GET 或 POST,无 body。适合做健康检查,无副作用。

curl --silent --show-error "https://call.mp.net/bot/getMe" \
-H "Authorization: Bearer ${MPCHAT_BOT_TOKEN}"
{ "ok": true, "result": { "id": 123456789, "is_bot": true, "username": "my_mpbot" } }

401 表示 token 无效或已 revoke。

getUpdates

请求体字段:offset、limit(1-100)、timeout(0-50)、allowed_updates。

{ "offset": 0, "limit": 50, "timeout": 30, "allowed_updates": ["message", "callback_query"] }
{
"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

否

回复指定消息。

entities

否

结构化文本实体,包括受支持的提及。省略时服务端可从正文识别提及。

link_preview_options

否

将 is_disabled 设为 true 可关闭两类预览卡片。

reply_markup

否

InlineKeyboardMarkup(url / web_app / callback_data / copy_text)或 ReplyKeyboardMarkup / Remove / ForceReply。

向群聊发送 MiniApp 按钮

普通内联 web_app 按钮用于私聊。用 sendMessage 时,已加入目标群或超级群的 Bot 可以发送一个 MiniApp 按钮。内联键盘必须恰好一行、一个按钮,且按钮只含 text 与 web_app。请使用当前 Bot 已启用 MiniApp 的登记入口 URL 或 MPChat 直链。

{
"chat_id": "987654321",
"text": "Open Demo MiniApp",
"reply_markup": {
"inline_keyboard": [[
{ "text": "Open", "web_app": { "url": "https://mp.net/MyBot/demo" } }
]]
}
}

此示例保留 MiniApp 分享卡片。若只需发送不带卡片的消息,可将 link_preview_options.is_disabled 设为 true,普通链接预览也会同时关闭。

服务端用 web_app.url 解析当前 Bot 的 MiniApp;无需传 miniapp_id。完整 web_app_data / sendData / answerWebAppQuery 回流当前不支持。

相关文章

保存返回的 message_id 供后续 editMessageText 使用。deleteMessage 为 L3 DocOnly。

这是否解答了您的问题?