Редактирование
Бот может редактировать свои сообщения (или чужие, если он админ с правом edit).
editMessageText
POST /editMessageText
{
"chat_id": 12345,
"message_id": 42,
"text": "Обновлённый текст",
"parse_mode": "HTML"
}
Опционально reply_markup — пересоздать inline-клавиатуру.
editMessageCaption
Меняет только подпись медиа:
{
"chat_id": 12345,
"message_id": 42,
"caption": "Новая подпись",
"parse_mode": "MarkdownV2"
}
editMessageMedia
Полностью заменяет медиа (фото на видео и т.д.):
{
"chat_id": 12345,
"message_id": 42,
"media": {
"type": "photo",
"media": "https://example.com/new.jpg",
"caption": "Обновили картинку"
}
}
editMessageReplyMarkup
Меняет только кнопки, текст остаётся:
{
"chat_id": 12345,
"message_id": 42,
"reply_markup": {
"inline_keyboard": [[{"text": "Готово ✓", "callback_data": "done"}]]
}
}
Streaming-ответы (live edit)
Для AI-ботов: первый chunk через sendMessage, дальше — editMessageText с тем же message_id. Юзер видит, как ответ «допечатывается».
msg = bot.send_message(chat_id, '⏳ Думаю...')
for chunk in stream_response():
accumulated += chunk
bot.edit_message_text(
chat_id=chat_id,
message_id=msg.message_id,
text=accumulated
)
await asyncio.sleep(0.5) # rate limit
⚠️ Не редактируйте чаще 1 раза в секунду на сообщение — ловите 429.
Ограничения
- Нельзя менять тип сообщения (text → photo).
- Нельзя редактировать чужие сообщения без прав админа.
- Нельзя редактировать сообщения старше 48 часов (ограничение защиты).