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