Setting up Hipchat with BitlBee

Hipchat is a chat service by Atlassian that provides an XMPP bridge. It's the choice of many businesses, as it supports mission critical features like pasting images and having them show up inline in the chat, and silly meme-like things that happen if you type things like "(awwyeah)". As such, it's only used by people who have no other choice. If you can decide what chat service to use, please get a real XMPP server with real XMPP clients instead.

Since there are several issues with hipchat, this page tries to document workarounds to use it with bitlbee.

JIDs

The jabber IDs of hipchat accounts are in the format 123456_789012@hipchat.com where 123456 is the company-wide account ID and 789012 is your user account ID.

Fix nick display by setting nick_format and nick_source

account hipchat set nick_format %full_name
account hipchat set nick_source full_name

(TODO: maybe only one of these is required)

Groupchats

Groupchats require you to have a "nick" set to your real name (Givenname Surname), otherwise you'll get an error on /join.

Additionally, the channel names are in the format "123456_chat_name" where 123456 is the company-wide account ID.

The best way to get this working is to avoid using the usual "invite" method of joining channels and add the channels manually before you join them.

chat add hipchat 123456_chat_name@conf.hipchat.com #channel_name
chat #channel_name set nick 'Givenname Surname'

Note that you can't rename channels - you have to remove and re-add them.

Highlights/mentions

Do @username instead of "username:". The problem is that we don't know what this "username" is supposed to be, since it's some sort of nick that can be different from the real name.

A client script to automate this would be nice.

Debugging

If you want to figure out something, you can try enabling the XMPP xmlconsole to your contacts