Rechercher une page de manuel
POE::Component::IRC::Plugin::Console.3pm
Langue: en
Version: 2008-02-18 (mandriva - 01/05/08)
Section: 3 (Bibliothèques de fonctions)
NAME
POE::Component::IRC::Plugin::Console - A PoCo-IRC plugin that provides a lightweight debugging and control console for POE::Component::IRC bots.SYNOPSIS
use POE qw(Component::IRC Component::IRC::Plugin::Console); my $nickname = 'Flibble' . $$; my $ircname = 'Flibble the Sailor Bot'; my $ircserver = 'irc.blahblahblah.irc'; my $port = 6667; my $bindport = 6969; my @channels = ( '#Blah', '#Foo', '#Bar' ); 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 irc_001 irc_console_service irc_console_connect irc_console_authed irc_console_close irc_console_rw_fail) ], ], ); $poe_kernel->run(); sub _start { $irc->plugin_add( 'Console' => POE::Component::IRC::Plugin::Console->new( bindport => $bindport, password => 'opensesame' ); $irc->yield( register => 'all' ); $irc->yield( connect => { } ); return; } sub irc_001 { $irc->yield( join => $_ ) for @channels; return; } sub irc_console_service { my $getsockname = $_[ARG0]; return; } sub irc_console_connect { my ($peeradr, $peerport, $wheel_id) = @_[ARG0, .. ARG2]; return; } sub irc_console_authed { my $wheel_id = $_[ARG0]; return; } sub irc_console_close { my $wheel_id = $_[ARG0]; return; } sub irc_console_rw_fail { my ($peeradr, $peerport) = @_[ARG0, ARG1]; return; }
DESCRIPTION
POE::Component::IRC::Plugin::Console is a POE::Component::IRC plugin that provides an interactive console running over the loopback network. One connects to the listening socket using a telnet client (or equivalent), authenticateusing the applicable password. Once authed one will receive all events that are processed through the component. One may also issue all the documented component commands.CONSTRUCTOR
- "new"
- Takes two arguments:
'password', the password to set for *all* console connections;
'bindport', specify a particular port to bind to, defaults to 0, ie. randomly allocated;
METHODS
- "getsockname"
- Gives access to the underlying listener's getsockname() method. See POE::Wheel::SocketFactory for details.
EVENTS
The plugin generates the following additional POE::Component::IRC events:- "irc_console_service"
- Emitted when a listener is successfully spawned. ARG0 is the result of getsockname(), see above for details.
- "irc_console_connect"
- Emitted when a client connects to the console. ARG0 is the peeradr, ARG1 is the peer port and ARG2 is the wheel id of the connection.
- "irc_console_authed"
- Emitted when a client has successfully provided a valid password. ARG0 is the wheel id of the connection.
- "irc_console_close"
- Emitted when a client terminates a connection. ARG0 is the wheel id of the connection.
- "irc_console_rw_fail"
- Emitted when a wheel::rw could not be created on a socket. ARG0 is the peeradr, ARG1 is the peer port.
AUTHOR
Chris 'BinGOs' WilliamsSEE ALSO
POE::Component::IRCPOE::Wheel::SocketFactory
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre