---
read_when:
    - Ви хочете, щоб відповіді для одного активного сеансу перемістилися з Telegram до Discord, Slack, Mattermost або іншого пов’язаного каналу
    - Ви налаштовуєте `session.identityLinks` для міжканальних прямих повідомлень
    - Команда `/dock` повідомляє, що відправника не пов’язано або активного сеансу не існує
summary: Перемістіть маршрут відповіді одного сеансу OpenClaw між пов’язаними каналами чату
title: Стикування каналів
x-i18n:
    generated_at: "2026-04-27T21:41:20Z"
    model: gpt-5.4
    provider: openai
    source_hash: b981cd177ed76194cf18667620a1f9b2f2ba50df42fe203f6f68916971ed6a61
    source_path: concepts/channel-docking.md
    workflow: 15
---

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

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

## Приклад

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

```json5
{
  session: {
    identityLinks: {
      alice: ["telegram:123", "discord:456"],
    },
  },
}
```

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

```text
/dock_discord
```

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

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

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

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

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

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

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

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

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

```json5
{
  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`, від пов’язаного відправника.
