annoirc
An IRC bot for annotating channels
annoirc
is an Internet Relay Chat
bot, make to provide page titles and descriptions when people enter a URL on a channel.
It’s written in fully async Rust, and has served a few small channels successfully for several years (as of late 2022).
It supports connections to multiple IRC servers, making multiple HTTP requests concurrently,
deduplicating and rate-limiting those requests, caching results, and reconfiguring itself
on SIGHUP
.
It’s a bit messy internally, but I learned a lot about working with Tokio in making it, which was the primary goal. It speaks to Rust’s strengths that I was able to implement quite so much in such a fashion and still have the result be reliable and relatively easy to modify.