15 Dec 2021
Ergo is the only major IRC server implementation to natively offer “multiclient” functionality, where multiple client connections can share the same nickname and presence on the server. A potentially surprising use of this feature is that it can be used to “stack” bots: two separate IRC bot implementations, neither of which is aware of the other, can be combined into one as though they were a single modular bot. For example, right now on the official irc.ergo.chat network, the ErgoBot
nickname is actually controlled by two separate bots: one slingamn/titlebot, which titles links, and one slingamn/ghbot, which announces events from GitHub.
This has advantages relative to a conventional modular bot framework:
but also disadvantages:
PRIVMSG
and only emit NOTICE
.)If you have multiple bots and it seems like they won’t conflict, try consolidating them! As usual with Ergo, you just need to configure them to use the exact same nickname, SASL account name, and SASL password. (If a bot doesn’t support SASL, in a typical Ergo configuration you can authenticate it using PASS
(server password) instead. For example, if the SASL account name is pybot
and the SASL password is hunter2
, you send pybot:hunter2
as the server password.)