You don’t need to understand the technical details to use this feature. The configuration examples below are copy-paste ready.
Prerequisites
- Comis installed and running (Quickstart)
- An IRC server to connect to (e.g.,
irc.libera.chat,irc.oftc.net) - (Optional) A registered nickname on the server
IRC has a 512-character message limit per line. Long agent responses are
automatically split across multiple messages with flood protection delays
between them.
Setup
Choose your IRC server
Pick the IRC server you want your bot to join. Popular options:
- Libera.Chat —
irc.libera.chat(port 6697 with TLS) - OFTC —
irc.oftc.net(port 6697 with TLS) - Your own server — use whatever hostname and port it runs on
Configure Comis
Add the IRC channel to your Comis configuration file
(If you registered a nickname, set the password in your
~/.comis/config.yaml):~/.comis/.env file:Restart and verify
Restart the Comis daemon to pick up the new configuration:Check the logs for a successful connection:Look for “IRC adapter started” or “channel-irc activated”.Join the configured channel on your IRC client and send a message
mentioning the bot’s nick (e.g.,
comis-bot hello!) to confirm it
responds.Configuration
These options go underchannels.irc in your config.yaml:
| Option | Type | Default | What it does |
|---|---|---|---|
enabled | boolean | false | Turns on the IRC adapter |
host | string | (required) | IRC server hostname (e.g., irc.libera.chat) |
port | number | 6697 | IRC server port. Use 6697 for TLS, 6667 for plaintext. |
nick | string | (required) | The bot’s nickname on the IRC server |
tls | boolean | true | Use TLS encryption for the connection |
channels | string[] | [] | Channels to auto-join on connect (e.g., ["#my-channel"]) |
nickservPassword | string / SecretRef | (optional) | NickServ password for identifying with a registered nick |
allowFrom | string[] | [] (all) | Restrict to specific IRC nicknames. Empty means all users can talk to the bot. |
What your agent can do
Once connected to IRC, your agent can:- Send and receive messages in channels and direct messages (PRIVMSG)
- Respond when mentioned by nick (for example,
comis-bot what time is it?) - Format with IRC control codes (bold, italic, color, strikethrough)
- Join, leave (
part), and set channel topics via platform actions
Platform limits
| Limit | Value | What Comis does about it |
|---|---|---|
| Message length | 512 characters | Automatically splits every response into multiple lines with a 500 ms flood-protection delay between lines |
| Attachment size | N/A | IRC does not support file attachments. The bot sends text only. |
| Message IDs | None | IRC has no message IDs; Comis returns a synthetic "sent" identifier so reply-to chaining still works. |
Troubleshooting
Connection refused
Connection refused
What happened: The IRC client cannot reach the server at the configured
host and port.How to fix it: Check the
host and port in your config. If using TLS
(the default), make sure the port is the TLS port (usually 6697) and
tls: true is set. For plaintext connections, use port 6667 and set
tls: false. Also verify that your firewall allows outgoing connections on
the configured port.Nick already in use
Nick already in use
What happened: Another user or bot is already using the nickname you
configured.How to fix it: Choose a different
nick in your config, or register
the nickname with NickServ on the server first and then set the
nickservPassword so the bot can reclaim it. Some servers support the
REGAIN command: /msg NickServ REGAIN yournick yourpassword.Bot joins channel but does not respond
Bot joins channel but does not respond
What happened: The bot is connected to the server and present in the
channel, but ignores messages.How to fix it: IRC bots typically respond to messages that mention their
nick or to direct (private) messages. Try addressing the bot by name:
comis-bot hello. Also check the allowFrom setting — if it contains
specific nicks, only those users can trigger the bot.Delivery Infrastructure
How streaming, typing indicators, and retry logic work under the hood.
Multiple users & teams
Run one install for a whole team - private per person, isolated per agent.
All Channels
Compare all 9 supported platforms side by side.
Agent Configuration
Set up your agent’s personality, tools, and behavior.
Secret Management
Learn how to manage API keys and tokens securely.
