imbot.v2.Command.update
Обновить команду
Описание
Метод imbot.v2.Command.update обновляет слэш-команду бота.
Параметры
botId
integer
обязательный
ID бота
botToken
string
необязательный
Уникальный токен авторизации бота. Обязателен при авторизации через вебхук, не нужен для OAuth.
Передавайте тот же botToken, который был указан при регистрации чат-бота
commandId
integer
обязательный
ID команды
fields
object
обязательный
Обновляемые поля команды. Структура объекта описана ниже
Параметр fields
command
string
необязательный
Новая команда (без /)
title
object
необязательный
Заголовок команды на разных языках:
- строковое значение обновляет перевод
- значение
nullудаляет перевод - отсутствие ключа оставляет перевод без изменений
Пример: {"ru": "Новый", "en": null} обновит ru и удалит en
params
object
необязательный
Описание параметров на разных языках. Аналогично title, применяется только к тем языкам, которые переданы в title
common
boolean
необязательный
Общая команда. Допустимые значения: true, false
hidden
boolean
необязательный
Скрытая команда. Допустимые значения: true, false
extranetSupport
boolean
необязательный
Поддержка экстранет. Допустимые значения: true, false
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"botId":456,"botToken":"b15f6e80ef345c97e23db31e727281f4","commandId":42,"fields":{"title":{"en":"Updated help","ru":"Обновленная помощь"}}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.v2.Command.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"botId":456,"commandId":42,"fields":{"title":{"en":"Updated help","ru":"Обновленная помощь"}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/imbot.v2.Command.update
try {
const response = await $b24.callMethod('imbot.v2.Command.update', {
botId: 456,
commandId: 42,
fields: {
title: {
en: 'Updated help',
ru: 'Обновленная помощь',
},
},
});
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.command.update(
bot_id=456,
command_id=42,
fields={
"title": {
"en": "Updated help",
"ru": "Обновленная команда",
},
},
).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.Command.update',
[
'botId' => 456,
'commandId' => 42,
'fields' => [
'title' => [
'en' => 'Updated help',
'ru' => 'Обновленная помощь',
],
],
]
);
$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.Command.update',
{
botId: 456,
commandId: 42,
fields: {
title: {
en: 'Updated help',
ru: 'Обновленная помощь',
},
},
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'imbot.v2.Command.update',
[
'botId' => 456,
'commandId' => 42,
'fields' => [
'title' => [
'en' => 'Updated help',
'ru' => 'Обновленная помощь',
],
],
]
);
if (!empty($result['error'])) {
echo 'Error: '. $result['error_description'];
} else {
echo 'result: '. print_r($result['result'], true);
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "imbot.v2.Command.update", b24.Params{
"botId": 456,
"botToken": "b15f6e80ef345c97e23db31e727281f4",
"commandId": 42,
"fields": b24.Params{
"title": b24.Params{
"en": "Updated help",
"ru": "Обновленная помощь",
},
},
})
if err != nil {
return fmt.Errorf("imbot.v2.Command.update: %w", err)
}
// Метод заворачивает ответ в объект с ключом "command".
raw, ok := b24.Unwrap(res.Result, "command")
if !ok {
return fmt.Errorf("в ответе нет ключа command")
}
var item struct {
ID b24.ID `json:"id"`
BotID b24.ID `json:"botId"`
Command string `json:"command"`
Common bool `json:"common"`
Hidden bool `json:"hidden"`
ExtranetSupport bool `json:"extranetSupport"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.ID, item.BotID)
Ответ
HTTP-статус: 200
{
"result": {
"command": {
"id": 42,
"botId": 456,
"command": "/help",
"common": false,
"hidden": false,
"extranetSupport": false
}
},
"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": "COMMAND_NOT_FOUND",
"error_description": "Command not found"
}
| Код | Описание | Значение |
|---|---|---|
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 | Бот зарегистрирован другим приложением |
COMMAND_NOT_FOUND |
Command not found | Команда не найдена или нет доступа |
COMMAND_NAME_EMPTY |
Command name is empty | Передано пустое имя команды |
COMMAND_NAME_INVALID |
Command name is invalid | Имя команды должно быть строкой |
COMMAND_ALREADY_EXISTS |
Command already exists | Команда с таким именем уже зарегистрирована у этого бота |

