NAME

Bot::IKCBot::Pluggable - extended Bot::BasicBot::Pluggable for IKC

SYNOPSIS

run IKCBot server.

  use Bot::IKCBot::Pluggable;
  
  my $bot = Bot::IKCBot::Pluggable->new(
      ...
      ALIASNAME => 'ikchan',
      ikc_ip    => '127.0.0.1',
      ikc_port  => 1919,
     );
  $bot->load("Karma"); # you can load any
                       # Bot::BasicBot::Pluggable::Module::*
  $bot->run;

and you can talk to IKCBot by IKC. IKC specifier is ALIASNAME_IKC/PUBLISHED_STATE.

  use POE::Component::IKC::ClientLite;
  
  my $msg      = "hello!";
  my $channel  = "#test1919";
  my $bot_name = 'ikchan';
  
  my $ikc = POE::Component::IKC::ClientLite::create_ikc_client(
      ip      => '127.0.0.1',
      port    => 1919,
      name    => 'notify-irc',
     );
  $ikc->post($bot_name.'_IKC/say', { body => $msg, channel => $channel });

DESCRIPTION

Bot::IKCBot::Pluggable is IRC bot extends Bot::BasicBot::Pluggable for IKC support. So you can use all Bot::BasicBot::Pluggable::Module::*, Karma, Infobot, Title and so on.

In my case, for sending Nagios's alert message to IRC channel, run IKCBot and define Nagios's command that invokes notify script to send alert message to IKCBot.

If you want to add your own state of POE::Session, you can do it by changing hashref $Bot::IKCBot::Pluggable::STATE_TABLE and define handler function.

  use POE;
  use Bot::IKCBot::Pluggable;
  
  $Bot::IKCBot::Pluggable::STATE_TABLE->{important} = "say_2times";
  
  *Bot::IKCBot::Pluggable::say_2times = sub {
      my($self, $arg) = @_[ OBJECT, ARG0 ];
      $self->say($arg);
      $self->say($arg);
  };
  
  my $bot = Bot::IKCBot::Pluggable->new(
    ...
  );

Additionally, Bot::IKCBot::Pluggable has "notice" method and use "notice" instead of "say"(=privmsg) when replying.

SEE ALSO

Bot::BasicBot::Pluggable, Bot::BasicBot. POE::Component::IKC::Server, POE::Component::IKC::ClientLite,

AUTHOR

HIROSE Masaaki, <hirose31 at gmail.com>

REPOSITORY

http://github.com/hirose31/p5-bot-ikcbot-pluggable/tree/master

BUGS

Please report any bugs or feature requests to bug-bot-ikcbot-pluggable at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Bot-IKCBot-Pluggable. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

COPYRIGHT & LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.