Event(3pm)
π Net::IRC::Event β event data goes β¨back and forthβ¨ between your subs
okay bestie, this is the Net::IRC::Event page from the Net::IRC manual set (section 3pm, the Perl module pages) β literally a whole class whose only job is carrying event data between your subroutines. it's giving "glorified envelope" and honestly? iconic.
π NAME
Net::IRC::Event β a class for passing event data between subroutines.
β¨ SYNOPSIS
no synopsis yet. the docs are literally under construction, bestie. we're all just vibing here.
π¦ DESCRIPTION
so quick heads up: this documentation is a subset of the main Net::IRC documentation. if you haven't already, please run perldoc Net::IRC before you keep scrolling. fr fr. π
Net::IRC::Event defines a standard interface to the salient information for basically any event your client might witness on IRC. it's about as close as we can get in Perl to a struct, but with a few extra nifty features thrown in. like a struct but with main character energy. β¨
π METHOD DESCRIPTIONS
this section is under construction too π but hopefully it'll finally be written up by the next release. in the meantime, please look at the irctest script and the source for details about this module. iykyk.
πΈ LIST OF EVENTS
Net::IRC is an entirely event-based system, which takes some getting used to at first. to interact with the IRC server, you tell Net::IRC's server connection to listen for certain events and to activate your own subroutines when they occur. problem is... that doesn't help you much if you don't know what to tell it to look for. π
so below is a list of the possible events you can pass to Net::IRC, along with brief descriptions of each... hope this helps. π«Ά
π Common events
nickβ thenickevent is triggered when the client receives aNICKmessage, meaning that someone on a channel with the client has changed eir nickname.quitβ thequitevent is triggered upon receipt of aQUITmessage, which means that someone on a channel with the client has disconnected.joinβ thejoinevent is triggered upon receipt of aJOINmessage, which means that someone has entered a channel that the client is on.partβ thepartevent is triggered upon receipt of aPARTmessage, which means that someone has left a channel that the client is on.modeβ themodeevent is triggered upon receipt of aMODEmessage, which means that someone on a channel with the client has changed the channel's parameters.topicβ thetopicevent is triggered upon receipt of aTOPICmessage, which means that someone on a channel with the client has changed the channel's topic.kickβ thekickevent is triggered upon receipt of aKICKmessage, which means that someone on a channel with the client (or possibly the client itself!) has been forcibly ejected. πpublicβ thepublicevent is triggered upon receipt of aPRIVMSGmessage to an entire channel, which means that someone on a channel with the client has said something aloud.msgβ themsgevent is triggered upon receipt of aPRIVMSGmessage which is addressed to one or more clients, which means that someone is sending the client a private message. (duh. :-)noticeβ thenoticeevent is triggered upon receipt of aNOTICEmessage, which means that someone has sent the client a public or private notice. (is that sufficiently vague?)pingβ thepingevent is triggered upon receipt of aPINGmessage, which means that the IRC server is querying the client to see if it's alive. don't confuse this with CTCP PINGs, explained later.otherβ theotherevent is triggered upon receipt of any number of unclassifiable miscellaneous messages, but you're not likely to see it often.inviteβ theinviteevent is triggered upon receipt of anINVITEmessage, which means that someone is permitting the client's entry into a+ichannel.killβ thekillevent is triggered upon receipt of aKILLmessage, which means that an IRC operator has just booted your sorry arse offline. seeya! πdisconnectβ thedisconnectevent is triggered when the client loses its connection to the IRC server it's talking to. don't confuse it with theleavingevent. (see below.)leavingβ theleavingevent is triggered just before the client deliberately closes a connection to an IRC server, in case you want to do anything special before you sign off.umodeβ theumodeevent is triggered when the client changes its personal mode flags.errorβ theerrorevent is triggered when the IRC server complains to you about anything. sort of the evil twin to theotherevent, actually. π
π§ CTCP Requests
cpingβ thecpingevent is triggered when the client receives a CTCP PING request from another user. see theirctestscript for an example of how to properly respond to this common request.cversionβ thecversionevent is triggered when the client receives a CTCP VERSION request from another client, asking for version info about its IRC client program.csourceβ thecsourceevent is triggered when the client receives a CTCP SOURCE request from another client, asking where it can find the source to its IRC client program.ctimeβ thectimeevent is triggered when the client receives a CTCP TIME request from another client, asking for the local time at its end.cdccβ thecdccevent is triggered when the client receives a DCC request of any sort from another client, attempting to establish a DCC connection.cuserinfoβ thecuserinfoevent is triggered when the client receives a CTCP USERINFO request from another client, asking for personal information from the client's user.cclientinfoβ thecclientinfoevent is triggered when the client receives a CTCP CLIENTINFO request from another client, asking for whatever the hellclientinfomeans.cerrmsgβ thecerrmsgevent is triggered when the client receives a CTCP ERRMSG request from another client, notifying it of a protocol error in a preceding CTCP communication.cfingerβ thecfingerevent is triggered when the client receives a CTCP FINGER request from another client. how to respond to this should best be left up to your own moral stance. π«£cactionβ thecactionevent is triggered when the client receives a CTCP ACTION message from another client. i should hope you're getting the hang of howNet::IRChandles CTCP requests by now...
π CTCP Responses
crpingβ thecrpingevent is triggered when the client receives a CTCP PING response from another user. see theirctestscript for an example of how to properly respond to this common event.crversionβ thecrversionevent is triggered when the client receives a CTCP VERSION response from another client.crsourceβ thecrsourceevent is triggered when the client receives a CTCP SOURCE response from another client.crtimeβ thecrtimeevent is triggered when the client receives a CTCP TIME response from another client.cruserinfoβ thecruserinfoevent is triggered when the client receives a CTCP USERINFO response from another client.crclientinfoβ thecrclientinfoevent is triggered when the client receives a CTCP CLIENTINFO response from another client.crfingerβ thecrfingerevent is triggered when the client receives a CTCP FINGER response from another client. i'm not even going to consider making a joke about this one. π
π DCC Events
dcc_openβ thedcc_openevent is triggered when a DCC connection is established between the client and another client.dcc_updateβ thedcc_updateevent is triggered when any data flows over a DCC connection. useful for doing things like monitoring file transfer progress, for instance.dcc_closeβ thedcc_closeevent is triggered when a DCC connection closes, whether from an error or from natural causes.chatβ thechatevent is triggered when the person on the other end of a DCC CHAT connection sends you a message. think of it as the private equivalent ofmsg, if you will.
β Numeric Events
- there's a whole lot of them, and they're well-described elsewhere. please see the IRC RFC (1495, at
http://cs-ftp.bu.edu/pub/irc/support/IRC_RFC) for a detailed description, or theNet::IRC::Event.pmsource code for a quick list.
π AUTHORS
conceived and initially developed by Greg Bacon <gbacon@adtran.com> and Dennis Taylor <dennis@funkplanet.com>.
ideas and large amounts of code donated by Nat "King" Torkington <gnat@frii.com>.
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 .
π URL
up-to-date source and information about the Net::IRC project can be found at http://netirc.betterbox.net/ .
π«Ά SEE ALSO
perl(1).- RFC 1459: The Internet Relay Chat Protocol
http://www.irchelp.org/, home of fine IRC resources.
okay that's the whole page, no skips, no cuts, every single event accounted for π
this was built against perl v5.36.0 and dated 2022-10-15, so if you're reading this from the future... bestie, upgrade your perl. periodt. β¨π¦
π¦ where this page comes from
- ubuntu noble: libnet-irc-perl 0.79-4 Β· Artistic-1.0-Perl
- ubuntu resolute: libnet-irc-perl 0.79-4 Β· Artistic-1.0-Perl
- ubuntu stonking: libnet-irc-perl 0.79-4 Β· Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms