GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
POE::Component::IRC::Plugin::AutoJoin(3) User Contributed Perl Documentation POE::Component::IRC::Plugin::AutoJoin(3)

POE::Component::IRC::Plugin::AutoJoin - A PoCo-IRC plugin which keeps you on your favorite channels

 use POE qw(Component::IRC::State Component::IRC::Plugin::AutoJoin);

 my $nickname = 'Chatter';
 my $server = 'irc.blahblahblah.irc';

 my %channels = (
     '#Blah'   => '',
     '#Secret' => 'secret_password',
     '#Foo'    => '',
 );

 POE::Session->create(
     package_states => [
         main => [ qw(_start irc_join) ],
     ],
 );

 $poe_kernel->run();

 sub _start {
     my $irc = POE::Component::IRC::State->spawn(
         Nick => $nickname,
         Server => $server,
     ) or die "Oh noooo! $!";

     $irc->plugin_add('AutoJoin', POE::Component::IRC::Plugin::AutoJoin->new( Channels => \%channels ));
     $irc->yield(register => qw(join);
     $irc->yield(connect => { } );
 }

 sub irc_join {
     my $chan = @_[ARG1];
     $irc->yield(privmsg => $chan => "hi $channel!");
 }

POE::Component::IRC::Plugin::AutoJoin is a POE::Component::IRC plugin. If you get disconnected, the plugin will join all the channels you were on the next time it gets connected to the IRC server. It can also rejoin a channel if the IRC component gets kicked from it. It keeps track of channel keys so it will be able to rejoin keyed channels in case of reconnects/kicks.

If a POE::Component::IRC::Plugin::NickServID plugin has been added to the IRC component, then AutoJoin will wait for a reply from NickServ before joining channels on connect.

This plugin requires the IRC component to be POE::Component::IRC::State or a subclass thereof.

Takes the following optional arguments:

'Channels', either an array reference of channel names, or a hash reference keyed on channel name, containing the password for each channel. By default it uses the channels the component is already on if you are using POE::Component::IRC::State.

'RejoinOnKick', set this to 1 if you want the plugin to try to rejoin a channel (once) if you get kicked from it. Default is 0.

'Rejoin_delay', the time, in seconds, to wait before rejoining a channel after being kicked (if 'RejoinOnKick' is on). Default is 5.

'Retry_when_banned', if you can't join a channel due to a ban, set this to the number of seconds to wait between retries. Default is 0 (disabled).

'NickServ_delay', how long (in seconds) to wait for a reply from NickServ before joining channels. Default is 5.

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

Hinrik Örn Sigurðsson, hinrik.sig@gmail.com
2021-06-15 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.