
【最新版】IRCでOpenClawを使う方法(チャンネル/DMに接続)
2026年3月18日
IRC
OpenClaw を IRC のチャンネルとダイレクトメッセージに接続します。
IRC は、クラシックなチャンネル(#room)や DM に OpenClaw を参加させたいときに使います。 IRC は拡張プラグインとして提供されていますが、設定はメインの config のchannels.irc に記述します。
クイックスタート
~/.openclaw/openclaw.jsonで IRC 設定を有効化します。- 最低限、次を設定します:
{
"channels": {
"irc": {
"enabled": true,
"host": "irc.libera.chat",
"port": 6697,
"tls": true,
"nick": "openclaw-bot",
"channels": ["#openclaw"]
}
}
}- Gateway を起動/再起動します:
openclaw gateway run
セキュリティのデフォルト
channels.irc.dmPolicyのデフォルトは"pairing"です。channels.irc.groupPolicyのデフォルトは"allowlist"です。groupPolicy="allowlist"の場合、許可するチャンネルはchannels.irc.groupsで定義します。- 意図的に平文トランスポートを許容する場合を除き、TLS(
channels.irc.tls=true)を使ってください。
アクセス制御
IRC チャンネルの扱いには、2つの独立した「ゲート」があります:
- チャンネルの許可(
groupPolicy+groups): ボットがそのチャンネルからのメッセージを受け付けるかどうか。 - 送信者の許可(
groupAllowFrom/ チャンネル単位のgroups["#channel"].allowFrom): そのチャンネル内で、誰がボットをトリガーできるか。
config キー:
- DM allowlist(DM 送信者の許可):
channels.irc.allowFrom - グループ送信者 allowlist(チャンネル内送信者の許可):
channels.irc.groupAllowFrom - チャンネル単位の制御(チャンネル + 送信者 + メンションルール):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open"は、未設定のチャンネルも許可します(ただしデフォルトではメンション必須が有効です)。
allowlist のエントリは、安定した送信者 ID(nick!user@host)を使ってください。 bare nick のみでの照合は変更可能で危険なため、channels.irc.dangerouslyAllowNameMatching: true のときだけ有効です。
よくある落とし穴:allowFrom は DM 用で、チャンネル用ではない
ログに次のように出る場合:
irc: drop group sender alice!ident@host (policy=allowlist)
これは、送信者がグループ/チャンネルメッセージとして許可されていないことを意味します。次のいずれかで修正します:
channels.irc.groupAllowFromを設定(全チャンネル共通)- チャンネル単位の送信者 allowlist:
channels.irc.groups["#channel"].allowFrom
例(#tuirc-dev では誰でもボットに話しかけられるようにする):
{
channels: {
irc: {
groupPolicy: "allowlist",
groups: {
"#tuirc-dev": { allowFrom: ["*"] },
},
},
},
}返信トリガー(メンション)
チャンネルが許可され(groupPolicy + groups)、送信者も許可されていても、OpenClaw はグループ文脈ではデフォルトでメンション必須(mention-gating)です。
そのため、メッセージにメンションパターンが含まれないと、drop channel … (missing-mention) のようなログが出ることがあります。
IRC チャンネルでメンションなしで返信させたい場合は、そのチャンネルでメンション必須を無効化します:
{
channels: {
irc: {
groupPolicy: "allowlist",
groups: {
"#tuirc-dev": {
requireMention: false,
allowFrom: ["*"],
},
},
},
},
}もしくは、すべての IRC チャンネルを許可し、メンション不要で返信させるには:
{
channels: {
irc: {
groupPolicy: "open",
groups: {
"*": { requireMention: false, allowFrom: ["*"] },
},
},
},
}セキュリティノート(公開チャンネル向けの推奨)
公開チャンネルで allowFrom: ["*"] を許可すると、誰でもボットをプロンプトできてしまいます。 リスクを下げるには、そのチャンネル向けにツールを制限してください。
チャンネル内の全員に同じツール制限を適用する
{
channels: {
irc: {
groups: {
"#tuirc-dev": {
allowFrom: ["*"],
tools: {
deny: ["group:runtime", "group:fs", "gateway", "nodes", "cron", "browser"],
},
},
},
},
},
}送信者ごとにツール制限を変える(オーナーは権限強め)
toolsBySender を使うと、"*" には厳しめ、あなたの nick には緩め、といった設定ができます:
{
channels: {
irc: {
groups: {
"#tuirc-dev": {
allowFrom: ["*"],
toolsBySender: {
"*": {
deny: ["group:runtime", "group:fs", "gateway", "nodes", "cron", "browser"],
},
"id:eigen": {
deny: ["gateway", "nodes", "cron"],
},
},
},
},
},
},
}Notes:
toolsBySenderのキーは、IRC sender identity 値に対してid:を使います。id:eigenや、より強い一致にするならid:eigen!~eigen@174.127.248.171。- レガシーな prefix なしキーも受け付けられ、
id:として一致判定されます。 - 最初に一致した送信者ポリシーが採用され、
"*"はワイルドカードのフォールバックです。
グループのアクセス制御とメンション必須(mention-gating)の関係については、/channels/groupsも参照してください。
NickServ
接続後に NickServ で identify するには:
{
"channels": {
"irc": {
"nickserv": {
"enabled": true,
"service": "NickServ",
"password": "your-nickserv-password"
}
}
}
}(任意)接続時に一度だけ登録するには:
{
"channels": {
"irc": {
"nickserv": {
"register": true,
"registerEmail": "bot@example.com"
}
}
}
}nick を登録したら、REGISTER を繰り返さないように register を無効化してください。
環境変数
デフォルトアカウントは次の環境変数をサポートします:
IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(カンマ区切り)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
トラブルシューティング
- ボットが接続できているのにチャンネルで返信しない場合は、
channels.irc.groupsと、メンション必須がmissing-mentionで drop していないかを確認します。 ping なしで返信させたい場合は、チャンネルにrequireMention:falseを設定してください。 - ログインが失敗する場合は、nick の空き状況とサーバーパスワードを確認します。
- カスタムネットワークで TLS が失敗する場合は、host/port と証明書設定を確認します。
参考
関連記事

AIエージェントのメモリスタックとは?2026年に重要度が上がる理由をやさしく解説
2026年4月8日
OpenClaw vs Hermes vs Claude、創業者はどれを選ぶべき?2026年版の実務比較
2026年4月8日