> ## 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.

# IRC

Используйте IRC, если хотите добавить OpenClaw в классические каналы (`#room`) и личные сообщения.
Установите официальный плагин IRC, затем настройте его в разделе `channels.irc`.

## Быстрый старт

1. Установите плагин:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw plugins install @openclaw/irc
```

2. Укажите как минимум хост, псевдоним и каналы для подключения в `~/.openclaw/openclaw.json`:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    irc: {
      enabled: true,
      host: "irc.example.com",
      port: 6697,
      tls: true,
      nick: "openclaw-bot",
      channels: ["#openclaw"],
    },
  },
}
```

3. Запустите или перезапустите Gateway:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw gateway run
```

Для координации ботов рекомендуется использовать частный IRC-сервер. Если вы намеренно используете публичную IRC-сеть, распространённые варианты включают Libera.Chat, OFTC и Snoonet. Не используйте предсказуемые публичные каналы для служебного обмена данными между ботами или роем.

## Настройки подключения

| Ключ | По умолчанию | Примечания |
| - | - | - |
| `host` | нет (обязательно) | Имя хоста IRC-сервера |
| `port` | `6697` с TLS, `6667` без шифрования | 1-65535 |
| `tls` | `true` | Устанавливайте `false` только при намеренном использовании незашифрованного соединения |
| `nick` | нет (обязательно) | Псевдоним бота |
| `username` | псевдоним, иначе `openclaw` | Имя пользователя IRC |
| `realname` | `OpenClaw` | Поле настоящего имени/GECOS |
| `password` / `passwordFile` | нет | Пароль сервера; файл должен быть обычным файлом |
| `channels` | нет | Каналы для подключения (`["#openclaw"]`) |
| `accounts` / `defaultAccount` | нет | Настройка нескольких учётных записей; переменные среды заполняют только учётную запись по умолчанию |

## Настройки безопасности по умолчанию

* IRC использует необработанные сокеты TCP/TLS вне маршрутизации через прямой прокси-сервер, управляемый оператором OpenClaw. В развёртываниях, где весь исходящий трафик должен проходить через этот прямой прокси-сервер, установите `channels.irc.enabled=false`, если прямой исходящий трафик IRC не разрешён явно.
* По умолчанию `channels.irc.dmPolicy` имеет значение `"pairing"`: неизвестные отправители личных сообщений получают код сопряжения, который вы подтверждаете с помощью `openclaw pairing approve irc <code>`.
* По умолчанию `channels.irc.groupPolicy` имеет значение `"allowlist"`.
* При использовании `groupPolicy="allowlist"` задайте `channels.irc.groups`, чтобы определить разрешённые каналы.
* Используйте TLS (`channels.irc.tls=true`), если только вы намеренно не допускаете передачу данных без шифрования.

## Управление доступом

Для каналов IRC существуют два отдельных «барьера»:

1. **Доступ к каналу** (`groupPolicy` + `groups`): принимает ли бот сообщения из канала вообще.
2. **Доступ отправителя** (`groupAllowFrom` / `groups["#channel"].allowFrom` для отдельных каналов): кто может активировать бота в этом канале.

Ключи конфигурации:

* Список разрешённых отправителей личных сообщений: `channels.irc.allowFrom`
* Список разрешённых отправителей группы (доступ отправителей канала): `channels.irc.groupAllowFrom`
* Настройки отдельных каналов (правила канала, отправителей и упоминаний): `channels.irc.groups["#channel"]` с `requireMention`, `allowFrom`, `enabled`, `tools`, `toolsBySender`, `skills` и `systemPrompt`
* `channels.irc.groupPolicy="open"` разрешает ненастроенные каналы (**по умолчанию упоминание всё равно обязательно**)

В записях списка разрешённых следует использовать стабильные идентификаторы отправителей (`nick!user@host`).
Сопоставление только по псевдониму ненадёжно и включается лишь при `channels.irc.dangerouslyAllowNameMatching: true`.

### Распространённая ошибка: `allowFrom` предназначен для личных сообщений, а не каналов

Если в журналах появляются сообщения вида:

* `irc: drop group sender alice!ident@host (policy=allowlist)`

...это означает, что отправитель не был допущен к сообщениям **группы/канала**. Исправить это можно одним из способов:

* задайте `channels.irc.groupAllowFrom` (глобально для всех каналов) или
* задайте списки разрешённых отправителей для отдельных каналов: `channels.irc.groups["#channel"].allowFrom`

Пример (разрешить любому пользователю в `#openclaw` обращаться к боту):

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    irc: {
      groupPolicy: "allowlist",
      groups: {
        "#openclaw": { allowFrom: ["*"] },
      },
    },
  },
}
```

## Активация ответов (упоминания)

Даже если канал разрешён (через `groupPolicy` + `groups`) и отправитель допущен, в групповых контекстах OpenClaw по умолчанию **требует упоминания**. Бот считается упомянутым, если сообщение содержит подключённый псевдоним бота или соответствует настроенным шаблонам упоминаний.

Поэтому в журналах может появляться `drop channel … (missing-mention)`, если сообщение не содержит шаблон упоминания, соответствующий боту.

Чтобы бот отвечал в канале IRC **без обязательного упоминания**, отключите требование упоминания для этого канала:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    irc: {
      groupPolicy: "allowlist",
      groups: {
        "#openclaw": {
          requireMention: false,
          allowFrom: ["*"],
        },
      },
    },
  },
}
```

