POE::Component::IRC::Plugin::BotAddressed.3pm

Langue: en

Version: 2008-08-28 (ubuntu - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

POE::Component::IRC::Plugin::BotAddressed - A PoCo-IRC plugin that generates an 'irc_bot_addressed', 'irc_bot_mentioned' or 'irc_bot_mentioned_action' event if its name comes up in channel discussion.

SYNOPSIS

  use POE::Component::IRC::Plugin::BotAddressed;
 
  $irc->plugin_add( 'BotAddressed', POE::Component::IRC::Plugin::BotAddressed->new() );
 
  sub irc_bot_addressed {
      my ($kernel, $heap) = @_[KERNEL, HEAP];
      my $nick = ( split /!/, $_[ARG0] )[0];
      my $channel = $_[ARG1]->[0];
      my $what = $_[ARG2];
 
      print "$nick addressed me in channel $channel with the message '$what'\n";
  }
 
  sub irc_bot_mentioned {
      my ($nick) = ( split /!/, $_[ARG0] )[0];
      my ($channel) = $_[ARG1]->[0];
      my ($what) = $_[ARG2];
 
      print "$nick mentioned my name in channel $channel with the message '$what'\n";
  }
 
 

DESCRIPTION

POE::Component::IRC::Plugin::BotAddressed is a POE::Component::IRC plugin. It watches for public channel traffic (i.e. 'irc_public' and 'irc_ctcp_action') and will generate an 'irc_bot_addressed', 'irc_bot_mentioned' or 'irc_bot_mentioned_action' event if its name comes up in channel discussion.

It uses POE::Component::IRC's nick_name() method to work out its current nickname.

METHODS

new

One optional argument:

'eat', set to true to make the plugin eat the 'irc_public' / 'irc_ctcp_action' event and only generate an appropriate event, default is false.

Returns a plugin object suitable for feeding to POE::Component::IRC's plugin_add() method.

OUTPUT

irc_bot_addressed

Has the same parameters passed as "irc_ctcp_action". ARG2 contains the message with the addressed nickname removed, ie. Assuming that your bot is called LameBOT, and someone says 'LameBOT: dance for me', you will actually get 'dance for me'.

irc_bot_mentioned

Has the same parameters passed as "irc_public".

irc_bot_mentioned_action

Has the same parameters passed as "irc_ctcp_action".

AUTHOR

Chris 'BinGOs' Williams <chris@bingosnet.co.uk>