Difference between revisions of "Mircdb"

From Scriptwiki
Jump to: navigation, search
m (adding info on what db this is, the format used)
m (added link to mIRC version history)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
This is a copy of the database with information on mIRC. This database is used for the mirc command on Dana. For now, the actual database on Dana needs to be manually updated when changes are made here.
+
This is a copy of the database with information on mIRC.
  
When updating the database in this article, only update a single entry at a time, clearly describing what entry has been changed and if applicable what mIRC version. Please keep in mind this info is shown on IRC, so an entry must not have too much info/lines, also keep an eye on the length of the lines. Please keep the database in an alphabetical order.
+
This database is used for the mirc command on Dana.
  
The format of this database is as follows: The ¶ is used to mark the start of a new entry, an entry can have multiple lines.
+
The actual database on Dana needs to be manually updated when changes are made here.
 +
 
 +
When updating the database in this article, only update a single entry at a time, clearly describing what entry has been changed and if applicable what mIRC version.
 +
 
 +
Keep in mind this info is shown on IRC, so an entry must not have too much info/lines, also keep an eye on the length of the lines.
 +
 
 +
Keep the database in an alphabetical order (it seems to be the same order the help file index is).
 +
 
 +
The format of this database is as follows:
 +
 
 +
The ¶ sign is used to mark the start of a new entry, an entry can have multiple lines.
 +
 
 +
The first entry should be 'about' and contain info on what mIRC version the database is based on and when it was last edited.
 +
 
 +
Database is based on mIRC 6.31 (last updated on 6 Feb 2008). Update this line and the about entry when making changes in the database.
 +
 
 +
