---
name: "bot-basicbot-pluggable"
section: "1p"
platform: "linux"
package: "libbot-basicbot-pluggable-perl"
version: "1.30+ds1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/bot-basicbot-pluggable"
---

# bot-basicbot-pluggable(1p)

A standard Bot::BasicBot::Pluggable script

## NAME

bot-basicbot-pluggable - A standard Bot::BasicBot::Pluggable script

## VERSION

version 1.30

## 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.

## SYNOPSIS

```
  bot-basicbot-pluggable --nick MyBot --server irc.perl.org
```

## OPTIONS

- \--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.

## CONFIGFILE

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'
```

## AUTHOR

Mario Domgoergen \<mdom@cpan.org\>

## SEE ALSO

Bot::BasicBot::Pluggable

## 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:

- •

  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.
