# imbot.message.like

URL: https://chugunov.pro/api-bitrix24/chat-bots/outdated/messages/imbot-message-like/
Проверено на Битрикс24 REST API, обновлено 11.09.2026 (ревизия источника fb39d6c).
Источник: официальная документация Битрикс24 (bitrix-tools/b24-rest-docs, лицензия MIT, © Bitrix). Справочник независимый, официальной документацией не является.

Установить «Мне нравится» для сообщения
Scope: `imbot`
Кто может выполнять метод: авторизованный пользователь приложения, которое зарегистрировало чат-бота. Метод работает только с ботами этого приложения.

> Устаревший метод. Развитие метода остановлено. Используйте методы imbot.v2.Chat.Message.Reaction.add и imbot.v2.Chat.Message.Reaction.delete.

## Описание

Метод `imbot.message.like` ставит или снимает отметку «Мне нравится» для сообщения.

## Параметры

- `BOT_ID` `integer` — необязательный. Идентификатор чат-бота. Получить идентификатор бота можно с помощью метода [imbot.bot.list](https://chugunov.pro/api-bitrix24/chat-bots/outdated/bots/imbot-bot-list/).
  Если параметр не передан, метод ищет первого бота, который зарегистрирован текущим приложением
- `MESSAGE_ID` `integer` — обязательный. Идентификатор сообщения в личных диалогах или в групповых чатах, где присутствует чат-бот. Значение должно быть больше `0`.
  Для сообщений, которые отправлены ботом через REST, идентификатор возвращает метод [imbot.message.add](https://chugunov.pro/api-bitrix24/chat-bots/outdated/messages/imbot-message-add/). 
  Идентификаторы сообщений, которые отправили в чат пользователи, можно получить с помощью метода [im.dialog.messages.get](https://chugunov.pro/api-bitrix24/chats/messages/im-dialog-messages-get/)
- `ACTION` `string` — необязательный. Действие с реакцией на сообщение.
  Допустимые значения:
  - `auto` — автоматически переключить текущий статус: если реакции «Мне нравится» нет, она будет установлена, если реакция есть — снята
  - `plus` — поставить «Мне нравится»
  - `minus` — снять «Мне нравится»
  Если параметр не передан, используется `auto`
- `CLIENT_ID` `string` — необязательный. Параметр обязателен только для вебхуков. Передавайте тот же CLIENT_ID, который был указан при регистрации чат-бота

## Ответ

```json
{
    "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

```json
{
    "error": "WITHOUT_CHANGES",
    "error_description": "Action completed without changes"
}
```

- `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. Не передан идентификатор сообщения
- `WITHOUT_CHANGES` — Action completed without changes. Состояние реакции не изменилось после вызова

## Примеры запроса

### cURL (Webhook)

```bash
curl -X POST /
  -H "Content-Type: application/json" /
  -H "Accept: application/json" /
  -d '{"BOT_ID":39,"MESSAGE_ID":19880117,"ACTION":"auto","CLIENT_ID":"**put_your_client_id_here**"}' /
  https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.message.like
```

### cURL (OAuth)

```bash
curl -X POST /
  -H "Content-Type: application/json" /
  -H "Accept: application/json" /
  -d '{"BOT_ID":39,"MESSAGE_ID":19880117,"ACTION":"auto","auth":"**put_access_token_here**"}' /
  https://**put_your_bitrix24_address**/rest/imbot.message.like
```

### JS

```js
try {
  const response = await $b24.callMethod('imbot.message.like', {
    BOT_ID: 39,
    MESSAGE_ID: 19880117,
    ACTION: 'plus',
  });

  const { result } = response.getData();
  console.log('Статус «Мне нравится» изменен:', result);
} catch (error) {
  console.error('Ошибка изменения статуса:', error);
}
```

### PHP

```php
try {
    $response = $b24Service
        ->core
        ->call(
            'imbot.message.like',
            [
                'BOT_ID' => 39,
                'MESSAGE_ID' => 19880117,
                'ACTION' => 'auto',
            ]
        );

    $result = $response
        ->getResponseData()
        ->getResult();

    if ($result->error()) {
        echo 'Ошибка: ' . $result->error();
    } else {
        echo 'Статус «Мне нравится» изменен: ' . ($result->data() ? 'true' : 'false');
    }
} catch (Throwable $exception) {
    error_log($exception->getMessage());
    echo 'Ошибка изменения статуса: ' . $exception->getMessage();
}
```

### BX24.js

```js
BX24.callMethod(
    'imbot.message.like',
    {
        BOT_ID: 39,
        MESSAGE_ID: 19880117,
        ACTION: 'auto',
    },
    function(result) {
        if (result.error()) {
            console.error(result.error().ex);
        } else {
            console.log(result.data());
        }
    }
);
```

### PHP CRest

```php
require_once('crest.php');

$result = CRest::call(
    'imbot.message.like',
    [
        'BOT_ID' => 39,
        'MESSAGE_ID' => 19880117,
        'ACTION' => 'auto',
    ]
);

if (!empty($result['error'])) {
    echo 'Ошибка: ' . $result['error_description'];
} else {
    echo 'Статус «Мне нравится» изменен: ' . ($result['result'] ? 'true' : 'false');
}
```

### Go

```go
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "imbot.message.like", b24.Params{
	"BOT_ID":     39,
	"MESSAGE_ID": 19880117,
	"ACTION":     "auto",
	"CLIENT_ID":  "**put_your_client_id_here**",
})
if err != nil {
	return fmt.Errorf("imbot.message.like: %w", err)
}

var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
	return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
```

Оригинал в официальной документации: https://apidocs.bitrix24.ru/api-reference/chat-bots/outdated/messages/imbot-message-like.html
