.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Event 3pm" .TH Event 3pm "2008-01-24" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" Net::IRC::Event \- A class for passing event data between subroutines .SH "SYNOPSIS" .IX Header "SYNOPSIS" None yet. These docs are under construction. .SH "DESCRIPTION" .IX Header "DESCRIPTION" This documentation is a subset of the main Net::IRC documentation. If you haven't already, please \*(L"perldoc Net::IRC\*(R" before continuing. .PP Net::IRC::Event defines a standard interface to the salient information for just about any event your client may witness on \s-1IRC\s0. It's about as close as we can get in Perl to a struct, with a few extra nifty features thrown in. .SH "METHOD DESCRIPTIONS" .IX Header "METHOD DESCRIPTIONS" This section is under construction, but hopefully will be finally written up by the next release. Please see the \f(CW\*(C`irctest\*(C'\fR script and the source for details about this module. .SH "LIST OF EVENTS" .IX Header "LIST OF EVENTS" Net::IRC is an entirely event-based system, which takes some getting used to at first. To interact with the \s-1IRC\s0 server, you tell Net::IRC's server connection to listen for certain events and activate your own subroutines when they occur. Problem is, this doesn't help you much if you don't know what to tell it to look for. Below is a list of the possible events you can pass to Net::IRC, along with brief descriptions of each... hope this helps. .Sh "Common events" .IX Subsection "Common events" .IP "\(bu" 4 nick .Sp The \*(L"nick\*(R" event is triggered when the client receives a \s-1NICK\s0 message, meaning that someone on a channel with the client has changed eir nickname. .IP "\(bu" 4 quit .Sp The \*(L"quit\*(R" event is triggered upon receipt of a \s-1QUIT\s0 message, which means that someone on a channel with the client has disconnected. .IP "\(bu" 4 join .Sp The \*(L"join\*(R" event is triggered upon receipt of a \s-1JOIN\s0 message, which means that someone has entered a channel that the client is on. .IP "\(bu" 4 part .Sp The \*(L"part\*(R" event is triggered upon receipt of a \s-1PART\s0 message, which means that someone has left a channel that the client is on. .IP "\(bu" 4 mode .Sp The \*(L"mode\*(R" event is triggered upon receipt of a \s-1MODE\s0 message, which means that someone on a channel with the client has changed the channel's parameters. .IP "\(bu" 4 topic .Sp The \*(L"topic\*(R" event is triggered upon receipt of a \s-1TOPIC\s0 message, which means that someone on a channel with the client has changed the channel's topic. .IP "\(bu" 4 kick .Sp The \*(L"kick\*(R" event is triggered upon receipt of a \s-1KICK\s0 message, which means that someone on a channel with the client (or possibly the client itself!) has been forcibly ejected. .IP "\(bu" 4 public .Sp The \*(L"public\*(R" event is triggered upon receipt of a \s-1PRIVMSG\s0 message to an entire channel, which means that someone on a channel with the client has said something aloud. .IP "\(bu" 4 msg .Sp The \*(L"msg\*(R" event is triggered upon receipt of a \s-1PRIVMSG\s0 message which is addressed to one or more clients, which means that someone is sending the client a private message. (Duh. :\-) .IP "\(bu" 4 notice .Sp The \*(L"notice\*(R" event is triggered upon receipt of a \s-1NOTICE\s0 message, which means that someone has sent the client a public or private notice. (Is that sufficiently vague?) .IP "\(bu" 4 ping .Sp The \*(L"ping\*(R" event is triggered upon receipt of a \s-1PING\s0 message, which means that the \s-1IRC\s0 server is querying the client to see if it's alive. Don't confuse this with \s-1CTCP\s0 PINGs, explained later. .IP "\(bu" 4 other .Sp The \*(L"other\*(R" event is triggered upon receipt of any number of unclassifiable miscellaneous messages, but you're not likely to see it often. .IP "\(bu" 4 invite .Sp The \*(L"invite\*(R" event is triggered upon receipt of an \s-1INVITE\s0 message, which means that someone is permitting the client's entry into a +i channel. .IP "\(bu" 4 kill .Sp The \*(L"kill\*(R" event is triggered upon receipt of a \s-1KILL\s0 message, which means that an \s-1IRC\s0 operator has just booted your sorry arse offline. Seeya! .IP "\(bu" 4 disconnect .Sp The \*(L"disconnect\*(R" event is triggered when the client loses its connection to the \s-1IRC\s0 server it's talking to. Don't confuse it with the \*(L"leaving\*(R" event. (See below.) .IP "\(bu" 4 leaving .Sp The \*(L"leaving\*(R" event is triggered just before the client deliberately closes a connection to an \s-1IRC\s0 server, in case you want to do anything special before you sign off. .IP "\(bu" 4 umode .Sp The \*(L"umode\*(R" event is triggered when the client changes its personal mode flags. .IP "\(bu" 4 error .Sp The \*(L"error\*(R" event is triggered when the \s-1IRC\s0 server complains to you about anything. Sort of the evil twin to the \*(L"other\*(R" event, actually. .Sh "\s-1CTCP\s0 Requests" .IX Subsection "CTCP Requests" .IP "\(bu" 4 cping .Sp The \*(L"cping\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1PING\s0 request from another user. See the irctest script for an example of how to properly respond to this common request. .IP "\(bu" 4 cversion .Sp The \*(L"cversion\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1VERSION\s0 request from another client, asking for version info about its \s-1IRC\s0 client program. .IP "\(bu" 4 csource .Sp The \*(L"csource\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1SOURCE\s0 request from another client, asking where it can find the source to its \&\s-1IRC\s0 client program. .IP "\(bu" 4 ctime .Sp The \*(L"ctime\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1TIME\s0 request from another client, asking for the local time at its end. .IP "\(bu" 4 cdcc .Sp The \*(L"cdcc\*(R" event is triggered when the client receives a \s-1DCC\s0 request of any sort from another client, attempting to establish a \s-1DCC\s0 connection. .IP "\(bu" 4 cuserinfo .Sp The \*(L"cuserinfo\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1USERINFO\s0 request from another client, asking for personal information from the client's user. .IP "\(bu" 4 cclientinfo .Sp The \*(L"cclientinfo\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1CLIENTINFO\s0 request from another client, asking for whatever the hell \*(L"clientinfo\*(R" means. .IP "\(bu" 4 cerrmsg .Sp The \*(L"cerrmsg\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1ERRMSG\s0 request from another client, notifying it of a protocol error in a preceding \&\s-1CTCP\s0 communication. .IP "\(bu" 4 cfinger .Sp The \*(L"cfinger\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1FINGER\s0 request from another client. How to respond to this should best be left up to your own moral stance. .IP "\(bu" 4 caction .Sp The \*(L"caction\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1ACTION\s0 message from another client. I should hope you're getting the hang of how Net::IRC handles \s-1CTCP\s0 requests by now... .Sh "\s-1CTCP\s0 Responses" .IX Subsection "CTCP Responses" .IP "\(bu" 4 crping .Sp The \*(L"crping\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1PING\s0 response from another user. See the irctest script for an example of how to properly respond to this common event. .IP "\(bu" 4 crversion .Sp The \*(L"crversion\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1VERSION\s0 response from another client. .IP "\(bu" 4 crsource .Sp The \*(L"crsource\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1SOURCE\s0 response from another client. .IP "\(bu" 4 crtime .Sp The \*(L"crtime\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1TIME\s0 response from another client. .IP "\(bu" 4 cruserinfo .Sp The \*(L"cruserinfo\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1USERINFO\s0 response from another client. .IP "\(bu" 4 crclientinfo .Sp The \*(L"crclientinfo\*(R" event is triggered when the client receives a \s-1CTCP\s0 \&\s-1CLIENTINFO\s0 response from another client. .IP "\(bu" 4 crfinger .Sp The \*(L"crfinger\*(R" event is triggered when the client receives a \s-1CTCP\s0 \s-1FINGER\s0 response from another client. I'm not even going to consider making a joke about this one. .Sh "\s-1DCC\s0 Events" .IX Subsection "DCC Events" .IP "\(bu" 4 dcc_open .Sp The \*(L"dcc_open\*(R" event is triggered when a \s-1DCC\s0 connection is established between the client and another client. .IP "\(bu" 4 dcc_update .Sp The \*(L"dcc_update\*(R" event is triggered when any data flows over a \s-1DCC\s0 connection. Useful for doing things like monitoring file transfer progress, for instance. .IP "\(bu" 4 dcc_close .Sp The \*(L"dcc_close\*(R" event is triggered when a \s-1DCC\s0 connection closes, whether from an error or from natural causes. .IP "\(bu" 4 chat .Sp The \*(L"chat\*(R" event is triggered when the person on the other end of a \s-1DCC\s0 \s-1CHAT\s0 connection sends you a message. Think of it as the private equivalent of \*(L"msg\*(R", if you will. .Sh "Numeric Events" .IX Subsection "Numeric Events" .IP "\(bu" 4 There's a whole lot of them, and they're well-described elsewhere. Please see the \s-1IRC\s0 \s-1RFC\s0 (1495, at http://cs\-ftp.bu.edu/pub/irc/support/IRC_RFC ) for a detailed description, or the Net::IRC::Event.pm source code for a quick list. .SH "AUTHORS" .IX Header "AUTHORS" Conceived and initially developed by Greg Bacon and Dennis Taylor . .PP Ideas and large amounts of code donated by Nat \*(L"King\*(R" Torkington . .PP Currently being hacked on, hacked up, and worked over by the members of the Net::IRC developers mailing list. For details, see http://www.execpc.com/~corbeau/irc/list.html . .SH "URL" .IX Header "URL" Up-to-date source and information about the Net::IRC project can be found at http://netirc.betterbox.net/ . .SH "SEE ALSO" .IX Header "SEE ALSO" .IP "\(bu" 4 \&\fIperl\fR\|(1). .IP "\(bu" 4 \&\s-1RFC\s0 1459: The Internet Relay Chat Protocol .IP "\(bu" 4 http://www.irchelp.org/, home of fine \s-1IRC\s0 resources.