POE::Component::IRC::Plugin::NickReclaim - A PoCo-IRC plugin for reclaiming nickname.
use strict; use warnings; use POE qw(Component::IRC Component::IRC::Plugin::NickReclaim);
my $nickname = 'Flibble' . $$; my $ircname = 'Flibble the Sailor Bot'; my $ircserver = 'irc.blahblahblah.irc'; my $port = 6667;
my $irc = POE::Component::IRC->spawn( nick => $nickname, server => $ircserver, port => $port, ircname => $ircname, ) or die "Oh noooo! $!";
POE::Session->create( package_states => [ main => [ qw(_start) ], ], );
$poe_kernel->run();
sub _start { $irc->yield( register => 'all' );
# Create and load our NickReclaim plugin, before we connect $irc->plugin_add( 'NickReclaim' => POE::Component::IRC::Plugin::NickReclaim->new( poll => 30 ) );
$irc->yield( connect => { } ); return; }
POE::Component::IRC::Plugin::NickReclaim - A the POE::Component::IRC manpage plugin automagically deals with your bot's nickname being in use and reclaims it when it becomes available again.
It registers and handles 'irc_433' events. On receiving a 433 event it will
reset the nickname to the 'nick' specified with spawn()
or connect()
, appended
with an underscore, and then poll to try and change it to the original nickname.
new
Takes one optional argument:
'poll', the number of seconds between nick change attempts, default is 30;
Returns a plugin object suitable for feeding to
POE::Component::IRC's plugin_add()
method.
Chris 'BinGOs' Williams
With amendments applied by Zoffix Znet