Епифанов Иван > Bot-Jabbot-0.41 > Bot::Jabbot

Download:
Bot-Jabbot-0.41.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  2
Open  1
View/Report Bugs
Module Version: 0.41   Source  

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)
syntax highlighting: