IRC
IRC is an old protocol with a new relevance — it’s still the quickest way to get AI Butler into a room full of humans with zero corporate gatekeeping, and the text-only constraints force the agent to be concise. The IRC adapter speaks the classic protocol with SASL auth, NickServ, and channel joins.
What You Get
Section titled “What You Get”- Connect to any IRC network (Libera.Chat, OFTC, Freenode successors, internal corp IRC)
- 1:1 private messages and multi-user channel support
- SASL authentication (PLAIN and EXTERNAL)
- Automatic reconnection on network drops
- Text-only responses (no images, cards, or voice — it’s IRC)
1. Choose a network and register a nick
Section titled “1. Choose a network and register a nick”- Pick an IRC network. Popular choices: Libera.Chat, OFTC, or a corporate internal server.
- Connect from any IRC client (Weechat, HexChat, irssi) and register a nick with NickServ:
/msg NickServ REGISTER your_password your_email@example.com
- Verify the registration per the network’s instructions (usually clicking a link in the confirmation email)
2. Store Credentials
Section titled “2. Store Credentials”aibutler vault set irc_server irc.libera.chat:6697aibutler vault set irc_nick aibutleraibutler vault set irc_sasl_user your_nickaibutler vault set irc_sasl_password your_nickserv_passwordUse :6697 for TLS (standard on modern networks) or :6667 for plaintext (don’t).
3. Enable the Channel
Section titled “3. Enable the Channel”configurations: channels: active: - irc irc: tls: true channels: - "#ai-butler" - "#your-project"4. Restart
Section titled “4. Restart”aibutler runYou should see irc: connected and irc: joined #channel in the logs.
Interacting with the bot
Section titled “Interacting with the bot”In a channel, address the bot by nick:
<user> aibutler: what's the weather looking like today?<aibutler> I'll need to check — looking it up...In a private message, just type — no prefix needed:
/query aibutler<you> what do you remember about my current project?<aibutler> Your current project is launching AI Butler v0.1...Features
Section titled “Features”| Feature | Supported |
|---|---|
| 1:1 private messages | Yes |
| Channel messages (with nick prefix) | Yes |
| SASL PLAIN auth | Yes |
| SASL EXTERNAL (client cert) | Yes |
| NickServ identify fallback | Yes |
| TLS | Yes |
| IPv6 | Yes |
| Auto-reconnect | Yes (exponential backoff) |
| CTCP responses | Minimal (PING, VERSION, TIME) |
| File transfers (DCC) | No — IRC DCC is dangerous, use Slack/Discord for file exchange |
| Voice | No |
Troubleshooting
Section titled “Troubleshooting”“Can’t join channel — +r mode required.” Some networks require a registered nick to join certain channels. Make sure your SASL auth is configured and the nick is registered with NickServ.
Bot joins but doesn’t respond. Check the nick-matching logic: the bot only responds when its exact nick is at the start of a channel message followed by : or ,. Private messages work without any prefix.
Rate limiting / “you’re sending too fast” errors. IRC networks throttle aggressive bots. The adapter has a built-in 500ms minimum delay between sends, but you may need to increase it for busy channels. Set configurations.channels.irc.send_delay_ms: 1000 in config.