IrackBot acts as a bridge across Slack and IRC channels, allowing message filtering while keeping all communication public in the spirit of FOSS communication.
Another IRC-Slack bot?
- A lot of your conversations are drowned and lost inbetween messages from other users discussing other issues
- It's hard to keep track of what you've discussed and keep a log of messages received.
- Proxy issues with IRC resulting in instant ban from IRC servers when you haven't done s**t (pretty common)
You could be working on a project / involved with this community and you end up facing all these problems. So being the wannabe developer that you are, you end up building something that solves all of these problems.
Uhh, so what's different?
This bot relays messages from Slack to IRC and vice-versa.
Well, that's not new.
You can mention users on the other platform (from Slack to IRC and vice versa) by just pinging them with their original username.
Ehh nothing new
You can get a list of all the users on the other platform with just a single command.
Ok not bad..
You can configure your bot, with a single ping command, to filter all incoming IRC communication and include only those messages where any one of your members on the Slack channel have been mentioned. Meanwhile, all your communication from Slack is still relayed to IRC and everyone can see what you're discussing and reach out to you anytime.
*That's just what I need!*
Some regular chat
A few features
- Create a Slack Bot for your team channel through the official slack website by going here and clicking on creating a new bot user.
- Generate and copy the Authentication Token you get. Now, create a file called local_token.txt(already included in .gitignore) in the root folder and paste this token there for future reference.
- Once you have created the bot, it should be visible on your Slack Team. Invite it to the channel you are going to use it on.
- Clone this repository, go to
/src/main/resourcesand rename the
config.properties. Enter all the configuration details following the template given. Make sure all your details are correct else you'll have an exception thrown later on.
- Go back to the project root directory and open up your terminal pointing to that directory
Build and Run
mvn clean install cd target java -jar irackbot-1.0.jar
heroku login mvn clean install && heroku local #Optional, to test locally heroku create git add -A git commit -m"Added Token for Config" git push heroku master heroku ps:scale worker=1
docker build -t irackbot #sudo docker run irackbot #sudo
Modes: What makes this bot different is you can tell it to receive either all messages from IRC (Mode 1) or only those where your channel members are mentioned (Mode 2)
For the examples, I'm assuming my bot is named irackbot itself on both channels. Needless to say, you have the choice to keep whatever name suits you through the config file.
- Get users on Slack From IRC:
- Get users on IRC From Slack:
- Ping bot on Slack/IRC:
- Change mode on Slack:
- Ping users from IRC to Slack or vice versa:
@slack/ircusername[Space *important*], message
Pull requests and Issues are welcome. Please do supplement them with enough information so as to get a clear idea about the same. Also, please do Star this repository if you liked irackbot !