NAME

Bot::Jabbot - simple pluggable jabber bot

SYNOPSIS

#!/usr/bin/perl
use Bot::Jabbot;
use warnings;
use strict;

my $bot = Bot::Jabbot->new("./config.yaml");
$bot->start();

DESCRIPTION

Bot::Jabbot allows you to easily create jabber bot. All you need is to write config file and use or write some modules that will handle messages.

METHODS

new(...)

Creates new bot instance. Accepts path to configuration file in yaml format as first param (defaults to ./bot.conf)

start()

Initializes required modules and starts bot.

setlang()

Changes currently used language for bot and all loaded modules.

CONFIGURATION

jid: jabbot@somehost.ru
password: somepassword
nickname: Jabbot
debug: 0
modules:
  replier: Bot::Jabbot::Module::Replier
  replier: Bot::Jabbot::Module::Replier
  replier: Bot::Jabbot::Module::Replier
rooms:
  - someroom@conference.somehost.ru
      password: secret
  - someotherroom@conference.somehost.ru
status: "I'm bot, i'm bot, you know that i'm a bot"
lang: en

jid - jid of jabber bot

password - password for jabber bot

nickname - nickname for MUC

modules - hash of module name => module package. You can define any unical module name, as it used only for !help command

rooms - list of MUC rooms jid's. Room can be eather a string or a hash with join parameters (for info look at %args description in AnyEvent::XMPP::Ext::MUC join_room method)

debug - enable debug output

status - status text

lang - language of the bot (Language files are stored in the Jabbot/I18N subdirectory for bot, and ModuleName/I18N subdirectory for modules)

DEPENDENCIES

AnyEvent
AnyEvent::XMPP
Class::MOP
Config::Any
Encode

AUTHOR

Epifanov Ivan isage@aumi.ru

COPYRIGHT

This module copyright (c) 2009 Ivan Epifanov.
All rights reserved. This module is free software; you can redistribute it 
and/or modify it under the terms of the Perl Artistic License.
(see http://www.perl.com/perl/misc/Artistic.html)