Event(3)

πŸ“¦
version 0.79 Β· 2 versions
, in fedora 43

πŸ’– NAME πŸ’–

okay bestie, so Net::IRC::Event β€” it's a class for passing event data between subroutines. that's it, that's the whole vibe. ✨


🌸 SYNOPSIS 🌸

literally none yet, bestie 😭 these docs are under construction. we're getting there.


πŸ¦‹ DESCRIPTION πŸ¦‹

so real talk: this documentation is a subset of the main Net::IRC documentation. if you haven't already, please run perldoc Net::IRC before continuing. fr fr, do it first. πŸ™

Net::IRC::Event defines a standard interface to the salient information for just about any event your client may witness on IRC. it's about as close as we can get in Perl to a struct, with a few extra nifty features thrown in. πŸ’…


πŸ‘‘ METHOD DESCRIPTIONS πŸ‘‘

this section is under construction, but hopefully it'll finally be written up by the next release. in the meantime, please see the irctest script and the source for details about this module. iykyk 🫢


🌈 LIST OF EVENTS 🌈

okay so Net::IRC is an entirely event-based system, which takes some getting used to at first, ngl. to interact with the IRC server, you tell Net::IRC's server connection to listen for certain events and 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 β€” triggered when the client receives a NICK message, meaning that someone on a channel with the client has changed eir nickname.
  • quit β€” triggered upon receipt of a QUIT message, which means someone on a channel with the client has disconnected. bye bestie 😭
  • join β€” triggered upon receipt of a JOIN message, which means someone has entered a channel that the client is on.
  • part β€” triggered upon receipt of a PART message, which means someone has left a channel that the client is on.
  • mode β€” triggered upon receipt of a MODE message, which means someone on a channel with the client has changed the channel's parameters.
  • topic β€” triggered upon receipt of a TOPIC message, which means someone on a channel with the client has changed the channel's topic.
  • kick β€” triggered upon receipt of a KICK message, which means someone on a channel with the client (or possibly the client itself!!) has been forcibly ejected. πŸ’€
  • public β€” triggered upon receipt of a PRIVMSG message to an entire channel, which means someone on a channel with the client has said something aloud.
  • msg β€” triggered upon receipt of a PRIVMSG message which is addressed to one or more clients, which means someone is sending the client a private message. (duh. :-)
  • notice β€” triggered upon receipt of a NOTICE message, which means someone has sent the client a public or private notice. (is that sufficiently vague? πŸ™ˆ)
  • ping β€” triggered upon receipt of a PING message, which means the IRC server is querying the client to see if it's alive. don't confuse this with CTCP PINGs, explained later. ⚠️
  • other β€” triggered upon receipt of any number of unclassifiable miscellaneous messages, but you're not likely to see it often.
  • invite β€” triggered upon receipt of an INVITE message, which means someone is permitting the client's entry into a +i channel.
  • kill β€” triggered upon receipt of a KILL message, which means an IRC operator has just booted your sorry arse offline. seeya! πŸ‘‹
  • disconnect β€” triggered when the client loses its connection to the IRC server it's talking to. don't confuse it with the leaving event. (see below.)
  • leaving β€” 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 β€” triggered when the client changes its personal mode flags.
  • error β€” triggered when the IRC server complains to you about anything. sort of the evil twin to the other event, actually. 😈

πŸ’… CTCP Requests πŸ’…

  • cping β€” triggered when the client receives a CTCP PING request from another user. see the irctest script for an example of how to properly respond to this common request.
  • cversion β€” triggered when the client receives a CTCP VERSION request from another client, asking for version info about its IRC client program.
  • csource β€” 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 β€” triggered when the client receives a CTCP TIME request from another client, asking for the local time at its end.
  • cdcc β€” triggered when the client receives a DCC request of any sort from another client, attempting to establish a DCC connection.
  • cuserinfo β€” triggered when the client receives a CTCP USERINFO request from another client, asking for personal information from the client's user.
  • cclientinfo β€” triggered when the client receives a CTCP CLIENTINFO request from another client, asking for whatever the hell "clientinfo" means. 🀷
  • cerrmsg β€” triggered when the client receives a CTCP ERRMSG request from another client, notifying it of a protocol error in a preceding CTCP communication.
  • cfinger β€” 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 β€” triggered when the client receives a CTCP ACTION message from another client. i should hope you're getting the hang of how Net::IRC handles CTCP requests by now... πŸ‘€

πŸŽ€ CTCP Responses πŸŽ€

  • crping β€” triggered when the client receives a CTCP PING response from another user. see the irctest script for an example of how to properly respond to this common event.
  • crversion β€” triggered when the client receives a CTCP VERSION response from another client.
  • crsource β€” triggered when the client receives a CTCP SOURCE response from another client.
  • crtime β€” triggered when the client receives a CTCP TIME response from another client.
  • cruserinfo β€” triggered when the client receives a CTCP USERINFO response from another client.
  • crclientinfo β€” triggered when the client receives a CTCP CLIENTINFO response from another client.
  • crfinger β€” 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 β€” triggered when a DCC connection is established between the client and another client.
  • dcc_update β€” triggered when any data flows over a DCC connection. useful for doing things like monitoring file transfer progress, for instance. πŸ”₯
  • dcc_close β€” triggered when a DCC connection closes, whether from an error or from natural causes.
  • chat β€” triggered when the person on the other end of a DCC CHAT connection sends you a message. think of it as the private equivalent of msg, 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 the Net::IRC::Event.pm source 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 🌟


and that's a wrap bestie πŸ’… this was perl v5.42.0, dated 2025-07-25, from the Event(3) page β€” go slay some IRC events, ily 🫢✨

πŸ“¦ where this page comes from