richard4339 edited this page Dec 29, 2012 · 3 revisions
Clone this wiki locally

PipSqueek Requirements

Perl - At least version 5.6.1 (5.8.X Recommended)

(Linux) - http://www.perl.com/pub/a/language/info/software.html
(Windows) - http://www.activestate.com/Products/ActivePerl/

See the included documentation for how to install and test Perl.

Assorted Perl Modules - latest versions available
(* denotes modules installed by default with perl 5.8.0)

  • File::Find *

  • File::Spec::Functions *

  • FindBin *

  • LWP::UserAgent * (not included with FreeBSD)

  • URI::URL *

  • Class::Accessor

  • DBI

  • DBD::SQLite (Windows users, see install help)

  • Math::Units

  • Parse::RecDescent

  • POE

  • URI::Find

  • POE::Component::IRC

  • Date::Parse (bundled with PipSqueek)

  • Lingua::Ispell (Required for Dictionary.pm)

  • XML::RSS (Required for RSSGrabber.pm)

  • Geo::IP::PurePerl (Required for Country.pm)

  • Physics::Unit

  • Schedule::Cron::Events

  • Net::DNS

  • WWW:WolframAlpha

See the section 'Installing Perl Modules' for instructions

Basic Installation

Make sure you have downloaded the latest version of PipSqueek from GitHub.

Check the 'PipSqueek Requirements' section to ensure that you have everything needed to run the bot.

Unpack the archive into the directory you wish to install pipsqueek. The archive will automatically create a subdirectory called 'pipsqueek'

(Linux): tar -zxvf pipsqueek-version.tar.gz
(Windows): right-click the archive and select 'unzip here'

That's it, PipSqueek is now installed, now you have to configure it! See the section 'Basic Configuration'

Basic Configuration

Most configuration items are stored in the file etc/pipsqueek.conf. The few that you'll want to really tweak are in there.

Other plugin configuration options are stored in etc/plugins/*.conf (You may want to edit the NickServ.conf plugin configuration, so that the bot will register it's username when it connects)

The important options to set are 'server_address', 'server_channel', and 'identity_nickname'. The rest are well documented and you should be able to figure them out.

Once you've got the configuration file sorted, the last thing to do is run the bot through the installation of its databases and set the primary username so that you'll be able to command the bot via IRC.

  1. You just have to run the bot and make sure it connects ok and there are no errors. This will also create and initalize the database and all tables.

  2. Next you have to run the included 'setlevel' script and pass it the location of your bot's pipsqueek.db file ('var/pipsqueek.db'). It will prompt you for the username and command level you wish to give. A level of 1000 is sufficient for every administrative command there is (although you are able to configure them however you wish)

  3. You're done configuring. If you want to set another user as an administrator you can use the bot's !setlevel handler via IRC, or run the setlevel script again.

  4. (Optional), you may want the bot to register it's username with nickserv automatically. If so, check out the configuration file for the NickServ plugin. It's in your bot's etc/plugins/ directory.

Installing Perl Modules

For the technically savvy, you can view comprehensive documentation using the 'perldoc' utility. The page is 'perlmodinstall'. The rest of this section is almost a verbatim copy of that perlpage.

First, are you sure that the module isn't already on your system? You can find out using:

perl -MFoo -e 1

Replace "Foo" with the module name; ie, perl -MCGI::Carp -e 1.

If you don't see an error message, you have the module. If you do see an error, it's still possible you have the module, but that it's not in your path, which you can display with:

perl -e 'print qq(@INC)'

For the remainder of this document, we'll assume that you really are missing the module, but want to install it from CPAN.

Also note that these instructions are tailored for installing the modules into your system's repository of Perl modules, but you can install them into any directory you wish using the PREFIX option.

For example, wherever you see 'perl Makefile.PL', you can substitute perl Makefile.PL PREFIX=/my/very/own/perl/directory

If you do install them into your own directory, you must ensure that any perl scripts you run know to look for modules there. You can do this using the -I switch to perl. See 'perldoc perlrun' for details.


You can use Andreas Koenig's CPAN module to automate the next steps ( http://www.cpan.org/modules/by-module/CPAN ), ie:

perl -MCPAN -e 'install Foo::Bar'

First you have to find the module to install on CPAN, the Comprehensive Perl Archive Network.

So now you have a file ending in .tar.gz (or, less often, .zip). You know there's a tasty module inside. There are three steps involved. This is not a substitute for reading the README and INSTALL files that may have come with your module!


If you have a tarball (.tar.gz extension) you can use GNU tar to decompress and unpack the file:

tar -zxvf file.tar.gz

If you have a zip archive (.zip extension) you should use the 'unzip' tool (ftp://ftp.info-zip.org/pub/infozip/UnZip.html)

unzip file.zip


Go into the newly created directory and run:

perl Makefile.PL
make test

Remember, if you want to install the perl module into a local directory, use perl Makefile.PL PREFIX=/custom/directory


While still in the new directory, just run:

make install

Note that you will need root permissions for this step if you are not installing it into a custom directory.


You can use ActiveState's PPM utility to see if it is available for installation from their repository of perl modules. Just launch a shell (Start->Run - type in "cmd") and run:


You should see a prompt like ppm>
To search for a module, at the prompt type 'search Foo', ie:

ppm> search Class::Accessor

After which, you should see a list of results, the one you want to install is named 'Class-Accessor', to install it run:

ppm> install Class-Accessor

Repeat the procedure for whichever modules you need from the list at the top of this document. So far, the only module which you will have a problem finding is DBD::SQLite. To install it you must add a new repository to PPM, by running:

ppm> repository add http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer58 (*note, this should be all on one line)

After that repository is added, ppm should be able to find and install the module without trouble :)

If for some reason you are unable to install a module using ppm, please email pipsqueek@l8nite.net and report it. I have tested the installation on Windows XP using ActiveState Perl 5.8.0, and I have found all the modules required except DBD::SQLite, and Date::Parse.

This wiki page is based on the original install file from the original Pipsqueek.