man POE::Component::IRC::Qnet::State () - a fully event-driven IRC client module for Quakenet, with nickname and channel tracking from POE::Component::IRC::State.
NAME
POE::Component::IRC::Qnet::State - a fully event-driven IRC client module for Quakenet, with nickname and channel tracking from POE::Component::IRC::State.
SYNOPSIS
use POE::Component::IRC::Qnet::State;
# Do this when you create your sessions. 'my client' is just a # kernel alias to christen the new IRC connection with. my ($object) = POE::Component::IRC::Qnet::State->new('my client') or die "Oh noooo! $!";
# Do stuff like this from within your sessions. This line tells the # connection named "my client" to send your session the following # events when they happen. $kernel->post('my client', 'register', qw(connected msg public cdcc cping)); # You can guess what this line does. $kernel->post('my client', 'connect', { Nick => 'Boolahman', Server => 'irc-w.primenet.com', Port => 6669, Username => 'quetzal', Ircname => 'Ask me about my colon!', } );
DESCRIPTION
POE::Component::IRC::Qnet::State is an extension to POE::Component::IRC::Qnet specifically for use on Quakenet <http://www.quakenet.org/>, which includes the nickname and channel tracking from POE::Component::IRC::State. See the documentation for POE::Component::IRC::Qnet and POE::Component::IRC::State for general usage. This document covers the extensions.
METHODS
- is_nick_authed
- Expects a nickname as parameter. Will return that users authname ( account ) if that nick is in the state and have authed with Q. Returns undef if the user is not authed or the nick doesn't exist in the state.
- nick_info
- Expects a nickname. Returns a hashref containing similar information to that returned by WHOIS. Returns an undef if the nickname doesn't exist in the state. The hashref contains the following keys: 'Nick', 'User', 'Host', 'Se rver', 'Auth', if authed, and, if applicable, 'IRCop'.
OUTPUT
This module returns one additional event over and above the usual events:
- irc_nick_authed
- Sent when the component detects that a user has authed with Q. Due to the mechanics of Quakenet you will usually only receive this if an unauthed user joins a channel, then at some later point auths with Q. The component 'detects' the auth by seeing if Q or L decides to +v or +o the user. Klunky? Indeed. But it is the only way to do it, unfortunately.
CAVEATS
Like POE::Component::IRC::State this component registers itself for a number of events. The main difference with POE::Component::IRC::State is that it uses an extended form of 'WHO' supported by the Quakenet ircd, asuka. This WHO returns a different numeric reply than the original WHO, namely, 'irc_354'. Also, due to the way Quakenet is configured all users will appear to be on the server '*.quakenet.org'.
BUGS
A few have turned up in the past and they are sure to again. Please use <http://rt.cpan.org/> to report any. Alternatively, email the current maintainer.
AUTHOR
Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
Based on the original POE::Component::IRC by:
Dennis Taylor, <dennis@funkplanet.com>
SEE ALSO
POE::Component::IRC POE::Component::IRC::State POE::Component::IRC::Qnet <http://www.quakenet.org/>