This file is indexed.

/usr/bin/bot-basicbot-pluggable is in libbot-basicbot-pluggable-perl 1.20-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
#!/usr/bin/perl 

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 1.20

=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