---
read_when:
    - Вы хотите подключить OpenClaw к каналам IRC или личным сообщениям
    - Вы настраиваете списки разрешённых пользователей IRC, групповую политику или фильтрацию по упоминаниям
summary: Настройка плагина IRC, управление доступом и устранение неполадок
title: IRC
x-i18n:
    generated_at: "2026-07-13T17:52:49Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 23e288f18a57a3ee74a433feb1ffb7dda0480f998cf74d4ec825bd7f3c0745c5
    source_path: channels/irc.md
    workflow: 16
---

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

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

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

```bash
openclaw plugins install @openclaw/irc
```

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

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

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

```bash
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
{
  channels: {
    irc: {
      groupPolicy: "allowlist",
      groups: {
        "#openclaw": { allowFrom: ["*"] },
      },
    },
  },
}
```

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

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

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

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

```json5
{
  channels: {
    irc: {
      groupPolicy: "allowlist",
      groups: {
        "#openclaw": {
          requireMention: false,
          allowFrom: ["*"],
        },
      },
    },
  },
}
```

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

```json5
{
  channels: {
    irc: {
      groupPolicy: "open",
      groups: {
        "*": { requireMention: false, allowFrom: ["*"] },
      },
    },
  },
}
```

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

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

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

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

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

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

```json5
{
  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](/ru/channels/groups).

## NickServ

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

```json5
{
  channels: {
    irc: {
      nickserv: {
        enabled: true,
        service: "NickServ",
        password: "your-nickserv-password",
      },
    },
  },
}
```

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

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

```json5
{
  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` рабочей области](/ru/gateway/security).

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

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

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

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