2010-05-25 05:20:56 +02:00
|
|
|
More information coming soon. Work in progress.
|
2010-05-25 07:36:13 +02:00
|
|
|
--------------------------
|
|
|
|
See also: http://www.iso-9899.info/wiki/Candide
|
|
|
|
--------------------------
|
2010-05-25 08:16:28 +02:00
|
|
|
PBot requires Perl 5.10, especially for !cc
|
|
|
|
--------------------------
|
2010-05-25 05:20:56 +02:00
|
|
|
The first thing you'll want to do is edit pbot.pl and change the default
|
|
|
|
settings:
|
|
|
|
|
|
|
|
* If you did not extract/checkout PBot into ~/pbot (where ~/pbot/PBot
|
|
|
|
contains the PBot.pm module), you'll want to change $pbothome in pbot.pl
|
|
|
|
to point to the directory that contains the PBot, config, data, etc directories.
|
|
|
|
|
|
|
|
* Change the IRC settings in pbot.pl so that the bot-nick and identify password are
|
|
|
|
associated with a registered NickServ account, if you want channel auto-join to succeed.
|
2010-05-25 07:36:13 +02:00
|
|
|
--------------------------
|
|
|
|
Then you'll need to get Net::IRC from CPAN. If you do not have root access, see
|
|
|
|
http://perl.jonallen.info/writing/articles/install-perl-modules-without-root
|
|
|
|
|
|
|
|
After installing Net::IRC, you'll need to edit Net::IRC's Connection.pm module to prevent it
|
|
|
|
from disconnecting IRC when a module completes after forking:
|
|
|
|
|
2010-05-26 00:25:44 +02:00
|
|
|
/lib/perl5/site-perl/Net/IRC/Connection.pm around line 405 has a sub DESTROY; insert a return; statement
|
|
|
|
at line 407:
|
2010-05-25 07:36:13 +02:00
|
|
|
|
|
|
|
404 # Standard destructor method for the GC routines. (HAHAHAH! DIE! DIE! DIE!)
|
|
|
|
405 sub DESTROY {
|
|
|
|
406 my $self = shift;
|
2010-05-26 00:25:44 +02:00
|
|
|
407 return; ## <--- added to prevent disconnecting after forking exits ##
|
2010-05-25 07:36:13 +02:00
|
|
|
408 $self->handler("destroy", "nobody will ever use this");
|
|
|
|
409 $self->quit();
|
|
|
|
410 # anything else?
|
|
|
|
411 }
|
|
|
|
--------------------------
|
2010-05-27 00:57:33 +02:00
|
|
|
In addition to Net::IRC, PBot and several pbot-modules also use the following built-in and CPAN modules:
|
|
|
|
|
|
|
|
use AppConfig::Std;
|
|
|
|
use Data::Dumper;
|
|
|
|
use Getopt::Std;
|
|
|
|
use HTML::Entities;
|
|
|
|
use HTML::FormatText;
|
|
|
|
use HTML::Parse;
|
|
|
|
use IPC::Open2;
|
|
|
|
use LWP::Simple;
|
|
|
|
use LWP::UserAgent
|
|
|
|
use LWP::UserAgent::WithCache;
|
|
|
|
use Net::Dict;
|
|
|
|
use SOAP::Lite;
|
|
|
|
use Text::Autoformat;
|
|
|
|
use Text::Balanced;
|
|
|
|
use URI::Escape;
|
|
|
|
use WWW::Wikipedia;
|
|
|
|
use XML::RSS;
|
|
|
|
--------------------------
|
2010-05-25 07:36:13 +02:00
|
|
|
Some quick-and-dirty info on using stdin (pbot shell after running pbot.sh):
|
2010-05-25 07:24:09 +02:00
|
|
|
|
|
|
|
04:33:09 < pragma_> you can type in the bot's stdin to talk in channels as the bot
|
|
|
|
04:33:39 < candide> hi
|
2010-05-25 07:36:13 +02:00
|
|
|
04:33:50 < pragma_> that was typing 'msg #pbot2 hi' from the bot's stdin
|
2010-05-25 07:24:09 +02:00
|
|
|
04:34:15 < pragma_> you can send bot commands to channel by using ~channel command
|
|
|
|
04:35:11 < pragma_> like ~channel kick <args>
|
|
|
|
04:35:18 < pragma_> because kick has to be used in a channel
|
2010-05-25 07:36:13 +02:00
|
|
|
04:36:20 < pragma_> and you can still background the bot with ^Z
|
|
|
|
--------------------------
|
|
|
|
Coming soon to README:
|
|
|
|
|
|
|
|
* List of Perl module dependencies, for installation.
|
|
|
|
* Description of each PBot module, for customisation.
|
|
|
|
--------------------------
|
|
|
|
Todo:
|
2010-05-25 07:24:09 +02:00
|
|
|
|
2010-05-25 07:36:13 +02:00
|
|
|
* Add SSL and port options to pbot.pl.
|