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"))))

Created: 2021-04-21 Wed 20:33

Emacs 25.2.2 (Org mode 8.2.10)