Wednesday, May 9, 2012

Case Study: EucaSchool Part 4 - MeetBot

In my last post I detailed how to set up your own IRCd with Pam authentication and SSL.  In this post we'll discuss how to add a meeting log IRC bot based on debian's meetbot, which is a module for supybot.  Eucalyptus uses this extensively for all irc meetings as well as to log the irc session for EucaSchool.  Our specific bot's documentation is here.


First let me point you to Alton Ukshini's blog, who has detailed much of what I used to put this article together.  I offer much thanks to him and ask you to please check his blog out.

To start let's set the grounds for installing supybot.  You can name it what you like (ours is Eucabot, as stated before) but supy/meetbot will require an account on your server to run from.  Change to user ircbot after you've installed supybot via apt-get.
apt-get install supybot
su - ircbot
mkdir supybot
cd supybot
From here, we want to run supybot-wizard:

supybot-wizard

Once your setup is done, you'll have a config file to source when you call the supybot program.

supybot configurationfile.conf

Let's get meetbot added.  As the ircbot user grab the tarball from here and unzip it into the /supybot/plugins directory.

wget https://launchpad.net/meetbot/0.1.4/0.1.4/+download/meetbot-0.1.4.tgz
tar -xzvf meetbot-0.1.4.tgz
mv meetbot ~/supybot/plugins/

If you're running your supybot already, you can load this module by issuing the command in channel on IRC as such:

Supybot: load MeetBot

Otherwise fire up your supybot and it should attach to the IRC channel/server as configured and be ready to go.  You can read commands and more information about meetbot here.  If you want your logs published to a website, edit the meeting.py file under the meetbot folder and change the logFileDir variable to point to your apache document root such as /var/www/meeting_logs and configure logUrlPrefix to match the domain/subdomain of the url you wish to use such as http://www.meet.me/lessons/ or whatever fits your setup.  Otherwise, your logs will automatically publish to the supybot home directory for you to export or use later.

With the previous posts and this one, you are now ready to offer an irc session using meetbot on your own irc server and a screen session to demonstrate your commands/scripts in.  In the next post I will demonstrate how to log your screen session using shelr for screencasting from a shell prompt.  Later on, I will demonstrate how to add all of these components together to launch in an AWS/Eucalyptus instance on demand.