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/>