> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Стикування каналів

Стикування каналів — це переадресація викликів для одного сеансу OpenClaw.

Воно зберігає той самий контекст розмови, але змінює, куди доставлятимуться майбутні відповіді для цього сеансу.

## Приклад

Alice може писати OpenClaw у Telegram і Discord:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  session: {
    identityLinks: {
      alice: ["telegram:123", "discord:456"],
    },
  },
}
```

Якщо Alice надішле це з Telegram:

```text theme={"theme":{"light":"min-light","dark":"min-dark"}}
/dock_discord
```

OpenClaw збереже контекст поточного сеансу й змінить маршрут відповіді:

| До стикування                        | Після `/dock_discord`               |
| ------------------------------------ | ----------------------------------- |
| Відповіді надходять у Telegram `123` | Відповіді надходять у Discord `456` |

Сеанс не створюється заново. Історія стенограми залишається прив’язаною до того самого сеансу.

## Навіщо це використовувати

Використовуйте стикування, коли завдання починається в одному застосунку чату, але наступні відповіді мають надходити кудись іще.

Типовий сценарій:

1. Запустіть завдання агента з Telegram.
2. Перейдіть до Discord, де ви координуєте роботу.
3. Надішліть `/dock_discord` із сеансу Telegram.
4. Збережіть той самий сеанс OpenClaw, але отримуйте майбутні відповіді в Discord.

## Обов’язкова конфігурація

Для стикування потрібен `session.identityLinks`. Відправник джерела й цільовий peer мають бути в одній групі ідентичності:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  session: {
    identityLinks: {
      alice: ["telegram:123", "discord:456", "slack:U123"],
    },
  },
}
```

Значення — це ідентифікатори peer із префіксом каналу:

| Значення       | Значення                                   |
| -------------- | ------------------------------------------ |
| `telegram:123` | Ідентифікатор відправника Telegram `123`   |
| `discord:456`  | Ідентифікатор прямого peer у Discord `456` |
| `slack:U123`   | Ідентифікатор користувача Slack `U123`     |

Канонічний ключ (`alice` вище) — це лише спільна назва групи ідентичності. Команди dock використовують значення з префіксом каналу, щоб підтвердити, що відправник джерела й цільовий peer — це одна й та сама особа.

## Команди

Команди dock генеруються із завантажених плагінів каналів, які підтримують нативні команди. Поточні вбудовані команди:

| Цільовий канал | Команда            | Псевдонім          |
| -------------- | ------------------ | ------------------ |
| Discord        | `/dock-discord`    | `/dock_discord`    |
| Mattermost     | `/dock-mattermost` | `/dock_mattermost` |
| Slack          | `/dock-slack`      | `/dock_slack`      |
| Telegram       | `/dock-telegram`   | `/dock_telegram`   |

Псевдоніми з підкресленням корисні на поверхнях нативних команд, таких як Telegram.

## Що змінюється

Стикування оновлює поля доставки активного сеансу:

| Поле сеансу     | Приклад після `/dock_discord`                 |
| --------------- | --------------------------------------------- |
| `lastChannel`   | `discord`                                     |
| `lastTo`        | `456`                                         |
| `lastAccountId` | цільовий обліковий запис каналу або `default` |

Ці поля зберігаються у сховищі сеансів і використовуються для подальшої доставки відповідей у цьому сеансі.

## Що не змінюється

Стикування не:

* створює облікові записи каналів
* підключає нового бота Discord, Telegram, Slack або Mattermost
* надає користувачу доступ
* обходить allowlist каналів або політики прямих повідомлень
* переносить історію стенограми до іншого сеансу
* не робить так, щоб непов’язані користувачі спільно використовували один сеанс

Воно лише змінює маршрут доставки для поточного сеансу.

## Усунення несправностей

**Команда повідомляє, що відправника не пов’язано.**

Додайте і поточного відправника, і цільовий peer до тієї самої групи `session.identityLinks`. Наприклад, якщо відправник Telegram `123` має стикуватися з peer Discord `456`, включіть і `telegram:123`, і `discord:456`.

**Команда повідомляє, що активного сеансу не існує.**

Виконайте стикування з наявного сеансу прямого чату. Команді потрібен запис активного сеансу, щоб вона могла зберегти новий маршрут.

**Відповіді все ще надходять у старий канал.**

Перевірте, що команда повернула повідомлення про успіх, і підтвердьте, що ідентифікатор цільового peer збігається з ідентифікатором, який використовує цей канал. Стикування змінює лише маршрут активного сеансу; інший сеанс усе ще може спрямовувати відповіді в інше місце.

**Мені потрібно переключитися назад.**

Надішліть відповідну команду для початкового каналу, наприклад `/dock_telegram` або `/dock-telegram`, від пов’язаного відправника.
