All Projects → bholagabbar → Irackbot

bholagabbar / Irackbot

Bridge between Slack and IRC channels allowing message filtering and logging while keeping communication public

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Irackbot

Phabulous
A Phabricator bot for Slack
Stars: ✭ 222 (+788%)
Mutual labels:  bot, slack, irc
Marvin
The paranoid bot (framework)
Stars: ✭ 51 (+104%)
Mutual labels:  bot, slack, irc
Awesome Bots
Awesome Links about bots.
Stars: ✭ 412 (+1548%)
Mutual labels:  bot, slack
Joe
A general-purpose bot library inspired by Hubot but written in Go. 🤖
Stars: ✭ 417 (+1568%)
Mutual labels:  bot, slack
Hedwig
An Adapter-based Bot Framework for Elixir Applications
Stars: ✭ 609 (+2336%)
Mutual labels:  bot, slack
Bottender
⚡️ A framework for building conversational user interfaces.
Stars: ✭ 3,803 (+15112%)
Mutual labels:  bot, slack
Pokemongo Bot
The Pokemon Go Bot, baking with community.
Stars: ✭ 3,730 (+14820%)
Mutual labels:  bot, slack
Elixir Slack
Slack real time messaging and web API client in Elixir
Stars: ✭ 587 (+2248%)
Mutual labels:  bot, slack
Eggdrop
The Eggdrop IRC Bot
Stars: ✭ 314 (+1156%)
Mutual labels:  bot, irc
Notify
A dead simple Go library for sending notifications to various messaging services.
Stars: ✭ 727 (+2808%)
Mutual labels:  bot, slack
Integrations
Connect your App to Multiple Messaging Channels with the W3C Open standard.
Stars: ✭ 721 (+2784%)
Mutual labels:  bot, slack
Auto Like My Gf Insta Pic
Bot to automatically like your friend's Instagram post and notify you on Slack
Stars: ✭ 773 (+2992%)
Mutual labels:  bot, slack
Whatis
Whatis bot server for Slack!
Stars: ✭ 22 (-12%)
Mutual labels:  bot, slack
Intelligo
🤖 Chatbot Framework for Node.js.
Stars: ✭ 347 (+1288%)
Mutual labels:  bot, slack
Matterbridge
bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)
Stars: ✭ 4,452 (+17708%)
Mutual labels:  slack, irc
Slack Meme
A Meme Bot for Slack.
Stars: ✭ 322 (+1188%)
Mutual labels:  bot, slack
Slacker
Slack Bot Framework
Stars: ✭ 495 (+1880%)
Mutual labels:  bot, slack
Euircbot
A featureful nodejs irc bot
Stars: ✭ 16 (-36%)
Mutual labels:  bot, irc
st2chatops
Packaging environment for building StackStorm chatops native packages
Stars: ✭ 26 (+4%)
Mutual labels:  slack, irc
Yetibot
🤖 Extreme chatops bot for Slack and IRC 🔧 New contributors welcome 🏗
Stars: ✭ 311 (+1144%)
Mutual labels:  slack, irc

irackbot

IrackBot acts as a bridge across Slack and IRC channels, allowing message filtering while keeping all communication public in the spirit of FOSS communication.

irackbot is now officially recognised by the Slack API Community! See it listed as the 4th entry on https://api.slack.com/community#java

Another IRC-Slack bot?

A lot of Open Source communities rely on IRC for their communication. IRC's great but let's face it, it doesn't really compare that well to modern team messaging clients like Slack.

  • 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

Some regular chat

A few features

image

Running

Requirements: You need to have Java and Maven installed and configured.

Setup

  1. Create a Slack Bot for your team channel through the official slack website by going here and clicking on creating a new bot user.
  2. 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.
  3. 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.
  4. Clone this repository, go to /src/main/resources and rename the config-test.properties file to 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.
  5. Go back to the project root directory and open up your terminal pointing to that directory

Build and Run

  • Standard
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

Usage

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: @irackbot slack_users
  • Get users on IRC From Slack: @irackbot irc_users
  • Ping bot on Slack/IRC: @irackbot ping
  • Change mode on Slack: @irackbot change_mode
  • Ping users from IRC to Slack or vice versa: @slack/ircusername[Space *important*], message

Credits

This bot was built using the pircbot library by Jibble and the simple-slack-api by Ullink. Kudos to them for building these useful tools so effectively with an easy to use API.

Contributions

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 !

License

The MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].