Twitter for Colloquy

Date: 28.Jan 2007 | Reading Time: 4 minutes, 47 seconds

I don’t know if you already know this service called Twitter. It can be described as a IM independent status message, so you can notify people of your current doings if you like.

Coda Hale created a Quicksilver action to post conveniently to Twitter. Ted Leung thought it would be nice to have Growl notifications in the mix and Matt Matteson thought it needed a bit more sparkle by adding iChat support. Well, now I add two more options to the mix.

First I created a modified version of Mattesons’ script to work with Colloquy — my favourite IRC chat client (Which I also use for IQC, MSN, Jabber and IRC via the help of BitlBee). This worked out pretty straightforward and nice — and can be downloaded here (for setup instructions go to Coda Hale’s page). But then I thought it is stupid to have to change my status message of my chat client outside my chat client. So I sat down a little while longer and created a Colloquy script that posts to Twitter — including Growl notifications.

This script works like the normal /me commands in IRC but also posts the text behind the /me command to Twitter. Users of Colloquy should know what it does, but for you non-IRC people, /me creates an action message so /me is hungry becomes AlexK (my nickname) is hungry. And on Twitter it says AlexK (my username there) is hungry. It makes perfect sense (to me at least).

How to install

To install it download this file, unpack it and save it as twitter.scpt into your Colloquy plugins folder (~/Library/Application Support/Colloquy/Plugins/twitter.scpt), then restart Colloquy (on some machines a system restart was necessary for unknown reasons).

Then you need to configure it. If you’re not already using Twitterrific, open Keychain Access and add a new password with the following data:

  • Keychain Item Name: http://twitter.com
  • Account Name: Your email address
  • Password: Your Twitter password

If you’re already using Twitterrific, this password will already be in your Keychain. So just sit tight.

Now you can use it with the commands /tweet or /twitter like so /tweet is testing out this cool plugin. It should send and action message to your current chatroom (Nickname is testing out this cool plugin) and also to your Twitter account (Username is testing out this cool plugin). After it succeeded you will get a Growl notification.

On first use you will be asked if it is ok that the script gets access to your Keychain. This is fine and you should allow that. On first usage it might also take a little bit longer, but from then on it should run pretty fast. At least it does so over here.

Caveats

I have one guy who had problems with it running very slow (up to 15 seconds), but over here is runs pretty much realtime. Of course it has to send data over the internet, so that might be a slowdown factor. I guess if you like just try it out.

UPDATE: Jesse Newland linked the slowness to AppleScript needing a lot of time to access the Keychain in some cases. Maybe a bug on Apple’s side? Anyway he suggest to use Rubygems to work around this. Thanks for that workaround, but I am not too hot on installing an extra piece of software just for this. But for all of you out there who have problems with my Colloquy/Twitter script being slow this might be a viable solution.

And as always with this home-brewn scripts, I cannot give any guarantee that it works and I also distance myself from any damage done by it. It works great over here, but I cannot guarantee this for your setup. That is all I can say.

Following are comments from the old blog

Blaine Says:

Nice. It’s very cool to see twitter inching its way into every nook and cranny of the desktop and not.

Any particular reason you didn’t use Bitlbee’s Jabber integration to help you out?


Alexander Kucera Says:

Well, two reasons Blaine.

  • I hardly use Jabber these days

  • When I use the Jabber route I am locked in to using Jabber

Let me explain the second one.

Let’s say I am in an IRC channel. I’d have to switch the room to a Jabber connection to send my message to the twitter user.

With my script I am independent of the room I am in. It just intercepts the command and send it to Twitter. I don’t have to think about sending it to a specific user or anything else. I just type my command and it sends.

Very easy, very “out of my way”. I like to keep it simple, otherwise I end up not using it.


Rinoa Says:

Found you on digg. Have you considered having your script submitted on the Colloquy website?


Alexander Kucera Says:

Hi Riona,

I wanted it to be tested by a few more people before making it an “official” part of the Colloquy site. But yes, I am definitely thinking about submitting it.


Blaine Says:

That makes sense. I didn’t realize Bitlbee was presented as an independent room in IRC.

Keep up the good work, and let us know ([email protected]) if there’s anything we can do to improve twitter!