IRC Slack Bot
We built this bot to echo conversations from #rdio on Freenode to a Slack chat.
It's designed so that it can be easily configured to work with your own IRC channel / Slack instance combo.
- Make sure you're running node 0.10.26. Other versions might work, but are untested.
- Fork the repo and run
- Create a new Incoming Web Hook on Slack (https://your.slack.com/services/new/incoming-webhook)
- Create a new Outgoing Web Hook on Slack and grab the token from it.
- Open the config file and update the parameters. Mostly, you need to make sure that the Outgoing Web Hook points at the server that gets set up in
- Update the Outgoing Web Hook with your server info and trigger words. (We use
- Find a server to run it on, and
Note that the user map listens for IRC mentions with an optional @ character, and automatically wraps the Slack username in <@username> so that Slack sends notifications appropriately.
IRCBot listens for commands based on your trigger words. At Rdio, we use
! as triggers, so we can use
ircbot say hello and
!say hello interchangeably.
The bot will strip the
: character from slack commands, so
ircbot: say hello will also work properly.
In order for Slack commands to work, you must make sure that the Outgoing
Web Hook and the web server in
lib/slack.js are set up correctly.
Currently supported Slack commands:
ping-- bot responds with
show-- lists Slack <-> IRC handle mappings.
say-- tell the bot to say things in IRC on your behalf
link-- link an IRC handle to a Slack handle Usage:
link [ircName]links your slack handle to an irc handle.
link [slackName] [ircName]links [slackName] to [ircName].
unlink-- unlink an IRC handle from a Slack handle Usage:
unlinkunlinks all irc names associated with your Slack handle
unlink [ircName]unlinks your slack handle from [ircName]
unlink [slackName] [ircName]unlinks [slackName] from [ircName]
Currently supported IRC commands:
ping(and a few variations) -- bot responds with