bot-basicbot-pluggable - A standard Bot::BasicBot::Pluggable script
version 1.20
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.
bot-basicbot-pluggable --nick MyBot --server irc.perl.org
- --server
- The server to connect to. Defaults to
localhost.
- --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 Config::Find.
- --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.
- --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.
- --nick NICKNAME
- Nickname to use. Defaults to basicbot.
- --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.
- --password
- Sets the admin password of the Auth module. This
also loads the Auth module implicitly. Please be warned that this
password will probably been seen on any process listing as on ps or
top.
- --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, Auth and
Loader are loaded by default.
- --list-modules
- Lists all installed modules and exits afterwards. No bot is
started.
- --list-stores
- Lists all installed storage modules and exits afterwards.
No bot is started.
- --store
- Defines which storage module is used to save module
settings. The default is 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 key=value and can be
specified multiple times. The value of the key 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 Bot::BasicBot::Pluggable::Store::Deep object and
pass "file => 'foo.deep'" to its constructor.
- --charset
- Charset to use for the bot. Defaults to utf8, but
you can use any encoding listed in 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.
- --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.
- --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.
The bot read a configfile either found by Config::Find (usually named
~/.bot-basicbot-pluggable.yaml) or specified on the command line via
--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'
Mario Domgoergen <
[email protected]>
Bot::BasicBot::Pluggable
Copyright 2005-2009 Mario Domgoergen.
This program is free software; you can redistribute it and/or modify it under
the terms of either:
- •
- the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any later
version, or
- •
- the Artistic License version 2.0.