Image of the glider from the Game of Life by John Conway
Skip to content

Twitter and Identica support with Bitlbee

I just discovered this today, and anything that makes my Irssi and Bitlbee experience better is always worth a blog post.

First off, before beginning, make sure you have the latest version of Bitlbee. The options I'll be going through in this tutorial require version 1.2.8 or later. If you don't have at least this version, this tutorial might not work for you completely. Twitter support was added in 1.2.6, but getting it to work with Identica might not work. I'll outline both Twitter and Identica, as they have different setup requirements.

Twitter support
Twitter no longer supports the username/password combination to authenticate your client with the service. Instead, they use OAuth for the authentication. Bitlbee supports Twitter's OAuth. So, when asked to provide a password with the account, just give something totally bogus. Your password won't actually be used. So, in your Bitlbee root window, type the following, replacing "username" with your actual Twitter account username. Also, make sure to replace the account number with the appropriate number from "account list". I'll assume it's "1".

account add twitter username bogus_password
account list
account set 1/mode chat
account 1 on

Notice, I set the mode to "chat". This makes the Twitter account behave like a standard multi-user chat room. As a result, Bitlbee will create a new room in your IRC client, and add all account that you are following to that room. The great thing with this, is you have full nickname tab completion if your IRC client supports tab-completing nicks. No need to use Twirssi,, or other services/plugins if you're already using Bitlbee. Personally, I dig it. However, the mode also supports "one", meaning you have a nickname that you must interface with to send all tweets through (like an IM bot) or "many", in which every account you follow will have its own "buddy" in your buddy list, that you could send messages to directly. Personally, I like chat best. Play with whatever works for you.

Identica support
I'm told that the BZR branch of Bitlbee (current stable version is 1.2.8, development 1.3) supports Identica natively. However, I only have 1.2.8 installed, so we get to hack up a solution (a rather elegant one at that). The developers pride themselves in keeping the API 100% backwards compatible with the Twitter API. This means that even though Bitlbee doesn't have native Identica support, it does support it indirectly through the Twitter API. So, we'll make a slight change, and we'll be good to go.

A couple notes on this method that is worth mentioning. Identica doesn't support OAuth. As such, you do need to setup your actual username and password. Unfortunately, this is sent over the Internet in PLAIN TEXT. If you're at all concerned about the security of your Identica account, I would recommend interfacing with the Jabber bot, as it uses SSL for its connection, and your username and password are actually never sent. However, with the Jabber bot, you don't have nickname account tab completion, and you do if you setup Identica the same way we just setup Twitter.

So, weigh out your options. Personally, with me, I prefer using the Jabber bot and using to do some light text munging fore me to make it rather slick. Not only for the SSL support, but also because I really like the "reply #[message_id]" feature of the Jabber bot, and you lose the ability to send a reply to a specific message with this method.

With that said, let's see how to set it up. In your main Bitlbee root window (remember, you must use your Identica username and actual password here as OAuth isn't supported), type:

account add twitter username password
account list
account set 2/mode chat
account set 2/oauth false
account set 2/base_url
account on 2

I assumed that setting up Twitter was account "1", so I'm assuming setting up Identica will be account "2". Replace as needed for your instance. Also, notice that we also set the mode to chat, just like we did with Twitter. However, we changed the OAuth mode to false, because Identica doesn't support it, and we changed the "base_url" to "". This is needed, so you're not sending your messages to Twitter, obviously.

With both Twitter and Identica (or either one), you should have chat windows where you can interface with the service directly using the API. The great thing here is full nickname account tab completion, and the chat window looks great, because it's using your IRC native theme and controls, rather than setting up some weird theme (I'm looking at you Twirssi).

If Bitlbee is running in Irssi, as is the case for me (just search for Irssi on my blog :)), then this make Irssi a full-blows messaging suite with some pretty extensive scripts that make your IM/IRC/microblogging very versatile, flexible and complete. For me this takes Irssi + Bitlbee to a whole new level. World domination is nearly complete with messaging. Jabber, Facebook (which is really Jabber), Twitter, Identica, IRC all in a single client.

Yeah. I'm happy.

{ 1 } Comments