debian man page for poe::component::irc::plugin::proxy

Query: poe::component::irc::plugin::proxy

OS: debian

Section: 3pm

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

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

NAME
POE::Component::IRC::Plugin::Proxy - A PoCo-IRC plugin that provides a lightweight IRC proxy/bouncer
SYNOPSIS
use strict; use warnings; use POE qw(Component::IRC::State Component::IRC::Plugin::Proxy Component::IRC::Plugin::Connector); my $irc = POE::Component::IRC::State->spawn(); POE::Session->create( package_states => [ main => [ qw(_start) ], ], heap => { irc => $irc }, ); $poe_kernel->run(); sub _start { my ($kernel, $heap) = @_[KERNEL, HEAP]; $heap->{irc}->yield( register => 'all' ); $heap->{proxy} = POE::Component::IRC::Plugin::Proxy->new( bindport => 6969, password => "m00m00" ); $heap->{irc}->plugin_add( 'Connector' => POE::Component::IRC::Plugin::Connector->new() ); $heap->{irc}->plugin_add( 'Proxy' => $heap->{proxy} ); $heap->{irc}->yield ( connect => { Nick => 'testbot', Server => 'someserver.com' } ); return; }
DESCRIPTION
POE::Component::IRC::Plugin::Proxy is a POE::Component::IRC plugin that provides lightweight IRC proxy/bouncer server to your POE::Component::IRC bots. It enables multiple IRC clients to be hidden behind a single IRC client-server connection. Spawn a POE::Component::IRC::State session and add in a POE::Component::IRC::Plugin::Proxy plugin object, specifying a bindport and a password the connecting IRC clients have to use. When the component is connected to an IRC network a listening port is opened by the plugin for multiple IRC clients to connect. Neat, huh? >;o) This plugin will activate POE::Component::IRC's raw events ("irc_raw") by calling "$irc->raw_events(1)". This plugin requires the IRC component to be POE::Component::IRC::State or a subclass thereof.
METHODS
"new" Takes a number of arguments: 'password', the password to require from connecting clients; 'bindaddress', a local address to bind the listener to, default is 'localhost'; 'bindport', what port to bind to, default is 0, ie. randomly allocated by OS; Returns an object suitable for passing to POE::Component::IRC's "plugin_add" method. "getsockname" Takes no arguments. Accesses the listeners "getsockname" method. See POE::Wheel::SocketFactory for details of the return value; "list_wheels" Takes no arguments. Returns a list of wheel ids of the current connected clients. "wheel_info" Takes one parameter, a wheel ID to query. Returns undef if an invalid wheel id is passed. In a scalar context returns the time that the client connected in unix time. In a list context returns a list consisting of the peer address, port, tthe connect time and the lag in seconds for that connection.
OUTPUT EVENTS
The plugin emits the following POE::Component::IRC events: "irc_proxy_up" Emitted when the listener is successfully started. "ARG0" is the result of the listener "getsockname". "irc_proxy_connect" Emitted when a client connects to the listener. "ARG0" is the wheel ID of the client. "irc_proxy_rw_fail" Emitted when the POE::Wheel::ReadWrite fails on a connection. "ARG0" is the wheel ID of the client. "irc_proxy_authed" Emitted when a connecting client successfully negotiates an IRC session with the plugin. "ARG0" is the wheel ID of the client. "irc_proxy_close" Emitted when a connected client disconnects. "ARG0" is the wheel ID of the client. "irc_proxy_down" Emitted when the listener is successfully shutdown. "ARG0" is the result of the listener "getsockname".
QUIRKS
Connecting IRC clients will not be able to change nickname. This is a feature.
AUTHOR
Chris 'BinGOs' Williams
SEE ALSO
POE::Component::IRC POE::Component::IRC::State perl v5.14.2 2011-12-07 POE::Component::IRC::Plugin::Proxy(3pm)
Related Man Pages
poe::component::irc::cookbook::seen(3pm) - debian
poe::component::irc::cookbook::translator(3pm) - debian
poe::component::irc::plugin::ctcp(3pm) - debian
poe::component::irc::plugin::connector(3pm) - debian
poe::component::irc::plugin::logger(3pm) - debian
Similar Topics in the Unix Linux Community
Where is Mozilla IRC Client on SuSE?
DMDirc 0.5.5 (Default branch)
Restlet 1.1 M2 (Development branch)
Restlet 1.0.9 (Default branch)
ctrlproxy 3.0.6 (Default branch)