imbot.message.update
Изменить отправленное сообщение
Описание
Метод imbot.message.update изменяет ранее отправленное сообщение чат-бота.
Параметры
BOT_ID
integer
необязательный
Идентификатор чат-бота. Получить можно методом imbot.bot.list.
Если параметр не передан, метод ищет первого бота, который зарегистрирован текущим приложением
MESSAGE_ID
integer
обязательный
Идентификатор сообщения, которое нужно изменить. Значение должно быть больше 0.
Для сообщений, которые отправлены ботом через REST, идентификатор возвращает метод imbot.message.add
MESSAGE
string
необязательный
Новый текст сообщения. Если передать пустое значение, сообщение будет удалено.
Если параметр не передан, текст сообщения не изменится
ATTACH
object
необязательный
Вложение с блоками контента: изображения, ссылки, файлы. Можно передать:
- строку JSON
- объект с корневым ключом BLOCKS
- массив блоков без обертки
Подробнее читайте в разделе Вложения.
Пустое значение или N очищает вложение
KEYBOARD
object
необязательный
Кнопки под сообщением, с которыми может взаимодействовать пользователь.
Подробнее читайте в статье Работа с клавиатурами.
Пустое значение или N отключает вывод кнопок
MENU
object
необязательный
Дополнительные пункты в контекстном меню чата.
Подробнее читайте в статье Контекстное меню.
Пустое значение или N отключает показ дополнительных пунктов
URL_PREVIEW
string
необязательный
Управляет отображением ссылок: при включении ссылка показывается как «богатая ссылка» с карточкой.
Допустимые значения:
- Y — включено, значение по умолчанию
- N — выключено
SKIP_CONNECTOR
string
необязательный
Пропускает отправку сообщения во внешние коннекторы открытых линий при обновлении MESSAGE.
Допустимые значения:
- Y — пропустить
- N — не пропускать, значение по умолчанию
CLIENT_ID
string
необязательный
Параметр обязателен только для вебхуков. Передавайте тот же CLIENT_ID, который был указан при регистрации чат-бота
Примеры запроса
curl -X POST /
-H "Content-Type: application/json" /
-H "Accept: application/json" /
-d '{"BOT_ID":39,"MESSAGE_ID":19880117,"MESSAGE":"Обновленный текст","URL_PREVIEW":"Y","CLIENT_ID":"**put_your_client_id_here**"}' /
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.message.update
curl -X POST /
-H "Content-Type: application/json" /
-H "Accept: application/json" /
-d '{"BOT_ID":39,"MESSAGE_ID":19880117,"MESSAGE":"Обновленный текст","URL_PREVIEW":"Y","auth":"**put_access_token_here**"}' /
https://**put_your_bitrix24_address**/rest/imbot.message.update
try {
const response = await $b24.callMethod('imbot.message.update', {
BOT_ID: 39,
MESSAGE_ID: 19880117,
MESSAGE: 'Обновленный текст',
URL_PREVIEW: 'Y',
});
const { result } = response.getData();
console.log('Updated:', result);
} catch (error) {
console.error('Error updating message:', error);
}
try {
$response = $b24Service
->core
->call(
'imbot.message.update',
[
'BOT_ID' => 39,
'MESSAGE_ID' => 19880117,
'MESSAGE' => 'Обновленный текст',
'URL_PREVIEW' => 'Y',
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
echo 'Error: ' . $result->error();
} else {
echo 'Updated: ' . ($result->data() ? 'true' : 'false');
}
} catch (Throwable $exception) {
error_log($exception->getMessage());
echo 'Error updating message: ' . $exception->getMessage();
}
BX24.callMethod(
'imbot.message.update',
{
BOT_ID: 39,
MESSAGE_ID: 19880117,
MESSAGE: 'Обновленный текст',
URL_PREVIEW: 'Y',
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'imbot.message.update',
[
'BOT_ID' => 39,
'MESSAGE_ID' => 19880117,
'MESSAGE' => 'Обновленный текст',
'URL_PREVIEW' => 'Y',
]
);
if (!empty($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
echo 'Updated: ' . ($result['result'] ? 'true' : 'false');
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "imbot.message.update", b24.Params{
"BOT_ID": 39,
"MESSAGE_ID": 19880117,
"MESSAGE": "Обновленный текст",
"URL_PREVIEW": "Y",
"CLIENT_ID": "**put_your_client_id_here**",
})
if err != nil {
return fmt.Errorf("imbot.message.update: %w", err)
}
var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
Ответ
{
"result": true,
"time": {
"start": 1728626400.123,
"finish": 1728626400.234,
"duration": 0.111,
"processing": 0.045,
"date_start": "2024-10-11T10:00:00+03:00",
"date_finish": "2024-10-11T10:00:00+03:00",
"operating_reset_at": 1762349466,
"operating": 0
}
}
Обработка ошибок
HTTP-статус: 400
{
"error": "MESSAGE_ID_ERROR",
"error_description": "Message ID can't be empty"
}
| Код | Описание | Значение |
|---|---|---|
BOT_ID_ERROR |
Bot not found | Бот не найден или у приложения нет доступного бота для автоподстановки BOT_ID |
APP_ID_ERROR |
Bot was installed by another rest application | Переданный BOT_ID принадлежит другому приложению |
MESSAGE_ID_ERROR |
Message ID can't be empty | Не передан корректный MESSAGE_ID |
ATTACH_ERROR |
Incorrect attach params | Невалидная структура ATTACH |
ATTACH_OVERSIZE |
You have exceeded the maximum allowable size of attach | Превышен допустимый размер ATTACH — 30 Кб |
KEYBOARD_ERROR |
Incorrect keyboard params | Невалидная структура KEYBOARD |
KEYBOARD_OVERSIZE |
You have exceeded the maximum allowable size of keyboard | Превышен допустимый размер KEYBOARD — 30 Кб |
menu_ERROR |
Incorrect menu params | Невалидная структура MENU |
MENU_OVERSIZE |
You have exceeded the maximum allowable size of menu | Превышен допустимый размер MENU — 30 Кб |
CANT_EDIT_MESSAGE |
Time has expired for modification or you don't have access | Нет доступа к изменению сообщения или истекло время редактирования — после публикации прошло более трех суток |

