---
read_when:
    - Робота з реакціями в будь-якому каналі
    - Розуміння відмінностей у реакціях емодзі на різних платформах
summary: Семантика інструмента реакцій у всіх підтримуваних каналах
title: Реакції
x-i18n:
    generated_at: "2026-07-12T13:53:04Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: e148a93edbcfbe997075f6e9e191667ec257f76fa48162688fd1f333479661f0
    source_path: tools/reactions.md
    workflow: 16
---

Агент додає та видаляє реакції емодзі за допомогою дії `react` інструмента `message`.
Поведінка залежить від каналу.

## Як це працює

```json
{
  "action": "react",
  "messageId": "msg-123",
  "emoji": "thumbsup"
}
```

- Параметр `emoji` обов’язковий під час додавання реакції.
- Установіть для `emoji` порожній рядок (`""`), щоб видалити реакцію або реакції бота в
  каналах, які це підтримують.
- Установіть `remove: true`, щоб видалити один конкретний емодзі (потрібне непорожнє
  значення `emoji`).
- У каналах із реакціями стану параметр `trackToolCalls: true` у реакції дає
  середовищу виконання змогу повторно використовувати повідомлення з цією реакцією для наступних реакцій,
  що відображають перебіг роботи інструментів протягом того самого ходу.

## Поведінка каналів

<AccordionGroup>
  <Accordion title="Discord і Slack">
    - Порожнє значення `emoji` видаляє всі реакції бота з повідомлення.
    - `remove: true` видаляє лише вказаний емодзі.

  </Accordion>

  <Accordion title="Nextcloud Talk">
    - Лише додавання реакцій: параметр `emoji` обов’язковий і має бути непорожнім.
    - Видалення реакцій ще не під’єднано до виклику видалення; `remove: true` відхиляється з явною помилкою замість мовчазної відсутності дії.
    - Потрібен бот Talk, зареєстрований із функцією `reaction` (див. [документацію каналу Nextcloud Talk](/uk/channels/nextcloud-talk)).

  </Accordion>

  <Accordion title="Telegram">
    - Порожнє значення `emoji` видаляє реакції бота.
    - `remove: true` також видаляє реакції, але для перевірки інструмента все одно потрібне непорожнє значення `emoji`.

  </Accordion>

  <Accordion title="WhatsApp">
    - Порожнє значення `emoji` видаляє реакцію бота.
    - `remove: true` внутрішньо перетворюється на порожній емодзі (у виклику інструмента параметр `emoji` усе одно обов’язковий).
    - WhatsApp має одне місце для реакції бота на кожне повідомлення; надсилання нової реакції замінює попередню, а не додає кілька емодзі.

  </Accordion>

  <Accordion title="Zalo Personal (zalouser)">
    - Для додавання та видалення потрібне непорожнє значення `emoji`.
    - `remove: true` видаляє реакцію із цим конкретним емодзі.

  </Accordion>

  <Accordion title="Feishu/Lark">
    - Використовує ту саму дію `react`, що й інші канали (додавання, видалення та отримання списку за ідентифікаторами реакцій на повідомлення), а не окремий інструмент.
    - Для додавання потрібне непорожнє значення `emoji` (воно зіставляється з `emoji_type` у Feishu, наприклад `SMILE`, `THUMBSUP`, `HEART`).
    - Для `remove: true` потрібне непорожнє значення `emoji`; цей параметр видаляє власну реакцію бота, що відповідає зазначеному типу емодзі.
    - Порожнє значення `emoji` разом із `clearAll: true` видаляє всі реакції бота з повідомлення.

  </Accordion>

  <Accordion title="Signal">
    - Сповіщення про вхідні реакції керуються параметром `channels.signal.reactionNotifications`: `"off"` вимикає їх, `"own"` (типове значення) створює події, коли користувачі реагують на повідомлення бота, `"all"` створює події для всіх реакцій, а `"allowlist"` створює події лише для відправників зі списку `channels.signal.reactionAllowlist`.

  </Accordion>

  <Accordion title="iMessage">
    - Вихідні реакції — це швидкі реакції iMessage (`love`, `like`, `dislike`, `laugh`, `emphasize` і `question`); для додавання реакції значення `emoji` має відповідати одному із цих типів.
    - `remove: true` без розпізнаного типу швидкої реакції видаляє всі типи швидких реакцій; із розпізнаним типом видаляє лише його.

  </Accordion>
</AccordionGroup>

## Рівень реакцій

Параметр `reactionLevel` для кожного каналу обмежує частоту надсилання агентом власних
реакцій. Значення: `off`, `ack`, `minimal` або `extensive`.

- [Сповіщення про реакції в Telegram](/uk/channels/telegram#feature-reference) — `channels.telegram.reactionLevel` (типове значення `minimal`)
- [Рівень реакцій у WhatsApp](/uk/channels/whatsapp#reaction-level) — `channels.whatsapp.reactionLevel` (типове значення `minimal`)
- [Реакції в Signal](/uk/channels/signal#reactions-message-tool) — `channels.signal.reactionLevel` (типове значення `minimal`)

## Пов’язані матеріали

- [Надсилання агентом](/uk/tools/agent-send) — інструмент `message`, що містить дію `react`
- [Канали](/uk/channels) — конфігурація для окремих каналів
