AdiumX Console Trash

I’m very sick of the INFO cmdproc.c:98:show_debug_cmd() rubbish that the latest Adium release is spewing into my Console Log twice a minute.

I’m finding I’d rather leave IM off, than see it traced across my desktop.

(I use MkConsole to keep an eye on things).

Update: it looks like 1.3.2b1 fixes this. Yay!

Hosted Gmail and Gtalk

There exists a small bug in Adium, which apparently has been fixed in an upcoming version, which means that hosted Gmail accounts cannot sign in as GTalk accounts. To fix it, I needed to create a new Jabber account, with the following settings: Account. Jabber ID: Password: •••••••••••••••• Options. Connect Server: Resource: Adium Port: 5223 ☑ Force old-style SSL Then it connected fine, first time.

Reconnect all Adium Accounts.

Just a little quickie: sometimes Adium loses connections. This script will reconnect any disconnected accounts.

1     tell application "Adium"
2         repeat with acc in accounts
3             connect acc
4         end repeat
5     end tell

Using /commands in Adium

I had a thought as to why it might not be a good idea to use /commands, instead of %_commands in Adium. If the text you type is part of a URL, then it will be replaced by the substituted text. For instance, would be replaced by http:/♫ The Chemical Brothers (Feat. The Flaming Lips) • The Golden, which is probably not desired behaviour. I’m not sure if this is a big enough deal for me to stop using them. I did also note that an afp:// had a smiley inserted into it instead… Update: You can add the following to the Info.plist:

1                 <key>Prefix Only</key>
2                 <true/>

Where the keyword appears. This will mean that the tag must be at the start of a ‘word’ for it work. Thanks, Reikon!

Adium Multi Chat

I had to fix a couple of things in my Adium Scripts tonight: I figured out that if you are a chat with more than one person (like in a Jabber ‘room’), and you use serviceClass of contact of the active chat of the first interface controller you will get a list of items, not just one. Actually, you always get a list, just usually it’s only one item long. So, to test if the chat serviceClass is in a set that can handle HTML in chats, you need to use first item of serviceClass... instead of just serviceClass... Note that this returns correct values, wheras serviceClass of chat 1 (where it is a group chat) will return an empty string. Bad coding, Adium. Anyway, I’ve fixed /who to work with multi-person chats, too.

Phase One of iTunes Chat Client

I’ve started phase one of the iTunes controller bot: I’m downloading the jabber server for MacOS X. ` $ sudo port install jabberd ` Phase Two will soon be underway: I’ve also downloaded the source of a Python bot… more to come soon! Actually, getting the jabber server to work wasn’t as easy as it should have been: I’m using a private jabber account on a server only I know about, but I’ll post more stuff as I get it working. Python looks to be an easy way of getting the bot to work: it would be nice to be able to do it all in AppleScript though. I can’t believe I just said that!

Who Else Am I Chatting To?

Not that this has ever come up, but there is an AppleScript out there somewhere that allows you to type %_who into Adium, and it returns a list of people you are chatting to.

Naturally, it was sub-standard, and I have improved it.

Features mine has:<ul> <li>Don’t display the name of the person who you say this to</li> <li>Display “I’m not chatting to anyone else.” if you aren’t</li> <li>If the person you are chatting to can handle HTML in chat (Jabber, AIM), then list display names of the people you are chatting to, with each person a clickable link that will open a chat with that person</li> <li>Otherwise, display a list of people you are chatting to, with the type of chat listed after each name</li> </ul>

I’ve included the old one if anyone was interested: you can get it by typing %_who. Mine uses /who, and you can download it from Adium Xtras.

Chatting to Robots?

I had a thought just before. (Unusual, I know). I wrote a program called iTunesRater so I can rate my music as I listen to it in iTunes, and then went on to write a series of Adium Scripts to control iTunes ratings, and get data from iTunes.

What if instead of having to create scripts for iTunes that did everything you want, you just create a bot that runs, and you send messages to it, and it controls iTunes. So, I could have the program running, and instead of having to type: /itunes

_♫ The Chemical Brothers (Feat. The Flaming Lips) • The Golden Path _

/rate{44} /itunes

♫ The Chemical Brothers (Feat. The Flaming Lips) • The Golden Path ★★

I could just start up a chat with iTunes, and type all sorts of commands:

me: song

it: ♫ The Chemical Brothers (Feat. The Flaming Lips) • The Golden Path

me: rate 44

it: ♫ The Chemical Brothers (Feat. The Flaming Lips) • The Golden Path ★★

me: next track

[iTunes next track plays]

All it would seem to require is a program that can connect to a server of some sort (I think maybe Jabber, then I can run my own Jabber server!), and sends AppleScript messages to iTunes. Or any other application, for that matter.

HTML over various IM systems.

I started out using AIM via .Mac, as that is the default (only?) system for iChat. When I downloaded Adium, I discovered that you can have HTML in your chats. I don’t know (care?) how other clients handle that: but I did find out something just now. Apparently MSN and Yahoo IM don’t handle HTML in messages too well. Jabber (via Google Talk) does this just fine. I may have to code into the /itunes script a check for what account type, and only HTMLify those connections which can handle it.

Google Talk

In case you haven’t heard, Google has ‘released’ their IM system - it’s just a Jabber server, though. There are a couple of review around, and I haven’t read all of them in that much detail. It requires a Gmail account: I have plenty of invites if you want one, just email me. The settings you need are (I use Adium, your client’s names may vary): Account Type: Jabber Jabber ID: Password: •••••••• Connect Server: Port: 5222 Security: Use TLS Encryption (if possible) - I couldn’t get a connection without this, some have said opposite. Others have said that any person with whom you have shared Gmail will be automatically added to your buddy list. I haven’t had anyone added to mine, but then I don’t really Gmail many people. I’ve also created accounts with the other IM players, you can find them under the Contact page.