Difference between revisions of "Mircdb"
m (remove space at line start as this is not required with pre tag) |
m (adding info on what db this is, the format used) |
||
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. | ||
+ | |||
+ | 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. | ||
+ | |||
+ | 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. | ||
+ | |||
+ | An example/guideline for an identifier: | ||
+ | <pre> | ||
+ | ¶$abs | ||
+ | $abs(N) | ||
+ | Returns the absolute value of number N. | ||
+ | </pre> | ||
+ | |||
+ | An example/guideline for a command: | ||
+ | <pre> | ||
+ | ¶/break | ||
+ | /break | ||
+ | You can use /break to break out of the current loop, and /continue to jump to the beginning of the loop. | ||
+ | </pre> | ||
+ | |||
+ | An example/guideline for an operator: | ||
+ | <pre> | ||
+ | ¶< | ||
+ | string <v1> is less than string <v2> | ||
+ | if (<v1> < <v2>) { <commands> } | ||
+ | </pre> | ||
+ | |||
+ | An example/guideline for a prefix: | ||
+ | <pre> | ||
+ | ¶@ | ||
+ | @ 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 } | ||
+ | </pre> | ||
+ | |||
+ | An example/guideline for an event: | ||
+ | <pre> | ||
+ | ¶on KICK | ||
+ | on [<prefixes>]<level>:KICK:<channel>[,<channel>]:{ <commands> } | ||
+ | Triggers when a user is kicked from a channel. | ||
+ | </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. | ||
+ | |||
<pre> | <pre> | ||
¶mirc | ¶mirc |
Revision as of 16:30, 21 February 2011
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.
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.
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.
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.
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.
¶mirc 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> }