1Event(3) User Contributed Perl Documentation Event(3)
2
3
4
6 Net::IRC::Event - A class for passing event data between subroutines
7
9 None yet. These docs are under construction.
10
12 This documentation is a subset of the main Net::IRC documentation. If
13 you haven't already, please "perldoc Net::IRC" before continuing.
14
15 Net::IRC::Event defines a standard interface to the salient information
16 for just about any event your client may witness on IRC. It's about as
17 close as we can get in Perl to a struct, with a few extra nifty fea‐
18 tures thrown in.
19
21 This section is under construction, but hopefully will be finally writ‐
22 ten up by the next release. Please see the "irctest" script and the
23 source for details about this module.
24
26 Net::IRC is an entirely event-based system, which takes some getting
27 used to at first. To interact with the IRC server, you tell Net::IRC's
28 server connection to listen for certain events and activate your own
29 subroutines when they occur. Problem is, this doesn't help you much if
30 you don't know what to tell it to look for. Below is a list of the pos‐
31 sible events you can pass to Net::IRC, along with brief descriptions of
32 each... hope this helps.
33
34 Common events
35
36 · nick
37
38 The "nick" event is triggered when the client receives a NICK mes‐
39 sage, meaning that someone on a channel with the client has changed
40 eir nickname.
41
42 · quit
43
44 The "quit" event is triggered upon receipt of a QUIT message, which
45 means that someone on a channel with the client has disconnected.
46
47 · join
48
49 The "join" event is triggered upon receipt of a JOIN message, which
50 means that someone has entered a channel that the client is on.
51
52 · part
53
54 The "part" event is triggered upon receipt of a PART message, which
55 means that someone has left a channel that the client is on.
56
57 · mode
58
59 The "mode" event is triggered upon receipt of a MODE message, which
60 means that someone on a channel with the client has changed the
61 channel's parameters.
62
63 · topic
64
65 The "topic" event is triggered upon receipt of a TOPIC message,
66 which means that someone on a channel with the client has changed
67 the channel's topic.
68
69 · kick
70
71 The "kick" event is triggered upon receipt of a KICK message, which
72 means that someone on a channel with the client (or possibly the
73 client itself!) has been forcibly ejected.
74
75 · public
76
77 The "public" event is triggered upon receipt of a PRIVMSG message
78 to an entire channel, which means that someone on a channel with
79 the client has said something aloud.
80
81 · msg
82
83 The "msg" event is triggered upon receipt of a PRIVMSG message
84 which is addressed to one or more clients, which means that someone
85 is sending the client a private message. (Duh. :-)
86
87 · notice
88
89 The "notice" event is triggered upon receipt of a NOTICE message,
90 which means that someone has sent the client a public or private
91 notice. (Is that sufficiently vague?)
92
93 · ping
94
95 The "ping" event is triggered upon receipt of a PING message, which
96 means that the IRC server is querying the client to see if it's
97 alive. Don't confuse this with CTCP PINGs, explained later.
98
99 · other
100
101 The "other" event is triggered upon receipt of any number of
102 unclassifiable miscellaneous messages, but you're not likely to see
103 it often.
104
105 · invite
106
107 The "invite" event is triggered upon receipt of an INVITE message,
108 which means that someone is permitting the client's entry into a +i
109 channel.
110
111 · kill
112
113 The "kill" event is triggered upon receipt of a KILL message, which
114 means that an IRC operator has just booted your sorry arse offline.
115 Seeya!
116
117 · disconnect
118
119 The "disconnect" event is triggered when the client loses its con‐
120 nection to the IRC server it's talking to. Don't confuse it with
121 the "leaving" event. (See below.)
122
123 · leaving
124
125 The "leaving" event is triggered just before the client deliber‐
126 ately closes a connection to an IRC server, in case you want to do
127 anything special before you sign off.
128
129 · umode
130
131 The "umode" event is triggered when the client changes its personal
132 mode flags.
133
134 · error
135
136 The "error" event is triggered when the IRC server complains to you
137 about anything. Sort of the evil twin to the "other" event, actu‐
138 ally.
139
140 CTCP Requests
141
142 · cping
143
144 The "cping" event is triggered when the client receives a CTCP PING
145 request from another user. See the irctest script for an example of
146 how to properly respond to this common request.
147
148 · cversion
149
150 The "cversion" event is triggered when the client receives a CTCP
151 VERSION request from another client, asking for version info about
152 its IRC client program.
153
154 · csource
155
156 The "csource" event is triggered when the client receives a CTCP
157 SOURCE request from another client, asking where it can find the
158 source to its IRC client program.
159
160 · ctime
161
162 The "ctime" event is triggered when the client receives a CTCP TIME
163 request from another client, asking for the local time at its end.
164
165 · cdcc
166
167 The "cdcc" event is triggered when the client receives a DCC
168 request of any sort from another client, attempting to establish a
169 DCC connection.
170
171 · cuserinfo
172
173 The "cuserinfo" event is triggered when the client receives a CTCP
174 USERINFO request from another client, asking for personal informa‐
175 tion from the client's user.
176
177 · cclientinfo
178
179 The "cclientinfo" event is triggered when the client receives a
180 CTCP CLIENTINFO request from another client, asking for whatever
181 the hell "clientinfo" means.
182
183 · cerrmsg
184
185 The "cerrmsg" event is triggered when the client receives a CTCP
186 ERRMSG request from another client, notifying it of a protocol
187 error in a preceding CTCP communication.
188
189 · cfinger
190
191 The "cfinger" event is triggered when the client receives a CTCP
192 FINGER request from another client. How to respond to this should
193 best be left up to your own moral stance.
194
195 · caction
196
197 The "caction" event is triggered when the client receives a CTCP
198 ACTION message from another client. I should hope you're getting
199 the hang of how Net::IRC handles CTCP requests by now...
200
201 CTCP Responses
202
203 · crping
204
205 The "crping" event is triggered when the client receives a CTCP
206 PING response from another user. See the irctest script for an
207 example of how to properly respond to this common event.
208
209 · crversion
210
211 The "crversion" event is triggered when the client receives a CTCP
212 VERSION response from another client.
213
214 · crsource
215
216 The "crsource" event is triggered when the client receives a CTCP
217 SOURCE response from another client.
218
219 · crtime
220
221 The "crtime" event is triggered when the client receives a CTCP
222 TIME response from another client.
223
224 · cruserinfo
225
226 The "cruserinfo" event is triggered when the client receives a CTCP
227 USERINFO response from another client.
228
229 · crclientinfo
230
231 The "crclientinfo" event is triggered when the client receives a
232 CTCP CLIENTINFO response from another client.
233
234 · crfinger
235
236 The "crfinger" event is triggered when the client receives a CTCP
237 FINGER response from another client. I'm not even going to consider
238 making a joke about this one.
239
240 DCC Events
241
242 · dcc_open
243
244 The "dcc_open" event is triggered when a DCC connection is estab‐
245 lished between the client and another client.
246
247 · dcc_update
248
249 The "dcc_update" event is triggered when any data flows over a DCC
250 connection. Useful for doing things like monitoring file transfer
251 progress, for instance.
252
253 · dcc_close
254
255 The "dcc_close" event is triggered when a DCC connection closes,
256 whether from an error or from natural causes.
257
258 · chat
259
260 The "chat" event is triggered when the person on the other end of a
261 DCC CHAT connection sends you a message. Think of it as the private
262 equivalent of "msg", if you will.
263
264 Numeric Events
265
266 · There's a whole lot of them, and they're well-described elsewhere.
267 Please see the IRC RFC (1495, at http://cs-ftp.bu.edu/pub/irc/sup‐
268 port/IRC_RFC ) for a detailed description, or the
269 Net::IRC::Event.pm source code for a quick list.
270
272 Conceived and initially developed by Greg Bacon <gbacon@adtran.com> and
273 Dennis Taylor <dennis@funkplanet.com>.
274
275 Ideas and large amounts of code donated by Nat "King" Torkington
276 <gnat@frii.com>.
277
278 Currently being hacked on, hacked up, and worked over by the members of
279 the Net::IRC developers mailing list. For details, see
280 http://www.execpc.com/~corbeau/irc/list.html .
281
283 Up-to-date source and information about the Net::IRC project can be
284 found at http://netirc.betterbox.net/ .
285
287 · perl(1).
288
289 · RFC 1459: The Internet Relay Chat Protocol
290
291 · http://www.irchelp.org/, home of fine IRC resources.
292
293
294
295perl v5.8.8 2004-04-30 Event(3)