Slack and ERC.
UPDATE: no longer useful, Slack disabled the IRC gateway: https://web.archive.org/web/20180324070514/https://it.slashdot.org/story/18/03/08/2049255/slack-is-shutting-down-its-irc-gateway
To setup Slack (https://www.slack.com) + ERC (an emacs irc client - see http://www.emacswiki.org/emacs/ERC ) you should first enable IRC support for Slack under https://my.slack.com/admin/settings#gateways (you will need to have admin access in Slack for this), then find your authentication information under https://my.slack.com/account/gateways, and finally setup emacs using something similar to:
(require 'tls)
(require 'erc)
(require 'erc-log)
(setq erc-enable-logging t)
(setq erc-log-channels-directory "~/erc-logs")
(setq erc-save-buffer-on-part nil erc-save-queries-on-quit nil erc-log-write-after-send t erc-log-write-after-insert t)
(defun start-irc ()
"Connect to IRC."
(interactive)
(erc-tls :server "YOURNAMEHERE.irc.slack.com" :port 6697
:password "YOURNAMEHERE.SOMEPASSWORDHERE"
:nick "igorhvr" :full-name "igorhvr")
(setq erc-autojoin-channels-alist '(
("YOURNAMEHERE.irc.slack.com" "#general"))))