A lightweight IRC bot/dictionary, easy to set up, easy to localize.
Version: 1.76A lightweight IRC bot/dictionary, easy to set up, easy to localize.
License: BSD License
Operating System: Linux
1) Edit the configuration file in config/config.tux.dist, change all values to suit your needs and then rename it to config.tux. Take your time to read through it, there are quite a few aspects you can alter
2) Create a new MySQL database with the name you set for 'db_base' in the configuration file
3) Create a new MySQL user and grant it all privileges to the database you just created.
4) Create the tables required by the bot entering the following command
mysql -u db_user -p db_base < tux.sql
5) edit config/hosts.dist, add your hostmask to the file, save and then rename it to hosts
6) Now you should be all set up, go to the directory where the main program is and try to run it by entering
With a little luck, you will be connected to server and choose the channel.
If you also want the bot to announce Freshmeat news and give information about kernel releases if asked, read on. If not, you're finished.
Setting up the external scripts
Tuxaator relies on external scripts to gather various information of interest from the Net. The scripts are not called from the bot, but are to be run separately, for example from the crontab.
Right now I have implemented 2 sample scripts:
kernel.sh - retrieves information about the latest kernels
fetchfm.sh - retrieves latest news from FreshMeat
Both scripts are located in the "scripts" directory of the installation and have to be configured separately, it is pretty straightforward though, just open them in your favourite text editor and follow the instructions.
Refer to "man 5 crontab" for information on how to setup the cronjobs.
My configuration looks like this:
1,31 * * * * /home/duke/tuxaator/scripts/fetchfm.sh > /dev/null
55 * * * * /home/duke/tuxaator/scripts/kernel.sh > /dev/null
This is, freshmeat news are retrieved 1 and 31 minutes after hour, and kernel news 55 minutes after hour. I found this configuration to be sufficient.