irc-slack
is an IRC-to-Slack gateway. Run it locally, and it will spawn an IRC
server that will let you use your Slack teams via IRC.
(That guy is me)
Slack has ended support for IRC and XMPP gateway on the 15th of May 2018. So what's left to do for people like me, who want to still be able to log in via IRC? Either you use wee-slack (but I don't use WeeChat), or you implement your own stuff.
The code quality is currently at the works-for-me
level, but it's improving steadily.
NOTE: after Slack turned down their IRC gateway I got a lot of contacts from users of irc-slack asking me to fix and improve it. I didn't expect people to actually use it, but thanks to your feedback I'm now actively developing it again :-) Please keep reporting bugs and sending PRs!
go get ./... # download the dependencies, currently just github.com/nlopes/slack
go build
./irc-slack # by default on port 6666
Then configure your IRC client to connect to localhost:6666 and use a Slack legacy token as password. Get you Slack legacy token at https://api.slack.com/custom-integrations/legacy-tokens .
/network add SlackYourTeamName
/server add -auto SlackYourTeamName localhost 6666 xoxp-<your-slack-token>
/server add yourteam.slack.com localhost/6666
/set irc.server.yourteam.slack.com.password xoxp-<your-slack-token>
There are a few options that you can pass to the server, e.g. to change the listener port, or the server name:
$ ./irc-slack -h
Usage of ./irc-slack:
-H string
IP address to listen on (default "127.0.0.1")
-p int
Local port to listen on (default 6666)
-s string
IRC server name (i.e. the host name to send to clients)
A lot of things. Want to help? Grep "TODO", "FIXME" and "XXX" in the code and send me a PR :)
This currently "works for me", but I published it in the hope that someone would use it so we can find and fix bugs.
Plenty of them. I wrote this project while on a plane (like many other projects of mine) so this is hack-level quality - no proper design, no RFC compliance, no testing. I just fired up an IRC client until I could reasonably chat on a few Slack teams. Please report all the bugs you find on the Github issue tracker, or privately to me.
Find my contacts on https://insomniac.slackware.it .
Special thanks to
- Stefan Stasik for helping me find, fix and troubleshoot a zillion of bugs :)
- Mauro Codella for patiently reading and replying for two hours in a private conversation that I used to test the fix at pull/23 :D