Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

poe::component::irc::plugin::bottraffic(3pm) [debian man page]

POE::Component::IRC::Plugin::BotTraffic(3pm)		User Contributed Perl Documentation	      POE::Component::IRC::Plugin::BotTraffic(3pm)

NAME
POE::Component::IRC::Plugin::BotTraffic - A PoCo-IRC plugin that generates events when you send messages SYNOPSIS
use POE::Component::IRC::Plugin::BotTraffic; $irc->plugin_add( 'BotTraffic', POE::Component::IRC::Plugin::BotTraffic->new() ); sub irc_bot_public { my ($kernel, $heap) = @_[KERNEL, HEAP]; my $channel = $_[ARG0]->[0]; my $what = $_[ARG1]; print "I said '$what' on channel $channel "; return; } DESCRIPTION
POE::Component::IRC::Plugin::BotTraffic is a POE::Component::IRC plugin. It watches for when your bot sends PRIVMSGs and NOTICEs to the server and generates the appropriate events. These events are useful for logging what your bot says. METHODS
"new" No arguments required. Returns a plugin object suitable for feeding to POE::Component::IRC's "plugin_add" method. OUTPUT EVENTS
These are the events generated by the plugin. Both events have "ARG0" set to an arrayref of recipients and "ARG1" the text that was sent. "irc_bot_public" "ARG0" will be an arrayref of recipients. "ARG1" will be the text sent. "irc_bot_msg" "ARG0" will be an arrayref of recipients. "ARG1" will be the text sent. "irc_bot_action" "ARG0" will be an arrayref of recipients. "ARG1" will be the text sent. "irc_bot_notice" "ARG0" will be an arrayref of recipients. "ARG1" will be the text sent. AUTHOR
Chris 'BinGOs' Williams [chris@bingosnet.co.uk] SEE ALSO
POE::Component::IRC perl v5.14.2 2011-12-07 POE::Component::IRC::Plugin::BotTraffic(3pm)

Check Out this Related Man Page

POE::Component::IRC::Cookbook::Translator(3pm)		User Contributed Perl Documentation	    POE::Component::IRC::Cookbook::Translator(3pm)

NAME
POE::Component::IRC::Cookbook::Translator - A bot that can translate text SYNOPSIS
This bot uses POE::Component::Lingua::Translate to translate text for channel members. It makes use of the "BotCommand" plugin to handle the translate command. DESCRIPTION
#!/usr/bin/env perl use strict; use warnings; use Encode qw(decode); use Encode::Guess; use IRC::Utils qw(decode_irc parse_user); use POE; use POE::Component::IRC::State; use POE::Component::IRC::Plugin::AutoJoin; use POE::Component::IRC::Plugin::BotCommand; use POE::Component::Lingua::Translate; POE::Session->create( package_states => [ main => [ qw(_start irc_botcmd_trans translated) ] ], heap => { translators => { }, } ); $poe_kernel->run(); sub _start { my $heap = $_[HEAP]; my $irc = POE::Component::IRC::State->spawn( Nick => 'translator_bot', Server => 'irc.freenode.net', ); $heap->{irc} = $irc; $irc->plugin_add('AutoJoin', POE::Component::IRC::Plugin::AutoJoin->new( Channels => [ '#test_channel1', '#test_channel2' ] )); $irc->plugin_add('BotCommand', POE::Component::IRC::Plugin::BotCommand->new( Commands => { trans => 'Usage: trans <from>,<to> <text>' } )); $irc->yield(register => 'botcmd_trans'); $irc->yield('connect'); return; } sub irc_botcmd_trans { my $heap = $_[HEAP]; my $irc = $heap->{irc}; my $nick = parse_user( $_[ARG0] ); my $channel = $_[ARG1]; my ($from, $to, $text) = split /,|s+/, $_[ARG2], 3; if (!exists $heap->{translators}->{$from . $to}) { eval { $heap->{translators}->{$from . $to} = POE::Component::Lingua::Translate->new( alias => $from . $to, back_end => 'Babelfish', src => $from, dest => $to, ); }; if ($@) { $irc->yield(privmsg => $channel, "$nick: There was an error: $@"); return; } } $poe_kernel->post($from . $to => translate => decode_irc($text), { channel => $channel, nick => $nick, } ); return; } sub translated { my $irc = $_[HEAP]->{irc}; my ($text, $context, $error) = @_[ARG0, ARG1, ARG2]; if ($error) { $irc->yield( 'privmsg', $context->{channel}, $context->{nick} . ": There was an error: $error", ); return; } $irc->yield( 'privmsg', $context->{channel}, $context->{nick} . ': ' . $text, ); return; } AUTHOR
Hinrik Oern Sigur`sson, hinrik.sig@gmail.com perl v5.14.2 2011-12-07 POE::Component::IRC::Cookbook::Translator(3pm)
Man Page