/usr/bin/bot-basicbot-pluggable is in libbot-basicbot-pluggable-perl 0.98-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | #!/usr/bin/perl
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; # not running under some shell
use warnings;
use strict;
use App::Bot::BasicBot::Pluggable;
my $app = App::Bot::BasicBot::Pluggable->new_with_options();
$app->run();
__END__
=head1 NAME
bot-basicbot-pluggable - A standard Bot::BasicBot::Pluggable script
=head1 VERSION
version 0.98
=head1 DESCRIPTION
This script acts as standard interface for Bot::BasicBot::Pluggable,
a generic framework for writing pluggable IRC bots in perl. It
enables the user to administrate a full-fledged bot without writing
any perl code.
=head1 SYNOPSIS
bot-basicbot-pluggable --nick MyBot --server irc.perl.org
=head1 OPTIONS
=over 4
=item --server
The server to connect to. Defaults to I<localhost>.
=item --configfile FILE
Read config options from specified FILE. For a discussion of possible
value and format refer to the section CONFIGFILE. The default to read
the configfile found by L<Config::Find>.
=item --logconfig FILE
The logging configuration will be read from the specified file.
Please refer to L<Log::Log4perl::Config> for its format. The parameter
loglevel will be ignored if this options is supplied.
=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.
=item --nick NICKNAME
Nickname to use. Defaults to I<basicbot>.
=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.
=item --password
Sets the admin password of the I<Auth> module. This also loads the
I<Auth> module implicitly. Please be warned that this password will
probably been seen on any process listing as on I<ps> or I<top>.
=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, I<Auth> and I<Loader>
are loaded by default.
=item --list-modules
Lists all installed modules and exits afterwards. No bot is started.
=item --list-stores
Lists all installed storage modules and exits afterwards. No bot is
started.
=item --store
Defines which storage module is used to save module settings. The
default is I<Memory>, which does not save any settings between
sessions but does neither leave any files nor need any special
settings.
This options take a string in the form I<key>=I<value> and can be
specified multiple times. The value of the key I<type> define which
storage backend to load, all other parameters are passed to the
object constructor as hash reference.
For example:
./bot --store type=Deep --store file=foo.deep
That command will create an L<Bot::BasicBot::Pluggable::Store::Deep>
object and pass C<file =E<gt> 'foo.deep'> to its constructor.
=item --charset
Charset to use for the bot. Defaults to I<utf8>, but you can use
any encoding listed in L<Encode>. The IRC 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.
=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.
=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.
=back
=head1 CONFIGFILE
The bot read a configfile either found by L<Config::Find> (usually
named ~/.bot-basicbot-pluggable.yaml) or specified on the command
line via I<--configfile> 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:
---
server: host
nick: bot
settings:
Karma:
self_ignore: 0
store:
type: Deep
file: foo.deep
All modules listed under settings are also loaded on startup.
Please remember that you have to escape hash (or pound) signs in YAML:
---
channel:
- '#botzone'
=head1 AUTHOR
Mario Domgoergen <mdom@cpan.org>
=head1 SEE ALSO
L<Bot::BasicBot::Pluggable>
=head1 COPYRIGHT & LICENSE
Copyright 2005-2009 Mario Domgoergen.
This program is free software; you can redistribute it and/or
modify it under the terms of either:
=over 4
=item * the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any
later version, or
=item * the Artistic License version 2.0.
=back
=cut
|