The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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)