From eb74a92f441d9a53d72737a7fd882319c76b1999 Mon Sep 17 00:00:00 2001 From: Pragmatic Software Date: Tue, 25 May 2010 03:03:23 +0000 Subject: [PATCH] Extra comments in pbot.pl; Added pbot.sh launcher; Restructured config, data and log files into respective directories --- admins => config/admins | 0 channels => config/channels | 0 ignorelist => config/ignorelist | 0 factoids => data/factoids | 0 quotegrabs => data/quotegrabs | 0 pbot.pl | 88 ++++++++++++++++++++++++--------- pbot.sh | 7 +++ 7 files changed, 71 insertions(+), 24 deletions(-) rename admins => config/admins (100%) rename channels => config/channels (100%) rename ignorelist => config/ignorelist (100%) rename factoids => data/factoids (100%) rename quotegrabs => data/quotegrabs (100%) create mode 100755 pbot.sh diff --git a/admins b/config/admins similarity index 100% rename from admins rename to config/admins diff --git a/channels b/config/channels similarity index 100% rename from channels rename to config/channels diff --git a/ignorelist b/config/ignorelist similarity index 100% rename from ignorelist rename to config/ignorelist diff --git a/factoids b/data/factoids similarity index 100% rename from factoids rename to data/factoids diff --git a/quotegrabs b/data/quotegrabs similarity index 100% rename from quotegrabs rename to data/quotegrabs diff --git a/pbot.pl b/pbot.pl index 0b4a5b25..54d137dd 100755 --- a/pbot.pl +++ b/pbot.pl @@ -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 diff --git a/pbot.sh b/pbot.sh new file mode 100755 index 00000000..367ed0d1 --- /dev/null +++ b/pbot.sh @@ -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