One not-so-well-advertised feature of the new iChat 3.0 is that you can see all your Yahoo Messenger and MSN Messenger buddies and talk to them via Yahoo and MSN gateways in Jabber, which is newly supported in iChat. This is nice, since neither Yahoo Messenger nor MSN Messenger are great programs on the Mac, and now I can run only one program (iChat) instead of three. I also get to use some of the advanced video features that multi-chat clients like Adium don't support.
This discussion pretty well covers how to set up the Jabber gateways through the use of a Jabber client like Psi, but one little trick that's not mentioned here that I had to do to get it to work was to authorize the Yahoo gateway after adding it as a service. After doing this, all my Yahoo IM contacts showed up in Psi, and then in iChat when I started that and connected to the same Jabber server.
Now the problem is that all my contacts showed up as something cryptic like john@yahoo.jabber.org.uk, instead of the nice Address-Book-associated way with a picture and "John Doe," so I wrote this AppleScript to go through my Address Book. For any people with "@yahoo" (e.g. joe@yahoo.com) in their email address, it adds an appropriate jabber yahoo gateway address using jabber.org.uk (e.g. joe@yahoo.jabber.org.uk). You should modify the script if you're using a different gateway
Just run the script and wait five to ten minutes (depending on the size of your Address Book). Afterwards you can use the new "Smart Groups" feature in Address Book to create a group that has all people with "yahoo" in their entry, and then drag all these contacts into the jabber window in iChat. I found that not all could be done at once; perhaps from a number limit or some had bad entries. So this is why I didn't have the script automatically add them to the Jabber iChat list. I found some entries needed to be modified. iChat was, however, smart enough to associate old cryptic entries with the Address Book entry and not have duplicates. I found out some new people I never knew had Yahoo IM accounts!
It should be relatively easy to modify the script for MSN accounts and hotmail (if they're the same thing -- I'm not sure since I never use MSN).
Mac OS X Hints
http://hints.macworld.com/article.php?story=20050505025440436