We use jabber for much of the same, find it quite strange that xmpp is not more widely used than it is, but can see that changing soon
Writing a bot for XMPP isn't a simple matter of sending a few plain text commands. It's an absolute nightmare. It's so verbose and overcomplicated it's just not funny any more.
(I'm currently working on XMPP support in Mibbit, and writing the protocol lib myself so the pain is still raw).
* Send out some xml spam to "create a stream"
* Receive a stream reply, with feature sets.
* Send out starttls
* Get a reply back
* Switch to secure mode
* Send out some xml spam to "create a stream" inside the first stream
* Receive reply back, check supported auth modes
* Send out auth
* Receive reply back
* Send out some *MORE* xml spam to "create a stream" inside the first 2
* Receive reply back, with features
* Bind
* Create session
THEN you can do something useful. Most of the verboseness is idiotic XML:eg <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
Those xmlns's are everywhere, and are stupidly verbose.
You can write IRC commands by hand into telnet. But typing in xml is just not feasable since it's so stupidly verbose.
irc works great as a chat protocol, xmpp is more viable as a generic messaging protocol