Extra comments in pbot.pl; Added pbot.sh launcher; Restructured config, data and log files into respective directories

This commit is contained in:
Pragmatic Software 2010-05-25 03:03:23 +00:00
parent 8be476404c
commit eb74a92f44
7 changed files with 71 additions and 24 deletions

88
pbot.pl
View File

@ -1,49 +1,89 @@
#!/usr/bin/perl
#!perl
#
# File: pbot.pl
# Author: pragma_
#
# Purpose: IRC Bot (3rd generation)
#
# Version History:
########################
my $VERSION = "1.0.0";
########################
# 1.0.0 (03/14/10): Initial version using PBot::PBot module
use strict;
use warnings;
use PBot::PBot;
my $home = $ENV{HOME};
# Be sure to set $bothome to the location PBot was extracted (default assumes ~/pbot).
# This location must contain the PBot directory, among others configured below.
my $bothome = "$ENV{HOME}/pbot";
my %config = ( log_file => "$home/pbot/log",
admins_file => "$home/pbot/admins",
channels_file => "$home/pbot/channels",
ignorelist_file => "$home/pbot/ignorelist",
factoids_file => "$home/pbot/factoids",
export_factoids_path => "$home/pbot/factoids.html",
export_factoids_site => 'http://blackshell.com/~msmud/pbot2/factoids.html',
module_dir => "$home/pbot/modules",
quotegrabs_file => "$home/pbot/quotegrabs",
export_quotegrabs_path => "$home/pbot/quotegrabs.html",
export_quotegrabs_site => 'http://blackshell.com/~msmud/pbot2/quotegrabs.html',
my %config = (
# -----------------------------------------------------
# Be sure to set your IRC information to a registered NickServ account
# if you want channel auto-join to work.
# -----------------------------------------------------
# IRC server address to connect to
ircserver => 'irc.freenode.net',
# IRC nick (what people see when you talk in channels)
# (must be a nick registered with a NickServ account for channel auto-join to work)
botnick => 'pbot3',
# IRC username (what appears in front of your hostname in /whois)
username => 'pbot3',
# IRC realname (extra /whois information)
ircname => 'http://www.iso-9899.info/wiki/Candide',
identify_password => '*',
# Password to send to NickServ for identification
# (channels will not be auto-joined until identified)
identify_password => '*',
# -----------------------------------------------------
# The bot can export the latest factoids and quotegrabs to an HTML
# document. If you run a webserver or something similiar, you may
# wish to set the following items ending with 'path' to point to
# a suitable location for the webserver, and to set the items
# ending with 'site' to the public-facing URL where the files
# may be viewed in a browser.
# -----------------------------------------------------
export_factoids_path => "$bothome/factoids.html",
export_factoids_site => 'http://blackshell.com/~msmud/candide/factoids.html',
export_quotegrabs_path => "$bothome/quotegrabs.html",
export_quotegrabs_site => 'http://blackshell.com/~msmud/candide/quotegrabs.html',
# -----------------------------------------------------
# You shouldn't need to change anything below this line.
# -----------------------------------------------------
# Path to directory containing external script-like modules
module_dir => "$bothome/modules",
# Location of file where bot log information will be output (in addition to stdout)
# (if you use pbot.sh and you change log_file, be sure to also change the log path in pbot.sh)
log_file => "$bothome/log/log",
# Location of file containing bot admin information
admins_file => "$bothome/config/admins",
# Location of file containing channel information
channels_file => "$bothome/config/channels",
# Location of file containing ignorelist entries
ignorelist_file => "$bothome/config/ignorelist",
# Location of file containing factoids and modules
factoids_file => "$bothome/data/factoids",
# Location of file containing channel user quotes
quotegrabs_file => "$bothome/data/quotegrabs",
);
# Create and initialize bot object
my $pbot = PBot::PBot->new(%config);
# Start the bot main loop; doesn't return
$pbot->start();
# not reached

7
pbot.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
mv log/log log/log-`date +%Y%m%d-%H:%M.%N` &> /dev/null
mv log/stderr_log log/stderr_log-`date +%Y%m%d-%H:%M.%N` &> /dev/null
perl pbot.pl 2> log/stderr_log
cat log/stderr_log