OpenClaw IRC設定ガイド:3ステップで接続を完了
開発を進める中で、チャットツールと AI を連携させたい場面は多いですよね。特に IRC のような歴史のある環境でボットを動かそうとすると、設定が複雑で挫折してしまうこともあるかもしれません。
OpenClaw を使えば、シンプルな設定で IRC チャンネルやダイレクトメッセージに AI を導入できます。クラシックな #room でボットを動かすための設定方法を詳しく見ていきましょう。
OpenClaw を従来の IRC チャンネル(#room)やダイレクトメッセージで使用したい場合にこの設定を行います。
IRC は拡張プラグインとして提供されていますが、設定はメインの設定ファイル内の channels.irc セクションで行います。
クイックスタート
Section titled “クイックスタート”~/.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セキュリティのデフォルト設定
Section titled “セキュリティのデフォルト設定”channels.irc.dmPolicyのデフォルト値は"pairing"です。channels.irc.groupPolicyのデフォルト値は"allowlist"です。groupPolicy="allowlist"の場合、channels.irc.groupsで許可するチャンネルを指定してください。- 平文での通信をあえて許容する場合を除き、TLS (
channels.irc.tls=true) を使用するのがベストな選択です。
アクセス制御
Section titled “アクセス制御”IRC チャンネルには、2 つの独立した「ゲート(関門)」があります。
- チャンネルアクセス (
groupPolicy+groups): ボットがそのチャンネルからのメッセージをそもそも受け付けるかどうか。 - 送信者アクセス (
groupAllowFrom/ チャンネルごとのgroups["#channel"].allowFrom): そのチャンネル内で誰がボットを起動できるか。
設定キーの詳細は以下の通りです。
- DM 許可リスト(DM 送信者アクセス):
channels.irc.allowFrom - グループ送信者許可リスト(チャンネル送信者アクセス):
channels.irc.groupAllowFrom - チャンネルごとの制御(チャンネル + 送信者 + メンションルール):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open": 未設定のチャンネルも許可します(デフォルトではメンションによる制限がかかります)。- 許可リストのエントリには、固定された送信者識別子 (
nick!user@host) を使用してください。 - ニックネームのみの照合は変更されやすいため、
channels.irc.dangerouslyAllowNameMatching: trueが設定されている場合のみ有効になります。
よくある落とし穴: allowFrom はチャンネル用ではなく DM 用です
Section titled “よくある落とし穴: allowFrom はチャンネル用ではなく DM 用です”ログに以下のような内容が表示される場合があります。
irc: drop group sender alice!ident@host (policy=allowlist)
これは、その送信者が グループ/チャンネル メッセージに対して許可されていないことを意味します。以下のいずれかの方法で解決してください。
channels.irc.groupAllowFromを設定する(全チャンネル共通のグローバル設定)。- チャンネルごとに送信者許可リストを設定する:
channels.irc.groups["#channel"].allowFrom
例(#tuirc-dev 内の全員がボットと会話できるようにする場合):
{ channels: { irc: { groupPolicy: "allowlist", groups: { "#tuirc-dev": { allowFrom: ["*"] }, }, }, },}返信のトリガー(メンション)
Section titled “返信のトリガー(メンション)”チャンネル(groupPolicy + groups)と送信者の両方が許可されていても、OpenClaw のグループコンテキストではデフォルトで メンションによる制限 がかかります。
そのため、メッセージにボットへのメンションが含まれていない場合、ログに drop channel … (missing-mention) と表示されることがあります。
メンションなしでボットに返信させたい場合は、そのチャンネルのメンション制限を無効にしてください。
{ channels: { irc: { groupPolicy: "allowlist", groups: { "#tuirc-dev": { requireMention: false, allowFrom: ["*"], }, }, }, },}すべての IRC チャンネルを許可し(チャンネルごとの許可リストなし)、かつメンションなしで返信させる設定は以下の通りです。
{ channels: { irc: { groupPolicy: "open", groups: { "*": { requireMention: false, allowFrom: ["*"] }, }, }, },}セキュリティに関する注意点(公開チャンネル推奨)
Section titled “セキュリティに関する注意点(公開チャンネル推奨)”公開チャンネルで allowFrom: ["*"] を設定すると、誰でもボットを操作できるようになります。リスクを抑えるために、そのチャンネルで使用できるツールを制限することをおすすめします。
チャンネル内の全員に対して同じツール制限を適用する
Section titled “チャンネル内の全員に対して同じツール制限を適用する”{ channels: { irc: { groups: { "#tuirc-dev": { allowFrom: ["*"], tools: { deny: ["group:runtime", "group:fs", "gateway", "nodes", "cron", "browser"], }, }, }, }, },}送信者ごとに異なるツール制限を適用する(オーナーに強い権限を与える)
Section titled “送信者ごとに異なるツール制限を適用する(オーナーに強い権限を与える)”toolsBySender を使用して、"*"(全員)には厳しいポリシーを、自分のニックネームには緩いポリシーを適用します。
{ channels: { irc: { groups: { "#tuirc-dev": { allowFrom: ["*"], toolsBySender: { "*": { deny: ["group:runtime", "group:fs", "gateway", "nodes", "cron", "browser"], }, "id:eigen": { deny: ["gateway", "nodes", "cron"], }, }, }, }, }, },}注意点:
toolsBySenderのキーには、IRC の送信者識別子としてid:プレフィックスを使用してください(例:id:eigen)。より確実に照合するにはid:eigen!~eigen@174.127.248.171のような形式を使用します。- プレフィックスのない古い形式のキーも受け付けられますが、
id:として照合されます。 - 最初に一致した送信者ポリシーが適用されます。
"*"はワイルドカードとして最後に評価されます。
グループアクセスとメンション制限の相互作用についての詳細は、/channels/groups を参照してください。
NickServ
Section titled “NickServ”接続後に NickServ で認証を行う設定です。
{ channels: { irc: { nickserv: { enabled: true, service: "NickServ", password: "your-nickserv-password", }, }, },}接続時に一度だけ登録を行うオプション設定です。
{ channels: { irc: { nickserv: { register: true, registerEmail: "bot@example.com", }, }, },}ニックネームの登録が完了した後は、重複して REGISTER コマンドが実行されないよう register を無効にしてください。
デフォルトのアカウント設定では、以下の環境変数をサポートしています。
IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(カンマ区切り)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
トラブルシューティング
Section titled “トラブルシューティング”- ボットは接続しているが返信がない場合は、
channels.irc.groupsの設定と、メンション制限(missing-mention)によってメッセージが破棄されていないか確認してください。 - メンションなしで反応させたい場合は、チャンネル設定で
requireMention: falseを指定します。 - ログインに失敗する場合は、ニックネームが既に使用されていないか、またはサーバーパスワードが正しいかを確認してください。
- カスタムネットワークで TLS 接続に失敗する場合は、ホスト、ポート、および証明書の設定を再確認してください。
関連ドキュメント
Section titled “関連ドキュメント”- Channels Overview — サポートされているすべてのチャンネル
- Pairing — DM 認証とペアリングの流れ
- Groups — グループチャットの挙動とメンション制限
- Channel Routing — メッセージのセッションルーティング
- Security — アクセスモデルとセキュリティ強化
- Documentation Index — ドキュメントのトップページ
次のステップ
Section titled “次のステップ”設定で困ったことがあれば、AI Setup Assistant に相談してみてください。最適な設定方法をガイドしてくれます。
OpenClaw Expert
まだ解決しませんか?
このページで解決しない場合は、OpenClaw Expertに直接質問してください。