From WikiChip
On Sockopen - Events - mIRC
< mirc‎ | on events
Revision as of 08:12, 6 February 2024 by KindOne (talk | contribs) (Parameters: Correct typo)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The ON SOCKOPEN event triggers when a TCP socket connection initiated with /sockopen is either successfull or failed. This event also trigger after an SSL negociation (STARTTLS feature) is finished, you can check $sock().starttls which will be set to $true if the negociation was successful.


ON <level>:SOCKOPEN:<matchtext>:<commands>


<level>The corresponding access levels for the event to trigger.

<matchtext>The name of the socket you want the event to trigger on.

<commands>The commands to be performed when the event listener's criteria is met.

Connection State[edit]

Because the sockopen event triggers for failed connections as well as successful connections, it's important to check the value of $sockerr before continuing with any commands. Here is a list of the possible values returned by $sockerr in the on SOCKOPEN event:

  • 0 - Success.
  • 3 - Failure establishing socket connection: $sock($sockname).wsmsg will contain a more specific error message.
  • 4 - Error resolving given hostname.


on *:sockopen:example:{
  ;if an error occurred ($sockerr is not 0)
  if ($sockerr) {
    if ($sockerr == 3) {
      echo -s An error occurred while trying to connect: $sock($sockname).wsmsg
    elseif ($sockerr == 4) {
      echo -s Error resolving hostname
  ;no error occurred ($sockerr was 0)
  else {
    ;perform commands after establishing a connection.
    ;usually this involves making a request for a webpage as shown below:
    sockwrite -n $sockname GET / HTTP/1.1
    sockwrite -n $sockname Host:
    sockwrite -n $sockname Connection: close
    sockwrite    $sockname $crlf


Added: mIRC v3.5
Added on: 07 Aug 1995
Note: Unless otherwise stated, this was the date of original functionality.
Further enhancements may have been made in later versions.

See Also[edit]