---
name: "POE::Component::IRC::Plugin::Connector"
section: "3pm"
platform: "linux"
package: "libpoe-component-irc-perl"
version: "6.93+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/POE::Component::IRC::Plugin::Connector"
---

# POE::Component::IRC::Plugin::Connector(3pm)

A PoCo-IRC plugin that deals with the messy business of staying connected to an IRC server

## NAME

POE::Component::IRC::Plugin::Connector - A PoCo-IRC plugin that deals with the messy business of staying connected to an IRC server

## SYNOPSIS

```
 use POE qw(Component::IRC Component::IRC::Plugin::Connector);
 my $irc = POE::Component::IRC->spawn();
 POE::Session->create(
     package_states => [
         main => [ qw(_start lag_o_meter) ],
     ],
 );
 $poe_kernel->run();
 sub _start {
     my ($kernel, $heap) = @_[KERNEL ,HEAP];
     $irc->yield( register => 'all' );
     $heap->{connector} = POE::Component::IRC::Plugin::Connector->new();
     $irc->plugin_add( 'Connector' => $heap->{connector} );
     $irc->yield ( connect => { Nick => 'testbot', Server => 'someserver.com' } );
     $kernel->delay( 'lag_o_meter' => 60 );
     return;
 }
 sub lag_o_meter {
     my ($kernel,$heap) = @_[KERNEL,HEAP];
     print 'Time: ' . time() . ' Lag: ' . $heap->{connector}->lag() . "\n";
     $kernel->delay( 'lag_o_meter' => 60 );
     return;
 }
```

## DESCRIPTION

POE::Component::IRC::Plugin::Connector is a POE::Component::IRC plugin that deals with making sure that your IRC bot stays connected to the IRC network of your choice. It implements the general algorithm as demonstrated at \<http://poe.perl.org/?POE\_Cookbook/IRC\_Bot\_Reconnecting\>.

## METHODS

### "new"

Takes two optional arguments:

**'delay'**, the frequency, in seconds, at which the plugin will ping the IRC server. Defaults to 300.

**'reconnect'**, the time in seconds, to wait before trying to reconnect to the server. Defaults to 60.

**'servers'**, an array reference of IRC servers to consider. Each element should be an array reference containing a server host and (optionally) a port number. The plugin will cycle through this list of servers whenever it reconnects.

Returns a plugin object suitable for use in POE::Component::IRC's `"plugin_add"` method.

### "lag"

Returns the current 'lag' in seconds between sending PINGs to the IRC server and getting PONG responses. Probably not likely to be wholely accurate.

## AUTHOR

Chris "BinGOs" Williams \<chris@bingosnet.co.uk\>

## SEE ALSO

POE::Component::IRC

POE::Component::IRC::Plugin
