I’ve been working on IRC client libraries over the past couple of months. There are two:
- loirc handles message parsing, text encodings and connection monitoring (SSL eventually).
- hiirc is built on top of loirc and offers a featureful API that does things like maintaining the list of channels and users in those channels, automatic ping replies and automatic identification (on reconnection).
If you hate the API of hiirc, it’s absolutely possible to not use it and build something you prefer on top of loirc. I’m also looking for feedback on the APIs in general, I tried to provide a simple API that is still fully reliable. It’s also quite possible that some features you need are missing, issues and pull requests are welcome. Both crates are available on crates.io.