m (→Parameters: Link access levels) |
|||
Line 6: | Line 6: | ||
== Parameters == | == Parameters == | ||
+ | <span style="display: inline-block; width: 105px;"> '''<level>'''</span> - The corresponding {{mIRC|access levels}} for the event to trigger. | ||
+ | |||
<span style="display: inline-block; width: 105px;">'''<matchtext>'''</span>The name of the socket you want the event to trigger on. | <span style="display: inline-block; width: 105px;">'''<matchtext>'''</span>The name of the socket you want the event to trigger on. | ||
Revision as of 07:11, 6 February 2024
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.
Synopsis
ON <level>:SOCKOPEN:<matchtext>:<commands>
Parameters
<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
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.
Examples
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: www.example.com sockwrite -n $sockname Connection: close sockwrite $sockname $crlf } }
Compatibility
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.