.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "BOT-BASICBOT-PLUGGABLE 1p" .TH BOT-BASICBOT-PLUGGABLE 1p "2022-10-14" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" bot\-basicbot\-pluggable \- A standard Bot::BasicBot::Pluggable script .SH "VERSION" .IX Header "VERSION" version 1.20 .SH "DESCRIPTION" .IX Header "DESCRIPTION" This script acts as standard interface for Bot::BasicBot::Pluggable, a generic framework for writing pluggable \s-1IRC\s0 bots in perl. It enables the user to administrate a full-fledged bot without writing any perl code. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& bot\-basicbot\-pluggable \-\-nick MyBot \-\-server irc.perl.org .Ve .SH "OPTIONS" .IX Header "OPTIONS" .IP "\-\-server" 4 .IX Item "--server" The server to connect to. Defaults to \fIlocalhost\fR. .IP "\-\-configfile \s-1FILE\s0" 4 .IX Item "--configfile FILE" Read config options from specified \s-1FILE.\s0 For a discussion of possible value and format refer to the section \s-1CONFIGFILE.\s0 The default to read the configfile found by Config::Find. .IP "\-\-logconfig \s-1FILE\s0" 4 .IX Item "--logconfig FILE" The logging configuration will be read from the specified file. Please refer to Log::Log4perl::Config for its format. The parameter loglevel will be ignored if this options is supplied. .IP "\-\-loglevel \s-1LEVEL\s0" 4 .IX Item "--loglevel LEVEL" Sets the bots loglevel to one of the following levels in decreasing order of output: trace, debug, info, warn, error or fatal. Defaults to warn. .IP "\-\-nick \s-1NICKNAME\s0" 4 .IX Item "--nick NICKNAME" Nickname to use. Defaults to \fIbasicbot\fR. .IP "\-\-channel \s-1CHANNELNAME\s0" 4 .IX Item "--channel CHANNELNAME" Channel to connect to. This parameter may be provided several times. You do not have to prefix the channel name with a hash symbol, which would have to be escaped in shell. It's automatically added for you. .IP "\-\-password" 4 .IX Item "--password" Sets the admin password of the \fIAuth\fR module. This also loads the \&\fIAuth\fR module implicitly. Please be warned that this password will probably been seen on any process listing as on \fIps\fR or \fItop\fR. .IP "\-\-module" 4 .IX Item "--module" Modules to load. This parameter may be provided several times. You can call \-\-list\-modules to get a list of all available modules. If you do not define any module via this option, \fIAuth\fR and \fILoader\fR are loaded by default. .IP "\-\-list\-modules" 4 .IX Item "--list-modules" Lists all installed modules and exits afterwards. No bot is started. .IP "\-\-list\-stores" 4 .IX Item "--list-stores" Lists all installed storage modules and exits afterwards. No bot is started. .IP "\-\-store" 4 .IX Item "--store" Defines which storage module is used to save module settings. The default is \fIMemory\fR, which does not save any settings between sessions but does neither leave any files nor need any special settings. .Sp This options take a string in the form \fIkey\fR=\fIvalue\fR and can be specified multiple times. The value of the key \fItype\fR define which storage backend to load, all other parameters are passed to the object constructor as hash reference. .Sp For example: .Sp .Vb 1 \& ./bot \-\-store type=Deep \-\-store file=foo.deep .Ve .Sp That command will create an Bot::BasicBot::Pluggable::Store::Deep object and pass \f(CW\*(C`file => \*(Aqfoo.deep\*(Aq\*(C'\fR to its constructor. .IP "\-\-charset" 4 .IX Item "--charset" Charset to use for the bot. Defaults to \fIutf8\fR, but you can use any encoding listed in Encode. The \s-1IRC\s0 protocol doesn't define a specific character-set to use. This presents a big problem, because if you do not use the same as everybody else in the channel you just receive garbage. .IP "\-\-port" 4 .IX Item "--port" Port to connect to on target host. This defaults to the irc standard port 6667. You won't need to define this in most cases. .IP "\-\-command\-line" 4 .IX Item "--command-line" The bot does not connect to any irc server, but will wait on stdin on commands from the user. This mode won't actually work with a lot of irc related modules like ChanOp. .SH "CONFIGFILE" .IX Header "CONFIGFILE" The bot read a configfile either found by Config::Find (usually named ~/.bot\-basicbot\-pluggable.yaml) or specified on the command line via \fI\-\-configfile\fR on startup. The file should be a syntactical correct yaml file with a hash as its first level element. It understands every option listed above and the special settings parameter, which is a hash, where the keys are module names and the value is a hash of configurable module settings. Easier to show than to explain: .PP .Vb 9 \& \-\-\- \& server: host \& nick: bot \& settings: \& Karma: \& self_ignore: 0 \& store: \& type: Deep \& file: foo.deep .Ve .PP All modules listed under settings are also loaded on startup. .PP Please remember that you have to escape hash (or pound) signs in \s-1YAML:\s0 .PP .Vb 3 \& \-\-\- \& channel: \& \- \*(Aq#botzone\*(Aq .Ve .SH "AUTHOR" .IX Header "AUTHOR" Mario Domgoergen .SH "SEE ALSO" .IX Header "SEE ALSO" Bot::BasicBot::Pluggable .SH "COPYRIGHT & LICENSE" .IX Header "COPYRIGHT & LICENSE" Copyright 2005\-2009 Mario Domgoergen. .PP This program is free software; you can redistribute it and/or modify it under the terms of either: .IP "\(bu" 4 the \s-1GNU\s0 General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or .IP "\(bu" 4 the Artistic License version 2.0.