Bitlbee supports libpurple (Pidgin) plugins. That's how I message over Telegram with sic (tiny IRC client) against Bitlbee to people using smartphones around.
OK, but iMessage isn’t Telegram. There are Matrix bridges that support iMessage to varying degrees of success/features, but I’m not sure if the Matrix feature via libpurple would support whatever bridges you have configured inside Matrix. It seems like a lot of additional work/hypotheticals for something that is just a fun proof of concept.
Yep. This looks a bit clunky. Any old/rusty irc client (even the ones for DOS and a 286) will connect to public bitlbee servers, where you have several. By typing up 'plugins' at its &bitlbee channel (not a typo), you will get the supported chat protocols on that server.
As for the irc client, use any.