There's much ado about Slack shutting down their IRC gateway. Personally I didn't even know it existed. Had I known, I would've used it.
As you might know, the desktop Slack app is built using Electron. With Electron you can build desktop apps using web technologies. This also means that they run on their own instance of Chromium, the open-source base of Google Chrome. Unfortunately this takes quite a bite out of your precious memory supply. On my Mac, with two teams in my Slack, I quickly hit 1,5GB after clicking around a bit, which is… quite a lot for what is in essence a group chat app.
Enter WeeChat. In its core, this questionable(?) sounding chat app is a highly extensible open-source command-line IRC client. There's a plugin for Slack, and it uses their WebSocket API instead of their IRC gateway. If you mainly use Slack for communicating, and are not too dependent on Slack apps, this thing should suit your needs perfectly. As a bonus: it only uses around 30-40MB of memory.
The basics are there. You can join and chat in channels and with users, and you can edit your messages (with a
s/perl/substitution/!). Obviously you can't view inline images, but for everything a link is shown. Embeds get a decent text-based preview as well. That feels very Slack-like. You can run Slack
/custom commands but YMMV!
If you get mentioned or DM'ed, you get the standard Terminal alerts (red dot + sound + bounce if you configure it like that).
brew install weechat --with-perl --with-python --with-lua pip install websocket-client curl -L https://raw.github.com/wee-slack/wee-slack/master/wee_slack.py > ~/.weechat/python/autoload/wee_slack.py
Adding your Slack teams is explained in the wee-slack guide, but it goes like this in the weechat interface:
/slack register # a web browser is opened to login trough OAuth /slack register <paste token here> /python reload slack /save
By default you use the hotkeys, but WeeChat has built-in mouse support. I recommend enabling it:
/set weechat.look.mouse on
Terminal lets you cmd-click links out-of the box, but after enabling mouse support, this becomes fn+cmd.
Enable emoji support:
curl -L https://raw.github.com/weechat/scripts/master/lua/emoji.lua > ~/.weechat/lua/autoload/emoji.lua
For sending emoji yourself, I recommend Rocket.
If you want multiline support:
curl -L https://raw.github.com/weechat/scripts/master/perl/multiline.pl > ~/.weechat/perl/autoload/multiline.pl
Not really a plugin, but interesting is Glowing Bear. It's a web app that can connect to WeeChat's relay gateway (which you have to enable first) over localhost. Just don't make an Electron app out of this…
On Linux you should be able to install everything through your default package manager.
On Windows I recommend Ubuntu for Windows. A colleague of mine got everything working. Just make sure you add the package sources of WeeChat so you get the latest version instead of the ancient version 1.4.