Recs.
Updated
WeeChat is a fast, light and extensible chat client. It runs on many platforms, is modular, can support other protocols, is scriptable in 6 languages, fully-documented both in and out of the program, and actively developed.
SpecsUpdate
Pros
Pro Active and helpful community support
Weechat community can be found on #weechat @ Freenode. The community, including devs, is helpful in answering any WeeChat related questions.
Pro Intuitive, detail-oriented interface
By default WeeChat has a chat area surrounded by a nicklist on the right, title bar on top, and status and input bars at the bottom. The layout, though, can be completely customized and split vertically or horizontally. It supports 256 colors as long as the terminal supports 256 colors as well as bolded, italicized and underlined text. Even includes little touches as differently colored nicknames for people /away.
Pro Huge library of scripts
WeeChat scripts repository has hundreds of scripts including url shorteners, music player integrations and bandwidth monitors.
Cons
Con Scripting API allows poorly written scripts to be used as attack vectors
Plugin documentation includes the following warning:
In many functions, for speed reasons, WeeChat does not check if your pointer is correct or not. It’s your job to check you’re giving a valid pointer, otherwise you may see a nice crash report ;)