Are you an LLM? You can read better optimized documentation at /classes/messageMethods/editMedia.md for this page in Markdown format
editMedia
Метод заменяет медиафайл (фото, видео, аудио, документ) в уже отправленном сообщении. Также может одновременно изменить подпись к медиа и прикрепленную inline-клавиатуру.
Важно:
Метод editMedia работает только для сообщений, в которых уже есть медиафайл. Если вы попытаетесь добавить медиа в чисто текстовое сообщение, Telegram вернет ошибку. Для редактирования текстовых сообщений используйте editText().
Параметры метода
| # | Название | Тип | Описание |
|---|---|---|---|
| 1 | messageID | int|null | ID сообщения, которое нужно отредактировать. Если null, используется ID из текущего контекста (например, из callback). |
| 2 | chatID | int|null | ID чата, в котором находится сообщение. Если null, используется ID из текущего контекста. |
Возвращает
array - ответ от Телеграма, содержащий информацию об измененном сообщении.
Пример использования
php
<?php
require_once __DIR__ . '/vendor/autoload.php';
use ZenithGram\ZenithGram\ZG;
use ZenithGram\ZenithGram\Bot;
use ZenithGram\ZenithGram\Button;
$tg = ZG::create('ВАШ_ТОКЕН');
$bot = new Bot($tg);
// 1. По команде /start отправляем исходное сообщение с фото кота и кнопкой
$bot->onBotCommand('start', '/start')
->text("Это фото котика. Хотите увидеть собачку?")
->img('https://cataas.com/cat') // URL первого изображения
->inlineKbd([
[Button::cb('Да, показать собачку!', 'show_dog')]
]);
// 2. Обрабатываем нажатие на кнопку
$bot->onCallback('handle_dog_request', 'show_dog')
->func(function(ZG $tg) {
// Обязательно отвечаем на callback, чтобы убрать "часики"
$tg->answerCallbackQuery($tg->getQueryId());
// Готовим новое сообщение для редактирования
$tg->msg("А вот и собачка!") // Новая подпись
->img('https://place.dog/300/200') // URL нового изображения
->editMedia(); // Выполняем замену медиа
});
$bot->run();