NAME
POE::Filter::IRCD - A POE-based parser for the IRC protocol
VERSION
version 2.44
SYNOPSIS
use
POE::Filter::IRCD;
my
$filter
= POE::Filter::IRCD->new(
debug
=> 1,
colonify
=> 0 );
my
$arrayref
=
$filter
->get( [
$hashref
] );
my
$arrayref2
=
$filter
->put(
$arrayref
);
my
(
$filter
) = POE::Filter::Stackable->new();
$filter
->
push
( POE::Filter::Line->new(
InputRegexp
=>
'\015?\012'
,
OutputLiteral
=>
"\015\012"
),
POE::Filter::IRCD->new(), );
DESCRIPTION
POE::Filter::IRCD provides a convenient way of parsing and creating IRC protocol lines. It provides the parsing engine for POE::Component::Server::IRC and POE::Component::IRC. A standalone version exists as Parse::IRC.
CONSTRUCTOR
new
-
Creates a new POE::Filter::IRCD object. Takes two optional arguments:
'debug'
, which will
print
all lines received to STDERR;
'colonify'
, set to 1 to force the filter to always colonify the
last
param passed in a put(),
default
is 0. See below
for
more detail.
METHODS
get_one_start
get_one
get_pending
get
-
Takes an arrayref which is contains lines of IRC formatted input. Returns an arrayref of hashrefs which represents the lines. The hashref contains the following fields:
prefix
command
params ( this is an arrayref )
raw_line
For example, if the filter receives the following line, the following hashref is produced:
LINE:
':moo.server.net 001 lamebot :Welcome to the IRC network lamebot'
HASHREF: {
prefix
=>
':moo.server.net'
,
command
=>
'001'
,
params
=> [
'lamebot'
,
'Welcome to the IRC network lamebot'
],
raw_line
=>
':moo.server.net 001 lamebot :Welcome to the IRC network lamebot'
,
}
put
-
Takes an arrayref containing hashrefs of IRC data and returns an arrayref containing IRC formatted lines. Optionally, one can specify 'colonify' to override the global colonification option. eg.
$hashref
= {
command
=>
'PRIVMSG'
,
prefix
=>
'FooBar!foobar@foobar.com'
,
params
=> [
'#foobar'
,
'boo!'
],
colonify
=> 1,
# Override the global colonify option for this record only.
};
$filter
->put( [
$hashref
] );
clone
-
Makes a copy of the filter, and clears the copy's buffer.
debug
-
With a true or false argument, enables or disables debug output respectively. Without an argument the behaviour is to toggle the debug status.
SEE ALSO
AUTHOR
Chris Williams <chris@bingosnet.co.uk>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Chris Williams and Jonathan Steinert.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.