Либо, чтобы разрешить **все** каналы IRC (без списка разрешённых для отдельных каналов) и при этом отвечать без упоминаний:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    irc: {
      groupPolicy: "open",
      groups: {
        "*": { requireMention: false, allowFrom: ["*"] },
      },
    },
  },
}
```

## Примечание о безопасности (рекомендуется для публичных каналов)

Если разрешить `allowFrom: ["*"]` в публичном канале, любой пользователь сможет отправлять боту запросы.
Чтобы снизить риск, ограничьте инструменты для этого канала.

### Одинаковые инструменты для всех пользователей канала

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    irc: {
      groups: {
        "#openclaw": {
          allowFrom: ["*"],
          tools: {
            deny: ["group:runtime", "group:fs", "gateway", "nodes", "cron", "browser"],
          },
        },
      },
    },
  },
}
```

### Разные инструменты для разных отправителей (владелец получает больше полномочий)

Используйте `toolsBySender`, чтобы применить более строгую политику к `"*"` и менее строгую — к своему псевдониму:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    irc: {
      groups: {
        "#openclaw": {
          allowFrom: ["*"],
          toolsBySender: {
            "*": {
              deny: ["group:runtime", "group:fs", "gateway", "nodes", "cron", "browser"],
            },
            "id:alice": {
              deny: ["gateway", "nodes", "cron"],
            },
          },
        },
      },
    },
  },
}
```

Примечания:

* В ключах `toolsBySender` следует использовать явные префиксы (`channel:`, `id:`, `e164:`, `username:`, `name:`). Для IRC используйте `id:` со значением идентификатора отправителя: `id:alice` или `id:alice!~alice@203.0.113.7` для более надёжного сопоставления.
* Устаревшие ключи без префиксов по-прежнему принимаются, сопоставляются только как `id:` и вызывают предупреждение об устаревании.
* Применяется первая соответствующая политика отправителя; `"*"` служит универсальным резервным вариантом.

Дополнительные сведения о различиях между групповым доступом и требованием упоминания, а также об их взаимодействии см. в разделе [/channels/groups](https://docs2.openclaw.ai/ru/channels/groups.md).

## NickServ

Чтобы пройти идентификацию в NickServ после подключения:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    irc: {
      nickserv: {
        enabled: true,
        service: "NickServ",
        password: "your-nickserv-password",
      },
    },
  },
}
```

По умолчанию идентификация NickServ выполняется при каждом подключении, если задан пароль (`enabled` нужно установить в `false` только для отказа от неё). По умолчанию `service` имеет значение `NickServ`; `passwordFile` можно использовать вместо встроенного `password`.

Необязательная однократная регистрация при подключении (`register: true` требует `registerEmail`):

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  channels: {
    irc: {
      nickserv: {
        register: true,
        registerEmail: "bot@example.com",
      },
    },
  },
}
```

После регистрации псевдонима отключите `register`, чтобы избежать повторных попыток REGISTER.

## Переменные среды

Учётная запись по умолчанию поддерживает:

* `IRC_HOST`
* `IRC_PORT`
* `IRC_TLS`
* `IRC_NICK`
* `IRC_USERNAME`
* `IRC_REALNAME`
* `IRC_PASSWORD`
* `IRC_CHANNELS` (через запятую)
* `IRC_NICKSERV_PASSWORD`
* `IRC_NICKSERV_REGISTER_EMAIL`

`IRC_HOST` нельзя задать из файла `.env` рабочей области; см. [Файлы `.env` рабочей области](https://docs2.openclaw.ai/ru/gateway/security).

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

* Если бот подключается, но не отвечает в каналах, проверьте `channels.irc.groups` **и** не отбрасываются ли сообщения из-за требования упоминания (`missing-mention`). Если бот должен отвечать без упоминаний, задайте `requireMention:false` для канала.
* Если вход завершается с ошибкой, проверьте доступность псевдонима и пароль сервера.
* Если на пользовательской сети не удаётся установить TLS-соединение, проверьте хост, порт и настройку сертификата.

## Связанные разделы

* [Обзор каналов](https://docs2.openclaw.ai/ru/channels.md) — все поддерживаемые каналы
* [Сопряжение](https://docs2.openclaw.ai/ru/channels/pairing.md) — аутентификация в личных сообщениях и процесс сопряжения
* [Группы](https://docs2.openclaw.ai/ru/channels/groups.md) — поведение групповых чатов и требование упоминания
* [Маршрутизация каналов](https://docs2.openclaw.ai/ru/channels/channel-routing.md) — маршрутизация сеансов для сообщений
* [Безопасность](https://docs2.openclaw.ai/ru/gateway/security.md) — модель доступа и усиление защиты
