imbot.v2.Chat.Message.update
Обновить сообщение
Описание
Метод imbot.v2.Chat.Message.update обновляет сообщение бота. Бот может обновлять только собственные сообщения.
Сообщения, отправленные с параметром system: true, обновить нельзя — они имеют authorId = 0 и не принадлежат боту с точки зрения прав доступа.
Параметры
botId
integer
обязательный
ID бота
botToken
string
необязательный
Уникальный токен авторизации бота. Обязателен при авторизации через вебхук, не нужен для OAuth.
Передавайте тот же botToken, который был указан при регистрации чат-бота
messageId
integer
обязательный
ID обновляемого сообщения
fields
object
обязательный
Обновляемые поля сообщения. Структура объекта описана ниже
Параметр fields
message
string
необязательный
Новый текст сообщения. Максимальная длина — 20 000 символов
attach
array
необязательный
Новые вложения. Подробнее: Как использовать вложения
keyboard
array
необязательный
Новая клавиатура. Подробнее: Работа с клавиатурами. Для удаления клавиатуры передайте "N"
urlPreview
string
необязательный
Показывать превью ссылок. Допустимые значения: Y, N. По умолчанию Y
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"botId":456,"botToken":"my_bot_token","messageId":789,"fields":{"message":"Updated text"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.v2.Chat.Message.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"botId":456,"messageId":789,"fields":{"message":"Updated text"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/imbot.v2.Chat.Message.update
try {
const response = await $b24.callMethod('imbot.v2.Chat.Message.update', {
botId: 456,
messageId: 789,
fields: { message: 'Updated text' },
});
const { result } = response.getData();
console.log('result:', result);
} catch (error) {
console.error('Error:', error);
}
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.imbot.v2.chat.message.update(
bot_id=456,
message_id=789,
fields={
"message": "Updated text",
},
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'imbot.v2.Chat.Message.update',
[
'botId' => 456,
'messageId' => 789,
'fields' => ['message' => 'Updated text'],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'result: ' . print_r($result, true);
} catch (Throwable $exception) {
error_log($exception->getMessage());
echo 'Error: ' . $exception->getMessage();
}
BX24.callMethod(
'imbot.v2.Chat.Message.update',
{
botId: 456,
messageId: 789,
fields: { message: 'Updated text' },
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'imbot.v2.Chat.Message.update',
[
'botId' => 456,
'messageId' => 789,
'fields' => ['message' => 'Updated text'],
]
);
if (!empty($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
echo 'Updated';
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "imbot.v2.Chat.Message.update", b24.Params{
"botId": 456,
"botToken": "my_bot_token",
"messageId": 789,
"fields": b24.Params{
"message": "Updated text",
},
})
if err != nil {
return fmt.Errorf("imbot.v2.Chat.Message.update: %w", err)
}
var item struct {
Result bool `json:"result"`
}
if err := json.Unmarshal(res.Result, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Result)
Ответ
HTTP-статус: 200
{
"result": {
"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"
}
}
Обработка ошибок
HTTP-статус: 400
{
"error": "ACCESS_DENIED",
"error_description": "Access denied"
}
| Код | Описание | Значение |
|---|---|---|
BOT_TOKEN_NOT_SPECIFIED |
Bot token is not specified | Не указан botToken. Обязателен при авторизации через вебхук |
BOT_ID_REQUIRED |
Bot ID is required | Не указан botId |
BOT_NOT_FOUND |
Bot not found | Бот не найден |
BOT_OWNERSHIP_ERROR |
Bot is registered by another application | Бот зарегистрирован другим приложением |
ACCESS_DENIED |
Access denied | Сообщение не принадлежит боту или не существует. Бот может обновлять только свои сообщения |

