Skip to content
广告 · 本站推荐广告

IRC - 经典互联网中继聊天接入

IRC(Internet Relay Chat,互联网中继聊天)是历史最悠久的实时通讯协议之一。OpenClaw 内置 IRC Channel 支持,可连接任何标准 IRC 网络。

前置要求

  • 目标 IRC 网络的连接信息(服务器地址、端口)
  • 可选:已注册的 NickServ(昵称服务)账号
  • OpenClaw Gateway(网关)已安装并运行

基础配置

json5
{
  channels: {
    irc: {
      enabled: true,
      server: "irc.libera.chat",      // IRC 服务器地址
      port: 6697,                      // TLS 默认端口
      ssl: true,                       // 启用 TLS/SSL 加密
      nick: "openclaw-bot",            // Bot 昵称
      username: "openclaw",            // Username(用户名)
      realname: "OpenClaw AI Bot",     // Real Name(真实名称)
      channels: ["#mychannel"]         // 自动加入的 Channel(频道)列表
    }
  }
}
bash
openclaw gateway restart

TLS/SSL 加密

强烈建议

始终启用 TLS/SSL 加密。未加密的 IRC 连接以明文传输所有消息,存在严重安全风险。

json5
{
  channels: {
    irc: {
      ssl: true,
      port: 6697,
      rejectUnauthorized: true,                 // 验证服务器证书
      clientCert: "/path/to/client.pem",        // 客户端证书(可选)
      clientKey: "/path/to/client-key.pem"      // 客户端私钥(可选)
    }
  }
}

常用网络 TLS 端口:Libera.Chat (irc.libera.chat:6697)、OFTC (irc.oftc.net:6697)、EFnet (irc.efnet.org:6697)。

NickServ 认证

密码认证

json5
{
  channels: {
    irc: {
      nick: "openclaw-bot",
      nickServPassword: "your-password"
    }
  }
}

SASL 认证(推荐)

SASL(Simple Authentication and Security Layer)在连接握手阶段完成认证,更安全:

json5
{
  channels: {
    irc: {
      sasl: {
        mechanism: "PLAIN",
        username: "openclaw-bot",
        password: "your-password"
      }
    }
  }
}

注册 NickServ 账号

在 IRC 客户端中执行:/msg NickServ REGISTER your-password your-email@example.com

Channel 自动加入与行为配置

json5
{
  channels: {
    irc: {
      channels: [
        "#public-channel",
        { name: "#private-channel", key: "channel-password" }
      ],
      channelBehavior: {
        "#general": { requireMention: true },
        "#support": { requireMention: false, prefix: "!" }
      }
    }
  }
}

多网络连接

通过 networks 字段同时连接多个 IRC 网络,每个网络独立配置 serverportsslnickchannels

json5
{
  channels: {
    irc: {
      enabled: true,
      networks: {
        libera: { server: "irc.libera.chat", port: 6697, ssl: true, nick: "openclaw-bot", channels: ["#mychannel"] },
        oftc: { server: "irc.oftc.net", port: 6697, ssl: true, nick: "openclaw-bot", channels: ["#other"] }
      }
    }
  }
}

DM Policy(私信策略)

策略说明
pairing用户需通过 Pairing Code(配对码)验证
allowlist仅允许指定 Nickname(昵称)私聊
open所有人均可私聊

常见问题

Bot 频繁断线

启用自动重连:autoReconnect: truereconnectInterval: 5000pingInterval: 60000

昵称被占用

配置备用昵称:altNicks: ["openclaw-bot_", "openclaw-bot__"]

被 Channel 踢出

确认 Bot 行为符合 Channel 规则,提前联系 Channel Operator(频道管理员)获取许可。

🇨🇳 中国用户须知

IRC 在全球范围内均可正常访问,中国大陆用户无需代理。

国内社区:部分中文技术社区在 Libera.Chat 和 OFTC 活跃,如 #ubuntu-cn#archlinux-cn

编码问题:确保配置 UTF-8 以正确显示中文:

json5
{
  channels: {
    irc: { encoding: "utf-8" }
  }
}

网络延迟:连接海外 IRC 服务器可能有 200-400ms 延迟,属正常现象。

适用场景:开源社区运营、技术团队沟通、轻量级实时通讯。

基于MIT协议开源 | 内容翻译自 官方文档,同步更新