OpenClaw从入门到应用——频道:IRC

张开发
2026/4/6 21:14:19 15 分钟阅读

分享文章

OpenClaw从入门到应用——频道:IRC
通过OpenClaw实现副业收入《OpenClaw赚钱实录从“养龙虾“到可持续变现的实践指南》Quick start在~/.openclaw/openclaw.json中启用 IRC 配置。至少设置以下内容theme{theme:{light:min-light,dark:min-dark}}{channels:{irc:{enabled:true,host:irc.libera.chat,port:6697,tls:true,nick:openclaw-bot,channels:[#openclaw]}}}启动/重启网关theme{theme:{light:min-light,dark:min-dark}}openclaw gateway runSecurity defaultschannels.irc.dmPolicy默认为pairing。channels.irc.groupPolicy默认为allowlist。当groupPolicyallowlist时需要设置channels.irc.groups来定义允许的频道。除非你故意接受明文传输否则请使用 TLSchannels.irc.tlstrue。Access controlIRC 频道有两个独立的“门控”频道访问groupPolicygroups机器人是否接受来自该频道的消息。发送者访问groupAllowFrom/ 每个频道的groups[#channel].allowFrom谁可以在该频道内触发机器人。配置键DM 白名单DM 发送者访问channels.irc.allowFrom群组发送者白名单频道发送者访问channels.irc.groupAllowFrom每个频道的控制频道 发送者 提及规则channels.irc.groups[#channel]channels.irc.groupPolicyopen允许未配置的频道默认仍然需要提及白名单条目应使用稳定的发送者标识nick!userhost。仅昵称匹配是可变的仅在channels.irc.dangerouslyAllowNameMatching: true时启用。常见陷阱allowFrom用于 DM而不是频道如果你看到类似日志irc: drop group sender alice!identhost (policyallowlist)这意味着发送者未被允许发送群组/频道消息。修复方法设置channels.irc.groupAllowFrom全局适用于所有频道或设置每个频道的发送者白名单channels.irc.groups[#channel].allowFrom示例允许#tuirc-dev中的任何人跟机器人对话theme{theme:{light:min-light,dark:min-dark}} { channels: { irc: { groupPolicy: allowlist, groups: { #tuirc-dev: { allowFrom: [*], }, }, }, }, }Reply triggering (mentions)即使频道被允许通过groupPolicygroups且发送者被允许OpenClaw 在群组上下文中默认需要提及。这意味着你可能看到类似drop channel … (missing-mention)的日志除非消息中包含与机器人匹配的提及模式。要让机器人在 IRC 频道中回复而不需要提及请禁用该频道的提及门控theme{theme:{light:min-light,dark:min-dark}} { channels: { irc: { groupPolicy: allowlist, groups: { #tuirc-dev: { requireMention: false, allowFrom: [*], }, }, }, }, }或者允许所有IRC 频道无需每个频道的白名单并且回复不需要提及theme{theme:{light:min-light,dark:min-dark}} { channels: { irc: { groupPolicy: open, groups: { *: { requireMention: false, allowFrom: [*] }, }, }, }, }Security note (recommended for public channels)如果你在公共频道中允许allowFrom: [*]任何人都可以提示机器人。为了降低风险请限制该频道的工具。频道内所有用户使用相同工具theme{theme:{light:min-light,dark:min-dark}} { channels: { irc: { groups: { #tuirc-dev: { allowFrom: [*], tools: { deny: [group:runtime, group:fs, gateway, nodes, cron, browser], }, }, }, }, }, }每个发送者使用不同工具所有者获得更多权限使用toolsBySender对*应用更严格的策略对你的昵称应用更宽松的策略theme{theme:{light:min-light,dark:min-dark}} { channels: { irc: { groups: { #tuirc-dev: { allowFrom: [*], toolsBySender: { *: { deny: [group:runtime, group:fs, gateway, nodes, cron, browser], }, id:eigen: { deny: [gateway, nodes, cron], }, }, }, }, }, }, }注意toolsBySender的键应使用id:作为 IRC 发送者标识的值id:eigen或id:eigen!~eigen174.127.248.171以实现更强的匹配。旧的无前缀键仍然被接受并且仅作为id:匹配。第一个匹配的发送者策略生效*是通配符回退。有关群组访问与提及门控以及它们如何交互的更多信息请参阅https://blog.csdn.net/hy592070616/article/details/81707766。NickServ在连接后向 NickServ 认证theme{theme:{light:min-light,dark:min-dark}}{channels:{irc:{nickserv:{enabled:true,service:NickServ,password:your-nickserv-password}}}}连接时可选的单次注册theme{theme:{light:min-light,dark:min-dark}}{channels:{irc:{nickserv:{register:true,registerEmail:botexample.com}}}}在昵称注册后禁用register以避免重复尝试 REGISTER。Environment variables默认账户支持IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS逗号分隔IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAILTroubleshooting如果机器人连接成功但从不在频道中回复请检查channels.irc.groups以及提及门控是否丢弃了消息missing-mention。如果你希望它无需 ping 就能回复请为该频道设置requireMention: false。如果登录失败请验证昵称的可用性和服务器密码。如果在自定义网络上 TLS 失败请验证主机/端口和证书设置。

更多文章