#room) en directe berichten wilt gebruiken.
Installeer de officiële IRC-Plugin en configureer deze daarna onder channels.irc.
Snelstart
- Installeer de Plugin:
- Schakel de IRC-configuratie in
~/.openclaw/openclaw.jsonin. - Stel minimaal het volgende in:
- Start/herstart gateway:
Beveiligingsstandaarden
- IRC gebruikt raw TCP/TLS-sockets buiten de door OpenClaw-operators beheerde forward-proxyrouting. Stel in implementaties waarin alle uitgaande verbindingen via die forward proxy moeten lopen
channels.irc.enabled=falsein, tenzij directe uitgaande IRC-verbindingen expliciet zijn goedgekeurd. channels.irc.dmPolicystaat standaard op"pairing".channels.irc.groupPolicystaat standaard op"allowlist".- Stel bij
groupPolicy="allowlist"channels.irc.groupsin om toegestane kanalen te definiëren. - Gebruik TLS (
channels.irc.tls=true), tenzij je bewust transport in platte tekst accepteert.
Toegangsbeheer
Er zijn twee afzonderlijke “poorten” voor IRC-kanalen:- Kanaaltoegang (
groupPolicy+groups): of de bot überhaupt berichten uit een kanaal accepteert. - Afzendertoegang (
groupAllowFrom/ per-kanaalgroups["#channel"].allowFrom): wie de bot binnen dat kanaal mag triggeren.
- DM-allowlist (DM-afzendertoegang):
channels.irc.allowFrom - Groepsafzender-allowlist (kanaalafzendertoegang):
channels.irc.groupAllowFrom - Regels per kanaal (kanaal + afzender + vermeldingsregels):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open"staat niet-geconfigureerde kanalen toe (nog steeds standaard mention-gated)
nick!user@host).
Bare nick-matching is veranderlijk en alleen ingeschakeld wanneer channels.irc.dangerouslyAllowNameMatching: true.
Veelvoorkomende valkuil: allowFrom is voor DM’s, niet voor kanalen
Als je logs ziet zoals:
irc: drop group sender alice!ident@host (policy=allowlist)
channels.irc.groupAllowFromin te stellen (globaal voor alle kanalen), of- afzender-allowlists per kanaal in te stellen:
channels.irc.groups["#channel"].allowFrom
#tuirc-dev mag met de bot praten):
Antwoordtriggering (vermeldingen)
Zelfs als een kanaal is toegestaan (viagroupPolicy + groups) en de afzender is toegestaan, gebruikt OpenClaw standaard mention-gating in groepscontexten.
Dat betekent dat je logs kunt zien zoals drop channel … (missing-mention), tenzij het bericht een vermeldingspatroon bevat dat overeenkomt met de bot.
Schakel mention-gating voor dat kanaal uit om de bot in een IRC-kanaal te laten antwoorden zonder dat een vermelding nodig is:
Beveiligingsopmerking (aanbevolen voor openbare kanalen)
Als jeallowFrom: ["*"] in een openbaar kanaal toestaat, kan iedereen de bot prompten.
Beperk de tools voor dat kanaal om het risico te verkleinen.
Dezelfde tools voor iedereen in het kanaal
Verschillende tools per afzender (eigenaar krijgt meer macht)
GebruiktoolsBySender om een strenger beleid toe te passen op "*" en een soepeler beleid op je nick:
toolsBySender-sleutels moetenid:gebruiken voor IRC-afzenderidentiteitswaarden:id:eigenofid:eigen!~eigen@174.127.248.171voor sterkere matching.- Verouderde sleutels zonder prefix worden nog steeds geaccepteerd en alleen als
id:gematcht. - Het eerste overeenkomende afzenderbeleid wint;
"*"is de joker-fallback.
NickServ
Om je na het verbinden bij NickServ te identificeren:register uit nadat de nick is geregistreerd om herhaalde REGISTER-pogingen te voorkomen.
Omgevingsvariabelen
Standaardaccount ondersteunt:IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(komma-gescheiden)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
IRC_HOST kan niet worden ingesteld vanuit een workspace-.env; zie Workspace-.env-bestanden.
Probleemoplossing
- Als de bot verbinding maakt maar nooit in kanalen antwoordt, controleer dan
channels.irc.groupsen of mention-gating berichten laat vallen (missing-mention). Als je wilt dat hij zonder pings antwoordt, stel danrequireMention:falsein voor het kanaal. - Als inloggen mislukt, controleer dan de beschikbaarheid van de nick en het serverwachtwoord.
- Als TLS op een aangepast netwerk mislukt, controleer dan host/poort en de certificaatconfiguratie.
Gerelateerd
- Kanalenoverzicht — alle ondersteunde kanalen
- Pairing — DM-authenticatie en pairing-flow
- Groepen — groepschatgedrag en mention-gating
- Kanaalroutering — sessieroutering voor berichten
- Beveiliging — toegangsmodel en hardening