Skip to content

editMessageText

编辑已发送消息的文本内容。

请求

POST /:token/editMessageText

参数

参数类型必填描述
chat_idInteger/String条件必填目标聊天的唯一标识符或用户名。若未指定 inline_message_id 则必填
message_idInteger条件必填要编辑的消息 ID。若未指定 inline_message_id 则必填
inline_message_idString条件必填内联消息的标识符。若未指定 chat_idmessage_id 则必填
textString新的消息文本内容
parse_modeString消息文本解析模式,支持 HTMLMarkdown
entitiesMessageEntity[]消息文本中的特殊实体列表,可替代 parse_mode 使用
link_preview_optionsObject链接预览生成选项
reply_markupObject新的内联键盘标记,JSON 序列化对象

响应

返回编辑后的 Message 对象。

json
{
  "ok": true,
  "result": {
    "message_id": 100,
    "from": {
      "id": 123456789,
      "is_bot": true,
      "first_name": "MyBot",
      "username": "my_bot"
    },
    "chat": {
      "id": 987654321,
      "first_name": "User",
      "username": "user123",
      "type": "private"
    },
    "date": 1700000000,
    "edit_date": 1700000060,
    "text": "已更新的消息内容"
  }
}

错误码

错误码描述
400请求参数错误,如消息内容未发生变化或缺少必填参数
401Token 无效或已过期
403Bot 无权编辑该消息(只能编辑 Bot 自己发送的消息)
404消息不存在
500服务器内部错误

示例

cURL

bash
curl -X POST "https://api.example.com/<token>/editMessageText" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": 987654321,
    "message_id": 100,
    "text": "已更新的消息内容",
    "parse_mode": "HTML"
  }'

编辑消息并更新内联键盘

bash
curl -X POST "https://api.example.com/<token>/editMessageText" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": 987654321,
    "message_id": 100,
    "text": "请重新选择:",
    "reply_markup": {
      "inline_keyboard": [
        [
          {"text": "新选项 A", "callback_data": "new_option_a"},
          {"text": "新选项 B", "callback_data": "new_option_b"}
        ]
      ]
    }
  }'