Blackhole
This bot will connect to an IRC channel and a Jabber MUC, and relay everything back and forth, serving as a gateway., (*1)
Prerequisites
It is assumed that you have composer already installed. In order to run this as a service, systemd is required. This was built with Debian 8 in mind. I'm a Debian user, and rarely get onto other distos. If you'd like to further develop the installer, please create a PR and I'll be happy to include it =), (*2)
Quick install
The best way to install this project is with composer. In fact, it's the only supported method. IF you chose to grab the deps and install everything by hand, more power to you. I will not help you with this if you run into problems., (*3)
- Clone this repo
- run
composer install
- run
make
- run
sudo make install
- edit
/etc/blackhole-bot/blackhole.yml to suit your needs. It is recommended that you create a user for the bot to run as.
You can grab the user's uid with id -u <username> and the gid with id -g <username>
-
service blackhole-bot <start|stop|status> to control the bot after configuration.
Make Targets
-
make - Builds the bot
-
make install - Installs the bot and installs the systemd service file
-
make uninstall - Uninstalls the bot
-
make clean - Cleans the working directory
Development
Development can be done inside the vagrant vm...
1. run vagrant up
2. run vagrant ssh, (*4)
For testing purposes you can run the bot with ./bin/bot. Make sure to copy config/blackhole.yml.sample to config/blackhole.yml and you're good to go., (*5)
- For CLI options, run
./bin/bot -h
Contributing
Anyone is welcome to contribute to the project. Make a fork, make some changes, and create a pull-request to contribute. Please let it be known, I wont accept
any pull requests with code that doesn't follow PSR/2, or anything that looks to be a mess., (*6)
Considerations
This bot is a side project. I will try to maintain it, but I make no promises. If you like it, contribute to it =), (*7)
Known issues
- The XMPP library is bullshit. It desperately needs a replacement.