---
read_when:
    - Вы хотите, чтобы ответы для одного активного сеанса перешли из Telegram в Discord, Slack, Mattermost или другой связанный канал
    - Вы настраиваете `session.identityLinks` для межканальных прямых сообщений
    - Команда /dock сообщает, что отправитель не привязан или активный сеанс отсутствует
summary: Переместить маршрут ответов одного сеанса OpenClaw между связанными каналами чата
title: Закрепление канала
x-i18n:
    generated_at: "2026-06-28T22:48:39Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: b981cd177ed76194cf18667620a1f9b2f2ba50df42fe203f6f68916971ed6a61
    source_path: concepts/channel-docking.md
    workflow: 16
---

Закрепление канала — это переадресация вызовов для одного сеанса 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`. Исходный отправитель и целевой собеседник
должны быть в одной группе идентичности:

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

Значения — это идентификаторы собеседников с префиксом канала:

| Значение       | Значение смысла                   |
| -------------- | --------------------------------- |
| `telegram:123` | Идентификатор отправителя Telegram `123` |
| `discord:456`  | Идентификатор прямого собеседника Discord `456` |
| `slack:U123`   | Идентификатор пользователя Slack `U123` |

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

## Команды

Команды закрепления генерируются из загруженных плагинов каналов, которые поддерживают нативные
команды. Текущие встроенные команды:

| Целевой канал | Команда            | Псевдоним          |
| ------------- | ------------------ | ------------------ |
| 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
- предоставляет доступ пользователю
- обходит списки разрешенных каналов или политики личных сообщений
- переносит историю стенограммы в другой сеанс
- заставляет несвязанных пользователей совместно использовать сеанс

Оно меняет только маршрут доставки для текущего сеанса.

## Устранение неполадок

**Команда сообщает, что отправитель не связан.**

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

**Команда сообщает, что активный сеанс отсутствует.**

Закрепляйтесь из существующего сеанса прямого чата. Команде нужна активная запись сеанса,
чтобы сохранить новый маршрут.

**Ответы по-прежнему идут в старый канал.**

Проверьте, что команда ответила сообщением об успехе, и подтвердите, что идентификатор целевого
собеседника совпадает с идентификатором, используемым этим каналом. Закрепление меняет только маршрут
активного сеанса; другой сеанс все еще может направляться в другое место.

**Мне нужно переключиться обратно.**

Отправьте соответствующую команду для исходного канала, например `/dock_telegram` или
`/dock-telegram`, от связанного отправителя.
