Not a single mention of Quassel in the article or in the comments, which is honestly surprising. It's a client-server architecture IRC client specifically made to make it easy to save logs and persist IRC sessions, since you can host the server part on an actual server/VPS and connect to it from all of your different devices.
Weechat can also be used in a client/server architecture. It can run headless and expose a relay protocol (full weechat control and state) and/or an irc server (traditional bouncer).
Though, ironically, there are no CLI clients for its relay protocol, only for desktop/web/android.