1POE::Filter::IRC::CompaUts(e3r)Contributed Perl DocumentPaOtEi:o:nFilter::IRC::Compat(3)
2
3
4
6 POE::Filter::IRC::Compat - A filter which converts POE::Filter::IRCD
7 output into POE::Component::IRC events
8
10 my $filter = POE::Filter::IRC::Compat->new();
11 my @events = @{ $filter->get( [ @lines ] ) };
12 my @msgs = @{ $filter->put( [ @messages ] ) };
13
15 POE::Filter::IRC::Compat is a POE::Filter that converts
16 POE::Filter::IRCD output into the POE::Component::IRC compatible event
17 references. Basically a hack, so I could replace POE::Filter::IRC with
18 something that was more generic.
19
20 Among other things, it converts normal text into thoroughly CTCP-quoted
21 messages, and transmogrifies CTCP-quoted messages into their normal,
22 sane components. Rather what you'd expect a filter to do.
23
24 A note: the CTCP protocol sucks bollocks. If I ever meet the fellow who
25 came up with it, I'll shave their head and tattoo obscenities on it.
26 Just read the "specification" (docs/ctcpspec.html in this distribution)
27 and you'll hopefully see what I mean. Quote this, quote that, quote
28 this again, all in different and weird ways... and who the hell needs
29 to send mixed CTCP and text messages? WTF? It looks like it's
30 practically complexity for complexity's sake -- and don't even get me
31 started on the design of the DCC protocol! Anyhow, enough ranting. Onto
32 the rest of the docs...
33
35 "new"
36 Returns a POE::Filter::IRC::Compat object. Takes no arguments.
37
38 "clone"
39 Makes a copy of the filter, and clears the copy's buffer.
40
41 "get"
42 Takes an arrayref of POE::Filter::IRCD hashrefs and produces an
43 arrayref of POE::Component::IRC compatible event hashrefs. Yay.
44
45 "get_one_start", "get_one"
46 These perform a similar function as "get" but enable the filter to work
47 with POE::Filter::Stackable.
48
49 "put"
50 Takes an array reference of CTCP messages to be properly quoted. This
51 doesn't support CTCPs embedded in normal messages, which is a brain-
52 dead hack in the protocol, so do it yourself if you really need it.
53 Returns an array reference of the quoted lines for sending.
54
55 "debug"
56 Takes an optinal true/false value which enables/disables debugging
57 accordingly. Returns the debug status.
58
59 "chantypes"
60 Takes an arrayref of possible channel prefix indicators.
61
62 "identifymsg"
63 Takes a boolean to turn on/off the support for CAPAB IDENTIFY-MSG.
64
66 Chris 'BinGOs' Williams
67
69 POE::Filter::IRCD
70
71 POE::Filter
72
73 POE::Filter::Stackable
74
75
76
77perl v5.32.0 2020-07-28 POE::Filter::IRC::Compat(3)