POE::Component::IRC::Plugin::BotAddressed - A PoCo-IRC plugin that generates events when you are addressed
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"; }
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.
irc_public
irc_ctcp_action
irc_bot_addressed
irc_bot_mentioned
irc_bot_mentioned_action
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.
plugin_add
Has the same parameters passed as irc_ctcp_public. 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_ctcp_public
ARG2
Has the same parameters passed as irc_public.
Has the same parameters passed as irc_ctcp_action.
Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
To install POE::Component::IRC, copy and paste the appropriate command in to your terminal.
cpanm
cpanm POE::Component::IRC
CPAN shell
perl -MCPAN -e shell install POE::Component::IRC
For more information on module installation, please visit the detailed CPAN module installation guide.