I tried out LeafChat 2 this morning. It’s an IRC client that happens to be written in Java.
It’s actually very well done, although command shortcuts are missing; you can write some of them yourself, but the scripting API is still slightly too limited to make this worthwhile.
It has a number of customizations; thank goodness for that, because some of the defaults are annoying. (Namely: when you’re in another app, a public message from someone who’s been idle for a while opens up a system notification. Yes, you can turn this off.)
The scripting API, though, is the killer. It’s in a Java-ish language, which is really quite convenient and easy; I wrote a script as a command shortcut within about two minutes of starting the program.
However… when you create a script, you give it a name (duh) and a set of parameters, of type int or String. No problem so far – until you realize that you only get five parameters.
Ouch.
Here’s why that hurts: suppose you wanted to create an “/m” command, as a shortcut for /msg. I’m verbose, if you can’t tell; when I privmsg someone, I try to keep the number of messages down, so I might type something like this:
/m yournick So, dude, the way to get the notifications working without Spring can be found at http://www.gigaspaces.com/wiki/display/XAP71/Notify+Container, check out the tabs for “Code” instead of XML. I’ve used it for testing; it’s pretty convenient.
There are slightly more than five words there.
Since this is basic functionality for me on IRC, LeafChat2 – while impressive – is out.

{ 1 comment… read it below or add one }
Uh, sure, there are five variables there, but the last variable you enter encompasses all following ‘words’. Quick example:
You enter 3 variables, ‘yournick’, ‘yournick2′ and ‘msg’ .
When you type ‘/m FRED GEORGE Hi, how are you?’ it is given to the variables as such:
yournick = “FRED”
yournick2 = “GEORGE”
msg = “Hi Fred, how … etc ”
This is explained in the LeafChat scripting help in more detail.