[http://www.mirc.com/versions.txt mIRC version history]
  
 
An example/guideline for an identifier:  
 
An example/guideline for an identifier:  
Line 39: Line 55:
 
Triggers when a user is kicked from a channel.
 
Triggers when a user is kicked from a channel.
 
</pre>
 
</pre>
 
Database is based on mIRC 6.31 (last updated on 6 Feb 2008). The first entry should be 'mirc' and contains info on what mIRC version it is based on and when it was last edited.
 
  
 
Here starts the database itself.  
 
Here starts the database itself.  
  
 
<pre>
 
<pre>
¶mirc
+
¶about
 
This quick reference database is based on mIRC (version 6.31), last edited on 6 Feb 2008.
 
This quick reference database is based on mIRC (version 6.31), last edited on 6 Feb 2008.
 
¶!
 
¶!

Latest revision as of 18:27, 2 March 2011

This is a copy of the database with information on mIRC.

This database is used for the mirc command on Dana.

The actual database on Dana needs to be manually updated when changes are made here.

When updating the database in this article, only update a single entry at a time, clearly describing what entry has been changed and if applicable what mIRC version.

Keep in mind this info is shown on IRC, so an entry must not have too much info/lines, also keep an eye on the length of the lines.

Keep the database in an alphabetical order (it seems to be the same order the help file index is).

The format of this database is as follows:

The ¶ sign is used to mark the start of a new entry, an entry can have multiple lines.

The first entry should be 'about' and contain info on what mIRC version the database is based on and when it was last edited.

Database is based on mIRC 6.31 (last updated on 6 Feb 2008). Update this line and the about entry when making changes in the database.

mIRC version history

An example/guideline for an identifier:

¶$abs
$abs(N)
Returns the absolute value of number N.

An example/guideline for a command:

¶/break
/break
You can use /break to break out of the current loop, and /continue to jump to the beginning of the loop.

An example/guideline for an operator:

¶<
string <v1> is less than string <v2>
if (<v1> < <v2>) { <commands> } 

An example/guideline for a prefix:

¶@
@ prefix can be used to only trigger the event if you are opped on the channel. so it is the same as using if ($me isop $chan) { <commands> }
on @*:JOIN:#:{ mode $chan +v $nick }

An example/guideline for an event:

¶on KICK
on [<prefixes>]<level>:KICK:<channel>[,<channel>]:{ <commands> }
Triggers when a user is kicked from a channel.

Here starts the database itself.

¶about
This quick reference database is based on mIRC (version 6.31), last edited on 6 Feb 2008.
¶!
! prefix can be used to make an event not get triggered by yourself. on !*:JOIN:#:{ echo $chan $nick joined $chan }
! suffix prevents commands for a certain event level from being processed by using the ! suffix. ctcp 5:*:*:!
¶!=
string <v1> is not equal to string <v2>
if (<v1> != <v2>) { <commands> }
¶!===
string <v1> is not equal to string <v2> (case-sensitive)
if (<v1> !=== <v2>) { <commands> }
¶$
$ prefix indicates that the matchtext section of a definition contains a regular expression. The 'm' and switches are optional. The // are required. If switches are used they must be standard PCRE switches, otherwise the match will fail. You can use switch 'S' to strip control codes from $1-.
on $*:TEXT:m/regular expression/switches:#:{ echo message: $1- }
¶$!
$!
Returns what was entered in the last $? input request box.
¶$$
$$
$$1 for example means that this command will only be executed if a parameter is specified. If you specify only one parameter in the above command it will not be executed.
¶$&
$& Allows you to break up a single line into multiple lines which are combined when the script is performed.
¶$(...)
$(...)
This identifier can only be used in the text match section of an event definition. It allows you to create a match parameter dynamically. You can use $1- to reference the incoming line.
¶$*
$*
Perfoms a loop through all tokens in $1-. Example: //tokenize 32 a b c d | echo -a $*
¶$+
string1 $+ string2 or $+(n1,...,nN)
Combines all of the specified parameters, the same as using $+ in between each item.
¶$0
$0
Returns the number of space-delimited tokens in the $1- line.
¶$1-
$1-
You can use the $1 $2 ... $N identifiers to refer to individual parameters in a line. You can also use $N- to refer to parameters N and onwards, and $N-M to refer to parameters $N through to $M. So to refer to a whole line, you would use $1-.
¶$?
$?*!="message"
Prompts the user for input and returns the result. The *  makes any text that the user types into the editbox appear as ***** characters to prevent anyone seeing what is being entered. The ! makes a Yes/No dialog pops up. If the user clicks on Yes, $true is returned, otherwise $false is returned.
¶$?1
$?1
Means try to fill this value with parameter one if it exists. If parameter one doesnt exist, ask for it.
¶$abook
$abook(nick,N)
Returns information about nicknames listed in the address book. Properties: nick, info, email, website, picture, noteN. Allowed formats: $abook(nick) $abook(N) $abook(nick,N) where nick can also be a wildcard.
¶$abs
$abs(N)
Returns the absolute value of number N.
¶$acos
$acos(N)
Return the arccosine of N. Properties: deg.
¶$active
$active
Returns the full name of the currently active window in mIRC.
¶$activecid
$activecid
Returns the full name of the currently active window of the server connection id for the current script.
¶$activewid
$activewid
Returns window id for the currently active window.
¶$adate
$adate
Returns the date in a US format, MM/DD/YYYY.
¶$address
$address Returns the address of the user associated with an event in the form user@host.
$address(nickname,type) Searches the Internal Address List for the address associated with the specified nickname and returns it in the specified mask type. see $mask for a list of availabe types.
¶$addtok
$addtok(text,token,C)
Adds a token to the end of text but only if it's not already in text. The C parameter is the ascii value of the character separating the tokens. $addtokcs() is the case-sensitive version.
¶$addtokcs
$addtok(text,token,C)
Adds a token to the end of text but only if it's not already in text. The C parameter is the ascii value of the character separating the tokens. $addtokcs() is the case-sensitive version.
¶$agent
$agent(N).char Returns the filename of the Nth available agent installed on your system.
$agent(name) Returns information about a currently loaded agent.
$agent(name,N) Returns information on animations and queued lines for an agent. Properties: anim, line
¶$agentname
$agentname
Returns the name of the agent in an on AGENT event.
¶$agentstat
$agentstat
Returns 1 if Agent is ready, or 0 if busy/speaking.
¶$agentver
$agentver
Returns the version of the Agent installed on your system, 0 if not installed.
¶$alias
$alias(N/filename)
Returns the filename for the Nth loaded alias file. If you specify a filename, it returns $null if the file isn't loaded.
¶$and
$and(A,B)
Returns A binary and B.
¶$anick
$anick
Returns your alternate nickname.
¶$ansi2mirc
$ansi2mirc(text)
Returns text with the ANSI codes converted into mIRC color codes.
¶$aop
$aop Returns $true if auto-op is enabled, and $false if it isn't.
$aop(address/N) identifier returns any matching address in the list, or the Nth address. The .type property returns the list of channels. The .network property returns the associated network, if any.
¶$appactive
$appactive
Returns $true if mIRC is the active application, otherwise it returns $false.
¶$appstate
$appstate
Returns the display state of the mIRC window: minimized, maximized, normal, hidden, or tray.
¶$asc
$asc(C)
Returns the ascii number of the character C.
¶$asctime
$asctime(N,format)
Returns the time and date in text format associated with the $ctime time value.
¶$asin
$asin(N)
Return the arcsine of N.Properties: deg.
¶$atan
$atan(N)
Return the arctangent of N. Properties: deg.
¶$auto
/auto and $auto were replaced by /aop and $aop.
¶$avoice
$avoice identifier returns $true if auto-voice is enabled, and $false if it isn't.
$avoice(address/N) The $avoice(address/N) identifier returns any matching address in the list, or the Nth address. The .type property returns the list of channels.
¶$away
$away
Returns the value $true or $false depending on whether you are marked as away or not. You can also use $awaymsg and $awaytime to return your current away settings.
¶$awaymsg
$awaymsg
Returns your away message.
¶$awaytime
$awaytime
Returns your away time in seconds.
¶$banlist
$banlist
This identifier is the same as $ibl.
¶$banmask
$banmask
Returns the ban being set/unset in an ban/unban event.
¶$base
$base(N,inbase,outbase,zeropad,precision)
Converts number N from inbase to outbase. The last two parameters are optional.
¶$beta
$beta
Returns $true (?) if you are running a beta version of mIRC, else $null.
¶$bfind
$bfind(&binvar, N, M)
Searches a &binvar for a matching value, starting from position N. M can be a character value, ie. 0 to 255, or text. The search is case-insensitive.
¶$bitoff
$bitoff(A,N)
Returns the A value with the Nth bit turned off.
¶$biton
$biton(A,N)
Returns the A value with the Nth bit turned on.
¶$bits
$bits
Returns what bitversion of mIRC you are using (since mIRC 6.x is only 32bit).
¶$bnick
$bnick
Returns the banned users nickname, however this would actually only be filled if the banmask itself includes a nickname. If the banmask does not include a nickname, $bnick is $null.
¶$bvar
$bvar(&binvar,N,M)
Returns M ascii values starting from the Nth byte. Properties: text, word, nword, long, nlong.
¶$bytes
$bytes(N,bkmgt3d)
Returns comma formatted file-size. The bkmgt options return the result as bytes, kilobytes, Megabytes, Gigabytes, Terabytes. The .suf property appends the b, k, M, G, T suffixes to the result. The 3 option returns a result in 3 digit format. The d option retains decimal point values.
¶$calc
$calc(operations)
Returns the result of the specified operations. This identifiers allows you to perform multiple operations easily.
¶$cancel
$cancel
May be returned by an $input() request.
¶$cb
$cb Returns the first 256 characters of the clipboard contents.
$cb(N,u) Returns $crlf delimited lines from text currently in the clipboard. Properties: len. The u option indicates UTF-8 text should be returned.
¶$cd
$cd
Returns the current directory a fileserve is in.
¶$ceil
$ceil
Returns N rounded to the next highest integer.
¶$chan
$chan Returns the name of the channel for a specific event. For all non-channel events $chan will be $null.
$chan(N/#) Returns information on channels that you are currently on. Properties: topic, mode, key, limit, ial, logfile, stamp, ibl, status, inwho, wid, cid, hwnd, ibl, iel, iil, status.
¶$chanmodes
$chanmodes
mIRC supports numeric 005 token CHANMODES, and can handle a dynamic set of channel modes. $chanmodes returns the list of supported channel modes, eg. '+k moo' to set the channel key to 'moo'. When not connected to a server, mIRC uses a default $chanmodes value of CHANMODES=bIe,k,l.
¶$chantypes
$chantypes
mIRC supports numeric 005 token CHANTYPES, and can handle a dynamic set of channel prefixes. $chantypes returns the list of channel prefixes which can be joined, eg. #mIRC, &mIRC. When not connected to a server, mIRC uses a default $chantypes value of CHANTYPES=#&.
¶$chat
$chat(N/nick[,N])
Returns the name of the Nth open dcc chat window. Properties: ip, status, logfile, stamp, wid, cid, hwnd.
¶$chr
$chr(N)
Returns the character with ascii number N.
¶$cid
$cid
Returns the server connection id for the current script.
¶$clevel
$clevel
Returns the matching event level for a triggered event.
¶$click
$click(@,N)
This stores a history of x,y clicks for a window.
¶$cmdbox
$cmdbox
Returns $true if a command or script was initiated via the command editbox in a channel window.
¶$cmdline
$cmdline
Returns the command line that was passed to mIRC when it was first run.
¶$cnick
$cnick(N/nick, M)
Returns Nth nick in nick color list, or if nick is specified returns Nth position of item in list that matches nick. If nick doesn't match any items, returns zero. Properties: color, modes, levels, method, anymode, nomode, ignore, op, voice, protect, notify, idle.
¶$color
$color(name/N)
Returns the Nth color index of the specified color name eg. $color(action text). If you don't specify the full name the first partial match is returned eg. $color(action). If you specify an N value, returns the RGB value for the Nth color box. Property dd returns double-digit format.
¶$colour
$color(name/N)
Returns the Nth color index of the specified color name eg. $color(action text). If you don't specify the full name the first partial match is returned eg. $color(action). If you specify an N value, returns the RGB value for the Nth color box. Property dd returns double-digit format.
¶$com
$com(name,member,method,type1,value1,...,typeN,valueN) This calls a member of an open COM connection with the specified method and parameters.
$com(name/N) Returns name if connection is open, or name of Nth connection. N = 0 returns number of open connections. Properties: progid, dispatch, unknown, result, error, errortext, argerr.
$com(name/N,varname) Returns value of the specified variable name.
¶$comcall
$comcall(name,alias,...)
Uses the same format as $com() apart from the alias. It is multi-threaded so it will not halt the script and will call the specified alias once the call returns.
¶$comchan
$comchan(nick,N)
Returns the names of channels which both you and nick are on. Properties: op, help, voice.
¶$comerr
$comerr
This should be checked after a call to any COM command or identifier. Returns 1 if there was an error, 0 otherwise.
¶$compress
$compress(file|&bvar, blN)
Compresses the specified file or binary variable. The result is raw compressed data. Where b indicates a binary variable in the first parameter, and lN sets a compression level of 1 to 6 (default is 6). Returns 1 for sucess, 0 for failure.
¶$comval
$comval(name,N,member)
Returns member value for the Nth instantiation of the enumerated collection in name.
¶$cos
$cos(N)
Return the cosine of N. Properties: deg.
¶$count
$count(string,substring,substring2,...,substringN)
Returns the number of times substring occurrs in string.
¶$cr
$cr
Returns the carriage return character, the same as $chr(13).
¶$crc
$crc(text|&binvar|filename,[N])
Returns the CRC checksum of the specified item, where N = 0 for plain text, 1 for &binvar, 2 for filename (default).
¶$creq
$creq
Returns current /creq settings in the DCC Options chat section dialog.
¶$crlf
$crlf
Returns a carriagereturn/linefeed combination.
¶$ctime
$ctime Returns total number of seconds elapsed since 00:00:00 GMT, January 1, 1970 based on your system time.
$ctime(text) Returns the number of seconds elapsed since 00:00:00 GMT, January 1, 1970 based on the date that you specify.
¶$ctimer
$ctimer
Returns name of timer that triggered the current script.
¶$ctrlenter
$ctrlenter
Returns $true if Control+Enter was pressed when the user entered the text in an input event.
¶$date
$date
Returns the current date in day/month/year format.
¶$day
$day
Returns the name of the current day ie. Monday, Tuesday, etc.
¶$daylight
$daylight
Returns seconds offset if daylight savings is in effect, and 0 if not.
¶$dbuh
$dbuh
The identifiers $dbuw and $dbuh return the dbu per pixel width and height values for the current display. This may or may not be an integer value.
¶$dbuw
$dbuw
The identifiers $dbuw and $dbuh return the dbu per pixel width and height values for the current display. This may or may not be an integer value.
¶$dccignore
$dccignore Returns $true if ignore types is turned on in the DCC Folders dialog, otherwise returns $false.
$dccignore(N/filename) Returns the Nth item in the dcc ignore types editbox in the DCC Folders dialog. If n is zero, returns number of items in list, otherwise returns Nth item in list. If a filename is specified, returns $true if it matches item in list, otherwise $false.
¶$dccport
$dccport
Returns the port being used by the DCC Server.
¶$dde
$dde
Returns the value returned by the specified service name, topic, and item, by sending an XTYP_REQUEST. The item and delay parameters are optional. The delay value indicates that you want $dde() to wait N seconds for a reply before giving up. The default is one second, which is usually enough.
¶$ddename
$ddename
Returns the current dde service name in use by the mIRC DDE Server.
¶$debug
$debug
Returns the name of debug file or @window.
¶$decode
$decode(%var | &binvar, mubt, N)
Decode text in %vars or &binvars using Uuencode or Mime. The second parameter consists of switches, where m = mime, u = uucode (default), b = &binvar, and t = text (default).
¶$decompress
$decompress(file|&bvar)
Decompresses the specified file or binary variable.
¶$deltok
$deltok(text,N-N2,C)
Deletes the Nth token from text. You can specify a negative value for N. The C parameter is the ascii value of the character separating the tokens.
¶$devent
$devent
Returns the name of the currently triggered dialog event.
¶$dialog
$dialog(name,table[,parent])
Lists any open dialogs, where N returns the Nth open dialog. If N is zero, the total number of open dialogs is returned. Dialogs created with $dialog() are modal, ie. they halt the script until the dialog is closed, they return a value, and they don't allow access to other windows while the dialog is open.
¶$did
$did Returns the current dialog id.
$did(name,id,N) You can get the settings and values of controls in a dialog by using the $did() dialog id identifier with the following formats and properties as appropriate to the control to which you are referring.
Properties: text, len, lines, sel, seltext, listbox, selstart, selend, edited, state, next, prev, visible, enabled, isid, csel, cstate.
¶$didreg
$didreg(name,id,regex,N)
Returns the number of the line that matches the regular expression, with the search starting at line N. N is optional.
¶$didtok
$didtok(name,id,C)
Returns a tokenized list of the items in a list/combo/edit box.
¶$didwm
$didwm(name,id,wildtext,N)
Returns the number of the line that matches wildtext, with the search starting at line N. N is optional.
¶$dir
$dir[=Title] <directory>[default input]
Returns path and filename of selected file. If default input contains asterixes (*) File type will be that.
¶$disk
$disk(name/N)
Returns information about the specified hard disk, where N = 0 for total available drives, and N > 0 to access each drive. Properties: type, free, label, size, unc, path.
¶$dlevel
$dlevel
Returns the current default user level.
¶$dll
$dll(filename, procname, data)
Opens a dll, call the procname routine, and send it the specified data. $null can be used as third parameter.
¶$dllcall
$dllcall(filename, alias, procname, data)
Open a DLL, call the procname routine, and send it the specified data. The only difference is that $dll() can return a value, like all other identifiers. $dllcall() is multi-threaded so it will not halt the script and will call the specified alias once the call returns.
¶$dname
$dname
Returns the dialogname in a dialog event.
¶$dns
$dns(N)
This identifier can be used only in the on DNS event, and returns the address that was resolved and any associated IP addresses. Properties: nick, addr, ip.
¶$duration
$duration(seconds,N)
Returns the specified number of seconds in a week/day/hour/minute/second format. The N parameter is optional. If N = 2, the result does not include the seconds value. If N = 3, the result is in h:m:s format. This identifier can also take its own output and change it back into seconds.
¶$ebeeps
$ebeeps
Returns $true if sounds are enabled in the Sounds dialog.
¶$editbox
$editbox(window,N)
Returns the text in the editbox of the specified window. Properties: selstart, selend.
¶$emailaddr
$emailaddr
Returns the email address specified in the Connect dialog.
¶$encode
$encode(%var | &binvar, mubt, N)
Encode text in %vars or &binvars using Uuencode or Mime. The second parameter consists of switches, where m = mime, u = uucode (default), b = &binvar, and t = text (default).
¶$error
$error
Returns the error message in a :error goto point.
¶$eval
$eval(text,N)
Evaluates the contents of text N times. If N isn't specified, the default is N = 1. If N is zero, text is not evaluated. This allows you to recursively evaluate identifiers and variables in a line of text.
¶$evalnext
$evalnext(text,N)
Same as $eval(text,N+1). Evaluates the text one more time then $eval(text,[N])
¶$event
$event
Returns the name of the event that was triggered.
¶$exists
$exists(file/dir)
Returns $true if a file or dir exists and $false if it doesn't.
¶$feof
$feof
Return the results of the last file access attempt in any script, where $feof indicates the end of file was reached.
¶$ferr
$ferr
Return the results of the last file access attempt in any script, where $ferr indicates there was a file error of some kind.
¶$fgetc
$fgetc(name|N)
Returns the next character.
¶$file
$file(filename)
Returns information about the specified file. Properties: size, ctime, mtime, atime, shortfn, longfn, attr.
¶$filename
$filename
Returns the filename that was transmitted.
¶$filtered
$filtered
Returns the number of lines that were filtered when using the /filter command.
¶$finddir
$finddir(dir,wildcard,N,depth,@window|command)
Searches the specified directory and its subdirectories for the Nth directory name matching the wildcard specification and returns the full path and directory if it is found. Properties: shortfn.
¶$finddirn
$finddirn
Returns the Nth position of the current directory returned by $finddir.
¶$findfile
$findfile(dir,wildcard,N,depth,@window|command)
Searches the specified directory and its subdirectories for the Nth filename matching the wildcard file specification and returns the full path and filename if it is found. Properties: shortfn.
¶$findfilen
$findfilen
Returns the Nth position of the current file returned by $findfile.
¶$findtok
$findtok(text,token,N,C)
Returns the position of the Nth matching token in text. If you specify zero for N, it returns the total number of matching tokens. The C parameter is the ascii value of the character separating the tokens. $findtokcs() is the case-sensitive version.
¶$findtokcs
$findtok(text,token,N,C)
Returns the position of the Nth matching token in text. If you specify zero for N, it returns the total number of matching tokens. The C parameter is the ascii value of the character separating the tokens. $findtokcs() is the case-sensitive version.
¶$fline
$fline(@name,[<wildtext>],N,T)
Returns the Nth line of text in the specified window. If N is zero, it returns the total number of lines in the window. Properties: state, color, text.
¶$floor
$floor
Returns N rounded to the next lowest integer.
¶$fopen
$fopen(name|N)
Returns information about an open file. Properties: fname, pos, eof, err. Note: the .eof and .err properties must be checked after each file access command or identifier, since file access errors will not halt a script.
¶$fread
$fread(name|N) Returns the next $crlf delimited line.
$fread(name|N, M, &binvar) Returns the number of bytes read into the specified binary variable, where M is the number of bytes to read.
¶$fserv
$fserv(N/nick,[N])
Returns the name of the Nth open dcc chat window. Properties: ip, status, cd. Replaced by $chat.
¶$fulladdress
$fulladdress
Returns the full address of the user triggering an event in the form nick!user@host.
¶$fulldate
$fulldate
Returns the current date in the format: Wed Jun 26 21:41:02 1996
¶$fullname
$fullname
Returns the full name specified in the Connect dialog.
¶$fullscreen
$fullscreen
Returns 1 if an application is currently running in full screen mode, 0 if not. This applies to both game and non-game applications.
¶$get
$get(N/nick,[N])
Returns the nickname and filename of the Nth open dcc get window. Properties: ip, status, file, path, size, rcvd, cps, pc, secs, done, resume, wid, cid, hwnd.
¶$getdir
$getdir Returns the DCC Get directory specified in the DCC Options dialog.
$getdir(filespec) Returns the DCC Get directory for the specified file type.
¶$getdot
$getdot(@,x,y)
Returns the RGB color value of the dot at the specified position.
¶$gettok
$gettok(text,N,C)
Returns the Nth token in text. You can also specify a range of tokens. You can specify a negative value for N.
¶$gmt
$gmt
Returns the current GMT time value in $ctime format.
¶$group
$group(N/#)
Returns the the name or status of a #group in a script. Properties: status, name, fname.
¶$halted
$halted
Returns $true if a user has used /halt or /haltdef in a ^ event, and $false if not.
¶$hash
$hash(text,B)
Returns a hash number based on text where B is the number of bits to use when calculating the hash number.
¶$height
$height(text,font,size)
Returns height of text in pixels for the specified font. If you use a negative number for the font size, it will match the size of fonts in the font dialog.
¶$hfile
$hfile[=Title] <directory>[default input]
Returns path and filename of selected file. If default input contains asterixes (*) File type will be that.
¶$hfind
$hfind(name/N, text, N, M)
Searches table for the Nth item name which matches text. Returns item name. Properties: data.
¶$hget
$hget(name/N, item) Returns the data associated with an item in the specified hash table. The unset property returns the time remaining before an item is unset.
$hget(name/N,item,&binvar) Assigns the contents of an item to a &binvar.
$hget(name/N, N).item Allows you to reference the table as an index from 0 to N, in order to look up the Nth item in the table. If N is zero, returns the total number of items in the table. You can also reference the Nth data value directly with $hget().data.
¶$highlight
$highlight Returns $true if highlighting is turned on in the Highlight dialog, otherwise returns $false.
$highlight(N/text) Returns the Nth line in the highlight listbox, or if text is specified, returns the properties for the highlight line that matches text. Properties: text, color, sound, flash, message, nicks, cs.
¶$hnick
$hnick
Returns the user being halfopped/dehalfopped in an help/dehelp event.
¶$host
$host
Returns your Local host name.
¶$hotline
$hotline
Returns the full line which contained the hotlink trigger.
¶$hotlinepos
$hotlinepos
Returns the line number and word position of the trigger.
¶$ial
$ial(nick/mask,N)
Returns the Nth address matching nick or mask in the Internal Address List. Properties: nick, user, host, addr, mark.
¶$ialchan
$ialchan(nick/mask,#,N)
Returns the Nth address on the specified channel matching nick or mask in the Internal Address List.  Properties: nick, user, host, addr, mark, pnick.
¶$ibl
$ibl(#channel,N)
Returns Nth item in the Internal Ban List, or if N is 0 returns total number of items in list. Properties: by, date, ctime.
¶$idle
$idle
Returns your current idle time (same time as that returned by a ctcp finger).
¶$iel
$iel(#channel,N)
Returns Nth item in the Internal Exception List, or if N is 0 returns total number of items in list. Properties: by, date, ctime.
¶$ifmatch
$ifmatch
Returns the first parameter of matching if-then-else comparison. $v1 replaces $ifmatch, however $ifmatch is still supported for now.
¶$ignore
$ignore returns $true if ignore is enabled, and $false if it isn't.
$ignore(address/N) returns any matching address in the list, or the Nth address. The .type property returns the ignore method. The .network property returns the associated network, if any. The .secs property returns the time left before the ignore is removed.
¶$iif
$iif(C,T,F)
Returns T or F depending on whether the evaluation of the Conditional C is true or false.
¶$iil
$iil(#channel,N)
Returns Nth item in the Internal Invite List, or if N is 0 returns total number of items in list. Properties: by, date, ctime.
¶$inellipse
$inellipse(x,y,x,y,w,h)
Returns $true if the point x y is inside the specified ellipse, and $false if it isn't.
¶$ini
$ini(file,topic/N,item/N)
Returns the name/Nth position of the specified topic/item in an ini/text file.
¶$inmidi
$inmidi
Return $true if midi is playing, $false otherwise. Properties: fname, pos, length, pause. $inmidi.fname returns the filename of the currently playing midi.
¶$inmode
$inmode
Returned by $chan(#/N).ibl/iel/iil if a /mode chan +b/+e/+I is currently being listed.
¶$inmp3
$inmp3
Return $true if mp3 is playing, $false otherwise. Properties: fname, pos, length, pause. $inmidi.fname returns the filename of the currently playing mp3. Replaced by $insong, Still supported for now but no longer documented.
¶$inpaste
$inpaste
Returns $true if a user typed Control+V or Shift+Insert to paste text into an editbox, mainly useful when processing an on INPUT event.
¶$inpoly
$inpoly(x,y,a1,a2,b1,b2,...)
Returns $true if the point x y is inside the polygon defined by the specified points, and $false if it isn't.
¶$input
$input(prompt,N,window,title,text)
Prompts the user for input and returns the result. $null can be used for all parameters except prompt.
¶$inrect
$inrect(x,y,x,y,w,h)
Returns $true if the point x y is inside the specified rectangle, and $false if it isn't.
¶$inroundrect
$inroundrect(x,y,x,y,w,h,w,h)
Returns $true if the point x y is inside the specified rounded rectangle, and $false if it isn't.
¶$insong
$insong
Return $true if a song is playing, $false otherwise. Properties: fname, pos, length, pause. $insong.fname returns the filename of the currently playing song.
¶$instok
$instok(text,token,N,C)
Inserts token into the Nth position in text, even if it already exists in text. You can specify a negative value for N. The C parameter is the ascii value of the character separating the tokens.
¶$int
$int(N)
Returns the integer part of a floating point number with no rounding.
¶$inwave
$inwave
Return $true if a wave is playing, $false otherwise. Properties: fname, pos, length, pause. $inwave.fname returns the filename of the currently playing wave.
¶$ip
$ip
Returns your IP address.
¶$isalias
$isalias(name)
Returns $true if the specified name is an alias command that exists in your aliases or scripts. Properties: fname, alias.
¶$isbit
$isbit(A,N)
Returns 1 if the Nth bit in number A is turned on.
¶$isdde
$isdde(name)
Returns $true if the specified dde name is in use, $false otherwise.
¶$isdir
$isdir(dirname)
Returns $true if the specified directory exists, otherwise $false.
¶$isfile
$isfile(filename)
Returns $true if the specified file exists, otherwise $false.
¶$isid
$isid
Returns $true if an alias was called as an identifier, otherwise $false.
¶$islower
$islower(text)
Returns $true if text is all lower case, other characters such as numbers and special chars are ignored. So this returns true when the text does not contain any upper case letters.
¶$istok
$istok(text,token,C)
Returns $true if token exists, otherwise returns $false. The C parameter is the ascii value of the character separating the tokens. $istokcs() is the case-sensitive version.
¶$istokcs
$istok(text,token,C)
Returns $true if token exists, otherwise returns $false. The C parameter is the ascii value of the character separating the tokens. $istokcs() is the case-sensitive version.
¶$isupper
$isupper(text)
Returns $true if text is all upper case, other characters such as numbers and special chars are ignored. So this returns true when the text does not contain any lower case letters.
¶$isutf
$isutf(text)
Returns UTF-8 status of text, where 0 = not UTF-8 (contains invalid UTF-8 sequences), 1 = seems to be plain text, 2 = seems to contain valid UTF-8.
¶$keychar
$keychar
Returns the actual letter of the key being pressed.
¶$keyrpt
$keyrpt
Returns 1 if the key is repeating due to a user holding down the key.
¶$keyval
$keyval
Returns the key code of the key being pressed.
¶$knick
$knick
Returns the user being kicked in a kick event.
¶$lactive
$lactive
Returns the name of the window which was last active.
¶$lactivecid
$lactivecid
Returns the name of the window which was last active for the server connection id for the current script.
¶$lactivewid
$lactivewid
Returns window id for the last active window.
¶$left
$left(text,N)
Returns the N left characters of text. If N is a negative value, it returns all but N characters.
¶$leftwin
$leftwin
Returns what window the mousecursor just left.
¶$leftwinwid
Returns the window id the mousecursor just left.
¶$len
$len(text)
Returns the length of text.
¶$level
$level(address)
Finds a matching address in the remote users list and returns its corresponding levels list.
¶$lf
$lf
Returns the linefeed character, the same as $chr(10).
¶$line
$line(@name,N,T)
Returns the Nth line of text in the specified window. If N is zero, it returns the total number of lines in the window. Properties: state, color.
¶$lines
$lines(filename)
Returns the total number of lines in the specified text file.
¶$link
$link(N)
Returns the Nth item listed in the server Links window. Properties: addr, ip, level, info.
¶$lock
$lock(item/#/N)
Returns $true or $false for the lock settings on items in the Lock dialog. Properties: send, get, chat, fserve, run, dll, channels.
¶$locked
$locked
Returns $true if mIRC is currently locked.
¶$lof
$lof(filename)
Returns the size (in Bytes) of the specified file, Same as $file(filename).size identifier.
¶$log
$log(N)
Returns the natural logarithm of N.
¶$logdir
$logdir
Returns the Logs directory as specified in the Logging section of the Options dialog.
¶$logstamp
$logstamp
Returns the current time based on the logging timestamp format as defined in the logging dialog.
¶$logstampfmt
$logstampfmt
Returns the logging timestamp format as defined in the logging dialog.
¶$longfn
$longfn(filename)
Returns long version of a short filename.
¶$longip
$longip(address)
Converts an IP address into a long value and vice-versa.
¶$lower
$lower(text)
Returns text in lowercase.
¶$ltimer
$ltimer
Returns the number of the last timer that was started by the /timer command.
¶$maddress
$maddress
Returns the address that was matched for the triggered event.
¶$mask
$mask(address,type)
Returns address with a mask specified by type.
¶$matchkey
$matchkey
Returns wildcard matchtext that was used in the matching remote event.
¶$matchtok
$matchtok(tokens,string,N,C)
Returns tokens that contain the specified string. The C parameter is the ascii value of the character separating the tokens. $matchtokcs() is the case-sensitive version.
¶$matchtokcs
$matchtok(tokens,string,N,C)
Returns tokens that contain the specified string. The C parameter is the ascii value of the character separating the tokens. $matchtokcs() is the case-sensitive version.
¶$md5
$md5(text|&binvar|filename,[N])
Returns md5 hash value for the specified data, where N = 0 for plain text (default), 1 for &binvar, 2 for filename.
¶$me
$me
Returns your current nickname.
¶$menu
You can use the $menu, $menutype, and $menucontext identifiers to refer to the menu that is about to pop up or that is associated with the script being performed. This allows you to modify the form of the popup based on whether it's a query, channel, etc.
¶$menucontext
You can use the $menu, $menutype, and $menucontext identifiers to refer to the menu that is about to pop up or that is associated with the script being performed. This allows you to modify the form of the popup based on whether it's a query, channel, etc.
¶$menutype
You can use the $menu, $menutype, and $menucontext identifiers to refer to the menu that is about to pop up or that is associated with the script being performed. This allows you to modify the form of the popup based on whether it's a query, channel, etc.
¶$mid
$mid(text,S,N)
Returns N characters starting at position S in text. If N is zero, it returns the number of characters from S to the end of the line. You may also use negative numbers for S or N.
¶$mididir
$mididir
Returns the Midi directory specified in the Sound Requests section of the Options dialog. Replaced by $sound(), still supported for now but no longer documented.
¶$mircdir
$mircdir
Returns the current directory of the mIRC program.
¶$mircexe
$mircexe
Returns the full path and filename of the mIRC exe file.
¶$mircini
$mircini
Returns the name of the main .ini file, usually mirc.ini.
¶$mkfn
$mkfn(filename)
Removes invalid characters.
¶$mklogfn
$mklogfn(filename)
Returns the filename format that the logging feature uses. Appends date to filename if you have the dated logfiles option turned on in the logging dialog.
¶$mknickfn
$mknickfn(nickname)
To fix a nickname for use as a filename.
¶$mnick
$mnick
Returns your main nickname.
¶$mode
$mode(N)
Returns the Nth nick affected by a channel mode change. Properties: op, deop, ban, unban, voice, devoice, help, dehelp.
¶$modefirst
$modefirst
Returns $true or $false depending on whether the (un)ban/(de)voice/(de)help/(de)op event is the first to trigger.
¶$modelast
$modelast
Returns $true or $false depending on whether the (un)ban/(de)voice/(de)help/(de)op event is the last to trigger.
¶$modespl
$modespl
Returns the maximum number of parameters allowed per /mode, eg. if $modespl is equal to 5, you can use /mode +ooooo to set five modes at a time.
¶$mouse
$mouse
Returns the x, y position of the current mouse event, and whether the left mouse button, shift key, and/or control key are pressed. Properties: win, x, y, mx, my, dx, dy, key, lb.
¶$mp3
$mp3
Replaced by $sound(), Still supported for now but no longer documented.
¶$mp3dir
$mp3dir
Returns the mp3 directory as specified in the options dialog. Replaced by $sound(), still supported for now but no longer documented.
¶$msfile
$msfile(dir,title,oktext)
Displays the multiple select file dialog and returns N, the number of selected files. $msfile(N) returns each file. If too many files are selected, $msfile() returns -1. Title and oktext are optional.
¶$network
$network
Returns the name of the IRC network you are currently connected to.
¶$newnick
$newnick
Returns the new nickname of the user in a nick event.
¶$nick
$nick Returns the nickname of the user associated with an event.
$nick(#,N/nick,aohvr,aohvr) Returns Nth nickname in the channels nickname listbox on channel #. Properties: color, pnick, idle.
¶$nickmode
$nickmode
Same as $prefix, but only returns the IRC /mode chars (for example ovh).
¶$no
$no
May be returned by an $input() request.
¶$nofile
$nofile(filename)
Returns the path in filename without the actual filename.
¶$nopath
$nopath(filename)
Returns filename without a path if it has one.
¶$noqt
$noqt(text)
Returns text without outer enclosing quotes around text, opposite of $qt.
¶$not
$not(A)
Returns the binary not value of A.
¶$notags
$notags(text)
Removes the above tags from text. Only tags that are valid and correctly written as above are removed.
¶$notify
$notify(N/nick)
Returns the Nth nickname in your notify list. Properties: ison, note, sound, whois, addr, network.
¶$null
$null
Returns nothing and can be used in comparisons in if-then-else statements to control branching etc.
¶$numeric
$numeric
Returns the numeric for the matching numeric event.
¶$numtok
$numtok(text,C)
Returns number of tokens in text. The C parameter is the ascii value of the character separating the tokens.
¶$ok
$ok
May be returned by an $input() request.
¶$online
$online
Returns the number of seconds elapsed in the Timer dialog.
¶$onpoly
$onpoly(n1,n2,x,y,x,y,...)
Returns $true if two polygons overlap. n1 is the number of points in the first polygon, n2 in the second polygon.
¶$opnick
$opnick
Returns the user being opped/deopped in an op/deop event (also in owner/deowner event).
¶$or
$or(A,B)
Returns A binary or B.
¶$ord
$ord(N)
Appends st, nd, rd, th as appropriate to the number N.
¶$os
$os
Returns the version number of the operating system. The reply can be 95, 98, NT, ME, 2K, XP, NET, or Vista.
¶$pi
$pi
Returns the first 21 digits of Pi.
¶$pic
$pic(filename)
Returns the size, width, and height of a bmp, jpg, or png file. Properties: size, width, height.
¶$play
$play(Nick/N,N)
Returns information on items in the play queue. Properties: type, fname, topic, pos, lines, delay, status.
¶$pnick
$pnick
Returns the nick/channel to which you are currently playing.
¶$port
$port
Returns the port number of the server to which you're currently connected.
¶$portable
$portable
Returns $true or $false depending on whether mIRC was run as portable.
¶$portfree
$portfree(N)
Returns $true if the specified port number is not in use, otherwise returns $false.
¶$pos
$pos(text,string,N)
Returns a number indicating the position of the Nth occurrence of string in text. If N is zero, it returns the number of times string appears in text. You can use $poscs() for a case-sensitive version.
¶$poscs
$pos(text,string,N)
Returns a number indicating the position of the Nth occurrence of string in text. If N is zero, it returns the number of times string appears in text. You can use $poscs() for a case-sensitive version.
¶$prefix
$prefix
$prefix returns the list of channel nickname prefixes ie. op, halfop, voice, etc. that are supported on a server. When not connected to a server, mIRC uses a default $prefix value of PREFIX=(ohv)@%+.
¶$prop
$prop
refers to your own custom propertie in a custom identifier.
¶$protect
$protect returns $true if protect is enabled, and $false if it isn't.
$protect(address/N) returns any matching address in the list, or the Nth address. The .type property returns the list of channels. The .network property returns the associated network, if any.
¶$puttok
$puttok(text,token,N,C)
Overwrites the Nth token in text with a new token. You can specify a negative value for N. The C parameter is the ascii value of the character separating the tokens.
¶$qt
$qt(text)
Returns text with outer enclosing quotes around text (if not already), opposite of $noqt.
¶$query
$query(N/nick)
Returns the nickname of the Nth open query window. Properties: addr, logfile, stamp, wid, cid, hwnd.
¶$r
$r(v1,v2)
This works in two ways. If you supply it with numbers for v1 and v2, it returns a random number between v1 and v2. If you supply it with letters, it returns a random letter between letters v1 and v2.
¶$rand
$rand(v1,v2)
This works in two ways. If you supply it with numbers for v1 and v2, it returns a random number between v1 and v2. If you supply it with letters, it returns a random letter between letters v1 and v2.
¶$rawmsg
$rawmsg
Returns raw server line for server events.
¶$read
$read(filename, [ntswrp], [matchtext], [N])
Returns a single line of text from a file.
¶$readini
$readini(filename,[np],section,item)
Returns a single line of text from an ini file.
¶$readn
$readn
Returns the line number that was matched in a previous call to $read(). If no match was found, $readn is set to zero.
¶$regex
$regex([name],text,re)
Returns N, the number of strings in text that matched the regular expression.
¶$regml
$regml([name],N)
This can be used to reference the back referenced (items enclosed in parentheses) values returned by a call to $regex() or $regsub().
¶$regsub
$regsub([name],text,re,subtext,%var)
Performs a regular expression match, like $regex(), and then performs a substitution using subtext. Returns N, the number of substitutions made, and assigns the result to %var.
¶$regsubex
$regsubex([name], text, re, subtext)
Performs a regular expression match, like $regex(), and then performs a substitution using subtext. Subtext is evaluated during substitution and can be an identifier.
Subtext can also contain special markers where \0 = number of matches, \n = match number, \t = match text, \a = all match items, and \A which is a non-spaced version of \a. Returns text result.
¶$remote
$remote
Returns a number based on what type of events are turned on. If you have all enabled, it returns 7 (2 + 1+ 4). Events = 2, CTCP = 1, Raws = 4.
¶$remove
$remove(string,substring,...)
Removes any occurrence of substring in string. You can also specify multiple remove parameters. You can use $removecs() for a case-sensitive version.
¶$removecs
$remove(string,substring,...)
Removes any occurrence of substring in string. You can also specify multiple remove parameters. You can use $removecs() for a case-sensitive version.
¶$remtok
$remtok(text,token,N,C)
Removes the Nth matching token from text. The C parameter is the ascii value of the character separating the tokens. $remtokcs() is the case-sensitive version.
¶$remtokcs
$remtok(text,token,N,C)
Removes the Nth matching token from text. The C parameter is the ascii value of the character separating the tokens. $remtokcs() is the case-sensitive version.
¶$replace
$replace(string,substring,newstring,...)
Replaces any occurrence of substring in string with newstring. You can also specify multiple replace parameters. You can use $replacecs() for a case-sensitive version.
¶$replacecs
$replace(string,substring,newstring,...)
Replaces any occurrence of substring in string with newstring. You can also specify multiple replace parameters. You can use $replacecs() for a case-sensitive version.
¶$replacex
$replacex(string,substring,newstring,...)
Replaces any occurrence of substring in string with newstring except for replacements that have already been made. You can also specify multiple replace parameters. You can use $replacexcs() for a case-sensitive version.
¶$replacexcs
$replacex(string,substring,newstring,...)
Replaces any occurrence of substring in string with newstring except for replacements that have already been made. You can also specify multiple replace parameters. You can use $replacexcs() for a case-sensitive version.
¶$reptok
$reptok(text,token,new,N,C)
Replaces the Nth matching token in text with a new token. The C parameter is the ascii value of the character separating the tokens. $reptokcs() is the case-sensitive version.
¶$reptokcs
$reptok(text,token,new,N,C)
Replaces the Nth matching token in text with a new token. The C parameter is the ascii value of the character separating the tokens. $reptokcs() is the case-sensitive version.
¶$result
$result
Stores the number value returned to a calling routine by the /return command.
¶$rgb
$rgb(N,N,N) Returns an RGB color value for use in /draw commands. If you use only one parameter, it assumes it is an actual RGB color value and returns N,N,N.
$rgb(name) Returns RGB value of specified system color name which can be one of the following: face, shadow, hilight, 3dlight, frame, and text.
¶$right
$right(text,N)
Returns the N right characters of text. If N is a negative value, it returns all but N characters.
¶$round
$round(N,D)
Returns the specified floating point number rounded to the Dth decimal digit. The D parameter is optional.
¶$scid
$scid(N)[.id]
Returns the connection id, where N is a $cid value. If N = 0, returns total number of open server windows. If you specify a property which is an identifier, it returns the value of that identifier for that connection. This also works for custom identifiers. The property cannot use brackets.
¶$scon
$scon(N)[.id]
Returns the connection id, where N is the Nth connection. If N = 0, returns total number of open server windows. If you specify a property which is an identifier, it returns the value of that identifier for that connection. This also works for custom identifiers. The property cannot use brackets.
¶$script
$script Returns the filename of the currently executing remote script.
$script(N/filename) Returns the filename for the Nth loaded script file. If you specify a filename, it returns $null if the file isn't loaded.
¶$scriptdir
$scriptdir
Returns the directory of the currently executing remote script.
¶$scriptline
$scriptline
Returns line number in current script.
¶$sdir
$sdir(dir,title)
Displays the select folder dialog and returns the selected folder. Title is optional.
¶$send
$send(N/nick[,N])
Returns the nickname and filename of the Nth open dcc send window. Properties: ip, status, file, path, size, sent, lra, cps, pc, secs, done, resume, wid, cid, hwnd.
¶$server
$server Returns the name of the server to which you are currently connected.
$server(N/address) Returns the address of the Nth server in your irc servers list. Properties: desc, port, group, pass.
¶$serverip
$serverip
Returns server IP address.
¶$sfile
$sfile(dir,title,oktext)
Displays the select file dialog and returns the selected filename. Title and oktext are optional.
¶$sha1
$sha1(<text>|<&binvar>|<filename>,[N])
Returns sha1 hash value for the specified data, where N = 0 for plain text (default), 1 for &binvar, 2 for filename.
¶$shortfn
$shortfn(filename)
Returns short version of a long filename.
¶$show
$show
Returns $false if a command is prefixed with a . to make it quiet, otherwise returns $true.
¶$signal
$signal
Returns the signal name that caused the signal event to trigger.
¶$sin
$sin(N)
Returns the sine of N. Properties: deg.
¶$site
$site
Returns the portion of $address after the @ for the user associated with an event in the form user@host.
¶$sline
$sline(@name,N)
Returns the Nth selected line in a listbox (only works in listboxes). If N is zero, it returns the total number of selected lines in the window. Properties: ln.
¶$snick
$snick(#,N)
Returns the Nth selected nickname in the channel listbox on channel #. If the N parameter is not specified, it returns a line containing all selected nicknames.
¶$snicks
$snicks
Returns a string of the currently selected nicknames in the active channel listbox.
¶$snotify
$snotify
Returns the currently selected nickname in the notify list box.
¶$sock
$sock(name,N)
Returns information about a socket connection that you created using the socket commands. Properties: name, addr, ip, port, status, sent, rcvd, sq, rq, ls, lr, mark, type, saddr, sport, to, wserr, wsmsg, bindip, bindport, ssl, pause.
¶$sockbr
$sockbr
Returns the number of bytes read by a /sockread command. It is used to test whether any information was in fact read from the buffer.
¶$sockerr
$sockerr
Returns a value after each socket command/event and must be checked after each socket command and before processing an event to see if an error occurred.
¶$sockname
$sockname
Returns the name given to a connection to identify it. This identifier can be used in events to know which connection an event is related to.
¶$sorttok
$sorttok(text,C,ncr)
Sorts the tokens in text. The default is an alphabetic sort, however you can specify n = numeric sort, c = channel nick prefix sort, r = reverse sort, a = alphanumeric sort. The C parameter is the ascii value of the character separating the tokens. $sorttokcs() is the case-sensitive version.
¶$sorttokcs
$sorttok(text,C,ncr)
Sorts the tokens in text. The default is an alphabetic sort, however you can specify n = numeric sort, c = channel nick prefix sort, r = reverse sort, a = alphanumeric sort. The C parameter is the ascii value of the character separating the tokens. $sorttokcs() is the case-sensitive version.
¶$sound
$sound(type) Returns the directory specified in the Sound Requests section of the Options dialog, where type can be wave, midi, mp3, wma, or ogg.
$sound(filename) Returns either the directory for that file type, as above, or information about the sound file. Currently, only mp3 files are supported with the following properties. Properties: album, title, artist, year, comment, genre, track, length, version, bitrate, vbr, sample, mode, copyright, private, crc, .id3, .tag, .tags.
¶$sqrt
$sqrt(N)
Returns the square root of N.
¶$sreq
$sreq
Returns current /sreq settings in the DCC Options send section dialog.
¶$ssl
$ssl
Can be used to determine whether the current server connection is secure or not.
¶$sslready
$sslready
Can be used to determine whether mIRC has loaded the dlls successfully.
¶$status
$status
Returns server connection status.
¶$str
$str(text,N)
Returns text repeated N times.
¶$strip
$strip(text,burcmo)
Returns text with all bold, underline, reverse, and color control codes stripped out. The burcmo parameter is optional, if used, it strips only the specified types of characters. The m applies the strip settings in the Messages dialog, and the o applies the "only if..." settings in the messages dialog.
¶$stripped
$stripped
Returns the number of control codes that were stripped from an incoming message, if any. This can be used in any script event that triggers when a message is received from a user.
¶$style
$style()
You can place a check mark or create a disabled menu item by using the $style(N) identifier, where N = 1 for checked, N = 2 for disabled, and N = 3 for both. The $style(N) identifier must be the first word in the menu definition.
¶$submenu
$submenu(<|>$id($1))
Allows you to dynamically create a list of menu items, and can only be called from a popup menu definition.
¶$tan
$tan(N)
Returns the tangent of N. Properties: deg.
¶$target
$target
Returns the target of an event.
¶$ticks
$ticks
Returns the number of ticks since your operating system was first started.
¶$time
$time
Returns the current time in hour:minute:second format.
¶$timer
$timer(N/name)
Returns the timer id of the Nth timer in the timers list. You can also specify a timer name instead of a number. This identifier works in conjunction with the /timer command. Properties: com, time, reps, delay, type, secs, mmt, anysc, wid, cid, hwnd.
¶$timestamp
$timestamp
Returns the current time in [xx:xx] format.
¶$timestampfmt
$timestampfmt
Returns the timestamp format as defined in the message dialog.
¶$timezone
$timezone
This returns your current timezone setting in seconds.
¶$tip
$tip(name/N) Returns properties for the specified tip. Properties: name, title, text, delay, iconfn, iconpos, alias, wid
$tip(name,title,text,delay,iconfn,iconpos,alias,wid) Returns Nth position of tip if it was successfully created, zero if not.
¶$tips
$tips
Returns $true when tips are enabled.
¶$titlebar
$titlebar
Returns the text in the mIRC titlebar, set by the /titlebar command.
¶$toolbar
$toolbar(name/N)
Returns properties for a toolbar button. If N = 0, returns number of buttons. Properties: name, type, tip, alias, popup, width, height, wide, enabled, visible, checked, alpha.
¶$trust
$trust(N)
Returns the Nth item in the dcc trust list, or if N is 0 returns total number of items in list.
¶$ulevel
$ulevel
Returns the user level that was matched for the currently triggered event.
¶$ulist
$ulist(nick!userid@address,L,N)
Returns the Nth address in the Users list that matches the specified address and level. Properties: info.
¶$upper
$upper(text)
Returns text in uppercase.
¶$uptime
$uptime(mirc|server|system, N)
Returns uptime in milliseconds for specified item. N is optional, N = 1 returns same format as $duration(), N = 2 returns same format as $duration() but without seconds, and N = 3 returns seconds instead of milliseconds.
¶$url
$url Returns the currently active URL in your Web Browser.
$url(N) Returns the Nth address in your URL list. Properties: desc, group.
¶$usermode
$usermode
Returns your current usermode on the irc server.
¶$utfdecode
$utfdecode(text,C)
Decodes the UTF-8 text to plain text with character set C, the C value is returned by $window().fontcs.
¶$utfencode
$utfencode(text,C)
Encodes the plain text with character set C to UTF-8, the C value is returned by $window().fontcs.
¶$v1
$v1
Returns the first parameters of an if-then-else comparison.
¶$v2
$v2
Returns the second parameters of an if-then-else comparison.
¶$var
$var(%var,N)
Returns the Nth matching variable name. Properties: value, local.
¶$vcmd
$vcmd(N)
Returns the Nth item in your commands list.
¶$vcmdstat
$vcmdstat
Returns 0 if not available, 1 if currently off, 2 if ignoring commands, 3 if listening for a command.
¶$vcmdver
$vcmdver
Returns the version of your installed SR software, or $null if not installed.
¶$version
$version
Returns the version of mIRC that is being used.
¶$vnick
$vnick
Returns the user being voiced/devoiced in on voice/devoice event.
¶$vol
$vol(wave|midi|song|master)
Gets the current volume for the specified sound setting. Properties: mute.
¶$wavedir
$wavedir
Returns the wave directory as specified in the options dialog. Replaced by $sound(), still supported for now but no longer documented.
¶$wid
$wid
Returns window id for current script.
¶$width
$width(text,font,size,B,C)
Returns width of text in pixels for the specified font. If B is non-zero, the font is bold, if C is non-zero, control codes are processed. Both B and C are optional. If you use a negative number for the font size, it will match the size of fonts in the font dialog.
¶$wildsite
$wildsite
Returns the address of the user who triggered an event in the form *!*@host.
¶$wildtok
$wildtok(tokens,wildstring,N,C)
Returns the Nth token that matches the wildcard string. If you specify zero for N, it returns the total number of matching tokens. The C parameter is the ascii value of the character separating the tokens. $wildtokcs() is the case-sensitive version.
¶$wildtokcs
$wildtok(tokens,wildstring,N,C)
Returns the Nth token that matches the wildcard string. If you specify zero for N, it returns the total number of matching tokens. The C parameter is the ascii value of the character separating the tokens. $wildtokcs() is the case-sensitive version.
¶$window
$window Returns the name of the window in the leave menu event which was just left.
$window(N/@name) Returns properties for a window. Properties: x, y, w, h, dx, dy, dw, dh, bw, bh, mdi, title, state, font, fontcs, fontsize, logfile, stamp, icon, ontop, type, anysc, wid, cid, hwnd, sbtext, sbcolor, script, sbstate, tbstate.
You can also get the .w and .h properties by specifying: -1 for the width and height of the screen, -2 for the main mIRC window, and -3 for the MDI window where all other windows inside mIRC are displayed.
¶$wrap
$wrap(text,font,size,width,[word],N)
Returns Nth line in text wrapped to the specified width in pixels. If the optional word parameter is 1, text is wrapped at whole words (which is the default). You can specify 0 for N to return the total number of wrapped lines.
¶$xor
$xor(A,B)
Returns A binary xor B.
¶$yes
$yes
May be returned by an $input() request.
¶&
& bitwise comparison, if (<v1> & <v2>) {
& prefix prevents an event from being triggered if a previous script used /halt or /haltdef to halt the default output. on &*:JOIN:#:{ echo $chan event was not halted. }
¶&&
&& means AND
if (<condition1>) && (<condition2>) { <commands when both conditions are true> }
¶+
+ prefix can be used to limit access to users with a specific level, so users with a higher level can not access it.
on +5:JOIN:#:{ echo -a level 5 user joined. }
¶//
string <v2> is a multiple of string <v1>
if (<v1> // <v2>) { <commands> }
¶/abook
/abook [-wnclh] [<nickname>]
The Address Book can be used to store various types of information about users. It can be accessed via the Tools menu, the  toolbar, or by pressing Alt+B, or by using the /abook [<nickname>] command. Where the -wnclh switches open the whois, notify, control, colors, and highlight tabs.
¶/action
/action <message>
Sends an action to the active window, the same as the /me command.
¶/ajinvite
/ajinvite [on|off]
Turns auto-join on invite on or off.
¶/alias
/alias [<filename>] <aliasname> <command>
Adds, removes, replaces aliases; it is limited to single line aliases and will not affect mutiple line definitions.
If you don't specify a filename, it defaults to using the first filename in which the alias exists, or if it doesn't exist then it uses the first loaded aliases file.
¶/aline
/aline [<c>] <@name> <text>
Add line to list. The c parameter specifes a color number for the line.
¶/ame
/ame <message>
Sends the specifed action to all open channel windows.
¶/amsg
/amsg <message>
Sends the specifed message to all open channel windows.
¶/anick
/anick <nickname>
Changes your alternate nickname.
¶/aop
/aop [-lrw] [on|off|<nick>|<address>] [<#channel1,#channel2,...>] [<type>] [<network>]
The auto-op list. The -l switch lists the entries. The -r switch indicates that the address is to be removed. The -w switch makes the auto-op apply to any network.
If you do not specify a type then only the users nickname is used. If you specify a type then the users address is looked up via the server.
¶/auser
/auser [-a] <levels> <nick|address> [<info>]
This adds the specified nick/address exactly as it is given to the users list with the specified levels. If you specify [-a], then if the user already exists, the specified levels are added to the current levels the user has.
¶/auto
/auto and $auto were replaced by /aop and $aop.
¶/autojoin
/autojoin [-nsdN]
Can be used in the on CONNECT event or Perform section to delay or prevent autojoining of channels. Where -n = join now, -s = skip autojoin, -dN = delay autojoin for N seconds. This also affects the rejoining of open channel windows during a reconnect.
¶/avoice
/avoice [-lrw] [on|off|<nick>|<address>] [<#channel1,#channel2,...>] [<type>] [<network>]
The auto-voice list. The -l switch lists the entries. The -r switch indicates that the address is to be removed. The -w switch makes the auto-op apply to any network.
If you do not specify a type then only the users nickname is used. If you specify a type then the users address is looked up via the server.
¶/away
/away [<away message>]
Leaves a message explaining that you are not currently paying attention to IRC. Whenever someone sends you a MSG or does a WHOIS on you, they automatically see whatever message you set. Using AWAY with no parameters marks you as no longer being away.
¶/background
/background [-aemsgdluhcfnrtpx] [<window>] [<filename>]
Changes the background picture setting for a window.
¶/ban
/ban [-rkuN] [<#channel>] <[<nickname>|<address>]> [<type>] [<reason>]
Bans someone from the channel.
¶/bcopy
/bcopy [-zc] <&binvar> <N> <&binvar> <S> <M>
This copies M bytes from position S in the second &binvar to the first &binvar at position N. This can also be used to copy overlapping parts of a &binvar to itself.
¶/beep
/beep <number> <delay>
Beeps a number of times with a delay.
¶/bread
/bread [-t] <filename> <S> <N> <&binvar>
This reads N bytes starting at the Sth byte position in the file and stores the result in the binary variable &binvar.
¶/break
/break
You can use /break to break out of the current loop, and /continue to jump to the beginning of the loop.
¶/breplace
/breplace <&binvar> <oldvalue> <newvalue> [<oldvalue> <newvalue...>]
This replaces all matching ascii values in &binvar with new values.
¶/bset
/bset [-t] <&binvar> <N> <asciivalue> [<asciivalue> ... <asciivalue>]
This sets the Nth byte in binary variable &binvar to the specified ascii value.
¶/btrunc
/btrunc <filename> <bytes>
This truncates/extends a file to the specified length.
¶/bunset
/bunset <&binvar> [<&binvar> ... <&binvar>]
This unsets the specified list of &binvars.
¶/bwrite
/bwrite <filename> <S> [<N>] <text|%var|&binvar>
This writes N bytes from the specified text, %var, or &binvar, to the file starting a the Sth byte position. Any existing information at this position in the file is overwritten.
¶/channel
/channel [<#channel>]
Pops up the channel central window for the channel window you're currently in. You can also specify a #channel name to open the channel central for a channel you've already joined but which isn't the active window.
¶/clear
/clear [-sghlc] [<windowname>]
Clears the buffer of the current window. If you specify a window name, that window's buffer will be cleared.
¶/clearall
/clearall [-snqmtgua]
Clears the buffers of the specified windows, where s = status, n = channel, q = query, m = message window, t = chat, g = finger, u = custom, a = all windows of the given type(s) on all connections. If no switches are specified all windows are cleared.
¶/cline
/cline [<c>] <@name> <N>
Changes the color of the Nth line to color C.
¶/clipboard
/clipboard [-an] <text>
Copies the specified text to the clipboard. The -a switch makes it append the text to any existing text in the clipboard. The -n switch appends a $crlf to the text.
¶/close
/close [-icfgms@] [<nick1>] ... [<nickN>]
Closes all windows of the specified type and the specified nicknames. If no nicknames are given, all windows of the specified type are closed. The type of window is denoted by c for chat, f for fserve, g for get, i for inactive dcc windows, m for message (query), s for send, and @ for custom windows.
You can specify the Nth window for -cfgs by appending a number, eg. /close -s4 nick, would close the 4th open dcc send to nick. You can also use a wildcard as the window name and all matching windows will be closed.
¶/closemsg
/closemsg [nick/wildcard]
Closes all query windows on the current connection if you do not specify a nick.
¶/cnick
/cnick [-rfaniovpylNmNsN] [<nick[!user@host>]] [<color>] [<modes>] [<levels>]
This allows you to modify the items in the nick color list.
¶/color
/color [-lrs] <name> <index>
Allows you to change the color settings for items in the Colors dialog.
¶/comclose
/comclose <name>
This closes the specified COM connection.
¶/comopen
/comopen <name> <progid>
This opens a COM connection to object progid eg. Excel.Application, and assigns the connection a name. You should check $comerr after making this call to confirm that the COM conection was successful.
¶/comreg
/comreg [-u] <filename>
This registers/unregisters a COM DLL with windows.
¶/continue
/continue
You can use /break to break out of the current loop, and /continue to jump to the beginning of the loop.
¶/copy
/copy [-ao] <filename> <filename>
Copies a file to another filename or directory. You can also use wildcards for the source filename, and a directory name for the destination. The -o switch overwrites a file if it exists. The -a switch appends the first file to the second one.
¶/creq
/creq [+m|-m] [ask | auto | ignore]
This is the command line equivalent of setting the DCC Chat request radio buttons in the dcc options dialog (see /help /sreq). The +m|-m switch turns the minimize setting on|off.
¶/ctcp
/ctcp <nickname> <message>
sends a ctcp message to the user. for example /ctcp nick version.
¶/ctcpreply
/ctcpreply <nick> <ctcp> [<message>]
Sends a reply to a ctcp query.
¶/ctcps
/ctcps [on|off]
This switches processing of ctcp events on/off.
¶/dcc chat
/dcc chat <nickname>
Is way of initiating a dcc chat, where nickname is the user you with whom want to dcc chat.
¶/dcc get
/dcc get <folder>
You can manually redirect an incoming dcc send to a specific folder with /dcc get <folder>. You can use /dcc reject to reject the dcc send. Both of these commands must be called from within the CTCP event or the on DCCSERVER send event. $filename returns name of file.
¶/dcc ignore
/dcc ignore [on | off | only | except]
This allows you to specify the types of files that you want mIRC to accept or ignore automatically when someone tries to send you a file.
¶/dcc nick
/dcc nick [-sgcf] <oldnick> <newnick>
Allows you to change the nickname associated with a dcc send/get/chat/fserve.
¶/dcc reject
/dcc reject
You can manually redirect an incoming dcc send to a specific folder with /dcc get <folder>. You can use /dcc reject to reject the dcc send. Both of these commands must be called from within the CTCP event or the on DCCSERVER send event. $filename returns name of file.
¶/dcc send
/dcc send [-clmn] <nick> <file1> [<file2>] ... [<fileN>]
If you specify more than one filename, multiple dcc send sessions to the specified user are initiated. If you specify a wildcard filename, then the DCC Send dialog will display files matching the wildcard.
The -c switch makes the dcc window close automatically once the transfer has finished. The -l switch limits the transfer rate to the max cps limit specified in the DCC Fileserver. Note: If you want to connect to someone else's DCC Server you can specify an IP Address and port instead of the nickname, eg. /dcc send ipaddress:port
¶/dcc trust
/dcc trust [-r] <[on|off|<nick>|<address>|<level>]>
To change the trust list.
¶/dccserver
/dccserver [+|-scf] [on|off] [<port>]
You can Send/Chat to the DCC Server using the DCC Send/Chat dialogs and specifying an IP address instead of a nickname. From the command line, you can use /dcc [send|chat|fserve] with an IP Address instead of a nickname to initiate a connection to the DCC Server. Note: /dcc fserve only works for IP address connections and does not work via IRC.
¶/dde
/dde [-re] <service> <topic> <item> [<data>]
This sends an XTYP_POKE by defaults unless you specify the -r switch in which case an XTYP_REQUEST is sent, or if you specify the -e switch, an XTYP_EXECUTE is sent.
¶/ddeserver
/ddeserver [off|[on [<service name>]]]
mIRC's default service name is mIRC. The mIRC DDE Server defaults to on at startup unless it finds another mIRC or another application using it's current DDE Service name.
¶/debug
/debug [-cinpt] [<N>] [on|off|<@window>|<filename>] [<alias>]
Outputs raw server messages, both incoming and outgoing, to a debug.log file, or a custom @window. The -i switch calls the specified alias as identifier before a debug line is logged. The return value is used as the debug line.
¶/dec
/dec [-cszeuN] <%var> [=] [<value>]
This decreases the value of %var by value. -uN unset after N seconds, if not set again, if N is 0, var is unset when script finishes. -n treat value as plain text. -c decrease value once per second. -z decrease value until zero and unset. -e unset when mIRC exits. -s echo varname and value.
¶/describe
/describe <nick|channel> <message>
Sends an action to the specified nickname or channel, the same as the /me command, except that /me is used while in a query or channel window so you don't need to specify the target when using it.
¶/dialog
/dialog [-mdhtsonkcvie] <name> [<table>] [<x> <y> <w> <h>] [<text>]
The /dialog command allows you to create a modeless dialog with the -m switch. This type of dialog doesn't halt or return a value to the calling script, and the dialog can be displayed indefinitely and used for many purposes. Where name is the name by which you'll refer to the dialog, and table is the dialog table name used to create dialog.
¶/did
/did [-ftebvhnmcukradiogjsl] <name> <id> [<n>] [<text>|<filename>]
The /did command allows you to modify the values of controls in a dialog, eg. changing the text in an edit control, or setting focus to a button, or deleting lines in a listbox.
¶/didtok
/didtok <name> <id> <C> <text>
Adds a tokenized list of items to a list/combo/edit box.
¶/disable
/disable <group1> [<group2> ... <groupN>]
This disables the specified groups in all scripts.
¶/disconnect
/disconnect
Forces a disconnect from a server. This is different from the /quit command which sends a quit message to the server and waits for the server to disconnect you.
¶/dlevel
/dlevel <level>
This changes the default user level to the specified level.
¶/dline
/dline [<c>] <@name> <N[-N2]>
Delete Nth line through N2th line.
¶/dll
/dll <name.dll> <procname> [<data>]
To open a DLL, call the procname routine, and send it the specified data.
¶/dns
/dns [-ch] [<nick>|<address>]
Resolves an address. If mIRC sees a "." in the name you specify it assumes it's an address and tries to resolve it. Otherwise it assumes it's a nickname and performs a /userhost to find the user's address and then resolves it. If you specify an IP address, it looks up the host name.
You can queue multiple /dns requests, and you can view the current queue by using /dns with no parameters. The -c switch clears all currently queued DNS requests, except for the one currently in progress. The -h switch forces /dns to treat the parameter as a hostname.
¶/dqwindow
/dqwindow [on|off|show|hide|min]
Manipulates the single message window.
¶/drawcopy
/drawcopy [-ihmnt] @ [<color>] <x y w h> @ <x y [w h]>
Copies part of a picture to a different position in the same window or to another window. If the second [w h] parameters are specified, the picture is stretched/squeezed to fit.
¶/drawfill
/drawfill [-ihnrs] @ <color> <color> <x y> [<filename>] [<x y>...]
Fills an area with the specified color starting at the specified co-ordinates. The -s switches indicates that the second color parameter is the color that should be filled (surface fill). If no -s is specified, the second color is the border color at which filling should stop (border fill). The optional [filename] specifies a bitmap .BMP file that is 8 by 8 pixels in size and is used as a fill pattern. The remaining switches are the same as those in /drawdot.
¶/drawline
/drawline [-ihnr] @ <color> <size> <x y> <x y> [<x y>...]
Draws a line from the first <x y> co-ordinate to the second, if more co-ordinates are specified, the line is continued. The switches are the same as those in /drawdot.
¶/drawpic
/drawpic [-ihmnotsclgN] @ [<color>] <x y [<w h>]> [<x y w h>] [N] <filename>
Loads and draws a picture at the specified co-ordinates. The picture can be a graphics file, or an ico/exe/dll file.
¶/drawrect
/drawrect [-ihnrfecd] @ <color> <size> <x y w h> [<x y w h>...]
Draws a rectangle at the specified co-ordinates of the specified width and height. If more co-ordinates are specified these are also drawn as separate rectangles.
¶/drawreplace
/drawreplace [-nr] @ <color1> <color2> [<x y w h>]
Replaces color1 with color2 in the specified picture window. The remaining switches are the same as those in /drawdot.
¶/drawrot
/drawrot [-hmnbfc] @ [<color>] <angle> [<x y w h>]
Rotates an area of a bitmap by the specified angle.
¶/drawsave
/drawsave [-bNqN] @ <filename>
This saves the background picture of the specified picture @window to a .bmp filename.
¶/drawscroll
/drawscroll [-hn] @ <x> <y> <x y w h> [<x> <y> <x y w h>...]
Scrolls the region inside the specified rectangle. The first <x> and <y> parameters represent the distance to scroll and can be positive or negative. The remaining switches are the same as those in /drawdot.
¶/drawtext
/drawtext [-hnrpboc] @ <color> [<color>] [<fontname> <fontsize>] <x y [w h]> <text>
Draws text at the specified co-ordinates.
¶/ebeeps
/ebeeps [on|off]
Enables or disables the sounds in the Sounds dialog.
¶/echo
/echo [<color>] [-cdeghiNtsaqlbfnmr] [<colorname>] [<#channel>|<[=]nick>] <text>
Prints text in the specified window using the specified color (0 to 15).
¶/editbox
/editbox [-safnopbNeN] [<window>] <text>
Fills the editbox of the current window with the specified text. -s = Status window, -a = Active window, -f = sets the focus to the editbox, -p = append space to text, -n = fills editbox and presses enter, -o = apply to second editbox in window, -bNeN = set the start and end of the selection in the editbox.
¶/else
if (<condition>) { <commands> }
elseif (<condition>) { <commands> }
else { <commands> }
The ( ) brackets enclose comparisons, whereas the { } brackets enclose the commands you want to be performed if a comparison is true. You must make sure that the number of ( ) and { } brackets match to make sure that the correct comparisons are made, and that the correct commands are executed.
¶/elseif
if (<condition>) { <commands> }
elseif (<condition>) { <commands> }
else { <commands> }
The ( ) brackets enclose comparisons, whereas the { } brackets enclose the commands you want to be performed if a comparison is true. You must make sure that the number of ( ) and { } brackets match to make sure that the correct comparisons are made, and that the correct commands are executed.
¶/emailaddr
/emailaddr <address>
Changes the email address in the Connect dialog.
¶/enable
/enable <group1> [<group2> ... <groupN>]
This enables the specified groups in all scripts.
¶/events
/events [on|off]
This switches processing of named events on/off.
¶/exit
/exit
Close down mIRC and exit. The -n switch disables the exit confirmation dialog. The -r switch restarts mIRC.
¶/fclose
/fclose <name>
Closes the file associated with this name. If you specify a wildcard, all matching names are closed.
¶/filter
/filter [-asdfkwxnpriocteubglLz] [<n-n2>] [<c s>] <[<infile>|<dialog> <id>]> <[<outfile>|<dialog> <id>]> [<alias>] <matchtext>
This command scans lines of text in a window or file and if any of them contain matchtext, they are written out to another window or file which you can then use.
¶/findtext
/findtext [-n] <text>
This searches active window for the specified text (same as Control+F).
¶/finger
/finger <nick/address>
Allows you to finger a person's address to find out more information about them.
¶/firewall
/firewall [-cmN[+|-]d] [on|off] <server> <port> <userid> <password>
Allows you to change the firewall settings.
¶/flash
/flash [-bNwNrN] [<window>] <text>
This flashes the specified mIRC window/icon with text in the titlebar but only if mIRC is not the active application. The -bN switch makes mIRC beep N times.
The -wN switch makes mIRC play the Flash sound specified in the Event Beeps section N times. The -rN switch makes mIRC repeat the flash N times. In all cases, if N is not specified the flash/sound continues indefinitely.
¶/flist
/flist [<name>]
Lists all open files, or those matching the specified name.
¶/flood
/flood [+c|-c] [on|off|clear] <bytes> <maxlines> <maxmessages> <ignoretime>
This command allows you to turn flood protection on or off and to change the flood settings. Typing /flood with no parameters gives you the current flood status. You can type /flood on to turn flood protection on with the default settings.
¶/flush
/flush [-l] [<levels>]
This clears the remote user list of nickname definitions that are no longer valid.
¶/flushini
/flushini <filename>
Flushes the specified INI file to the hard disk. INI files are cached in memory, so you may want to do this to make sure that your INI is updated properly.
¶/font
/font [-asgbdz|<window>] <fontsize> <fontname>
This allows you to change the font for the current window. If no parameters are specified, the font dialog pops up, otherwise the specified parameters are used.
¶/fopen
/fopen [-no] <name> <filename>
Opens the specified file and assigns a name to it for later reference. The open fails if the file does not exist. The -n switch creates the file if it doesn't already exist, fails if the file does exist. The -o switch creates a new file, overwrites if it exists.
Note: If this command fails, the script will continue to run. See $ferr and $feof.
¶/fseek
/fseek <name> <position>
Sets the read/write pointer to the specified position in the file. The following switches may also be used to move the file pointer: -l <name> <line number>, -n <name> <next line>, -w <name> <wildcard>, -r <name> <regex>
¶/fsend
/fsend [on|off]
Turning on this option should speed up your DCC sessions.
¶/fserve
/fserve <nickname> <maxgets> <homedirectory> [<welcomefile>]
A fileserver is initiated by using the /fserve command which initiates a DCC Chat to the specified user. You must specify a homedirectory. The user will be limited to accessing only files and directories within this homedirectory.
¶/fullname
/fullname <name>
Changes the full name in the connect dialog.
¶/fwrite
/fwrite [-bn] <name> <text>|<&binvar>
Writes text or the specified binary variable to the file. The -b switch indicates that a &binvar is being specified. The -n switch appends a $crlf to the line being written.
¶/ghide
/ghide <name>
This hides an agent.
¶/gload
/gload <-h> <name> <filename|N|default>
You must use /gload to load an agent before you can use it.
¶/gmove
/gmove <name> <x> <y> [<speed>]
This moves an agent to the <x> and <y> position on your screen. If a speed isn't specified, it uses a default speed. If you specify a speed of 0, it moves instantly to the new position.
¶/gopts
/gopts [-bieqnh] <name> <on off size pace hide nosize nopace nohide langid>
This sets various options relating to how the agent behaves.
¶/goto
/goto <label>
The /goto command allows you to jump from one point in a script to another point.
¶/gplay
/gplay <name> <anim|N> [<timeout>]
This makes an agent play one of its animations.
¶/gpoint
/gpoint <name> <x y>
This makes an agent point towards the specified <x> <y> screen position.
¶/gqreq
/gqreq <on | off>
By default mIRC queues all requests and plays them one after the other to ensure that even if you use multiple agents at the same time, all messages will be heard, and all agents will act in the order that you requested. You can turn queuing on/off on the fly.
¶/groups
/groups [-e|d]
This displays a list of either all, enabled, or disabled groups in your scripts.
¶/gshow
/gshow <name> [x y]
This shows an agent in its most recent or default position, or at the specified x y position.
¶/gsize
/gsize <name> <w> <h>
This resizes an agent to the specified width and height.
¶/gstop
/gstop -c <name> [talk|play]
This stops an agent from doing what it's currently doing, and removes all queued requests for the agent.
¶/gtalk
/gtalk -kwlu <name> <text|wavefile|text>>
This makes an agent speak the specified text.
¶/gunload
/gunload <name>
This unloads the specified agent. The name is the name you gave your agent when you loaded it with /gload, not the filename of the agent.
¶/guser
/guser [-a] <levels> <nick> [<type>] [<info>]
This works the same as the /auser command except that it looks up address of the specified nick and adds it to the user list. It does this by doing a /userhost on the given nickname, and returning an address in the format specified by type. If no type is specified then a default address format is selected.
¶/hadd
/hadd [-smbczuN] <name> <item> [<data>|<&binvar>]
Adds an item to an existing hash table.
¶/halt
/halt
The /halt command halts a script and prevents any further processing. You can use this in remote scripts to prevent mIRC from replying to normal ctcp messages, or in aliases to halt an alias, and any calling aliases, completely.
¶/haltdef
/haltdef
If you only want to halt the default text without /halting the entire script, you can use the /haltdef command, may need the ^ prefix.
¶/hdec
/hdec [-smbczuN] <name> <item> [<data>|<&binvar>]
The /hinc and /hdec commands use the same parameters as /hadd and increase or decrease the number value of an item.
¶/hdel
/hdel [-sw] <name> <item>
Deletes an item from a hash table.
¶/help
/help [<keyword>]
Brings up the section in the mIRC help file which matches the specified keyword.
¶/hfree
/hfree [-sw] <name>
Frees an existing hash table. The -w switch indicates that name is a wildcard, all matching tables are freed.
¶/hinc
/hinc [-smbczuN] <name> <item> [<data>|<&binvar>]
The /hinc and /hdec commands use the same parameters as /hadd and increase or decrease the number value of an item.
¶/hload
/hload [-sbni] <name> <filename> [<section>]
loads plain text from a text file, with item and data on separate lines. $cr and $lf characters are stripped from text when saving as plain text.
¶/hmake
/hmake [-s] <name> <N>
Creates a new hash table with N slots. A hash table can store an unlimited number of items regardless of the N you choose, however the bigger N is, the faster it will work, depending on the number of items stored.
¶/hop
/hop [-cn] [<#channel>] [<message>]
Parts the current channel and joins a new one. If no new channel is specified, it parts and rejoins the current channel without closing the window. The -c switch cycles the specified channel by parting and rejoining it. The -n switch minimizes the channel window.
¶/hsave
/hsave [-sbnioau] <name> <filename> [<section>]
Saves plain text to a text file, with item and data on separate lines. $cr and $lf characters are stripped from text when saving as plain text.
¶/ial
/ial [on|off]
Turns IAL on or off. Note that this setting is not persistent across sessions and resets to on every time mIRC is run.
¶/ialclear
/ialclear [<nick>]
Clears the IAL, or if a nickname is specified, clears that nickname's IAL entry.
¶/ialmark
/ialmark <nick> [<text>]
Marks the IAL entry for a nickname with the specified text.
¶/identd
/identd [on|off] [<userid>]
To enable/disable/change mIRC's identd setting.
¶/if
if (<condition>) { <commands> }
elseif (<condition>) { <commands> }
else { <commands> }
The ( ) brackets enclose comparisons, whereas the { } brackets enclose the commands you want to be performed if a comparison is true. You must make sure that the number of ( ) and { } brackets match to make sure that the correct comparisons are made, and that the correct commands are executed.
¶/ignore
/ignore [-lrpcntikdwxu#] <[on|off|<nick>|<address>]> [<type>] [<network>]
This feature allows you to ignore various types of messages from users. You can either choose to ignore a user completely, or to ignore only specific messages from a user.
¶/iline
/iline [<c>] <@name> <N> <text>
Insert line at Nth line.
¶/inc
/inc [-cszeuN] <%var> [=] [<value>]
This increases the value of %var by value. -uN unset after N seconds, if not set again, if N is 0, var is unset when script finishes. -n treat value as plain text. -c increase value once per second. -z decrease value until zero and unset. -e unset when mIRC exits. -s echo varname and value.
¶/invite
/invite <nick> <channel>
Invites another user to a channel.
¶/iuser
/iuser <nick|address> [<info>]
This allows you to set or remove the info appended to a user list entry.
¶/join
/join [-inx] <#channel>
This is a standard IRC command for joining a channel. The -i switch makes you join the channel to which you were last invited. The -n and -x switches minimize/maximize the channel window when you join it.
¶/kick
/kick <#channel> <nickname> [<reason>]
Kicks a user from the channel.
¶/leave
/leave [<channel>] [<message>]
Leaves a channel with an optional message. If no channel is specified, current open channel is left. Same as /part.
¶/linesep
/linesep [-s|<window>]
Prints the line separator selected in the Options dialog in the specified window.
¶/links
/links [-nx]
Retrieves the servers to which your current server is linked. The -n and -x switches minimize/maximize the window when it opens.
¶/list
/list [<#channel>] [-MIN <#>] [-MAX <#>]
Lists currently available channels. You can also tell mIRC to show only channels with a minimum and a maximum number of people. If you specify a #channel then mIRC will only list information for that channel. If you specify wildcards, eg. *love* then mIRC will list all channels that contain the word love in them.
¶/load
/load <-a|-pscqnm|-ruvsN> <filename>
Loads the specified alias, popup, or script.
¶/loadbuf
/loadbuf [lines] [-apirsglecNnomt<topic>] <window | dialog id> <filename>
Loads the specified number of lines from the end of the file of filename into the specified window.
¶/localinfo
/localinfo [-uh] [<host>|<ip>]
Looks up and sets your local info settings. The -u switch performs a /userhost lookup, the -h switch does a normal lookup. If you wish, you can also set the local info manually by specifying the host and ip values.
¶/log
/log <on|off> <window> [-f <filename>]
Turns logging on and off for a window, if you specify a filename the logs file dialog is not popped up.
¶/mdi
/mdi [-act]
Allows you to arrange icons, and cascade/tile windows.
¶/me
/me <message>
Tells the current channel or query about what you are doing.
¶/mkdir
/mkdir <dirname>
Creates the specified directory.
¶/mode
/mode #channel|nickname [[+|-]modechars [parameters]]
This is a powerful command that gives channel operators control of a channel and the users on it.
¶/msg
/msg <nickname> <message>
Sends a private message to this user without opening a query window.
¶/nick
/nick <nickname>
Changes your nickname to a new nickname.
¶/noop
/noop
Performs no operation, parameters are evaluated as with a normal command.
¶/notice
/notice <nick|channel> <message>
This command sends a notice to a nick or #channel.
¶/notify
/notify [-shrln] <on|off|nickname> [<note>]
You can also add/remove nicknames from the notify list by using the /notify command.
¶/omsg
/omsg [<#channel>] <message>
This command sends the specified message to all channel ops on a channel. You must be a channel operator to use these commands. If the #channel isn't specified, then the current channel is used.
¶/onotice
/onotice [<#channel>] <message>
This sends the specified message to all channel ops on a channel. You must be a channel operator to use these commands. If the #channel isn't specified, then the current channel is used.
¶/part
/part <#channel>
Leaves a channel.
¶/partall
/partall [<message>]
Parts all of the channels you are currently on. On certain IRC Servers, you can also specify a message.
¶/pdcc
/pdcc [on|off]
If turned on, tries to speed up dcc sends by sending packets ahead of acks.
¶/perform
/perform [on|off]
Enables or disables the Perform form section.
¶/play
/play [-aescpbn q# m# f# rl# t#] [<alias>] [<channel>|<nick>|stop] <filename> [<delay>]
A play request can be added to the queue by using either the play dialog or the /play command. The play dialog can be displayed by using the /play command with no parameters. It supports most of the features of the /play command itself, described on the page opened with /help /play.
¶/playctrl
Displays the play central dialog.
¶/pop
/pop <delay> [<#channel>] <nickname>
Performs a delayed op on a nickname. The purpose of this command is to prevent a channel window filling up with op mode changes whenever several users have the same nickname in their auto-op section.
¶/protect
/protect [-lrw] <on|off|nick|address> [<#channel1,#channel2,...>] [<type>] [<network>]
The protect list. The -l switch lists the entries. The -r switch indicates that the address is to be removed. The -w switch makes the auto-op apply to any network.
If you do not specify a type then only the users nickname is used. If you specify a type then the users address is looked up via the server.
¶/pvoice
/pvoice <delay> [<#channel>] <nickname>
Performs a delayed voice on a nickname. The purpose of this command is to prevent a channel window filling up with op mode changes whenever several users have the same nickname in their auto-voice section.
¶/qme
/qme <action>
This send the specified action to all open query windows.
¶/qmsg
/qmsg <message>
This send the specified message to all open query windows.
¶/query
/query [-n] <nick> [<message>]
Opens a query window to the specified nickname. If a message is provided, it is sent. If the -n switch is specified, the window is opened in a minimized state.
¶/queryrn
/queryrn <nick> <newnick>
Changes the nickname of an open query window.
¶/quit
/quit [<reason>]
Disconnects you from IRC and will give the optional message as the reason for your departure. (this message only appears to people who are on the same channels as you).
¶/quote
/quote <raw line>
Sends any parameters you supply directly to the server. You must know the correct RAW format of the command you are sending. Useful for sending commands which mIRC hasn't implemented yet.
¶/raw
/raw [on|off] Switches processing of numeric events on/off.
/raw [-q] <command> sends any parameters you supply directly to the server. You must know the correct RAW format of the command you are sending. Useful for sending commands which mIRC hasn't implemented yet. The -q switch makes the raw work quietly without printing what it's sending. This command does the same thing as /quote in other IRC clients. The -q switch makes the command silent.
¶/registration
/registration
Brings up the registration dialog.
¶/reload
/reload <-a|-pscqnm|-ruvsN> <filename>
Uses the same parameters as /load. Reloads a file without triggering the on start/load events in the script being loaded.
¶/remini
/remini <inifile> <section> [<item>]
Deletes whole sections or single items in an INI file.
¶/remote
/remote [on|off]
This switches processing of all scripts on/off.
¶/remove
/remove [-b] <filename>
Deletes the specified file. The -b switch deletes the file and moves it to the recycle bin.
¶/rename
/rename <filename> <newfilename>
Renames a file, can also be used to move a file from one directory to another.
¶/renwin
/renwin <@oldname> <@newname> [<topic>]
This allows you to change the name of an existing window to a different one, and an optional topic can be specified.
¶/reseterror
/reseterror
You can reset the error with /reseterror. If you don't reset the error, it will propagate backwards to any calling aliases until an :error is found and will halt the script as usual.
¶/resetidle
/resetidle [<seconds>]
This resets the $idle identifer to zero or to the number of seconds you specify.
¶/return
/return [<value>]
The /return command halts a currently executing script and allows the calling routine to continue processing.
¶/rlevel
/rlevel [-r] <levels>
This removes all users from the remote users list with the specified general access level.
¶/rline
/rline [<c>] <@name> <N> <text>
To replace Nth line.
¶/rmdir
/rmdir <dirname>
Deletes the specified directory. If the directory contains files, it cannot be deleted.
¶/run
/run [-nph] <filename> [<parameters>]
Runs the specified program with parameters. The -n switch minimizes the window of the application being run. The -p switch sets the working path to the path of the application being run. The -h switch hides the application.
You can enclose the filename or parameters in quotes if you need to. If you specify a non-executable file, mIRC tries to open it with the application associated with that file.
¶/ruser
/ruser [<levels>] <nick|address> [<type>]
If used without specifying levels, this removes the specified user from the user list. If you specify levels then these levels are removed from the current access levels of this user. If all a user's levels have been removed, the user is removed. If you specify a type then the users address is looked up with a /userhost and any users in the users list matching this address are removed.
¶/save
/save <-pscqnm|-ruv> <filename>
Saves the specified popup or remote users/variables file.
¶/savebuf
/savebuf [-sgao] [<lines>] <[<window>|<dialog> <id>]> <filename>
Saves the specified number of lines from the end of the buffer of the specified window into the specified filename.
¶/saveini
/saveini
Updates all mIRC-related INI files with the current settings.
¶/say
/say <message>
This lets you define an alias that writes directly to a channel as if you were saying something. So "/say Hello there" would be the same as just typing "Hello there". This is useful in an alias when you want to ask the same question (or send the same information) again and again.
¶/scid
/scid <-rsatM|N> [<command>]
Changes the active connection for a script to connection id N, where N is a $cid value.
¶/scon
/scon <-rsatM|N> [<command>]
The /scon command works in exactly the same way as /scid, except that N represents the Nth connection, not a connection id value.
¶/server
/server [-emnsarpfocz] <server/groupname> [<port>] [<password>] [-i <nick anick email name>] [-jn <#channel> [<pass>]]
If you type /server with no parameters, mIRC will connect to the last server you used. If you use the server command while still connected, you will be disconnected with your normal quit message and will then connect to the specified server.
¶/set
/set [-snzeuN] <%var> [<value>]
This sets the value of %var to the specified value. -uN unset after N seconds, if not set again, if N is 0, var is unset when script finishes. -n treat value as plain text. -z decrease value until zero and unset. -e unset when mIRC exits. -s echo varname and value.
¶/setlayer
/setlayer <0-255> [<Window>|@<wid>]
Sets opacity (transperancy) of a window, where 0 is solid, and 255 is fully transparent. The window must be placed on the desktop. If no window is specified, the main mIRC window is changed.
¶/showmirc
/showmirc <-mnrstxopl>
Manipulates the display of the main mIRC window, where -n = minimize, -r = restore, -s = show, -t = tray, -x = maximize, -o = on top, -p = not on top, -m = minimize according to tray settings. The -l switch can be used with the -nt switches to lock mIRC.
¶/signal
/signal [-n] <name> [<parameters>]
The signal command allows you to trigger signal events in all scripts that listen for signals. By default the signal is triggered after all current scripts have finished executing. You can however use -n to make the script trigger immediately.
¶/sline
/sline [-a|r|c] <#channel|@window> <N|nick>
Selects or deselects lines in a channel nickname listbox. It can select either the Nth nickname in a listbox, or a specified nickname. Or selects the Nth line in a custom window.
¶/sockaccept
/sockaccept <name>
The /sockaccept command accepts the current connection to your listening port and assigns it a name to identify it.
¶/sockclose
/sockclose <name>
The /sockclose command closes the connection with the specified name. If you specify a wildcard name, all connections that match the wildcard are closed.
¶/socklist
/socklist [-tul] [<name>]
The /socklist command lists all open sockets, or if you specify the -tul switches, it lists tcp, udp, and listening sockets respectively. You can also specify a socket name or wildcard.
¶/socklisten
/socklisten [-d] [bindip] <name> [<port>]
The /socklisten command listens on the specified port for connections to that port. If a port isn't specified, the port is selected randomly from the range specified in the DCC Options dcc ports section.
¶/sockmark
/sockmark <name> [<text>]
The /sockmark command fills the .mark attribute of a socket with the specified info for later reference via the $sock().mark property. If you do not specify any text, the mark is cleared. The mark can hold up to 512 bytes. You can use a wildcard name to set the same information at once for all connections that match the wildcard.
¶/sockopen
/sockopen [-de] [bindip] <name> <address> <port>
The /sockopen command initiates a connection to the specified address and port. You can specify either an ip address or a named address (which will be resolved to an ip address). The -d switch means that you specified an ip address as the bind address. The -e switch created an SSL connection.
¶/sockpause
/sockpause [-r] <name>
Pauses or resumes a socket when reading incoming data, -r to resume the socket. The current state can be returned with $sock().pause.
¶/sockread
/sockread [-fn] [<numbytes>] <%var|&binvar>
The /sockread command reads bytes from the receive buffer into the specified variable.
¶/sockrename
/sockrename <name> <newname>
The /sockrename command assigns a new name to an existing connection.
¶/sockudp
/sockudp [-bntkd] [<bindip>] <name> [<port>] [<ipaddress> <port> [<numbytes>] [<text>|<%var>|<&binvar>]
UDP does not guarantee that any information you send will actually reach it's destination, ie. it isn't a reliable protocol. Also, be aware that UDP packets may not arrive in the same order as that in which they were sent. This means that you must perform your own checking to confirm that any data you sent actually reached it's destination properly.
¶/sockwrite
/sockwrite [-tnb] <name> [<numbytes>] <text|%var|&binvar>
The /sockwrite command queues info to be sent on the specified connection. mIRC will then try to send that info as quickly as it can. Once it has finished sending the info, it triggers the on sockwrite event so you can send more info if you need to.
¶/sound
/sound [on|off|<nick>|<channel>] <file.wav|file.mid|file.mp3> <message>
Sound requests allow users to share the experience of playing sounds together. When someone uses the /sound command on a channel, all users on the channel who have that same sound will hear it play.
¶/speak
/speak <text>
Sends the specified text to Monologue (or Text Assist) which is a program that speaks whatever text is sent to it. This feature only works with the very old versions of the above software. The new versions do not support the method that mIRC uses.
¶/splay
/splay [-cwmpq] [<filename>|stop|pause|resume|seek|skip] [<pos>]
Plays the specified sound, which can be a .wav, .mid, or .mp3 file.
¶/sreq
/sreq [+m|-m] [ask|auto|ignore]
This is the command line equivalent of setting the DCC Send request radio buttons in the dcc options dialog (see /creq above). The +m|-m switch turns the minimize setting on|off.
¶/strip
/strip [+-burc]
Turns control code stripping options in Options dialog on/off.
¶/timer
/timer[<name>] [-cdeomhipr|off] [<time>] <repetitions> <interval> <command>
Activates the specified timer to perform the specified command at a specified interval, and optionally at a specified time.
¶/timers
/timers [off]
Shows active timers, stops all timers if off is specified.
¶/timestamp
/timestamp [-fgs|a|e] [on|off|default] [<windowname>]
Turns timestamping of events on or off. If you specify default, uses the global timestamp setting. -s = for status window, -a = for active window, -e = for every window, -f = set event timestamp format, -g = set logging timestamp format.
¶/tips
/tips [on|off]
Turns tips on or off.
¶/titlebar
/titlebar [<@window>] <text>
Sets the main application titlebar. If you specify a custom @window name, then the titlebar for that custom window is changed.
¶/tnick
/tnick <nickname>
Changes your nickname to a temporary nickname, without affecting your main or alternate nicknames.
¶/tokenize
/tokenize <c> <text>
Fills the $1 $2 ... $N identifiers with tokens in <text> separated by character ascii number <c>.
¶/toolbar
/toolbar [-aidmsxkNnNzNebwhyNurctplorf[sld]] [N] <name/N> <tooltip> <picfile|@> [x y w h] [/<alias>] [<popfile>|@]
The /toolbar command can be used to modify the mIRC toolbar.
¶/topic
/topic <#channel> [<newtopic>]
Changes the topic for the channel.
¶/tray
/tray [-iNmNsNtNaN] <filename>
This command changes the mIRC Tray icon to the Nth icon in the specified file (which might be an .exe, .dll, or .ico). The -msta switches enable or disable the tray settings in the Options dialog, where N is 0 or 1.
¶/ulist
/ulist [<|>] <level>
This lists users which have the specified access levels.
¶/unload
/unload <-a|-nrs> <filename>
Unloads the specified alias or remote script file.
¶/unset
/unset [-s] <%var>
This unsets and removes the specified variables from the variables list. If you specify a variable with wildcard characters then all matching variables will be removed.
¶/unsetall
/unsetall
This unsets and removes all variables from the variables list.
¶/updatenl
/updatenl
Usually the channel nicknames list and IAL in a kick/part/quit script event are updated after the script finishes, this command updates them immediately.
¶/url
/url [on|off|show|hide|-dranils] [[N|mark] |<address>]
Show or hides the URL list window, and allows you to modify the current list of addresses in it. The -r switch deletes the Nth item, or all items that match the mark you specify.
The -an switches allow you to open a browser window to an address, where -a = activate browser, and -n = use a new browser window. The -ils switches allow you to insert an item, load, and save the list, respectively.
¶/username
/username [<name>]
Changes your Full Name in Options > Connect. If no name is specified, current Full Name is shown.
¶/uwho
/uwho [<nick>] [<nick>]
This performs a /whois on the specified nickname to look up their server information and then displays it in the info section of the address book. Because of the way IRC Servers work, you may need to specify the nickname a second time in order to look up information such as idle time or the away message, however this information usually takes longer to retrieve.
¶/var
/var %var [[=] <value>][,%var2 ...]
Creates a local variable in the current routine and can only be referenced from inside this routine.
¶/vcadd
/vcadd <command1,command2,...>
This adds voice commands to the commands list.
¶/vcmd
/vcmd [-lc] <on|off|sleep>
This turns voice command listening on or off, or you can temporarily turn off listening by specifying sleep.
¶/vcrem
/vcrem <command1,command2,...>
This removes commands from the commands list.
¶/vol
/vol [-wmpvuN] [<volume>]
Sets the volume on your system for waves, midis, and mp3s (same as waves)
¶/wallchops
/wallchops [<channel>] <text>
This and the /onotice command sends the specified message to all channel ops on a channel. You must be a channel operator to use these commands. If the #channel isn't specified, then the current channel is used.
¶/whois
/whois <nickname>
Shows information about someone.
¶/window
/window [-abBcCdDeEfg[N]hHik[N]l[N]mn[N]oprRsvw[N]xz] [-tN,..,N] [+bdeflLmnstx] <@name> [x y [w h]] [</command>] [<file>] [<font> [<size>]] [<iconfile> [<N>]]
The /window command, along with a few other related commands listed in /help /window, allows you to create and manipulate custom windows.
¶/winhelp
/winhelp <filename> [<key>]
Opens a help file with the specified search key.
¶/write
/write [-cidna l# s# w#] <filename> [<text>]
Writes lines to a text file.
¶/writeini
/writeini -n <inifile> <section> <item> <value>
Writes to files in the standard INI file format.
¶/xyzzy
/xyzzy
Echoes “Nothing Happens.” in active window.
¶<
string <v1> is less than string <v2>
if (<v1> < <v2>) { <commands> } 
¶<=
string <v1> is smaller than or equal to string <v2>
if (<v1> <= <v2>) { <commands> }
¶=
= suffix prevents users with higher access levels from accessing all lower access level events by using the = suffix.
ctcp 5:HELP:*:=
¶=$nick
=$nick
Returns the nick that triggered a dcc chat message.
¶==
string <v1> is equal to string <v2>
if (<v1> == <v2>) { <commands> }
¶===
string <v1> is equal to string <v2> (case-sensitive)
if (<v1> === <v2>) { <commands> }
¶>
string <v1> is larger than string <v2>
if (<v1> > <v2>) { <commands> }
¶>=
string <v1> is larger than or equal to string <v2>
if (<v1> >= <v2>) { <commands> }
¶@
@ prefix can be used to only trigger the event if you are opped on the channel. so it is the same as using if ($me isop $chan) { <commands> }
on @*:JOIN:#:{ mode $chan +v $nick }
¶Dialog box
box "[<text>]", id, x y w h, style 
¶Dialog button
button "[<text>]", id, x y w h, style  (default, ok, cancel, flat, multi)
¶Dialog check
check "[<text>]", id, x y w h, style  (left, push, 3state)
¶Dialog combo
combo id, x y w h, style  (sort, edit, drop, size, vsbar, hsbar)
¶Dialog edit
edit "[<text>]", id, x y w h, style  (right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs, limit N)
¶Dialog icon
icon filename, index
¶Dialog link
link "[<text>]", id, x y w h
¶Dialog list
list id, x y w h, style  (sort, extsel, multsel, size, vsbar, hsbar, check, radio)
¶Dialog menu
menu "[<text>]", menuid [, menuid]
item "[<text>]", id [, menuid]
item break, id [, menuid]
¶Dialog menudivider
item break, id, menuid
¶Dialog menuitem
item "[<text>]", id, menuid
¶Dialog prefix
dialog [-l] <name> {
You can use the dialog prefix to create a dialog table called name in a script. The -l switch makes a dialog table local, so that it can only be accessed by other scripts in the same file.
¶Dialog radio
radio "[text]", id, x y w h, left push flat
¶Dialog scroll
scroll "text", id, x y w h, style (top left bottom right horizontal range N N)
¶Dialog submenu
menu "[text]", menuid, parentmenuid
¶Dialog tab
tab "[text]", id
¶Dialog tab
tab "<|>[text]", id, x y w h
¶Dialog text
text "[text]", id, x y w h, right center nowrap
¶\\
string <v2> is not a multiple of string <v1>
if (<v1> \\ <v2>) { <commands> }
¶^
^ prefix in combination with /halt or /haltdef can be used to halt the default ouput of an event.
on ^*:JOIN:#:{ haltdef | echo $chan * joins: $nick }
¶command line
Command line switches allow you to change the behaviour of mIRC when it is first run. The switches can be used by creating a Windows Shortcut to the mIRC executable and appending the switches to the target filename.
-s<server:port> -j<#chan1,...,#chanN> -p<password> -n<nick1,nick2> -i<filename> -r<path> -noreg -portable
¶Command Prefix
The default standard prefix to a command is a / character, however you can specify another character if the / key is hard to access on your keyboard. Regardless of the character you choose here, mIRC still recognizes the / character and uses it internally.
¶command prefixes
If you are executing a command from the command line ie. by typing it into an editbox, you can force mIRC to evaluate identifiers in that command by prefixing it with two // instead of one /.
The . command prefix will make the command not print out any information. This works on most mIRC commands. In an alias $show can be used to determine if . was used, and /echo -q will not echo when . is used.
The ! command prefix will make ignore any alias you may have for it and use the default mIRC command or dump it to the server, this also will not trigger on input events (except when ctrl+enter is used). mIRC processes the commands in this order: alias -> internal mIRC command -> .chm or .hlp file in mIRC dir -> dump to server.
¶Comments
You can add comments to your scripts by using the ; semi-colon at the start of a line, or /* and */ to enclose text.
¶ctcp events
CTCP <level>:<matchtext>:<*|#|?>:{ <commands> }
Triggers when you receive a CTCP message.
¶else
if (<condition>) { <commands> }
elseif (<condition>) { <commands> }
else { <commands> }
The ( ) brackets enclose comparisons, whereas the { } brackets enclose the commands you want to be performed if a comparison is true. You must make sure that the number of ( ) and { } brackets match to make sure that the correct comparisons are made, and that the correct commands are executed.
¶elseif
if (<condition>) { <commands> }
elseif (<condition>) { <commands> }
else { <commands> }
The ( ) brackets enclose comparisons, whereas the { } brackets enclose the commands you want to be performed if a comparison is true. You must make sure that the number of ( ) and { } brackets match to make sure that the correct comparisons are made, and that the correct commands are executed.
¶halting default text
^ prefix in combination with /halt or /haltdef can be used to halt the default ouput of an event.
on ^*:JOIN:#:{ haltdef | echo $chan * joins: $nick }
¶if
if (<condition>) { <commands> }
elseif (<condition>) { <commands> }
else { <commands> }
The ( ) brackets enclose comparisons, whereas the { } brackets enclose the commands you want to be performed if a comparison is true. You must make sure that the number of ( ) and { } brackets match to make sure that the correct comparisons are made, and that the correct commands are executed.
¶if then else
if (<condition>) { <commands> }
elseif (<condition>) { <commands> }
else { <commands> }
The ( ) brackets enclose comparisons, whereas the { } brackets enclose the commands you want to be performed if a comparison is true. You must make sure that the number of ( ) and { } brackets match to make sure that the correct comparisons are made, and that the correct commands are executed.
¶if-then-else
if (<condition>) { <commands> }
elseif (<condition>) { <commands> }
else { <commands> }
The ( ) brackets enclose comparisons, whereas the { } brackets enclose the commands you want to be performed if a comparison is true. You must make sure that the number of ( ) and { } brackets match to make sure that the correct comparisons are made, and that the correct commands are executed.
¶isalnum
text <V1> contains only letters and numbers
if (<v1> isalnum) { <commands> }
¶isalpha
text <v1> contains only letters
if (<v1> isalpha) { <commands> }
¶isaop
if <v1> is a user in your auto-op list for channel <v2> (v2 optional)
if (<v1> isaop [<v2>]) { <commands> }
¶isavoice
if <v1> is a user in your auto-voice list for channel <v2> (v2 optional)
if (<v1> isavoice [<v2>]) { <commands> }
¶isban
if <v1> is an address in internal ban list on channel <v2>
if (<v1> isban <v2>) { <commands> }
¶ischan
if <v1> is a channel which you are on
if (<v1> ischan) { <commands> }
¶isexcept
if <v1> is an address in internal exception list on channel <v2>
if (<v1> isexcept <v2>) { <commands> }
¶ishop
nickname <v1> is a halfop on channel <v2>
if (<v1> ishop <v2>) { commands> }
¶isignore
if <v1> is a user in your ignore list with the ignore switch <v2> (v2 optional)
if (<v1> isignore [<v2>]) { <commands> }
¶isin
string <v1> is in string <v2>
if (<v1> isin <v2>) { <commands> }
¶isincs
string <v1> is in string <v2> (case sensitive)
if (<v1> isincs <v2>) { <commands> }
¶isinvite
if <v1> is an address in internal invite list on channel <v2>
if (<v1> isinvite <v2>) { <commands> }
¶isletter
letter <v1> is a letter in the list of letters in <v2> (v2 optional)
if (<v1> isletter [<v2>]) { <commands> }
¶islower
text <v1> contains only lower case letters
if (<v1> islower) { <commands> }
¶isnotify
if <v1> is a user in your notify list
if (<v1> isnotify) { <commands> }
¶isnum
number <v1> is a number in the range <v2> which is in the form n1-n2 (v2/n2 optional)
if (<v1> isnum [<v2>]) { <commands> }
¶ison
nickname <v1> is on channel <v2>
if (<v1> ison <v2>) { <commands> }
¶isop
nickname <v1> is an op on channel <v2>
if (<v1> isop <v2>) { <commands> }
¶isowner
nickname <v1> is an owner of channel <v2>
if (<v1> isowner <v2>) { <commands> }
¶isprotect
if <v1> is a user in your protect list for channel <v2> (v2 optional)
if (<v1> isprotect [<v2>]) { <commands> }
¶isreg
nickname <v1> is a normal nick on channel <v2>
if (<v1> isreg <v2>) { <commands> }
¶isupper
text <v1> contains only upper case letters
if (<v1> isupper) { <commands> }
¶isvoice
nickname <v1> has a voice on channel <v2>
if (<v1> isvoice <v2>) { <commands> }
¶iswm
wildcard string <v1> matches string <v2>
if (<v1> iswm <v2>) { <commands> }
¶iswmcs
wildcard string <v1> matches string <v2> (case sensitive)
if (<v1> iswmcs <v2>) { <commands> }
¶me:
me: prefix can be used to only trigger the event by yourself.
on me:*:JOIN:#:{ echo $chan I just joined $chan }
¶on ACTION
on [<prefixes>]<level>:ACTION:<matchtext>:<*><?><channel>[,<channel>]:{ <commands> }
Triggers on an action. ? means in private. * means in private and in channels. # means in all channels, or a specific channel. seperate multiple channels with a comma.
¶on ACTIVE
on *:ACTIVE:<*#?=!@>:{ <commands> }
Triggers when a window in mIRC is activated.
¶on AGENT
on *:AGENT:{ <commands> }
Triggers when an Agent has finished speaking.
¶on APPACTIVE
on *:APPACTIVE:{ <commands> }
Triggers when mIRC's active status changes.
¶on BAN
on [<prefixes>]<level>:BAN:<channel>[,<channel>]:{ <commands> }
Trigger when a ban is set on a channel.
¶on CHAT
on *:CHAT:<matchtext>:{ <commands> }
Triggers when a message is sent to a dcc chat.
¶on CLOSE
on *:CLOSE:<?|@|=|!|*>:<matchtext>:{ <commands> }
Triggers when windows are closed, when closing a query window, when dcc chat session ends or you close the chat window manually, when fileserver session ends, when a custom window is closed. Also triggers when open windows are closed when mIRC exits.
¶on CONNECT
on *:CONNECT:{ <commands> }
Triggers when mIRC connects to an IRC Server right after the MOTD is displayed.
¶on CONNECTFAIL
on *:CONNECTFAIL:{ <commands> }
Triggers when a connection attempt (including all retries) has failed. $1- is set to the connect error message.
¶on CTCPREPLY
on [<prefixes>]<level>:CTCPREPLY:<matchtext>:{ <commands> }
Triggers when a user sends a standard ctcp reply to a ctcp that you initiated. If the reply is to a channel $chan can be used. 
¶on DCCSERVER
on [<prefixes>]<level>:DCCSERVER:<Chat|Send|Fserve>:{ <commands> }
Triggers when someone tries to connect to your DCC Server. The purpose of this event is to allow you to monitor connections and to prevent someone from connecting to your server by using /halt.
¶on DEHELP
on [<prefixes>]<level>:DEHELP:<channel>[,<channel>]:{ <commands> }
Triggers when a user is being dehalfopped on a channel.
¶on DEOP
on [<prefixes>]<level>:DEOP:<channel>[,<channel>]:{ <commands> }
Triggers when a user is being deopped on a channel.
¶on DEOWNER
on [<prefixes>]<level>:DEOWNER:<channel>[,<channel>]:{ <commands> }
Triggers when a user's owner status is taken (-q) on a channel. $opnick referes to the target.
¶on DEVOICE
on [<prefixes>]<level>:DEVOICE:<channel>[,<channel>]:{ <commands> }
Triggers when a user is being devoiced on a channenl.
¶on DIALOG
on *:DIALOG:<dname>:<devent>:<id>:{ <commands> }
If a user changes the state of controls in the dialog, eg. clicks on a button, types text in an edit box, etc., this triggers the on dialog script event which allows you to monitor input from the user.
¶on DIALOG ACTIVE
triggers when a dialog is (de)activated. ID is zero.
on *:DIALOG:test_dialog:ACTIVE:0:{ echo -a $dname was (de)activated }
¶on DIALOG CLOSE
triggers when a dialog is closed. ID is zero.
on *:DIALOG:test_dialog:CLOSE:0:{ echo -a $dname was closed }
¶on DIALOG DCLICK
triggers when a double click is made in a list/combo box.
on *:DIALOG:test_dialog:DCLICK:*:{ echo -a double click occured on ID $did in dialog $dname }
¶on DIALOG EDIT
triggers when an editbox or combobox is changed
on *:DIALOG:test_dialog:EDIT:*:{ echo -a edit occured on ID $did in dialog $dname }
¶on DIALOG INIT
triggers when a dialog is first opened. ID is zero.
on *:DIALOG:test_dialog:INIT:0:{ echo -a $dname was opened }
¶on DIALOG MENU
triggers when a menuitem is selected.
on *:DIALOG:test_dialog:MENU:*:{ echo -a menuitem $did in dialog $dname was triggered }
¶on DIALOG SCLICK
triggers when a single click occurs on an ID.
on *:DIALOG:test_dialog:SCLICK:*:{ echo -a single click occured on ID $did in dialog $dname }
¶on DIALOG SCROLL
triggers when a scrollbar is moved, this event is not triggered unless the style "range N N" has been used. Use $did().sel to retrieve position of marker
on *:DIALOG:test_dialog:SCROLL:*:{ echo -a Marker in scrollbar $did in dialog $dname moved, new position $did(test_dialog,$did).sel }
¶on DISCONNECT
on *:DISCONNECT:{ <commands> }
Triggers when mIRC is unable to connect.
¶on DNS
on *:DNS:{ <commands> }
Triggers when a /dns query either succeeds or fails.
¶on ERROR
on *:ERROR:<matchtext>:{ <commands> }
Triggers when an IRC Server sends an ERROR message, this usually occurrs on a disconnection.
¶on EXIT
on *:EXIT:{ <commands> }
Triggers when mIRC itself is closed.
¶on FILERCVD
on *:FILERCVD:<filename>[,<filename>]:{ <commands> }
Triggers when a dcc get succeeds.
¶on FILESENT
on *:FILESENT:<filename>[,<filename>]:{ <commands> }
Triggers when a dcc send succeeds.
¶on GETFAIL
on *:GETFAIL:<filename>[,<filename>]:{ <commands> }
Triggers when a dcc get fails.
¶on HELP
on [<prefixes>]<level>:HELP:<channel>[,<channel>]:{ <commands> }
Triggers when a user is being halfopped on a channel.
¶on HOTLINK
on *:HOTLINK:<matchtext>:<*#?=!@>:{ <commands> }
Triggers when move your mouse over a specific word in a line of text in a window.
¶on INPUT
on *:INPUT:<*#?=!@>:{ <commands> }
Triggers when you enter text in an editbox and press enter.
¶on INVITE
on [<prefixes>]<level>:INVITE:<channel>[,<channel>]:{ <commands> }
Triggers when a user invites you to a channel.
¶on JOIN
on [<prefixes>]<level>:JOIN:<channel>[,<channel>]:{ <commands> }
Trigger when a user joins or parts a channel.
¶on KEYDOWN
on *:KEYDOWN:<@window>:<key[,key]>:{ <commands> }
Trigger when a user presses a key in a custom window.
¶on KEYUP
on *:KEYUP:<@window>:<key[,key]>:{ <commands> }
Trigger when a user releases a key in a custom window.
¶on KICK
on [<prefixes>]<level>:KICK:<channel>[,<channel>]:{ <commands> }
Triggers when a user is kicked from a channel.
¶on LOAD
on *:LOAD:{ <commands> }
Triggers the first time a script file is ever loaded.
¶on LOGON
on [^]*:LOGON:*:{ <commands> }
Triggers before and after mIRC sends the standard PASS, NICK, and USER messages to the server. If you /halt the event, mIRC will not send the standard logon messages, allowing to send your own messages.
¶on MIDIEND
on *:MIDIEND:{ <commands> }
Trigger when mIRC finishes playing a midi sound.
¶on MODE
on [<prefixes>]<level>:MODE:<channel>[,<channel>]:{ <commands> }
Triggers when user changes a channel mode.
¶on MP3END
on *:MP3END:{ <commands> }
Trigger when mIRC finishes playing a mp3 sound.
¶on NICK
on [<prefixes>]<level>:NICK:{ <commands> }
Triggers when a user changes nick.
¶on NOSOUND
on *:NOSOUND:{ <commands> }
Triggers when a user sends a Sound Request to play a sound and you don't have that sound.
¶on NOTICE
on [<prefixes>]<level>:NOTICE:<matchtext>:<*><?><channel>[,<channel>]:{ <commands> }
Triggers when you receive private and/or channel notice from a user.
¶on NOTIFY
on *:NOTIFY:{ <commands> }
Triggers when a user in your notify list joins IRC.
¶on OP
on [<prefixes>]<level>:OP:<channel>[,<channel>]:{ <commands> }
Triggers when a user is being opped on a channel.
¶on OPEN
on [<prefixes>]<level>:OPEN:<?|@|=|!|*>:[<matchtext>]:{ <commands> }
Triggers for various events relating to the opening of a window of different types of windows.
¶on OWNER
on [<prefixes>]<level>:OWNER:<channel>[,<channel>]:{ <commands> }
Triggers when a user is given owner (+q) on a channel. $opnick referes to the target.
¶on PART
on [<prefixes>]<level>:PART:<channel>[,<channel>]:{ <commands> }
Trigger when a user joins or parts a channel.
¶on PING
on *:PING:{ <commands> }
Triggers when a server sends you a PING message to see if you're still connected.
¶on PLAYEND
on *:PLAYEND:{ <commands> }
Triggers when the /play command has finished playing a file.
¶on PONG
on *:PONG:{ <commands> }
Triggers when a server replies to your /PING request.
¶on QUIT
on [<prefixes>]<level>:QUIT:{ <commands> }
Triggers when a user quits IRC while on the same channel as you.
¶on RAWMODE
on [<prefixes>]<level>:RAWMODE:<channel>[,<channel>]:{ <commands> }
This event allows you to parse the raw mode line yourself.
¶on SENDFAIL
on *:SENDFAIL:<filename>[,<filename>]:{ <commands> }
Triggers when a dcc send fails.
¶on SERV
on *:SERV:<matchtext>:{ <commands> }
Triggers when a message is sent to a dcc fserve window.
¶on SERVERMODE
on [<prefixes>]<level>:SERVERMODE:<channel>[,<channel>]:{ <commands> }
Triggers when an IRC Server changes a channel mode.
¶on SERVEROP
on [<prefixes>]<level>:SERVEROP:<channel>[,<channel>]:{ <commands> }
Triggers when a user is opped by a server.
¶on SIGNAL
on *:SIGNAL:<name>:{ <commands> }
Triggers if a script has used the /signal command to send a signal to all scripts.
¶on SNOTICE
on [<prefixes>]<level>:SNOTICE:<matchtext>:{ <commands> }
Triggers when you receive a server notice.
¶on SOCKCLOSE
on *:SOCKCLOSE:<name>:{ <commands> }
Triggers when a connection is closed by the remote connection (not you).
¶on SOCKLISTEN
on *:SOCKLISTEN:<name>:{ <commands> }
Tiggers when someone tries to connect to a port that you are listening on.
¶on SOCKOPEN
on *:SOCKOPEN:<name>:{ <commands> }
Triggers when a /sockopen command is successful and a connection has been made.
¶on SOCKREAD
on *:SOCKREAD:<name>:{ <commands> }
Triggers when there is info waiting to be read on the specified connection.
¶on SOCKWRITE
on *:SOCKWRITE:<name>:{ <commands> }
Triggers when mIRC has finished sending all of the data that you previously queued for sending or when the socket is ready for more writing.
¶on START
on *:START:{ <commands> }
Triggers the first time a script is ever loaded and also every time after that when when mIRC is run.
¶on TABCOMP
on [^]*:TABCOMP:<*#?=!@>:{ <commands> }
The on TABCOMP event triggers when you press the TAB key in an editbox and mIRC is about to perform tab completion.
¶on TEXT
on [<prefixes>]<level>:TEXT:<matchtext>:<*><?><channel>[,<channel>]:{ <commands> }
Triggers when you receive private and/or channel messages.
¶on TOPIC
on [<prefixes>]<level>:TOPIC:<channel>[,<channel>]:{ <commands> }
Triggers when a user changes a channel topic.
¶on UDPREAD
on *:UDPREAD:<name>:{ <commands> }
Triggers when there is info waiting to be read on a UDP socket.
¶on UNBAN
on [<prefixes>]<level>:UNBAN:<channel>[,<channel>]:{ <commands> }
Triggers when a ban is unset on a channel.
¶on UNLOAD
on *:UNLOAD:{ <commands> }
Triggers in a script when the script is unloaded.
¶on UNOTIFY
on *:UNOTIFY:{ <commands> }
Triggers when a user in your notify list leaves IRC.
¶on USERMODE
on [<prefixes>]<level>:USERMODE:{ <commands> }
Triggers when you change your usermode.
¶on VCMD
on *:VCMD:<matchtext>:<*|#|?|@>:{ <commands> }
Triggers when the SR software matches a word you've spoken to a word in your commands list.
¶on VOICE
on [<prefixes>]<level>:VOICE:<channel>[,<channel>]:{ <commands> }
Triggers when a user is being voiced on a channel.
¶on WALLOPS
on [<prefixes>]<level>:WALLOPS:<matchtext>:{ <commands> }
Triggers when you receive a wallops message.
¶on WAVEEND
on *:WAVEEND:{ <commands> }
Trigger when mIRC finishes playing a wave sound.
¶raw events
RAW <numeric>:<matchtext>:{ <commands> }
The raw event allows you to process numeric server messages that are identified only by a number, and non-numeric server messages which mIRC doesn't recognize internally.
¶while loops
while (<condition>) { <commands> }
Repeats a loop containing a set of commands while the expression in brackets is true.
¶||
|| means OR
if (condition1>) || (<condition2>) { <commands when one condition is true> }