Added in 1.9.0
$(text,[N])
Evaluates the contents of text N times.
Same as $eval
Parameters
Parameter | Description |
text | The text to evaluate. |
[N] | If N is not specified, the default is N = 1. If N is zero, text is not evaluated.. (optional) |
Example
; Evaluate 0 times. //echo -ag $($ $+ me, 0) ; Evaluate 1 time. //echo -ag $($ $+ me) ; Evaluate 2 times. //echo -ag $($ $+ me, 2)
Added in 1.9.0
$!
Can be used to delay evaluating a identifier, useful in commands such as /timer.
Each evaluation will remove a '!' prefix.
Example
; Evaluate to $me instead of nick. //echo -ag $eval($!me) vs $eval($me) ; Evaluate to $!me instead of $!me. //echo -ag $eval($!!me) vs $eval($!me) vs $eval($me) //timer 5 1 echo -a this always show the time at timer launch $asctime //timer 5 1 echo -a this always show the new time at each timer execution $!asctime
Added in 1.9.0
$$[identifier]
The double $$ means that the script will halt unless the identifier has a value.
This can be used on any identifier to ensure it has a value.
Example
; If the user enters no name the script halts, otherwise prints the name. //echo -ag $$?="Insert name"
Added in 1.9.0
$&
Can be used to wrap a long line into multiple lines in a script.
Example
alias longline { echo -ag This is an example of a long $& line that has been split into multiple lines $& to make it easier to edit }
Added in 1.9.0
$*
This is a special identifier which can be used to loop a script line for each token in $1-.
Example
; Create a loopme alias. alias loopme { echo -ag Current token is $* } ; Call the loopme alias. /loopme a b c d e f g
Added in 1.9.0
$+
Identifiers must be followed/trailed by white spaces, $+ can be used to combine two items to remove any spaces between them.
Example
; Combines your nick twice without any spaces. //echo -ag $me $+ $me
$+(n1,...,nN)
Combines all of the specified parameters, the same as using $+ in between each item.
Parameters
Parameter | Description |
n1,...,nN | Any number of items to combine. |
Example
; Combine your nick multiple times without any spaces. //echo -ag $+($me,$me,$me,$me,$me,$me,$me)
Added in 1.9.0
$0
Returns number of tokens associated with current script.
See also /tokenize.
Example
on *:TEXT:*:*:Number of tokens in the incoming message is $0 first token is $1 all tokens is $1- alias Example { ; Tokenize the string 'a,b,c,d. /tokenize 44 a,b,c,d ; Print number of tokens. echo -ag Number of tokens is $0 }
Added in 1.9.0
$1-$N
Returns a range of tokens associated with current script.
You can use $N- to refer to parameters N and onward, and $N-M to refer to token $N through to $M.
To refer to a whole line, you would use $1-.
See also /tokenize.
Can be prefixed with # to ensure the resulted text starts with a channel prefix.
Example
on *:TEXT:*:*:Number of tokens in the incoming message is $0 first token is $1 all tokens is $1- alias Example { ; Tokenize the string 'a,b,c,d. /tokenize 44 a,b,c,d ; Print number of tokens. echo -ag Number of tokens is $0 first token is $1 all tokens is $1- } ; $1 can be combined with regular text without using $+. ; NB If your text contains a number, AdiIRC skips every character in your text up to the last number and uses the remaining text. alias Example { ; Tokenize the string 'abcd' into just one token. /tokenize 32 abcd ; Prints 'abcde'. echo -ag Combined text is $1-e }
Added in 2.2
$abook(nick|N,[N])
Returns information about nicknames listed in the Address Book.
Nick can be a wildcard.
Parameters
Parameter | Description |
nick|N | The nick to lookup, if N = 0, number of nicks, otherwise the Nth nick. |
[N] | if N = 0, number of nicks, otherwise the Nth nick. (optional) |
Properties
Property | Description |
.nick | The nickname. |
.info | The name. |
.website | The website. |
.address | The address. (AdiIRC only) |
The email. | |
.picture | The picture filename. |
.noteN | The Nth note. |
Example
//echo -ag Number of nicks in the Address book is $abook(*, 0) //echo -ag The first nick in Address book is $abook(*, 1)
Added in 1.9.0
$abs(N)
Returns the absolute value of number N.
Supports Big Integers
Parameters
Parameter | Description |
N | The number to find the absolute value of. |
Example
;Returns 5. //echo -ag $abs(5) ;Returns 1. //echo -ag $abs(-1)
Added in 1.9.0
$acos(N)
Returns the angle whose cosine is the specified number.
Parameters
Parameter | Description |
N | The number. |
Properties
Property | Description |
.deg | Returns the degree instead of angle. |
Added in 1.8.10
$active
Returns the full name of the currently active window.
See also $activecid, $lactivecid, $lactive, $activewid, $lactivewid. on ACTIVE.
Example
on *:ACTIVE:*:Current active window is $active last active window was $lactive
Added in 1.9.2
$activecid
Returns the server connection id for the current active window.
See also $lactivecid, $active, $lactive, $activewid, $lactivewid. on ACTIVE.
Example
on *:ACTIVE:*:echo current active cid is $activecid last active cid was $lactivecid
Added in 1.9.0
$activewid
Returns window id for the currently active window.
See also $activecid, $lactivecid, $active, $lactive, $lactivewid. on ACTIVE.
Example
on *:ACTIVE:*:echo -ag active wid is $activewid last active wid was $lactivewid
Added in 1.9.0
$adate
Returns current date in mm/dd/yyyy format. See $date for dd/mm/yyyy format
Unlike $date, this does not accept the time-value or formatting parameters.
Added in 1.9.0
$address
Returns the address of the user associated with an event in the form user@host.
Example
; Prrint the user address from a incoming message. on *:TEXT:*:*:echo -ag The user address for this event is $address
Added in 1.9.0
$address(nickname,type)
Searches the Internal Address List for the address associated with the specified nickname.
Parameters
Parameter | Description |
nickname | Nickname to search. |
type | Address mask to search, see $mask for available types. |
Example
; Search for 'nick' using type '1'. //echo -ag $address(nick,1)
Added in 1.9.0
$addtok(text,token,C)
Adds a token to the end of text but only if it is not already in text.
$addtok is case-insensitive, see $addtokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to add. |
C | The ASCII value to tokenize by. |
Example
; Returns a.b.c.d //echo -ag $addtok(a.b.c,d,46) ; Returns a.b.c.d //echo -ag $addtok(a.b.c.d,c,46)
Added in 1.9.0
$addtokcs(text,token,C)
Adds a token to the end of text but only if it is not already in text.
$addtokcs is case-sensitive, see $addtok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to add. |
C | The ASCII value to tokenize by. |
Example
; Returns a.b.c.D //echo -ag $addtokcs(a.b.c,D,46) ; Returns a.b.c.d //echo -ag $addtokcs(a.b.c.d,c,46)
Added in 1.9.0
$adiircdir
Returns the directory where AdiIRC stores its settings, themes, scripts and so on.
Can be used inside text without being surrounded by white spaces.
Same as $mircdir.
Example
; Print the scripts folder, no space after $adiircdir is needed. //echo -ag $adiircdir\Scripts
Added in 1.9.0
$adiircexe
Returns the full path and filename of the AdiIRC executable file.
In combination with $~ this can be used to test which client is running the script. You cannot assume the client name based on the filename.exe, but instead testing whether $adiircexe exists as a built-in identifier. The $~ prefix allows the test to evade the presence of a custom alias of that name, and it also does not trigger the optional identifier warning.
//if (!$~adiircexe) echo -a this script is not running in AdiIRC
Same as $mircexe.
Can be used inside text without being surrounded by white spaces.
Example
//echo -ag the adiirc exe file is $adiircexe.. notice how $adiircexeisreplacedhere
Added in 1.9.0
$adiircini
Returns the full path and filename of the AdiIRC settings file (config.ini).
Same as $mircini.
Can be used inside text without being surrounded by white spaces.
Example
//echo -ag the adiirc ini file is $adiircini.. notice how $adiirciniisreplacedhere
Added 4.3
$adiircpid
Returns the AdiIRC process id.
Same as $mircpid.
Added in 1.9.2
$adilang(text)
Returns a localized value from English to current language, if no translation exist, the English value is returned.
Parameters
Parameter | Description |
text | Text to translate. |
Example
//echo -ag Translation for 'Commands' is $adilang(Commands)
Added in 2.0
$admnick
Returns the nick that was (de)opped during a on ADMIN, on on DEADMIN event.
Example
on *:ADMIN:*:echo -ag The nick opped is $admnick on *:DEADMIN:*:echo -ag The nick deopped is $admnick
Added in 2.0
$admnick(#,N)
Returns the Nth admin nick.
See also $vnick, $nvnick, $hnick, $nhnick, $opnick, $nopnick., $nadmnick, $onick., $nonick.
Parameters
Parameter | Description |
# | The channel. |
N | If N = 0, number of nicks, otherwise the Nth nick. |
Example
//echo -ag There is $admnick(#,0) admin users //echo -ag First admin nick is $admnick(#,1)
Added in 1.8.10
$album
Returns the album of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.4
$alias(N/filename)
Returns the filename for the Nth loaded alias file or if you specify a filename, it returns $null if the file is not loaded.
Parameters
Parameter | Description |
N/filename | Nth alias or alias filename. |
Example
; Print number of alias files. //echo -ag $alias(0) ; Print first alias file. //echo -ag $alias(1) ; Check if aliases.ini is loaded. //echo -ag aliases.ini is $iif($alias(aliases.ini),loaded, not loaded)
Added in 1.9.0
$and(A,B)
Returns binary A & B.
Both parameters can be 64 bit longs.
Supports Big Integers
Parameters
Parameter | Description |
A | First number. |
B | Second number. |
Example
;Returns 4 //echo -ag $and(5,4)
Added in 1.9.0
$anick
Returns your alternate nickname on current server connection.
Added in 4.0
$ansi2mirc(ansi text)
Converts ANSI control codes into AdiIRC-supported control codes, including colors and font styles.
Parameters
Parameter | Description |
ansi text | The text containing ANSI control codes to convert. |
Example
//echo -ag $ansi2mirc($chr(27) $+ [1;44;33mThis text is colored)
Added in 3.1
$aop
Returns $true if auto-op is enabled, otherwise $false.
$aop(address|N)
Returns any matching address in the auto-op list, or the Nth address.
Parameters
Parameter | Description |
address | Address to match. |
N | If N = 0, number of addresses, otherwise the Nth address. |
Properties
Property | Description |
.type | Returns the list of channels for this address. |
.network | Returns the network name for this address. |
Example
; Check if 'nick!ident@host' is in the auto-op list. //echo -g Auto op for nick!ident@host was $iif($aop(nick!ident@host), found, not found)
Added in 1.9.0
$appactive
Returns $true if AdiIRC is the active application, otherwise returns $false.
Added in 1.9.2
$appbits
Returns 32 on 32 bit AdiIRC and 64 bit on 64 bit AdiIRC. (Regardless of windows bits, see $osbits for that)
Deprecated see $bits
Added in 1.9.0
$appstate
Returns the display state of the AdiIRC main window: minimized, maximized, full, normal, hidden, or tray.
Added in 1.8.10
$artist
Returns the artist of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.0
$asc(C)
Returns the ASCII value of the character C.
Also see $chr for the reversed version.
Parameters
Parameter | Description |
C | The character. |
Example
; Returns 65. //echo -ag $asc(A) ; returns 42 //echo -ag $asc(*)
Added in 1.9.0
$asctime
Returns current date and time. (Day Month Date XX:XX:XX Year format)
$asctime(N,format)
Returns the time and date in text format associated with the $ctime time value.
Parameters
Parameter | Description |
N | A unix timestamp. ($ctime) |
format | Date format to return. |
Example
; Returns the default text format for this time value. //echo -ag $asctime(793947600) ; Returns the current time in hh:nn:ss format. //echo -ag $asctime(hh:nn:ss) ; Returns the date for this time value. //echo -ag $asctime(793947600, dd/mm/yy)
Format
Year Month Day Hours Minutes Seconds AM/PM Ordinal Timezone |
yy yyyy m mm mmm mmmm d dd ddd dddd h hh H HH n nn s ss t tt T TT oo z zz zzz |
99 1999 1 01 Jan January 1 01 Mon Monday 5 05 13 13 1 01 1 01 a/p am/pm A/P AM/PM st/nd/rd/th +0 +0000 +0000 GMT |
Added in 1.9.0
$asin(N)
Returns the angle whose arcsine is the specified number.
Parameters
Parameter | Description |
N | The number. |
Properties
Property | Description |
.deg | Returns the degree instead of angle. |
Added in 1.9.0
$atan(N)
Returns the angle whose arctangent is the specified number.
Parameters
Parameter | Description |
N | The number. |
Properties
Property | Description |
.deg | Returns the degree instead of angle. |
Added in 1.9.3
$atan2(N, M)
Returns the angle whose tangent is the quotient of two specified numbers.
Parameters
Parameter | Description |
N | The Y coordinate. |
M | The X coordinate. |
Properties
Property | Description |
.deg | Returns the degree instead of angle. |
Added in 1.8.10
$audio
Returns the name first audio card detected by AdiIRC. (may not be your default audio card)
$audio(N)
Returns the name of the Nth audio card detected by AdIIRC.
If N is 0, it will return the count of how many audio cards was detected.
Parameters
Parameter | Description |
N | The Nth audio card. |
Added in 3.1
$auto
Returns $true if auto-op is enabled, otherwise $false.
$auto(address|N)
Returns any matching address in the auto-op list, or the Nth address.
Parameters
Parameter | Description |
address | Address to match. |
N | If N = 0, number of addresses, otherwise the Nth address. |
Properties
Property | Description |
.type | Returns the list of channels for this address. |
.network | Returns the network name for this address. |
Example
; Check if 'nick!ident@host' is in the auto-op list. //echo -g Auto op for nick!ident@host was $iif($auto(nick!ident@host), found, not found)
Added in 3.1
$avoice
Returns $true if auto-voice is enabled, otherwise $false.
See also /avoice.
$avoice(address|N)
Returns any matching address in the auto-voice list, or the Nth address.
Parameters
Parameter | Description |
address | Address to match. |
N | If N = 0, number of addresses, otherwise the Nth address. |
Properties
Property | Description |
.type | Returns the list of channels for this address. |
.network | Returns the network name for this address. |
Example
; Check if 'nick!ident@host' is in the auto-voice list. //echo -g Auto voice for nick!ident@host was $iif($avoice(nick!ident@host), found, not found)
Added in 1.9.2
$away
Returns $true if you are marked as away on current server connection, otherwise returns $false.
Added in 1.9.0
$awaymsg
If you are marked as away on current server connection, it returns your away message, otherwise $null.
Added in 1.9.0
$awaytime
If you are marked as away on current server connection, it returns number of seconds you have been away.
Added in 1.9.6
$banlist(#channel,N)
Returns Nth item in the internal ban list.
Same as $ibl.
Parameters
Parameter | Description |
#channel | The channel to retrieve ban list from. |
N | If N = 0, total number of bans, otherwise the Nth ban. |
Properties
Property | Description |
.by | The nick who set the ban. |
.ctime | The time the ban was set in unix timestamp format. |
.date | THe time the ban was set in mmm oo HH:mmtt format. |
.secs | Number of seconds until ban expire (if set to expire). |
Example
; Get number of bans. //echo -ag $banlist(#channel, 0) ; Get information about the first ban. //echo -ag $banlist(#channel, 1) set by $banlist(#channel, 1).by set at $banlist(#channel, 1).date
Added in 1.8.10
$banmask
Returns the banmask used to ban or unban the user.
This is only filled in the on BAN and on UNBAN event.
Example
on *:BAN:*:echo -ag The banned mask is $banmask on *:UNBAN:*:echo -ag The unbanned mask is $banmask
Added in 1.9.0
$base(N,inbase,outbase,zeropad,precision)
Converts number N from inbase to outbase. The last two parameters are optional.
In version 3.3+, it should work reliably to at least base64, otherwise to base32.
Parameters
Parameter | Description |
N | The number to convert. Values above 2^53 are (AdiIRC only) |
inbase | The base to convert from. (2-64) 37-64 are (AdiIRC only) |
outbase | The base to convert to. (2-64) 37-64 are (AdiIRC only) |
zeropad | If length is higher than zeropad, pad numbers with zeroes to the specified zeropad length. Values above 100 are (AdiIRC only) |
precision | Truncate fractions/decimal places to the specified precision. (Can't use if Zeropad is blank) Values above 6 are (AdiIRC only) |
base: From 2-36, base N uses the first N characters from the alphanumeric alphabet: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
From 37-64, base N uses the first N characters from the 64-char mime alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Notes: base 2-36 are case-insensitive, but base 37-64 are case-sensitive. This base 32 uses the first 32 characters of the base36 alphabet, which is different than the 'a' switch in $encode which uses A-Z and 2-7. Even though this base 64 uses the same alphabet as $encode's mime 'm' switch, this is NOT the same as mime-encoding. It does support the '=' padding used by mime, and returns results compatible with mime ONLY if the base64 string's length is a multiple of 4, or the base64 string used by $base must be left-padded with "A" into becoming a length that's a multiple of 4 compatible with the mime encoding of a string whose length is a multiple of 3. zero-pad means inserting the lowest character of that base's 'alphabet', which for base 37-64 is the "A" character.
Examples
; Returns F //echo -ag $base(15,10,16) ; Returns 1.8 //echo -ag base(1.5,10,16) ; Returns 002 //echo -ag $base(2,10,16,3) ; Returns fraction chopped to 4 digits //echo -a $base($pi,10,10,0,4) ; Zero-Pad for base 37-64 uses "A", while base 2-36 uses '0' //echo -a $base(deadbeef,16,64,20) //echo -a $base(deadbeef,16,10,20) ; Using same in/out base to ensure number contains at least 12 digits: //echo -a $base($ticks,10,10,12) ; Accurate results above the 2^53 limit: //var %a $sha256(abc) | echo -a $lower($base($base(%a,16,10),10,16)) same as | echo -a %a ; Base 37-64 use case-sensitive alphabets //echo -a $base(deadbeef,64,10) vs $base(DEADBEEF,64,10) ; Only if inbase is 16, optional '0x' prefix does not affect output //echo -a $base(0xdeadbeef,16,10) same as $base(deadbeef,16,10) ; Allows 2-35 using invalid base36 characters, or 37-63 using invalid base64 chars //echo -a $base(MZ,10,10) is $base(M,36,10) * 10 + $base(Z,10,10) = 255 ; Demonstrates how 64 in $base is compatible with 'm' mime in $encode only if mime string's length is a multiple of 4. If edit the ++adiirc to be a mime string that's not a multiple of 4, the output no longer matches. //var -s %mime ++adiirc , %base64 %mime | ;while ($calc($len(%base64) % 4)) var -s %base64 A $+ %base64 | bset -t &v 1 %mime | noop $decode(&v,bm) $encode(&v,bx) | echo 4 -a $bvar(&v,1-).text | echo 3 -a $base(%base64,64,16)
Added in 2.3
$battery
Returns $true if running on battery, otherwise returns $false.
See also $batteryp.
Added in 2.3
$batteryp
If running on battery, returns percentage left, otherwise 100.
See also $battery.
Added in 1.9.2
$beta
Returns the date of the build if current AdiIRC version is a beta release, otherwise $null.
Added in 1.9.0
$bfind(&binvar, N, M, [name])
Searches a &binvar for a matching value.
The search is case-insensitive.
Parameters
Parameter | Description |
&binvar | The &binvar to search. |
N | The position of the &binvar to start the search. |
M | Numeric ASCII character(s) or text to search. |
[name] | Name to store in $regml for the result(s) when using the .regex property. (optional) |
Properties
Property | Description |
.text | Force a text search if the search text (M) is a number. |
.textcs | Search case-sensitive. |
.regex | TODO |
.regextext | Performs a regular expression search for the pattern M on UTF8 encoded text from the binvar. (AdiIRC Only) |
Example
; Finds "test" starting from position 1. //echo -a $bfind(&test, 1, test) ; Finds character 32 (a space) from position 5. //echo -a $bfind(&test, 5, 32) ; Finds WAV from position 1. //echo -a $bfind(&test, 1, 87 65 86)
Added in 1.9.0
$bindip(N|ipaddress)
Returns information off a network adapter.
Parameters
Parameter | Description |
N|ipaddress | If N = 0, returns the total number of active network adapters else the Nth network adapter or a network adapter matching the ipaddress. |
Properties
Property | Description |
.name | Returns the name of matched network adapter. |
.ip | Returns the internal ipaddress associated with the network adapter. |
.loopback | Returns $true if the associated internal ipaddress is loopback address otherwise $false. |
Added in 1.9.0
$bitoff(A,N)
Returns the A value with the Nth bit turned off.
Supports Big Integers
Parameters
Parameter | Description |
A | The value to modify. |
N | The Nth bit to turn off. |
Added in 1.9.0
$biton(A,N)
Returns the A value with the Nth bit turned on.
Supports Big Integers
Parameters
Parameter | Description |
A | The value to modify. |
N | The Nth bit to turn off. |
Added in 1.8.10
$bitrate
Returns the bitrate of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.2
$bits
Returns 64 on 64 bit AdiIRC and 32 on 32 bit AdiIRC.
Added in 1.9.6
$bname
Returns the Toolbar button name during a menu event.
Example
; Open a custom window. /window @Example ; Add a toolbar button named Example and associate it with the custom window @Example. //toolbar -a Example "Hello World!" $qt($adiircexe) @Example ; Add a menu for @Example to remove the Toolbar item based on $bname. menu @Example { $iif($bname,Remove):toolbar -d $bname }
Added in 1.9.4
$bnick
Returns the banned/unbanned 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.
This is only filled in the on BAN and on UNBAN event.
Example
on *:BAN:*:echo -ag The banned nick is $bnick on *:UNBAN:*:echo -ag The unbanned nick is $bnick
Added in 2.8
$boldify
Returns $true if Options -> Messages -> Make certain part of messages bold is enabled, otherwise $false.
$boldify(text)
Returns text surrounded by bold character if Options -> Messages -> Make certain part of messages bold is enabled, otherwise returns the text.
Parameters
Parameter | Description |
text | The text to boldify. |
Example
//echo -ag $boldify(I am bold)
Added in 1.9.2
$builddate
Returns the date the AdiIRC version was built in YYYY/MM/DD format.
Added in 1.9.0
$bvar(&binvar,N,M)
Returns M ASCII values from a &binvar starting from the Nth byte.
N-N2 can be used to get a range of ASCII values.
N- can be used to get all ASCII values from position N.
Parameters
Parameter | Description |
&binvar | The &binvar to use. |
N | Position to start retrieving bytes. |
M | Numbers of bytes to get. |
Properties
Property | Description |
.text | Returns plain text instead of ASCII values. |
.word | Outputs decimal value of a 2-byte word, seeing bytes in little-endian byte order (low value first, (unsigned 16 bit) |
.nword | Outputs decimal value of a 2-byte word, seeing bytes in big-endian byte order (high value first, unsigned 16 bit) |
.sword | Outputs decimal value of a 2-byte word, seeing bytes in little-endian byte order (low value first, signed 16 bit, AdiIRC only) |
.nsword | Outputs decimal value of a 2-byte word, seeing bytes in big-endian byte order (high value first, signed 16 bit, AdiIRC only) |
.long | Outputs decimal value of a 4-byte dword (unsigned long), seeing bytes in little-endian byte order (low value first, unsigned 32 bit) |
.nlong | Outputs decimal value of a 4-byte dword (unsigned long), seeing bytes in big-endian byte order (high value first. unsigned 32 bit) |
.slong | Outputs decimal value of a 4-byte dword (unsigned long), seeing bytes in little-endian byte order (low value first, signed 32 bit, AdiIRC only) |
.nslong | Outputs decimal value of a 4-byte dword (unsigned long), seeing bytes in big-endian byte order (high value first. signed 32 bit AdiIRC only) |
.uint64 | Outputs decimal value of an 8-byte qword (unsigned long), seeing bytes in little-endian byte order (low value first, unsigned 64 bit AdiIRC only) |
.nuint64 | Outputs decimal value of an 8-byte qword (unsigned long), seeing bytes in big-endian byte order (high value first. unsigned 64 bit AdiIRC only) |
.sint64 | Outputs decimal value of an 8-byte qword (unsigned long), seeing bytes in little-endian byte order (low value first, signed 64 bit, AdiIRC only) |
.nsint64 | Outputs decimal value of an 8-byte qword (unsigned long), seeing bytes in big-endian byte order (high value first. signed 64 bit AdiIRC only) |
Example
; Returns the length of the binary variable. //echo -ag $bvar(&binvar,0) ; Returns ASCII value at position N. //echo -ag $bvar(&binvar,1) ; Returns ASCII values from 5 to 8. //echo -ag $bvar(&binvar,5,3) ; Returns ASCII values from 5 to end. //echo -ag $bvar(&binvar,5-) ; Returns plain text from 5 to 8 up to the first zero character. //echo -ag $bvar(&binvar,5,3).text ; Returns &binvar if the binvar exists. //echo -ag $bvar(&binvar)
Added in 1.5
$bwdown
Returns current download bandwidth speed in human readable format on selected network adapter.
Added in 1.5
$bwdownb
Returns current download bandwidth speed in bytes on selected network adapter.
Added in 1.5
$bwname
Return network adapter name of the network adapter to monitor bandwidth, if no network adapter is defined, returns $null.
This can be chosen in Options -> Sysinfo -> Network Adapter.
Added in 1.9.2
$bwrec
Returns numbers of bytes received in human readable format on selected network adapter.
Added in 1.9.3
$bwrecb
Returns numbers of bytes received in byte format on selected network adapter.
Added in 1.9.2
$bwsent
Returns numbers of bytes sent in human readable format on selected network adapter.
Added in 1.9.3
$bwsentb
Returns numbers of bytes sent in byte format on selected network adapter.
Added in 1.5
$bwspeed
Returns the connection (LAN) speed on selected network adapter.
Added in 1.5
$bwup
Returns current upload bandwidth speed in human readable format on selected network adapter.
Added in 1.5
$bwupb
Returns current upload bandwidth speed in bytes on selected network adapter.
Added in 1.9.0
$bytes(N,bkmgt3dp)
Returns comma formatted file-size.
Supports Big Integers
Parameters
Parameter | Description |
N | The number to format. |
b | Show N in bytes. |
k | Show N in kilobytes. |
m | Show N in megabytes. |
g | Show N in gigabytes. |
t | Show N in terabytes. |
3 | Show in 3 digits format. |
d | TODO |
p | Show N in petabytes. |
Properties
Property | Description |
.suf | Appends the b, k, M, G, T suffixes to the result. |
Example
; Returns 1. //echo -ag $bytes(1024, k) ; Returns 1KB. //echo -ag $bytes(1024, k).suf
Added in 1.8.10
$calc(operations)
Returns the result of the specified operations. You can perform multiple operations.
Operations can be grouped with parentheses.
Parameters
Parameter | Description |
operations | The calculations to perform. |
Note: $calc uses the left-to-right PE(MD)(AS)
order of operations, but also includes Floor Divide and Modulo. When parenthesis are not used, operators are evaluated in left-to-right order within each of these levels 1-4. All level N operations are performed left-to-right before any level N+1 operations are performed.
() 1. Parenthesis ^ 2. Exponent (dont' use 96 or greater) // 3. Floor division, X // Y same as $floor($calc(X / Y)) % 3. Modulus X % Y is remainder when dividing X / Y * 3. Multiplication / 3. Division + 4. Addition - 4. Subtraction
If needing integer math for values 2^96 and above, see $calcint.
Example
; Returns 6. //echo -ag $calc((4 + 4) - 2)
Accuracy above 2^53: //echo -a $calc(2^53 + 1) currectly returns an ODD number and so does $calc(2^95+1) ; next is 0 because, even though the result is in the valid range, the 2^96 operation has undefined result //echo -a $calc(2^96-1) ; result is 7 because the multiply is earlier priority than the addition //echo -a $calc( 4 + 1 * 3) ; result is 15 because the parenthesis altered the order of operations //echo -a $calc( (4 + 1) * 3) ; While AdiIRC offers many fraction digits, it's up to you to decide how many of the least you wish to keep. //echo -a $calc( (3/7) *70 ) result = 30.000000000000000000000000002 alias calc6 return $round($calc($parms),6) You can use [[$round]] to ensure the result is rounded to 6 decimal places or to the level you prefer. //var -p %a (3/7) *70 | echo -a $round($calc( %a ),6)
Added in 3.3
$calcint(operations)
Returns the result of the specified operations. You can perform multiple operations.
Can calculate extremely high numbers, but can only be used on whole numbers, not decimal/float/fractions. Does not have the limitation in $calc() where any term or output value 2^96 or higher is zero.
Any term containing non-zero fraction replaced by zero. Output has any fraction removed.
Operations can be grouped with parentheses.
Same operators as $calc() uses except:
// floor divide operator behaves like / operator, being an 'int divide' that's identical for positive results but not for negatives.
Parameters
Parameter | Description |
operations | The calculations to perform. |
Example
accurate result for extremely large integers //echo -ag $calcint( ((2 ^ 256) - 1) * ((2 ^ 256) +1) ) fraction removed from output. not affected by fraction being zero //echo -ag $calcint(48.0 / 10.0) is same as $int($calc(48 / 10)) term with fraction treated as if zero //echo -ag $calcint(5 + 2.5) is same as 5 + 0 not affected by value 2^96 or greater //var %ag 79228162514264337593543950335 | echo -a $calcint(1+%a) vs $calc(1+%a) is 79228162514264337593543950336 vs 0 fractional terms created by parenthesis can affect output //echo -ag $calcint(2 * (48 / 10)) vs $calcint(2 * 48 / 10) is 8 vs 9 If you need floordivide for negative numbers, you must calculate it using / (divide) and % (modulo). Note that $calc() is accurate for a smaller range: //var -s %numerator -10 , %denominator 3 , %intdivide $calcint(%numerator / %denominator) , %mod $calcint(%numerator % %denominator) , %floordiv %intdivide | if (%intdivide < 0) var -s %floordiv $calcint(%floordiv - $iif(%mod,1,0)) | echo -a %floordiv vs $calc(%numerator // %denominator)
Added in 2.4
$calias
Returns the calling alias for the current script,
alias test1 { echo -ag Calling alias is $calias noop $test2 } alias test2 { echo -ag Calling alias is still $calias noop $test3 } alias test3 { echo -ag Calling alias is still $calias }
Added in 2.7
$calias(N)
Returns the Nth calling alias in the scripting stack.
Parameters
Parameter | Description |
N | If N = 0, number of aliases in the stack, otherwise the Nth calling alias. |
Properties
Property | Description |
.alias | Returns the name of the alias. |
.fname | Returns the filename of the script calling the alias. |
.line | Returns the line number in the script calling the alias. |
.isid | Returns $true if the alias was called as a identifier, otherwise $false. |
Example
alias alias1 { alias2 } alias alias2 { noop $alias3 } alias alias3 { var %s 0 while (%s < $calias(0)) { inc %s linesep var %alias $calias(%s).alias echo -ag alias = %alias echo -ag calling filename = $calias(%s).fname echo -ag caling line = $calias(%s).line echo -ag isid = $calias(%s).isid if ($isalias(%alias)) { echo -ag alias filename = $isalias(%alias).fname echo -ag alias line = $isalias(%alias).fline echo -ag alias type = $isalias(%alias).ftype } linesep } }
Added in 2.4
$cancel
Returned when clicking a "Cancel" button during a $input request.
Added in 1.9.0
$cb
Returns the clipboard contents.
$cb(N,[u,%var|&binvar])
Returns a line of text from the clipboard.
Parameters
Parameter | Description |
N | If N = 0 returns total number of lines in the clipboard, if N = -1 returns all the text in the clipboard, otherwise return the Nth line in the clipboard. |
u | Returns UTF-8 encoded text. (Optional) |
%var|&binvar | Results are stored in them and the identifier returns the length of the text. (Optional) |
Properties
Property | Description |
.len | If N = 0 or -1 returns total length of all lines in the clipboard otherwise return length of the Nth line. |
Êxample
;Return number of lines in the clipboard //echo -ag $cb(0) ;Return 5th line in the clipboard //echo -ag $cb(5) ;Return length of the 5th line in the clipboard //echo -ag $cb(5).len
Added in 4.3
$cbrt(N)
Returns the cube root for the number N.
Parameters
Parameter | Description |
N | The number to calculate the cube root for. |
Example
//echo -ag The cube root for 42 is $cbrt(42)
Added in 1.9.0
$ceil(N)
Returns N rounded to the next highest integer.
Parameters
Parameter | Description |
N | The number to round up. |
Added in 1.5
$chan
Returns the name of the channel for a specific event. For all non-channel events $chan will be $null.
$chan(N|#|@<wid>)
Returns information about channel # or Nth channel.
Same as $channel.
Parameters
Parameter | Description |
N | The Nth channel. |
# | The channel name. |
@<wid> | Channel matching a window id. |
Properties
Property | Description |
.topic | Returns the channel topic. |
.topicsetby | Returns the nick who set the current channel topic. (AdiIRC only) |
.topicsetat | Returns the time the current channel topic was set. (AdiIRC only) |
.mode | Returns the channel modes. |
.rawmode | Returns all channel modes and parameters. (AdiIRC only) |
.key | Returns the channel key. |
.limit | Returns the channel user limit. |
.logfile | Returns the channel log filename. (if any) |
.stamp | Returns $true if timestamps is enabled for this channel, otherwise $false. |
.status | Returns the channel status, Parted/Joined/Kicked/Joining. |
.wid | Returns the associated window id. |
.cid | Returns the associated connection id. |
.hwnd | Returns associated window handle. |
.inwho | Returns $true if you sent a /who #channel to the server to fill the IAL with addresses from that channel, and the /who is still in progress, otherwise $false. |
.banlist | Returns $true if the channel ban list is synced for this channel, otherwise $false. |
.ibl | Returns $true if the channel ban list is synced for this channel, otherwise $false. |
.iel | Returns $true if the channel exception list is synced for this channel, otherwise $false. |
.iil | Returns $true if the channel invite list is synced for this channel, otherwise $false. |
.iql | Returns $true if the channel quiet list is synced for this channel, otherwise $false. |
.ial | Returns $true if all nicks in the channel has a hostname/address otherwise $false. |
.idle | Returns the amount of time the channel has been idle. This does not include entries made from the local AdiIRC client. |
.lastnick | Returns the last nick who spoke on the channel, returns $null if last message didn't have a nick. (AdiIRC only) |
Added in 1.9.0
$chanmodes
Returns channel modes detected in the servers 005 CHANMODES token, e.g "CHANMODES=bIe,k,l.".
When not connected to a server, AdiIRC uses a default value of "bIe,k,l".
Added in 1.9.7
$channel(N|#|@<wid>)
Returns information about channel # or Nth channel.
Same as $chan.
Parameters
Parameter | Description |
N | The Nth channel. |
# | The channel name. |
@<wid> | Channel matching a window id. |
Properties
Property | Description |
.topic | Returns the channel topic. |
.topicsetby | Returns the nick who set the current channel topic. (AdiIRC only) |
.topicsetat | Returns the time the current channel topic was set. (AdiIRC only) |
.mode | Returns the channel modes. |
.rawmode | Returns all channel modes and parameters. (AdiIRC only) |
.key | Returns the channel key. |
.limit | Returns the channel user limit. |
.logfile | Returns the channel log filename. (if any) |
.stamp | Returns $true if timestamps is enabled for this channel, otherwise $false. |
.status | Returns the channel status, Parted/Joined/Kicked/Joining. |
.wid | Returns the associated window id. |
.cid | Returns the associated connection id. |
.hwnd | Returns associated window handle. |
.inwho | Returns $true if you sent a /who #channel to the server to fill the IAL with addresses from that channel, and the /who is still in progress, otherwise $false. |
.banlist | Returns $true if the channel ban list is synced for this channel, otherwise $false. |
.ibl | Returns $true if the channel ban list is synced for this channel, otherwise $false. |
.iel | Returns $true if the channel exception list is synced for this channel, otherwise $false. |
.iil | Returns $true if the channel invite list is synced for this channel, otherwise $false. |
.iql | Returns $true if the channel quiet list is synced for this channel, otherwise $false. (AdiIRC only) |
.ial | Return $true if the internal address list has been filled, otherwise $false. |
.idle | Returns the amount of time the channel has been idle. This does not include entries made from the local AdiIRC client. |
.lastnick | Returns the last nick who spoke on the channel, returns [[$null] if last message didn't have a nick. (AdiIRC only) |
Added in 1.8.10
$chantypes
Returns the list of channel prefixes detected in the servers 005 CHANTYPES token, e.g "CHANTYPES=#".
When not connected to a server, AdiIRC uses a default value of "#&".
Added in 1.9.0
$chat(N/nick[,N])
Returns the name of the Nth open DCC CHAT window.
Parameters
Parameter | Description |
N/nick | The Nth DCC CHAT window or DCC CHAT window matching nick. |
N | TODO |
Properties
Property | Description |
.ip | The remote ip address. |
.status | The connection status (waiting/active/inactive). |
.logfile | Name of logfile if one is open for the window. |
.stamp | $true if timestamp is on for this window, otherwise $false. |
.wid | Window id. |
.cid | Connection id. |
.hwnd | Window handle. |
.idle | Number of seconds since the last received message in this window. |
.ssl | $true if the current chat is using SSL/SCHAT, otherwise $false. |
Added in 1.8.10
$chr(N)
Returns the character with ASCII value N.
Also see $asc for the reversed version.
Parameters
Parameter | Description |
N | the ASCII value. |
Example
;Returns ASCII character A //echo -ag $chr(65) ;Returns ASCII character * //echo -ag $chr(42)
Added in 1.9.0
$cid
Returns the server connection id for the current script.
Added in 1.8.10
$clevel
Returns the matching event level for a triggered event.
Example
; Prrint the matching level. on *:TEXT:*:*:echo -ag The matching level for this event is $clevel
Added in 1.9.4
$click(@window, N)
Retrieves mouse click information from a picture window.
If no properties is defined, returns both X Y.
Parameters
Parameter | Description |
@window | Picture window to use. |
N | The Nth mouse click item, if N = 0, returns number of mouse click items. |
Properties
Property | Description |
.x | Returns the X coordinate of the mouse click. |
.y | Returns the Y coordinate of the mouse click. |
Example
; Create the custom alias to launch the example ; ; Synopsis: /clickWatch alias clickWatch { ; Create a custom picture window, which is centered. window -dpC @clicker 0 0 250 125 ; Custom 'update' alias keeps code from repeating. ; During initial launch the values should be empty. update 15 Total Clicks: empty update 35 Current Position: none yet update 55 Previous Position: none yet } ; Monitor the sclicks in our custom '@clicker' window. menu @clicker { sclick: { ; Clear the window for the new value updates. clear @clicker ; Set the %current and %prev variables to the current. ; x/y click location, and to the previous x/y click. ; locations, respectively. var %current = $click(@clicker,0), %prev = $calc(%current - 1) ; Utilizing the custom 'update' alias, update the data. update 15 Total Clicks: $click(@clicker,0) update 35 Current Position: $click(@clicker,%current) update 55 Previous Position: $iif(%prev,$click(@clicker,%prev),none yet) } } ; Custom update alias removes a lot of the /drawtext repetition. ; from this example. alias -l update { drawtext @clicker $color(normal) 7 $1 $2- }
Added in 1.8.10
$cmdline
Returns the command line that was passed to AdiIRC when it was first run.
Added in 1.9.4
$cnick(N|nick, M)
Returns the Nth nick in nick color list, or if nick is specified returns Nth position of item in list that matches nick. If nick does not match any items, returns zero.
Parameters
Parameter | Description |
N|nick | The Nth nickcolor item or a nick to match. |
M | TODO. |
Properties
Property | Description |
.color | The nickcolor. |
.rgbcolor | The rgb color if set. (AdiIRC only) |
.modes | Channel modes if any. |
.levels | The user access levels if any. |
.method | The nickcolor method (0 = message and nicklist, 1 = message, 2 = nicklist) |
.anymode | Returns $true if anymode is checked, otherwise $false. |
.nomode | Returns $true if nomode is checked, otherwise $false. |
.ignore | Returns $true if Ignore is checked, otherwise $false. |
.op | Returns $true if Op is checked, otherwise $false. |
.voice | Returns $true if Voice is checked, otherwise $false. |
.protect | Returns $true if Protect is checked, otherwise $false. |
.notify | Returns $true if Notify is checked, otherwise $false. |
.abook | Returns $true if Address Book is checked, otherwise $false. (AdiIRC only) |
.idle | Idle time in minutes, if set. |
.network | The network name to match, if any. (AdiIRC only) |
.channel | The channel name to match, if any. (AdiIRC only) |
.away | Returns $true if away is checked, otherwise $false. (AdiIRC only) |
.auto | Returns $true if Use random color is checked, otherwise $false. |
.fontbold | Returns $true if Bold is checked, otherwise $false. (AdiIRC only) |
.fontitalic | Returns $true if Italic is checked, otherwise $false. (AdiIRC only) |
.fontunderline | Returns $true if Underline is checked, otherwise $false. (AdiIRC only) |
.backcolor | The background color if set. (AdiIRC only) |
.rgbbackcolor | The rgb background color if set. (AdiIRC only) |
Added in 4.3
$codepage(N)
Returns the id for usable codepages/encodings.
Parameters
Parameter | Description |
N | If N = 0, number of codepages otherwise the Nth codepage. |
Properties
Property | Description |
.desc | Returns the full codepage description. |
.name | Returns the short codepage name. |
.id | Returns the codepage id. |
Example
//echo -ag Number of codepages is $codepage(0) - the first codepage is $codepage(1).desc
Added in 1.9.0
$color(name/N)
Returns the Nth color index of the specified color name. If you do not specify the full name the first partial match is returned.
If you specify an N value, returns the RGB value for the Nth color box.
Returns 16 if a invalid name/N is specified, which is the "normal" color in AdiIRC when Use extended colors for events is enabled.
See also /color, $ocolor, Extra Colors.
Parameters
Parameter | Description |
name/N | Named color or Nth color to retrieve. |
Properties
Property | Description |
.dd | Returns number in double-digit format. |
.hex | Returns the color in RRGGBB hex format. (AdiIRC only) |
Example
; Get the action color. //echo -ag action color is $color(action) ; Get the action color by partial match in double digits. //echo -ag action color is $color(act).dd ; Get the rgb value for color 5. //echo -ag rgb value for 5 is $color(5)
Color names
Name |
Background |
Background text |
Action text |
Ctcp text |
Highlight text |
Info text |
Info2 text |
Invite text |
Join text |
Kick text |
Mode text |
Nick text |
Normal text |
Notice text |
Notify text |
Other text |
Own text |
Part text |
Quit text |
Topic text |
Wallops text |
Whois text |
Editbox |
Editbox text |
Inactive text |
Listbox |
Listbox text |
Gray text |
Title text |
Treebar |
Treebar text |
Added in 1.9.0
$colour(name/N)
Alias for $color
Returns the Nth color index of the specified color name. If you do not specify the full name the first partial match is returned.
See also /color, $ocolor, Extra Colors.
If you specify an N value, returns the RGB value for the Nth color box.
Parameters
Parameter | Description |
name/N | Named color or Nth color to retrieve. |
Properties
Property | Description |
.dd | returns number in double-digit format. |
Example
;Get the action color //echo -ag action color is $color(action) ;Get the action color by partial match in double digits //echo -ag action color is $color(act).dd ;Get the rgb value for color 5 //echo -ag rgb value for 5 is $color(5)
Added in 1.9.4
$com(name|N)
Returns name if connection is open, or name of Nth connection. N = 0 returns number of open connections.
Parameters
Parameter | Description |
name|N | The connection name or the Nth connection. |
Properties
Property | Description |
.progid | The object name. |
.result | The value returned by the COM object member after the call |
.error | The error code if any. |
.errortext | The error text if any. |
.argerr | TODO |
.dispatch | $true if this is a dispatch pointer. |
.unknown | $true if this is a unknown pointer. |
$com(name, &bvar)
Returns connection information for the connection and puts it into &bvar.
Parameters
Parameter | Description |
name| | The connection name. |
&bvar | The &bvar to write to. |
Properties
Property | Description |
.progid | The object name. |
.result | The value returned by the COM object member after the call |
.error | The error code if any. |
.errortext | The error text if any. |
.argerr | TODO |
.dispatch | $true if this is a dispatch pointer. |
.unknown | $true if this is a unknown pointer. |
$com(name/N,varname)
Returns value of the specified variable name.
Parameters
Parameter | Description |
name/N | The connection name or the Nth connection. |
varname | Name of the referenced variable. |
$com(name,member,method,type1,value1,...,typeN,valueN)
This calls a member of an open COM connection with the specified method and parameters.
Returns: 1 = ok, 0 = fail.
Parameters
Parameter | Description |
name | Connection name. |
alias | Alias to call when the call is finished. |
member | Member name. |
method | Combination of the method values added together (see below). |
type | The variable type (see below), |
value | The value assigned to the variable type. |
Methods
Method | Description |
1 | DISPATCH_METHOD |
2 | DISPATCH_PROPERTYGET |
4 | DISPATCH_PROPERTYPUT |
8 | DISPATCH_PROPERTYPUTREF |
Types
Can be: i1, i2, i4, ui1, ui2, ui4, int, uint, r4, r8, cy, date, decimal, bool, bstr, variant, dispatch, unknown, error.
VB equivalents are: boolean, byte, currency, date, double, integer, long, single, string, variant.
To make a variable by reference, use * in the type name, eg. i1*
To assign a name to a variable for later reference after a call, append it to the type, eg. i1* varname
When using a variant you must also specify the variable type after it, eg. variant bool.
Added in 1.9.4
$comcall(name,alias,member,method,type1,value1,...,typeN,valueN)
This calls a member of an open COM connection with the specified method and parameters.
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.
Returns: 1 = ok, 0 = fail.
Parameters
Parameter | Description |
name | Connection name. |
alias | Alias to call when the call is finished. |
member | Member name. |
method | Combination of the method values added together (see below). |
type | The variable type (see below), |
value | The value assigned to the variable type. |
Methods
Method | Description |
1 | DISPATCH_METHOD |
2 | DISPATCH_PROPERTYGET |
4 | DISPATCH_PROPERTYPUT |
8 | DISPATCH_PROPERTYPUTREF |
Types
Can be: i1, i2, i4, ui1, ui2, ui4, int, uint, r4, r8, cy, date, decimal, bool, bstr, variant, dispatch, unknown, error.
VB equivalents are: boolean, byte, currency, date, double, integer, long, single, string, variant.
To make a variable by reference, use * in the type name, eg. i1*
To assign a name to a variable for later reference after a call, append it to the type, eg. i1* varname
When using a variant you must also specify the variable type after it, eg. variant bool.
Added in 1.9.0
$comchan(nick,N)
Returns the names of channels which both you and nick are on.
Parameters
Parameter | Description |
nick | The nick to compare channels with. |
N | If N = 0, number of channels you share, otherwise the Nth channel. |
Properties
Property | Description |
.owner | Returns $true if you are owner on this channel, otherwise $false. (AdiIRC only) |
.admin | Returns $true if you are admin on this channel, otherwise $false. (AdiIRC only) |
.op | Returns $true if you are op on this channel, otherwise $false. |
.help | Returns $true if you are halfop on this channel, otherwise $false. |
.voice | Returns $true if you have voice on this channel, otherwise $false. |
Example
; Print number of channels you share with nick. //echo -ag $comchan(nick, 0) ; Print the first channel you share with nick. //echo -ag $comchan(nick, 1)
Added in 1.9.6
$comchar
Returns the command prefix character.
Cannot be changed in AdiIRC so always returns forward slash "/".
Added in 1.9.4
$comerr
This should be checked after a call to any COM command or identifier. Returns 1 if there was an error, else 0.
Added in 4.3
$commands(N/command)
Returns the Nth built-in and/or alias command.
Parameters
Parameter | Description |
N | If N = 0 number of commands, otherwise the Nth command. |
command | Returns $true if the command exists, otherwise $false. |
Properties
Property | Description |
.builtin | Only list the built-in commands. |
.aliases | Only list the aliases found in scripts/plugins. |
Example
; Print number of total commands. //echo -ag $commands(0) ; Print number of built-in commands. //echo -ag $commands(0).builtin ; Print number of aliases commands found in scripts/plugins. //echo -ag $commands(0).aliases ; Print the first commands. //echo -ag $commands(1)
Added in 1.8.10
$comment
Returns the comment field of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.4
$compact
Returns the normal/compact status of the main AdiIRC window.
Since this feature is not impelemented it always returns 0.
Added in 1.9.4
$compress(file|&bvar, blNmN)
Compresses the specified file or binary variable. The result is raw compressed data.
Not compatible with mIRC compressed files
See also $decompress.
Parameters
Parameter | Description |
file|&binvar | File or &binvar to compress. |
blN | b indicates a &binvar is specified. |
lN | TODO |
mN | If N = 1 is raw (default), N = 2 is zlib, and N = 3 is gzip. (1 and 3 is compatible with mIRC) |
Added in 1.9.4
$comval(name,N,member, [&binvar])
Returns COM member value for the Nth instance of the enumerated collection in name.
Parameters
Parameter | Description |
name | Name of the COM connection. |
N | If N = 0, return number of items, otherwise The Nth item. |
member | Member value to get. |
[&binvar] | Adds the result to the specified &binvar instead. (changes return value to number of bytes added) |
Properties
Property | Description |
.result | Used with [&binvar]. |
Added in 1.9.0
$cos(N)
Returns the cosine of the specified angle.
Parameters
Parameter | Description |
N | The number. |
Properties
Property | Description |
.deg | Returns the degree instead of cosine. |
Added in 1.9.3
$cosh(N)
Returns the hyperbolic cosine of the specified angle.
Parameters
Parameter | Description |
N | The number. |
Properties
Property | Description |
.deg | Returns the degree instead of cosine. |
Added in 1.8.10
$count(string,substring,substring2,...,substringN)
Returns the number of times substring occurs in string.
$count is case-insensitive, see $countcs for case-sensitive version.
Parameters
Parameter | Description |
string | The string to search for. |
substring,substring2,...,substringN | Substrings to search. |
Example
; Count number of times 'el' appears in 'hello'. //echo -ag $count(hello,el) ; Count number of times 'l' appears in 'hello'. //echo -ag $count(hello,l)
Added in 1.8.10
$countcs(string,substring,substring2,...,substringN)
Returns the number of times substring occurs in string.
$countcs is case-sensitive, see $count for case-insensitive version.
Parameters
Parameter | Description |
string | The string to search for. |
substring,substring2,...,substringN | Substrings to search. |
Example
; Count number of times 'A' appears in 'Aaa'. //echo -ag $countcs(Aaa,A) ; Count number of times 'a' appears in 'Aaa'. //echo -ag $countcs(Aaa,a)
Added in 1.5
$cpucache
Returns cpu cache in bytes for 1 core.
Added in 1.5
$cpucount
Returns numbers of cpu's and cores.
Added in 1.5
$cpuident
Returns cpu identifier.
Added in 1.8.10
$cpuload
Returns current CPU load in percentage.
Can take a while to return a value/freeze on first use.
Properties
.cores - Returns the combined load of all CPU cores.
Added in 3.4
$cpuload(N)
Returns the current CPU load in percentage for the Nth core.
Parameters
Parameter | Description |
N | If N = 0 returns number of cores, otherwise the load for the Nth cpu core. |
Example
//echo -ag the current load for the 3rd core is $cpuload(3)
Added in 1.5
$cpumhz
Returns cpu frequency in megahertz.
Added in 1.5
$cpuname
Returns cpu name.
Added in 1.8.10
$cpuvendor
Returns cpu vendor identifier.
Added in 1.8.10
$cr
Returns the carriage return character, the same as $chr(13). (\r).
Added in 1.9.0
$crc(text|&binvar|filename,[N])
Returns the CRC checksum of the specified item.
Parameters
Parameter | Description |
text|&binvar|filename | Value to calculate CRC checksum from. |
N | 0 = plain text, 1 = &binvar, 2 = filename (content of the file), 2 is default. |
Added in 4.2
$crc64(text|&binvar|filename,[N])
Returns the CRC-64 checksum of the specified item.
Parameters
Parameter | Description |
text|&binvar|filename | Value to calculate CRC-64 checksum from. |
N | 0 = plain text, 1 = &binvar, 2 = filename (content of the file), 2 is default. |
Added in 3.6
$creq
Returns the current DCC CHAT/SCHAT accept option.
Returns
value | Description |
ignore | All DCC CHAT/SCHAT requests are ignored. |
ask | Ask whether to accept the DCC CHAT/SCHAT request. |
auto | DCC CHAT/SCHAT requests are automatically accepted. |
Added in 1.8.10
$crlf
Returns a carriagereturn/linefeed combination (\r\n).
Added in 1.8.10
$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.
Parameters
Parameter | Description |
text | Date/Time text to parse. |
Example
//echo -ag $ctime(January 1 1970 00:00:00) //echo -ag $ctime(15/7/89 01:30:37)
Added in 4.4
$ctimems
Returns the milliseconds elapsed since 00:00:00 GMT, January 1, 1970 based on your system time.
Added in 1.9.4
$ctimer
Returns name of /timer that triggered the current script.
Added in 1.9.0
$ctrlenter
Returns $true if CTRL + ENTER was pressed during a on INPUT event.
Example
on *:INPUT:*:{ if ($ctrlenter) { echo -ag ctrl + ENTER was pressed } else { echo -ag ctrl + ENTER was not pressed } }
Added in 4.4
$darkmode
Returns $true if DarkMode is currently active, otherwise $false.
See also on DARKMODECHANGED, DarkMode.
Added in 1.9.0
$date
Returns current date in dd/mm/yyyy format. See $adate for mm/dd/yyyy format.
This is the same as $asctime($ctime,dd/mm/yyyy) and you can also format the current time differently like $date(yyyy-mm-dd) or format a different time like $date(1234567890) or $date(1234567890,yyyy-mm-dd HH:nn:ss). If the date falls during the 1900's, the year defaults to show as 2 digits.
In effect, it's the same as $asctime except having a different default format.
Added in 1.9.0
$day
Returns the name of the current day ie. Monday, Tuesday, etc.
Added in 1.9.0
$daylight
Returns seconds offset if daylight savings is in effect, and 0 if not.
Added in 1.9.4
$dbuh
Returns the DBU (Dialog Base Units) per pixel height for the current display.
Added in 1.9.4
$dbuw
Return the DBU (Dialog Base Units) per pixel width for the current display.
Added in 2.7
$dccignore
Returns $true if Options -> Dcc -> Dcc Ignore Method is set to accept only/ignore only, otherwise $false.
See also /dcc.
$dccignore(N/filename)
Returns the Nth item in the Dcc ignore or accept list in Options -> Dcc -> Dcc Ignore.
Parameters
Parameter | Description |
N | If N = 0 returns number of items in the Dcc ignore/accept list, otherwise the Nth ignore/accept item. |
filename | If specified returns $true if the filetype is ignored using the current settings, otherwise $false. |
Example
; Print number of ignore/accept items. //echo -ag Number of ignore/accept items is $dccignore(0) ; Print the first ignore/accept item. //echo -ag The first ignore/accept item is $dccignore(1) ; Check if 'file.exe' is ignored or not. //echo -ag file.exe $iif($dccignore(file.exe), is ignored, is not ignored)
Added in 1.9.3
$dccport
Returns the port being used by the DCC Server.
Always returns 59 since this feature is not implemented
Added in 1.9.4
$dde(name, topic, [item], [delay])
Returns the value returned by the specified service name, topic, and item, by sending an DDE XTYP_REQUEST.
Parameters
Parameter | Description |
name | Service name of the DDE service to query. |
topic | Topic to query. |
item | Item to query. (optional) |
delay | Seconds to way before giving up getting a response. (optional, default is 1) |
Example
//echo My AdiIRC is $dde(AdiIRC, connected) to $dde(AdiIRC, server)
Added in 1.9.3
$ddename
Returns the current DDE service name in use by the AdiIRC DDE Server.
Added in 1.9.6
$debug
Returns the name of the /debug file or custom window.
Added in 1.9.0
$decode(text|&binvar, abmuthxrBRO)
Decodes text or &binvar using Uuencode, Mime or html codes.
If decoding a &binvar, returns the actual number of characters written to the &binvar.
Default is Uuencode.
See also $encode.
Parameters
Parameter | Description |
text|&binvar | The text or a &binvar to decode. |
abmuthBRO | a = base32 encoding, b indicates a &binvar is specified, h = html coded encoding, r = url encoding, m = mine encoding, u = Uuencode (default), t = text (default), x = hex encode, B = binary, R = rot13, O = octal. (h,x,r,B,R,O is AdiIRC only) |
; UUencode 'test'. //echo -ag $encode(test) ; UUencode 'test', then decode it. //echo -ag $decode($encode(test))
$decode(%var | &binvar, switches, key, [salt | iv])
TODO
Added in 1.9.4
$decompress(file|&bvar, blNmN)
Decompresses the specified file or binary variable.
If no mN parameter is specified, AdiIRC will try detect the type.
Can be used to decompress theme files.
See also $compress.
Parameters
Parameter | Description |
file|&binvar | File or &binvar to decompress. |
blN | b indicates a &binvar is specified. |
lN | TODO |
mN | If N = 1 is raw (default), N = 2 is zlib, and N = 3 is gzip. |
Added in 1.9.0
$decrypt(text, password)
Deprecated, consider using the blowfish plugin. instead
Decrypts a blowfish text using the fish10 format, encrypted with password.
ECB mode only.
See also $encrypt.
Parameters
Parameter | Description |
text | Text to decrypt. |
password | Password to decrypt with. |
Example
; Create a variable and encrypt text "Hello World" with password "test". var %text $encrypt(Hello World, test) ; Decrypt the text and print it. echo -ag $decrypt(%text, test)
Added in 1.9.0
$deltok(text,N-N2,C)
Deletes the Nth token from text.
N-N2 can be used to get a range of tokens, both numbers can be negative.
N- can be used to get all tokens from position N.
Parameters
Parameter | Description |
text | The text to tokenize. |
N | N2 - The range of tokens or Nth token to delete. |
C | The ASCII value to tokenize by. |
Example
; Delete the 3rd token, result is 'a.b.d' //echo -ag $deltok(a.b.c.d,3,46) ; Delete the second to third token, result is 'a.d' //echo -ag $deltok(a.b.c.d,2-3,46) ; Delete all tokens from the second to end. //echo -ag $deltok(a.b.c.d,2-,46)
Added in 1.9.0
$devent
Returns the name of the dialog event during a on DIALOG event.
Example
on *:DIALOG:*:*:*:{ echo -ag Matched dialog event is $devent }
Added in 1.9.0
$dialog(name,table,[parent])
Creates a modal dialog.
See also /dialog, on DIALOG, Dialog Items.
Parameters
Parameter | Description |
name | Name of the dialog to create. |
table | Name of the dialog table to use. |
[parent] | Name of the parent window to associate the dialog with or -1 = Desktop window, -2 = Main AdiIRC window, -3 = Currently active window, -4 = Currently active dialog. (optional) |
Example
: Create a dialog table. Dialog Example1 { title "This is Example 1" size -1 -1 172 129 option dbu tab "Tab A", 14, 2 0 165 123 tab "Tab B", 15 tab "Tab C", 16 edit "", 17, 8 16 154 104, tab 16 multi return autohs vsbar menu "&File", 1 item "&New", 6, 1 item "&Open", 7, 1 item break, 8, 1 item "&Save", 9, 1 item "Save &as", 10, 1 menu "&Edit", 2 item "&Copy", 11, 2 item "P&aste", 12, 2 menu "&view", 3 item "&All", 13, 3 menu "&Help", 4 item "&About", 5, 4 } ; Create and open the dialog using the 'Example' table. //noop $dialog(Example, Example)
$dialog(name|N)
Returns information about a dialog.
Parameters
Parameter | Description |
name|N | Name of the dialog or if N = 0, number of dialogs, otherwise the Nth dialog. |
Properties
Property | Description |
.result | Returns ID of the 'result' button if specified. |
.x | Returns the X position of the dialog. |
.y | Returns the Y position of the dialog. |
.w | Returns the width of the dialog. |
.h | Returns the height of the dialog. |
.cw | Returns the width of the dialog client area. |
.ch | Returns the height of the dialog client area. |
.title | Returns the dialog title. |
.modal | Returns $true if the dialog is modal, otherwise $false. |
.state | Returns minimized/maximized/hidden/normal. (AdiIRC only) |
.table | Returns the name of the dialog table. |
.ok | Returns ID of the 'ok' button if specified. |
.cancel | Returns ID of the 'cancel' button if specified. |
.focus | Returns ID of the control that currently has focus. |
.active | Returns $true if the dialog is active, otherwise $false. |
.tab | Returns id of tab that is currently displayed. |
.hwnd | Returns the window handle. |
.icon | Returns the filename of the icon file. (AdiIRC only) |
.local | Returns $true if the dialog is a local dialog, otherwise $false. (AdiIRC only) |
.dbu | Returns $true if the dialog was created with the dbu option, otherwise $false. (AdiIRC only) |
.default | Returns the id of the "default" button, if defined. (AdiIRC only) |
Example
; Print number of dialogs. //echo -ag $dialog(0) ; Print name of the first dialog. //echo -ag $dialog(1)
Added in 1.9.0
$did
Returns the id of the matched dialog id during a on DIALOG event.
Example
on *:DIALOG:*:*:{ echo -ag The matched dialog id is $did }
$did([name},id,[N])
Returns settings and values from a dialog item.
See also /dialog, on DIALOG, Dialog Items.
Parameters
Parameter | Description |
[name] | If specified, name of the dialog otherwise $dname from the current event is used. (optional) |
id | Id of the dialog item. |
[N] | If N = 0, get number of lines, otherwise the Nth line for a item with multiple lines. (optional) |
Properties
Property | Description |
.text | Returns line or Nth line. |
.len | Returns length of line or length of Nth line. |
.lines | Returns number of lines. |
.sel | If N = 0, returns number of lines otherwise the Nth selected line. |
.seltext | Returns selected text in an editbox or first selected item in a listbox. |
.selstart | Returns select start character in editbox line. |
.selend | Returns select end character in editbox line. |
.edited | Returns $true if text in editbox was changed, otherwise $false. |
.state | Returns 0 = off, 1 = on, and 2 = indeterminate. |
.next | Returns id of next control in tab key order. |
.prev | Returns id of previous control in tab key order. |
.visible | Returns $true if the control is visible, otherwise $false. |
.enabled | Returns $true if the control is enabled, otherwise $false. |
.isid | Returns $true if id exists in the dialog, otherwise $false. |
.csel | If N is 0, returns number of checked lines, otherwise line number of the Nth checked box in a listcb control. |
.cstate | Returns 0 = off, 1 = on for item in a listcb control (listbox created using the check parameter). |
.type | Returns the dialog item type. (AdiIRC only) |
Added in 1.9.0
$didreg([name],id,regex,[N])
Returns the number of the line that matches the regular expression, with the search starting at line N.
Parameters
Parameter | Description |
[name] | If specified, name of the dialog otherwise $dname from the current event is used. (optional) |
id | Id of the dialog item. |
regex | The regular expression to perform. |
[N] | If N = 0, number of matches, otherwise the Nth match. (optional) |
Added in 1.9.1
$didtok([name],id,C)
Returns a tokenized list of the items in a dialog list/combo/edit box.
Parameters
Parameter | Description |
[name] | If specified, name of the dialog otherwise $dname from the current event is used. (optional) |
id | Id of the dialog item. |
C | The ASCII value to tokenize by. |
Added in 1.9.0
$didwm([name],id,wildtext,[N])
Returns the number of the line that matches the wildtext, with the search starting at line N.
Parameters
Parameter | Description |
[name] | If specified, name of the dialog otherwise $dname from the current event is used. (optional) |
id | Id of the dialog item. |
wildtext | The wildtext to search. |
[N] | If N = 0, number of matches, otherwise the Nth match. (optional) |
Added in 1.9.0
$disk
In /sysinfo [N:] and /diskinfo [N:] will return the drive letter [N:] used as parameter.
If the [N;] parameter is not defined, $disk will return $null.
Added in 1.9.0
$disk(path|N)
Returns information about the specified hard disk, where N = 0 for total available drives, and N > 0 to access each drive.
If no properties is defined, returns $true if hard disk exists, otherwise $false.
$disk with no parameters in /sysinfo [N:] and /diskinfo [N:] will return the drive letter [N:] used as parameter.
Parameters
Parameter | Description |
path|N | The hard disk letter (C:) or the Nth hard disk. |
Properties
Property | Description |
.type | Type of hard disk. (unknown, norootdirectory, removable, fixed, network, cdrom, ram) |
.free | Number of free bytes available. |
.label | Label of the hard disk. |
.size | Total number of bytes. |
.unc | The UNC path for a network drive. (\\x.x.x.x\dir) |
.path | The hard drive letter/path (C:\) |
Examples
; Print total number of hard drives. echo -ag Total number of hard drives is $disk(0) ; Print some hard drive info of the first drive. echo -ag The first hard drive is $bytes($disk(1).size).suf in size and have $bytes($disk(1).free).suf free space.
Added in 1.5
$diskfree
Returns total free disk space from all drives in human readable format.
Added in 1.9.0
$diskmenu(N)
Used to generate disk menu.
Returns Driveletter (Diskname) freespace/totalspace:/diskinfo driveletter
Deprecated.
Parameters
Parameter | Description |
N | Return the Nth disk, if N is 0 returns number of disks. |
Added in 1.5
$disktotal
Returns total disk space from all drives in human readable format.
Added in 1.8.10
$dlevel
Returns the current default user level.
Added in 1.9.2
$dll(N|filename)
Returns the Nth loaded DLL or the matched DLL file.
See also $dllcall, /dll, DLL Support.
Parameters
Parameter | Description |
N|Filename | The Nth loaded DLL or the DLL file to match. |
$dll(filename, procname, data)
Returns the value resulting from a call to a DLL designed to work with AdiIRC.
Only 64 bit DLL's can be loaded on 64 bit version of AdiIRC, on 32 bit version 32 bit DLL's and even some mIRC DLL's can be loaded.
Parameters
Parameter | Description |
filename | DLL file to call. |
procname | Procname in the DLL file to call. |
data | Data to send. |
Added in 1.9.2
$dllcall(filename, alias, procname, data)
Returns the value resulting from a call to a DLL file designed to work with AdiIRC.
$dllcall is multi-threaded so it will not halt the script and will call the specified alias once the DLL responds.
See also $dll, /dll, DLL Support.
Only 64 bit DLL's can be loaded on 64 bit version of AdiIRC, on 32 bit version 32 bit DLL's and even some mIRC DLL's can be loaded.
Parameters
Parameter | Description |
filename | DLL file to call. |
alias | Alias to execute when the DLL responds. |
procname | Procname to call. |
data | Data to send to the DLL. |
Added in 1.9.0
$dname
Returns the name of a dialog during a on DIALOG event.
Example
on *:DIALOG:*:*:*:{ echo -ag Name of the dialog matched is $dname }
Added in 1.9.0
$dns(N)
Returns the IP address that was resolved during a on DNS event.
Parameters
Parameter | Description |
N | If N = 0, returns number of associated IP addresses, otherwise the Nth IP address. |
Properties
Property | Description |
.nick | Returns the nick if /dns was used on a nick. |
.addr | Returns the resolved hostname. |
.ip | Returns the resolved Ip address. |
Example
; Lookup a nick /dns nick ; Lookup a hostname /dns google.com ; Lookup a IP address. /dns 8.8.8.8 ; Print the results from the lookups. on *:DNS:{ var %n = $dns(0) echo 4 Found %n addresses while (%n > 0) { echo 4 dns: $dns(%n) nick: $dns(%n).nick addr: $dns(%n).addr ip: $dns(%n).ip dec %n } }
Added in 1.9.4
$dock
Returns main window docked status. (Left/Right/Top/Bottom/None)
Added in 1.9.4
$dockpanels
Returns $true if any Monitor Panels is visible except pinned Monitor Panels, otherwise $false.
See also Monitor Panels, /dock, /dockpanels.
$dockpanels(name|@window|dialog id)
Returns $true if named dockpanel is visible, otherwise $false.
Parameters
Parameter | Description |
name|@window|dialog id | The panel name, @window or dialog id to check. (Server, Channel, Private, Url, Notify, Dcc, Highlight, Nicklist or Treebar) |
Properties
Property | Description |
.side | Returns the docked panel side. (left/right/top/bottom) |
.container | Returns the container position for the panel. |
.panel | Returns the panel position. |
.tab | Returns the tab position for the panel. |
.name | Returns the name of the window/docked panel. |
.locked | Returns $true if the docked panel is locked, otherwise $false. |
.pinned | Returns $true if the docked panel is pinned, otherwise $false. |
.visible | Returns $true if the docked panel is visible, otherwise $false. |
.w | Returns the docked panel width. |
.h | Returns the docked panel height. |
.wid | Returns the window id of the panel if any. |
Example
; Display information about the highlight panels. //echo -ag Higlight is $iif($dockpanels(Highlight), Visible, Hidden) ; Hide the highlights dockpanel if it's in a window. //window -h @ $+ $dockpanels(Highlight).wid
Added in 4.3
$dockpanels(side, [container], [panel], [tab])
Returns the number of containers/panels/tabs docked in Monitor Panels or information about docked panels/windows.
See also Monitor Panels, /dock.
Parameters
Parameter | Description |
side | The dock side to list. (left/right/top/bottom) |
[container] | If N = 0, number of containers, otherwise the Nth container to list. |
[panel] | If N = 0, number of panels, otherwise the Nth panel to list. |
[tab] | If N = 0, number of tabs, otherwise the Nth tab to list. |
Properties
Property | Description |
.side | Returns the docked panel side. (left/right/top/bottom) |
.container | Returns the container position for the panel. |
.panel | Returns the panel position. |
.tab | Returns the tab position for the panel. |
.name | Returns the name of the window/docked panel. |
.locked | Returns $true if the docked panel is locked, otherwise $false. |
.pinned | Returns $true if the docked panel is pinned, otherwise $false. |
.visible | Returns $true if the docked panel is visible, otherwise $false. |
.w | Returns the docked panel width. |
.h | Returns the docked panel height. |
Example
alias listdocks { echo -ag Number of containers on the bottom = $dockpanels(bottom, 0) var %c 0 while (%c < $dockpanels(right, 0)) { inc %c echo -ag Number of panels in container %c is $dockpanels(bottom, %c, 0) var %p 0 while (%p < $dockpanels(bottom, %c, 0)) { inc %p echo -ag Number of tabs in panel %p = $dockpanels(bottom, %c, %p, 0) var %t 0 while (%t < $dockpanels(bottom, %c, %p, 0)) { inc %t echo -ag Tab %t is $dockpanels(bottom, %c, %p, %t) } } } }
Added in 1.9.2
$dotnet
Returns the .NET (dotnet) version AdiIRC is currently running on.
Added in 2.3
$download
Returns the download name during a on DOWNLOAD event.
See also $downloaderr, /download, on DOWNLOAD.
$download(name,[N])
Returns information about a the Nth download.
Parameters
Parameter | Description |
name | Name to lookup, can be a wildcard. |
[N} | If N = 0, number of matches, otherwise the Nth match. (optionally) |
Properties
Property | Description |
.name | Name of the download. |
.file | Filename to save as. |
.url | The url to download. |
Example
; Print number of downloads. //echo -ag $download(*, 0) ; Print the first download. //echo -ag $download(*, 1)
Added in 2.3
$downloaderr
Returns any error during a on DOWNLOAD event.
See also $download, /download, on DOWNLOAD.
Example
on *:DOWNLOAD:*:echo -ag Download of $download($download).url was $iif($downloaderr,not ok,ok)
Added in 1.8.10
$duration - (AdiIRC only).
Returns the duration of the currently playing song in milliseconds.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
$duration(seconds,[N])
Returns the specified number of seconds in a week/day/hour/minute/second format.
See also $ctime, $asctime, $gmt.
Parameters
Parameter | Description |
seconds | Number of seconds or a $duration value to convert back into seconds. |
N | If N = 2, the result does not include the seconds value. If N = 3, the result is in hh:nn:ss format. |
Example
; Print current date using $ctime. //echo -ag $duration($ctime) ; Do a reverse duration. //echo -ag $duration(42wks 5days 11hrs 53mins 43secs)
Added in 1.9.4
$ebeeps
Returns $true if Options -> Sounds -> Enable Sounds is enabled otherwise $false
Added in 1.9.0
$editbox(window|editor,[N])
Returns the text in the Editbox of the specified window or the text in the current active Editor.
See also $editboxhistory, /editbox.
Parameters
Parameter | Description |
window|editor | The window associated with the Editbox to use or the current active Editor. |
[N] | TODO (optional) |
Properties
Property | Description |
.selstart | Returns the position of the first selected character. |
.selend | - Returns the position of the last selected character. |
.color | Gets the current Editbox text color in $rgb format. (AdiIRC only) |
.backcolor | Gets the current Editbox background color in $rgb format. (AdiIRC only) |
.rgbcolor | Gets the current Editbox text color in rrr,ggg,bbb format. (AdiIRC only) |
.rgbbackcolor | Gets the current Editbox background color in rrr,ggg,bbb format. (AdiIRC only) |
.spellcheckword | Gets the current word at the cursor position formatted for spellchecking. (AdiIRC only) |
.currline | Returns the line where the cursor is in a multiline Editbox. (AdiIRC only) |
.lines | Returns the number of lines in a multiline Editbox. (AdiIRC only) |
Example
; Open a custom window. /window -e @Example ; Add 'Hello World' to the Editbox. /editbox @Example Hello World ; Print the content of the Editbox. //echo -ag Text is $editbox(@Example) selstart is $editbox(@Example).selstart selend is $editbox(@Example).selend ; Print the content of the current active Editor, must be triggered from a custom shortcut. //echo -ag Text is $editbox(editor) selstart is $editbox(editor).selstart selend is $editbox(editor).selend
Added in 2.3
$editboxhistory(window,N)
Returns the Nth Editbox history item for the window.
Parameters
Parameter | Description |
window | The window to retrieve Editbox history from. |
N | If N = 0, number of history items, otherwise the Nth item. |
Properties
Property | Description |
.pos | Returns the current Editbox history position. |
Example
; Print number of Editbox history items for the active window. //echo -ag $editboxhistory($active, 0) ; Print the first Editbox history item for the active window. //echo -ag $editboxhistory($active, 1)
Added in 1.9.6
Returns Options -> Server -> Ident Nick as nick@adiirc.com
There is no email address option in AdiIRC
Same as $emailaddr.
Added in 1.9.4
$emailaddr
Returns Options -> Server -> Ident Nick as nick@adiirc.com
There is no email address option in AdiIRC
Same as $email.
Added in 2.7
$emoticons(N|keyword)
Returns the Nth emoticon, or the matching emoticon.
Parameters
Parameter | Description |
N | The Nth emoticon. |
keyword | The emoticon keyword to match. |
Properties
Property | Description |
.file | Returns the emoticon filename. |
.key | Returns the emoticon keyword. |
Example
; Print number of emoticons. //echo -ag $emoticons(0) ; Print the 5th emoticon. //echo -ag The 5th emoticon keyword is $emoticons(5) ; Check if "Hello" is an emoticon. //echo -ag Hello $iif($emoticons(Hello), is, is not) an emoticon.
Added in 1.9.0
$encode(text|&binvar, abmuthxrBRO, N)
Encode text or &binvar using Uuencode, Mime or html codes.
If encoding a &binvar, returns the actual number of characters written to the &binvar.
Default is Uuencode.
See also $decode.
Parameters
Parameter | Description |
text|&binvar | The text or a &binvar to encode. |
abmuthBRO | a = base32 encoding, b indicates a &binvar is specified, h = html coded encoding, r = url encoding, m = mine encoding, u = Uuencode (default), t = text (default), x = hex encode, B = binary, R = rot13, O = octal. (h,x,r,B,R,O is AdiIRC only) |
N | If N = 0, number of 60-character chunks, otherwise the Nth 60-character chunk. |
Example
; UUencode 'test'. //echo -ag $encode(test) ; UUencode 'test', then decode it. //echo -ag $decode($encode(test))
$encode(%var | &binvar, switches, key, [salt | iv])
TODO
Added in 1.9.0
$encodingmenu(N)
Used to generate encoding menu.
Returns encodingname:/encoding encodingnumber
Parameters
Parameter | Description |
N | Return the Nth encoding, if N is 0 returns number of encodings. |
Added in 1.9.0
$encrypt(text, password)
Is not secure/accurate and is disabled in AdiIRC 3.3+, use the blowfish plugin. instead
Encrypts a blowfish text using the fish10 format using a password.
ECB mode only.
See also $decrypt.
Parameters
Parameter | Description |
text | Text to encrypt. |
password | Password to encrypt with. |
Example
; Create a variable and encrypt text "Hello World" with password "test". var %text $encrypt(Hello World, test) ; Decrypt the text and print it. echo -ag $decrypt(%text, test)
Added in 1.9.6
$envvar(name|N)
Returns environment variables.
Returns different variable values between 64 bit and 32 bit AdiIRC.
Properties
Property | Description |
.name | Return name of the variable. |
.value | Return value of the variable. |
Parameters
Parameter | Description |
name|N | Name of the variable, if N = 0, total number of variables, otherwise the Nth variable. |
Example
; List number of variables. //echo -ag Number of variables is $envvar(0) ; List the name of the 15th variable. //echo -ag The 15th variable is $envvar(15) ; List the value of the 'APPDATA' variable. //echo -ag Value of APPDATA is $envvar(APPDATA)
Added in 1.9.0
$error
When an error occurs, the script will jump to :error and continue running, $error will return the error message.
Example
alias Example { ; Add a intentional error. noop $hget( ; Add a :error label to catch the error. :error ; Print the error caught. echo -ag The error is $error }
Added in 1.9.0
$eval(text,[N])
Evaluates the contents of text N times.
Same as $
Parameters
Parameter | Description |
text | The text to evaluate. |
[N] | If N is not specified, the default is N = 1. If N is zero, text is not evaluated.. (optional) |
Example
; Evaluate 0 times. //echo -ag $eval($ $+ me, 0) ; Evaluate 1 time. //echo -ag $eval($ $+ me) ; Evaluate 2 times. //echo -ag $eval($ $+ me, 2)
Added in 1.9.3
$evalnext(text)
Evaluates the contents of text 2 times.
Same as $eval(text,2) $(text,2)
Parameters
Parameter | Description |
text | The text to evaluate. |
Example
; Evaluate 2 times. //echo -ag $evalnext($ $+ me)
Added in 1.8.10
$event
Returns the name of the event that was triggered.
Example
; Print the triggered event. on *:TEXT:*:*:echo -ag event is $event
Added in 1.9.6
$eventid
Returns a unique id of the event that was triggered.
Example
; Print the triggered event id. on *:TEXT:*:*:echo -ag eventid is $eventid
Added in 4.0
$eventparms
Returns $1- in a consecutive spaced line for the initial event or command.
Example
; Listen to a channel text event. on *:TEXT:*:#:{ /testparms hello world } alias testparms { echo -ag parameters to this command is $parms $+ , parameters for the initial event is $eventparms }
Added in 2.3
$eventtarget(type, [channel], [nick])
Returns the event target settings for a event type/channel.
Value | Description |
0 | In Channel. |
1 | In Status. |
2 | Hide. |
Number is relative to the event dropdowns.
Parameters
Parameter | Description |
type | Event type to check (Join,Mode,Part,Topic,Quit,Ctcp,Kick,Nick,Names,Away,Invite,Whois,Error,Private,Wallops,Notice,Motd,SNotice,PingPong). |
[channel] | The channel to check. (If no channel is specified, the global value is returned) |
[nick] | if specified, the nick to check for the "Only show join parts quits nick from active users" option. |
Example
on ^*:JOIN:*:{ if ($eventtarget(join, #) == 2) { ; Hide halt } if ($eventtarget(join, #) == 1) { ; Show in status window. echo -s $nick joins # } else { ; Show in channel window. echo # $nick joins # } halt }
Added in 2.9
$exec(filename, [nh], [arguments])
Executes a program and returns the output, if any.
See also /run.
This identifier will block the AdiIRC user interface until the executed program is closed/finished.
Parameters
Parameter | Description |
filename | Filename of the program to execute. |
[nh] | n = minimize the window, h = hide the window. |
[arguments] | Arguments to pass to the program. |
Example
; Print all files and folders in the config folder: alias testexec { ; Put the entire output into a variable. var %output = $exec(cmd.exe, h, /c dir $qt($adiircdir)) var %s 0 ; Loop the variable based on the $lf (newline) character. while (%s < $gettok(%output, 0, 10)) { inc %s ; print the Nth line. echo -ag $gettok(%output, %s, 10) } }
Added in 1.9.0
$exists(file|dir)
Returns $true if a file or dir exists otherwise $false.
Parameters
Parameter | Description |
file|dir | File or directory. |
Example
; Check if file exists if ($exists(c:\windows\notepad.exe) file exists ; Check if directory exists if ($exists(c:\windows) directory exists
Added in 1.9.6
$exiting
Returns 1 if AdiIRC is exiting, 2 if AdiIRC is restarting, otherwise 0.
Added in 1.8.10
$false
Returns $false, mainly used for /if, /while expressions.
Example
if ($true) { echo -ag expression was true } if (!$true) { echo -ag expression was false } if ($false) { echo -ag expression was false } if (!$false) { echo -ag expression was true }
Added in 1.9.0
$feof
Returns $true if end of file was reached during the last file access attempt, otherwise $false.
Can be used inside text without being surrounded by white spaces.
See also /fopen, /fclose, /fwrite, /fseek, /flist, $fread, $fgetc, $ferr, $fopen.
Example
; Open a file. /fopen Example Example.txt ; Add some text to the file. /fwrite Example Hello World ; Read the text. //echo -ag $fread(Example) ; Close the file. /fclose Example ; Delete the file. /remove Example ; Print the status from $feof. //echo -ag File $IIf($feof,was,was not) read to end
Added in 1.9.0
$ferr
Returns any errors during the last file access attempt.
Can be used inside text without being surrounded by white spaces.
See also /fopen, /fclose, /fwrite, /fseek, /flist, $fread, $fgetc, $feof, $fopen.
Example
; Print the status from $ferr. //echo -ag Error was: $ferr
Added in 1.9.0
$fgetc(name|N)
Returns the next character from current position in an open file.
See also /fopen, /fclose, /fwrite, /fseek, /flist, $fread, $feof, $ferr, $fopen.
Parameters
Parameter | Description |
name|N | Name of the file or the Nth file. |
Example
; Open a file. /fopen Example Example.txt ; Add some text to the file. /fwrite Example Hello World ; Read the next character. //echo -ag Next char is: $fgetc(Example) ; Close the file. /fclose Example ; Delete the file. /remove Example
Added in 1.8.10
$file(filename|foldername|name)
Returns information about the specified file or folder.
Default returns file size.
Same as $lof.
Parameters
Parameter | Description |
filename|foldername|name | Filename or folder or open file in $fopen to retrieve information from. |
Properties
Property | Description |
.size | File size in bytes. (returns 0 for folders) |
.ctime | Creation time. (unix timestamp) |
.mtime | Last modification time. (unix timestamp) |
.atime | Last access time. (unix timestamp) |
.shortfn | Short file name. |
.longfn | Full file name. |
.attr | File attributes. |
.sig | Returns "ok" if digital signed, else "none". |
.version | Returns the file version, if any. |
.path | The path directory. |
.name | The filename without the file extension. |
.ext | The file extension. |
.pid | Returns the first process id started by this file. (AdiIRC Only) |
Example
; Show AdiIRC.exe filesize //echo -ag $file($adiircexe).size ; Show explorer.exe digital signature //echo -ag $file(c:\windows\explorer.exe).sig
Added in 1.9.9
$filename
Returns the filename that was transmitted during on FILESENT, on FILERCVD, on SENDFAIL or on GETFAIL event or played during a on MP3END, on MIDIEND, on WAVEEND, on SONGEND, on PLAYEND.
It is also available in the on CTCP event for DCC transfers.
Example
on *:FILERCVD:*:echo -ag file recieved from $nick was $filename on *:FILESENT:*:echo -ag file sent to $nick was $filename on *:MP3END:*:echo -ag last file played was $filename
Added in 1.9.4
$filtered
Returns the number of matches from the /filter command.
Added in 1.9.0
$finddir(dir,wildcard,N,[depth],[@window|command])
Searches the specified directory and its sub directories for the Nth directory name matching the wildcard specification and returns the full path and directory if it is found.
If /halt is used in the [command], the search is halted instead of the entire script.
Parameters
Parameter | Description |
dir | The directory to search. |
wildcard | Wildcard to search for. |
N | If N = 0, number of directories, otherwise the Nth directory. |
[depth] | Maximum folder depth. (optional) |
[@window|command] | Custom window name to fill with the result or a command to run on each result. (optional) |
Properties
Property | Description |
.shortfn | Return the path in a shortfn format. |
Example
; Print number of sub directories found in $adiircdir. //echo -ag $finddir($adiircdir,*.*,0) ; Print the 1st directory found. //echo -ag $finddir($adiircdir,*.*,1) ; Print all sub directories in $adiircdir, when using the command parameter, $1- will hold the path. //noop $finddir($adiircdir,*.*,0,echo -ag $1-)
Added in 1.9.4
$finddirn
Returns the Nth position of the directory that was found in a $finddir search.
Example
//echo -ag First sub folder found was: $finddir(c:\,*,1) and it was found at position: $finddirn
Added in 1.9.0
$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.
If /halt is used in the [command], the search is halted instead of the entire script.
Parameters
Parameter | Description |
dir | The directory to search. |
wildcard | Wildcard to search for. |
N | If N = 0, number of files, otherwise the Nth filename. |
[depth] | Maximum folder depth. (optional) |
[@window|command] | Custom window name to fill with the result or a command to run on each result. (optional) |
Properties
Property | Description |
.shortfn | Return the path in a shortfn format. |
Example
; Print number of filenames found in $adiircdir. //echo -ag $findfile($adiircdir,*.*,0) ; Print the 1st filename found. //echo -ag $findfile($adiircdir,*.*,1) ; Print all filenames in $adiircdir, when using the command parameter, $1- will hold the path. //noop $findfile($adiircdir,*.*,0,echo -ag $1-)
Added in 1.9.4
$findfilen
Returns the Nth position of the file that was found in a $findfile search.
Example
//echo -ag First log found was: $findfile($logdir,*.log,1) and it was found at position: $findfilen
Added in 1.9.0
$findtok(text,token,N,C)
Returns the position of the Nth matching token in text.
$findtok is case-insensitive, see $findtokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | The token to find. |
N | The Nth token to find. |
C | The ASCII value to tokenize by. |
Example
; Find position where token 'c' starts. //echo -ag $findtok(a.b.c.d,c,1,46)
Added in 1.9.0
$findtokcs(text,token,N,C)
Returns the position of the Nth matching token in text.
$findtokcs is case-sensitive, see $findtok for case-insensitive version.
Parameters
text - The text to tokenize.
token - The token to find.
N - The Nth token to find.
C - The ASCII value to tokenize by.
Example
; Find position where token 'C' starts. //echo -ag $findtokcs(a.b.C.d,c,1,46)
Added in 1.9.0
$fline(@name,wildtext,[N],[T],[S])
Returns Nth position of line which matches the specified wildcard text.
See also $flinen.
Parameters
Parameter | Description |
@name | The custom window name to search. |
wildtext | Wildcard text to search for. |
[N] | If N = 0 returns number of matches, otherwise the Nth match. (Optional, default is 1) |
[T] | If T = 0 reference the display area (default), If T is 1, it references the listbox, 2 implies that wildtext is a regular expression, and 3 for both. (Optional) |
[S] | Start the search at the Sth line. |
Properties
Property | Description |
.text | Returns the matched text. |
Example
; Open a custom window. /window @Example ; Add some lines /aline @Example Test1 /aline @Example Test2 /aline @Example Test3 ; Search the display area for the wildtext 'Text*' and print number of results. //echo -ag $fline(@Example, Test*, 0) ; Search the display area for the wildtext 'Text*' and print the second result. //echo -ag $fline(@Example, Test*, 2)
Added in 3.8
$flinen
Returns the last $fline line match.
Added in 1.9.0
$floor(N)
Returns N rounded to the next lowest integer.
Parameters
Parameter | Description |
N | The number to round down. |
Added in 1.9.6
$font(N|name, t)
Returns the Nth installed font.
Parameters
Parameter | Description |
N|name | Get the name of the Nth font, if N is 0, returns number of fonts. If a font name is entered, returns $true if the font is installed, otherwise $false. |
t | List only truetype fonts. (AdiIRC only) |
Example
; Get number of installed fonts. //echo -ag $font(0) ; Check if 'Verdana' is installed. if ($font(Verdana)) { echo -ag Verdana is installed } else { echo -ag Verdana is not installed }
Added in 1.9.0
$fopen(name|N)
Returns information about an open file.
See also /fopen, /fclose, /fwrite, /fseek, /flist, $fread, $fgetc, $feof, $ferr.
Parameters
Parameter | Description |
name|N | Name of an open file, If N = 0 number of open files, otherwise the Nth open file. |
Properties
Property | Description |
.fname | Returns the name associated with the file. |
.pos | Returns the current position in the file. |
.eof | Returns $true if the position is as the end of the file, otherwise $false. |
.err | TODO |
.line | Returns the current line position. (AdiIRC only) |
Example
; Open a file. /fopen Example Example.txt ; Print number of open files. //echo -ag $fopen(0) ; Print information about the 'Example' file. //echo -ag $fopen(Example) position is $fopen(Example).pos ; Close the file. /fclose Example
Added in 1.9.0
$fread(name|N)
Returns the next $crlf delimited line from an open file from the current position.
See also /fopen, /fclose, /fwrite, /fseek, /flist, $fgetc, $feof, $ferr, $fopen.
Parameters
Parameter | Description |
name|N | Name of the file or the Nth file. |
Properties
Property | Description |
.back | Returns the previous $crlf delimited line from an open file from the current position. (AdiIRC only) |
Example
; Open a file. /fopen Example Example.txt ; Add some text to the file. /fwrite Example Hello World ; Read the next line. //echo -ag Next line is: $fread(Example) ; Close the file. /fclose Example ; Delete the file. /remove Example
$fread(name|N, M, &binvar)
Reads M bytes from an open file to a &binvar.
Parameters
Parameter | Description |
name|N | Name of the file or the Nth file. |
M | Number of bytes to read from current position. |
&binvar | The &binvar to read into. |
Properties
Property | Description |
.back | Returns M bytes from an open file to a &binvar backwards. (AdiIRC only) |
Added in 4.2
$freadex(name|N)
Returns the rest of the content from an open file starting from the current position.
Parameters
name|N - Name of the file or the Nth file.
Example
; Open a file. /fopen Example $adiircini ; Read the next line. //echo -ag The content of adiircini is: $freadex(Example) ; Close the file. /fclose Example
Added in 1.8.10
$frequency
Returns the mpeg frequency of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 3.3
$fromeditbox
Returns $true if a command or identifier was called directly from a Editbox, otherwise $false.
Added in 1.9.0
$fulladdress
Returns the full $address for the user associated with an event in the form nick!user@host.
Example
; Print the full address on an incoming message. on *:TEXT:*:*:echo -ag The full address is $fulladdress
Added in 1.9.0
$fulldate
Returns the current date in the format: ddd mmm dd HH:nn:ss yyyy
Added in 1.9.4
$fullname
Returns your "Real Name" on the current active connection.
Added in 1.9.3
$fullscreen
Returns 1 if an application is currently running in full screen mode on any screen, otherwise 0.
This applies to both game and non-game applications.
Added in 1.8.10
$fulltitle
Returns the full title of the currently playing song, usually in $artist - $title format.
Added in 4.1
$fupdate
Returns the "refresh rate" of the Text Area set using the /fupdate command.
Added in 4.3
$gcd(N,...)
Returns the greatest common divisor for the specified list of numbers.
See also $lcm.
Parameters
Parameter | Description |
N... | The numbers to search. |
Example
//echo -ag The greatest common divisor for 24 and 54 is $gcd(24, 54)
Added in 1.8.10
$genre
Returns the genre of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 2.3
$get(N/nick,[N])
Returns the nickname and filename of the Nth dcc get connection.
Parameters
Parameter | Description |
N/nick | Nick or the Nth connection. |
[N] | The Nth nick match. |
Properties
Property | Description |
.wid | TODO |
hwnd - TODO | |
.cid | Returns the connection id. |
.path | Returns the file path. |
.file | Returns the file name. |
.size | Returns the file size in bytes. |
.rcvd | Returns the number of bytes received. |
.pc | Returns the percent complete. |
.secs | Returns number of seconds the transfer has been open. |
.done | Returns $true if transfer was successful, otherwise $false. |
.resume | Returns resume position if file was resumed. |
.cps | Returns a estimate bytes per second. |
.status | Returns "sent" and "failed" if a transfer has been sent successfully or failed. |
.ip | Returns the remote ip address. |
.port | Returns the remote port. (AdiIRC only) |
Example
; Print number of GET transfers. //echo -ag $get(0) ; Print filename for the first GET transfer. //echo -ag $get(1).file
Added in 1.9.0
$getdir
Returns the DCC download directory specified in Options -> DCC.
$getdir(filespec)
Returns the DCC download directory matching the filespec, otherwise the directory specified in Options -> DCC.
Parameters
Parameter | Description |
filespec | The filespec. |
Example
; Get the directory for .mp3 files. //echo -ag $getdir(*.mp3)
Added in 1.9.1
$getdot(@,x,y)
Returns the RGB color value of the dot at the specified position in a picture window.
Parameters
Parameter | Description |
@ | The picture window name. |
x | The X coordinate. |
y | The Y coordinate. |
Example
; Open a picture window. /window -p @Example ; Fill a rectangle on the picture window. /drawfill @Example 4 4 0 0 ; Get the RGB color value at x coordinate 0 and y coordinate 0. //echo -ag $getdot(@Example, 0, 0)
Added in 1.9.0
$gettok(text,N,C)
Returns the Nth token in text.
Same as $token.
N-N2 can be used to get a range of tokens, both numbers can be negative.
N- can be used to get all tokens from position N.
Parameters
Parameter | Description |
text | The text to tokenize. |
N | The Nth token to get. |
C | The ASCII value to tokenize by. |
Example
; Print the 3rd token in 'a.b.c.d.e'. //echo -ag $gettok(a.b.c.d.e,3,46) ; Print the second to forth token in 'a.b.c.d.e'. //echo -ag $gettok(a.b.c.d.e,2-4,46) ; Print all tokens from the second position. //echo -ag $gettok(a.b.c.d.e,2-,46)
Added in 1.6
$gfx
Returns the name of the first graphics card found.
Might not be the default graphics card.
$gfx(N)
Returns the name of the Nth graphics card found.
Parameters
Parameter | Description |
N | If N = 0, number of graphics cards, otherwise the Nth graphics card. |
Example
; Print number of graphics cards. //echo -ag $gfx(0) ; Print the name of the first graphics cards. //echo -ag $gfx(1)
Added in 1.6
$gfxram
Returns the amount of vram in megabytes from the first graphics card found.
Might not be the default graphics card and might not return more than 4096.
gfxram(N)
Returns the amount of vram in megabytes from the Nth graphics card found.
Parameters
Parameter | Description |
N | If N = 0, number of graphics cards, otherwise the Nth graphics card. |
Example
; Print number of graphics cards. //echo -ag $gfxram(0) ; Print vram of the first graphics cards. //echo -ag $gfxram(1)
Added in 3.1
$globalidle
Returns your current idle time on all connections in seconds.
Added in 1.9.0
$gmt
Returns the current GMT time value in unix timestamp format.
Added in 1.9.0
$group(#|N)
Returns the name or status of a Scripting Group in a script.
Parameters
Parameter | Description |
#|N | Group name or if N = 0, number of groups, otherwise the Nth group. |
Properties
Property | Description |
.status | Returns on or off. |
.fname | Returns the script filename in which the group exists. |
.name | Returns name of the group. |
.line | Line in the script where the group starts. (AdiIRC only) |
Examples
; Create a group. #example on alias Example { echo -ag Group works } #example end ; Print number of groups. //echo -ag $group(0) ; Print the '#example' group status. //echo -ag #example1 is $group(#example1).status ; Disable the '#example' group /disable #example ; Print the '#example' group status again. //echo -ag #example1 is $group(#example1).status
Added in 1.9.0
$halted
Returns $true if a script has already used /halt during a event otherwise $false.
Example
on ^*:TEXT:*:*:halt on ^*:TEXT:*:*:{ if ($halted) { echo -ag A previous script has already halted this event. } }
Added in 1.9.4
$hash(text, B)
Returns a hash number based on text where B is the number of bits to use when calculating the hash number.
Parameters
Parameter | Description |
text | Text to hash. |
B | Number of bits to use. (min 2, max 32) |
Added in 1.9.1
$height(text,font,size,[B],[C],[D])
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 dialogs.
Parameters
Parameter | Description |
text | Text to measure. |
font | Font to measure. |
size | Font size to measure. |
[B] | If B is non-zero, the font is bold. (optional) |
[C] | If C is non-zero, control codes are processed. (optional) |
[D] | TODO |
Example
; Measure the height of text 'Hello World' using font 'Verdana 9'. //echo -ag $height(Hello world, Verdana, 9)
Added in 3.0
$hexcolor(color)
Converts a hex color into $rgb decimal format.
Parameters
Parameter | Description |
color | The hex color to convert. |
Properties
Property | Description |
.rgb | Convert to rrr,ggg,bbb format instead. |
Example
; Returns "255" decimal. //echo -ag $hexcolor(FF0000) ; Returns "255,0,0" rrr,ggg,bbb value. //echo -ag $hexcolor(FF0000).rgb
Added in 1.9.0
$hfind(name|N,text,[N],[options],[@window|command])
Searches table for the Nth item name which matches text and returns the item name.
See also /hsave, /hload, /hmake, /hfree, /hdel, $hget.
Parameters
Parameter | Description |
name|N | Name of the hash table or the Nth hash table. |
text | Text to search for. |
[N] | If N = 0, number of matches, otherwise the Nth match. (optional) |
[options] | Options. |
[@window|command] | if @window is defined, fills the side-listbox with the results, otherwise the command is run on each result. |
Options
Option | Description |
n | Normal text comparison. (default if M is not specified) |
w | Text is wildcard text. |
W | Hash table item/data is wildcard text. |
r | Text is a regular expression. |
R | Hash table item/data is a regular expression. |
N | Use case-sensitive match. (AdiIRC only) |
H | /halt will halt the running script if used inside the [command]. (AdiIRC only) |
Properties
Property | Description |
.data | Search for a matching data value instead of item name. |
Example
; Searches hash table 'Example' for all items using and runs the command 'echo -ag $1-' on each result, $1- holds the item name or data. //echo -ag result: $hfind(Example, *, 0, w, echo -ag $1-) ; Searches the hash table 'Example' and prints the number of matches. //echo -ag result: $hfind(Example, *, 0, w) ; Searches the hash table 'Example' and prints the first matched item. //echo -ag result: $hfind(Example, *, 1, w) ; Searches the hash table 'Example' and prints the first matched data. //echo -ag result: $hfind(Example, *, 1, w).data
Added in 1.9.4
$hash(text, B)
Returns a hash number based on text where B is the number of bits to use when calculating the hash number.
Parameters
Added in 1.9.0
table(ktable).
|*Parameter*|*Description*|
$hget(name|N)
Returns name of a hash table if it exists, or returns the name of the Nth hash table.
See also /hsave, /hload, /hmake, /hfree, /hdel, $hfind.
Parameters
Parameter | Description |
name|N | Name of the hashtable or If N = 0, number of hashtables, otherwise the Nth hashtable name. |
Properties
Property | Description |
.size | Returns the size of the hashtable as specified in /hmake. |
Example
; Create a hashtable. /hmake Example ; Print number of hashtables. //echo -ag $hget(0) ; Print name and size of the first hashtable. //echo -ag $hget(1) - $hget(1).size
$hget(name|N, item|N, [&binvar])
Returns the data associated with an item in the specified hash table.
Parameters
Parameter | Description |
name|N | Name of the hashtable or the Nth hashtable name. |
item|N | Name of the item or if N = 0 number of items, otherwise the Nth item. |
[&binvar] | Assigns the contents of the item to a &binvar. (optional) |
Properties
Property | Description |
.data | Returns the item value. |
.item | Returns the item name. |
.unset | Returns number of seconds before the item is automatically removed (if set). |
.hash | TODO |
.state | TODO |
Example
; Create a hashtable /hmake Example ; Add a item to the hashtable /hadd Example ExampleItem ExampleValue ; Print number of items in the hastable. //echo -ag $hget(Example, 0) ; Print information about the first item in the hashtable. //echo -ag Name is $hget(Example, 1).item Value is $hget(Example, 1).data Unset at $hget(Example, 1).unset
Added in 1.8.10
$highlight
Returns $true if highlighting is turned on, otherwise returns $false.
Added in 1.9.3
$highlight(N/text)
Returns the Nth line in the highlights options, or if text is specified, returns the properties for the highlight line that matches text.
Parameters
Parameter | Description |
N | The Nth highlight from the highlights options, if N = 0, total number of highlight items is returned. |
text | A text to match with a highlight. |
Properties
Property | Description |
.text | Highlight match text. |
.color | Line color. |
.rgbcolor | The rgb color if set. (AdiIRC only) |
.sound | "beep" or file name. |
.flash | Flash times or 0 if flash is disabled. |
.tip | Tip times or 0 if tip is disabled. |
.message | Tip message. |
.nicks | $true if match on nickname is enabled, otherwise $false. |
.regex | $true if regex is enabled, otherwise $false. |
.cs | $true case sensitive is enabled, otherwise $false. |
.network | The network name to match, if any. (AdiIRC only) |
.channel | The channel name to match, if any. (AdiIRC only) |
.chans | The channel name to match, if any. |
.rnick | The remote nick name to match, if any. (AdiIRC only) |
.fontbold | Returns $true if Bold is checked, otherwise $false. (AdiIRC only) |
.fontitalic | Returns $true if Italic is checked, otherwise $false. (AdiIRC only) |
.fontunderline | Returns $true if Underline is checked, otherwise $false. (AdiIRC only) |
.backcolor | The background color if set. (AdiIRC only) |
.rgbbackcolor | The rgb background color if set. (AdiIRC only) |
Example
; Check if 'Word' is in the highlight list //echo -ag Word is $iif($highlight(Word), a, not a )) in the highlight list
Added in 2.3
$hmac(text|&binvar|filename, [key], [hash], [N])
Returns an HMAC (keyed-Hash Message Authentication Code) based on the supplied key.
Parameters
Parameter | Description |
text|&binvar|filename | The text or &binvar or filename to calculate. |
[key] | The key to hash with. (optional) |
[hash] | Hash type: md5, sha1 (default), sha256, sha384, or sha512. (optional) |
[N] | The type to calculate N = 0 for plain text (default), 1 for &binvar, 2 for filename. (optional) |
Example
; calculate the sha1 hmac hash for the text 'Hello World' using the key 'test'. //echo -ag The sha1 hmac for Hello World is $hmac(Hello World, test, sha1)
Added in 2.0
$hmatch(name|N,text,[N])
Searches table for the Nth item name which matches text using a wildcard pattern and returns the item name.
See also /hsave, /hload, /hmake, /hfree, /hdel, $hget.
Parameters
Parameter | Description |
name|N | Name of the hash table or the Nth hash table. |
text | Text to search for. |
[N] | If N = 0, number of matches, otherwise the Nth match. (optional) |
Properties
Property | Description |
.data | Search for a matching data value instead of item name. |
Example
; Searches the hash table 'Example' and prints the number of matches. //echo -ag result: $hmatch(Example, *, 0) ; Searches the hash table 'Example' and prints the first matched item. //echo -ag result: $hmatch(Example, *, 1) ; Searches the hash table 'Example' and prints the first matched data. //echo -ag result: $hmatch(Example, *, 1).data
Added in 1.9.0
$hnick
Returns the nick that was (de)opped during a on HELP on on DEHELP event.
Example
on *:HELP:*:echo -ag The nick opped is $hnick on *:DEHELP:*:echo -ag The nick deopped is $hnick
Added in 2.0
$hnick(#,N)
Returns the Nth help nick.
See also $vnick, $nvnick, $nhnick, $opnick, $nopnick., $admnick, $nadmnick, $onick., $nonick.
Parameters
Parameter | Description |
# | The channel. |
N | If N = 0, number of nicks, otherwise the Nth nick. |
Example
//echo -ag There is $hnick(#,0) help users //echo -ag First help nick is $hnick(#,1)
Added in 1.5
$host
Returns your Local host name.
Added in 1.9.0
$hotline
Returns the full line which contained the hotlink trigger during a on HOTLINK event.
See also $hotlinepos, $hotlink, /hotlink, on HOTLINK.
Example
on *:HOTLINK:*:*:echo -ag Matched line $hotline at $hotlinepos
Added in 1.9.0
$hotlinepos
Returns the line number and word position triggered during a on HOTLINK event.
See also $hotline, $hotlink, /hotlink, on HOTLINK.
Example
on *:HOTLINK:*:*:echo -ag Matched line $hotline at $hotlinepos
Added in 1.9.7
$hotlink(type)
Returns information about a match in a on HOTLINK event.
See also $hotline, $hotlinepos, on HOTLINK, /hotlink.
Parameters
Parameter | Description |
event | Returns sclick,rclick,dclick,uclick,mclick or mouse depending on which mouse button was pressed or mouse movement. |
line | Returns the full line matched. |
word | Returns the word matched. |
char | Returns the character matched. |
match | Returns the matched text. |
Properties
Property | Description |
.pos | Returns the line/word/char/match position in the matched line. |
.type | Returns the url/channel/nick/other type in the matched word. |
Example
on *:HOTLINK:*:*:echo -ag Matched line $hotlink(line) at $hotlink(line).pos, word $hotlink(word) at pos $hotlink(word).pos, char $hotlink(char) at $hotlink(char).pos type $hotlink(match).type
Added in 3.3
$hotp(<key>, <count>, [hash], [digits], [encoding])
Returns an HOTP (HMAC-based One-Time Password) based on the specified parameters.
HOTP is designed for hashes no shorter than 160 bits, so using md5 hash is not secure enough and should never be used with $hotp.
Parameters
Parameter | Description |
key | The key to hash. (Auto-detected between text/hex/base32 as described below) |
count | a unique (sequential) number. valid range 0-2^64-1 |
hash | Hash method to hash the key with. (sha1, sha256, sha384, sha512, md5, sha1 is default) |
digits | Number of digits to return. (3 - 10, default is 6) (AdiIRC only: digits=0 returns entire internal HMAC string) |
encoding | Sets encoding method for 'key'. (t = UTF8 plain text, x = hex, a = base32) (AdiIRC only) |
Default when 'encoding' is not used, attempts to support 'key' in several formats as follows:
if (key length excluding spaces is any of lengths 40|64|128 and $remove(key,$chr(32)) is hex ) encoding = x
if (key length excluding spaces is any of lengths 16|26|32 and $remove(key,$chr(32)) is base32) encoding = a
These assume hex keys of 160|256|512 bits, or base32 keys of 80|128|160 bits. all other cases: encoding = t
encoding 'x' or 'a' ignore all spaces padding, but 't' does not. All encoding formats reject key being $null or entirely consisting of spaces.
Note: definition of base32 is case-insensitive [a-zA-Z2-7] after removing spaces, and '=' padding is NOT allowed
Note: It's recommended that the secret 'key' contain entropy no less than the bit length of the 'hash' used. Also, hash blocklength is 64 except for sha512|sha384 having 128. Key is shortened to hash(key) if key is longer than 'blocklength'. i.e. Using key longer than 512 bits with hash=sha1 shortens key to 160 bits:
//var -s %key $regsubex(foo,$str(x,65),/x/g,$rand(a,z)) | echo -a $hotp(%key,123) same as $hotp($sha1(%key),123)
(Equivalence is due to the length 40 string seen as encoding=x)
Added in 3.3
$hregex(name|N,text,[N])
Searches table for the Nth item name which matches text using a regular expression and returns the item name.
See also /hsave, /hload, /hmake, /hfree, /hdel, $hget.
Parameters
Parameter | Description |
name|N | Name of the hash table or the Nth hash table. |
text | Text to search for. |
[N] | If N = 0, number of matches, otherwise the Nth match. (optional) |
Properties
Property | Description |
.data | Search for a matching data value instead of item name. |
Example
; Searches the hash table 'Example' and prints the number of matches. //echo -ag result: $hregex(Example, /.*/, 0) ; Searches the hash table 'Example' and prints the first matched item. //echo -ag result: $hregex(Example, /.*/, 1) ; Searches the hash table 'Example' and prints the first matched data. //echo -ag result: $hregex(Example, /.*/, 1).data
Added in 3.9
$hticks
Returns the number of ticks since your operating system was first started, accurate to 1 millisecond unlike $ticks.
Same as $ticksqpc.
Added in 1.9.3
$hypot(N,M)
Returns the length of the hypotenuse.
Parameters
Parameter | Description |
N | The first number x. |
M | The second number y. |
Added in 1.9.0
$iaddress
Returns the first ip address found during a /dns lookup.
See also /dns, on DNS, $dns, $raddress, $naddress.
Added in 1.9.0
$ial
Returns $true if Internal Address List is enabled, otherwise $false.
Always returns $true in AdiIRC.
Added in 1.9.0
$ial(nick/mask,[N])
Returns the Nth address matching mask in the Internal Address List.
Parameters
Parameter | Description |
nick/mask | Nick or mask to lookup. (can be a wildcard) |
[N] | If N = 0, number of lookup matches, otherwise the Nth match. (optional, default i 1) |
Properties
Property | Description |
.nick | The user nick. |
.user | The user ident. |
.host | The user hostname. |
.addr | The user ident@hostname. |
.mark | The user mark. |
.gecos | The user realname/fullname. |
.name | The user realname/fullname. |
.realname | The user realname/fullname. (AdiIRC only) |
.account | The user account name. (IRCv3 feature) |
.isaway | Returns $true if the user is away, otherwise $false. (AdiIRC only) |
.away | Returns $true if the user is away, otherwise $false. |
.bot | Returns $true if the user is marked as a IRCv3 bot, otherwise $false. |
.id | Returns a unique id for this user. |
Example
; Print the address 'ident!nick@hostname' for 'nick'. //echo -ag $ial(nick) ; Print the number of matches for wildcard search 'nick*'. //echo -ag $ial(nick*, 0) ; Print the realname for second match using wildcard search 'nick*'. //echo -ag $ial(nick*, 2).realname
Added in 1.9.0
$ialchan(nick|mask,#,[N])
Returns the Nth address on the specified channel matching nick or mask in the Internal Address List.
Parameters
Parameter | Description |
nick|mask | Nick or mash to lookup. |
# | The channel to lookup on. |
[N] | If N = 0 number of addresses, otherwise the Nth address (default is 1). (optional) |
Properties
Property | Description |
.pnick | Returns the channelnick. (includes prefix) |
.cnick | Returns the nick in .@%+nick format. (Only the highest channel prefix is returned, (AdiIRC only) |
.nick | Returns the nick. |
.user | Returns the ident. |
.host | Returns the hostname. |
.addr | Returns the address in ident@host format. |
.mark | The user mark. |
.gecos | Returns the realname/fullname. |
.account | Returns the account name. (IRCv3 feature) |
.away | Returns $true if the user is away, otherwise $false. |
.bot | Returns $true if the user is marked as a IRCv3 bot, otherwise $false. |
Example
; Prints number of matches from 'nick' on '#channel'. //echo -ag $ialchan(nick, #, 0) ; Prints the first matc from 'nick' on '#channel'. //echo -ag $ialchan(nick, #, 1)
Added in 2.8
$ialmark(nick/mask, [N/name])
Returns the Nth mark for the nick or mask.
See also /ialmark.
Parameters
Parameter | Description |
nick/mask | The nick or mask to return a mark for. |
N/name | If N = 0 number of marks, otherwise the Nth mark or the specified mark. |
Properties
Property | Description |
.name | Returns the mark name. |
.mark | Returns the mark text. |
Example
; Sets a mark for the nick 'nick' with the name 'markname' and the text 'mark text'. /ialmark -n nick markname mark text ; Retrieve the mark text for the name 'markname'. //echo -ag $ialmark(nick, markname)
Added in 1.9.0
$ibl(#channel,N)
Returns Nth item in the internal ban list.
Same as $banlist.
Parameters
Parameter | Description |
#channel | The channel to retrieve ban list from. |
N | If N = 0, total number of bans, otherwise the Nth ban. |
Properties
Property | Description |
.by | The nick who set the ban. |
.ctime | The time the ban was set in unix timestamp format. |
.date | THe time the ban was set in mmm oo HH:mmtt format. |
.secs | Number of seconds until ban expire (if set to expire). |
Example
; Get number of bans. //echo -ag $ibl(#channel, 0) ; Get information about the first ban. //echo -ag $ibl(#channel, 1) set by $ibl(#channel, 1).by set at $ibl(#channel, 1).date
Added in 1.8.2
$ident
Returns the ident of the user triggering an event.
Example
; Prrint ident of the user in an incoming message. on *:TEXT:*:*:echo -ag The ident of the user is $ident
Added in 1.9.0
$idle
Returns your current idle time on current connection in seconds.
Added in 1.9.0
$iel(#channel,N)
Returns Nth item in the internal exception list.
Parameters
Parameter | Description |
#channel | The channel to retrieve exception list from. |
N | If N = 0, total number of exceptions, otherwise the Nth exception. |
Properties
Property | Description |
.by | The nick who set the exception. |
.ctime | The time the exception was set in unix timestamp format. |
.date | THe time the exception was set in mmm oo HH:mmtt format. |
.secs | Number of seconds until exception expire (if set to expire). |
Example
; Get number of exceptions. //echo -ag $iel(#channel, 0) ; Get information about the first exception. //echo -ag $iel(#channel, 1) set by $iel(#channel, 1).by set at $iel(#channel, 1).date
Added in 1.9.0
$ifmatch
Returns the first parameter of an if-then-else comparison.
Same as $v1, see also $ifmatch2.
Example
; In this case '$ifmatch' will be 'text' and '$ifmatch2' will be 'sometext'. if (text isin sometext) { echo -ag ifmatch is $ifmatch2 }
Added in 1.9.0
$ifmatch2
Returns the second parameter of an if-then-else comparison.
Same as $v2, see also $ifmatch.
Example
; In this case '$ifmatch' will be 'text' and '$ifmatch2' will be 'sometext'. if (text isin sometext) { echo -ag ifmatch2 is $ifmatch2 }
Added in 1.9.0
$ignore
Returns $true if /ignore is enabled, otherwise $false.
$ignore(N|address)
Returns the Nth address in the ignore list set in Options -> Ignore or using /ignore.
Parameters
Parameter | Description |
N|address | An address or if N = 0, number of addresses, otherwise the Nth address. |
Properties
Property | Description |
.network | The network associated with the ignore. (if any) |
.type | Ignore flags. |
.secs | Number of seconds until the ignore expire. (if set to expire) |
.note | Returns the note. (AdiIRC only) |
.channel | Returns channel(s). (AdiIRC only) |
.text | Returns match text. (AdiIRC only) |
.cs | Returns $true if case sensetive otherwise $false. (AdiIRC only) |
.regex | Returns $true if regex otherwise $false. (AdiIRC only) |
Examples
; Add a ignore for the nick 'Example' /ignore -u1000 Example ; Print number of addresses in the ignore list. //echo -ag $ignore(0) ; Print information about the 'Example' ignore. //echo -ag $ignore(Example) type is $ignore(Example).type secs is $ignore(Example).secs
Added in 1.9.0
$iif(C,T,F)
Returns T or F depending on whether the evaluation of the Conditional C is true or false.
Parameters
Parameter | Description |
C | The expression to check. |
T | The text to use if the result is $true. |
F | The text to use if the result is $false. |
See also /if.
Example
; Print 'yes' or 'no' depending if 1 equals 2. //echo -ag $iif(1 == 2, yes, no)
Added in 1.9.0
$iil(#channel,N)
Returns Nth item in the internal invite list.
Parameters
Parameter | Description |
#channel | The channel to retrieve invite list from. |
N | If N = 0, total number of invites, otherwise the Nth invite. |
Properties
Property | Description |
.by | The nick who set the invite. |
.ctime | The time the invite was set in unix timestamp format. |
.date | THe time the invite was set in mmm oo HH:mmtt format. |
.secs | Number of seconds until invite expire (if set to expire). |
Example
; Get number of invites. //echo -ag $iil(#channel, 0) ; Get information about the first invite. //echo -ag $iil(#channel, 1) set by $iil(#channel, 1).by set at $iil(#channel, 1).date
Added in 1.9.7
$imagechar(text)
Replaces any emoticon triggers with a image tag.
Parameters
Parameter | Description |
text | The text to replace. |
Example
; Provided that there is an emoticon set for ":>", replaces the ":>" with $chr(61441) :> $chr(61441). //echo -ag $imagechar(Replace :> smiley with an emoticon)
Added in 1.9.0
$inellipse(x,y,x,y,w,h)
Returns $true if the point x y is inside the specified ellipse, otherwise $false.
Parameters
Parameter | Description |
x | The first X coordinate. |
y | The first y coordinate. |
x | The second X coordinate. |
y | The second y coordinate. |
w | The width. |
h | The height. |
Added in 1.9.0
$ini(file,topic|N,[item|N])
Returns the name/Nth position of the specified topic/item in an INI/text file.
See also $readini.
Same as $initopic.
Parameters
Parameter | Description |
file | File to read from. |
topic|N | Topic or the Nth topic, if N = 0 number of topics, otherwise the Nth topic. |
[item|N] | Item or the Nth item, if N = 0 number of item, otherwise the Nth item. (optional) |
Examples
; Print number of topics in '$adiircini'. //echo -ag $ini($adiircini,0) ; Print the name of the first topic in '$adiircini. //echo -ag $ini($adiircini,1) ; Check if the topic 'Messages' exists. //echo -ag $ini($adiirc,Messages)
Added in 4.3
$inick
Returns $true if Nicklist Icons are enabled, otherwise $false.
Added in 2.4
$inick(N|nick)
Returns the Nth nick in nick icon list, or if nick is specified returns Nth position of item in list that matches nick. If nick does not match any items, returns zero.
Parameters
Parameter | Description |
N|nick | The Nth nick icon item or a nick to match. |
Properties
Property | Description |
.icon | The filename for the icon. |
.modes | Channel modes if any. |
.levels | The user access levels if any. |
.anymode | Returns $true if anymode is checked, otherwise $false. |
.nomode | Returns $true if nomode is checked, otherwise $false. |
.ignore | Returns $true if Ignore is checked, otherwise $false. |
.op | Returns $true if Op is checked, otherwise $false. |
.voice | Returns $true if Voice is checked, otherwise $false. |
.protect | Returns $true if Protect is checked, otherwise $false. |
.notify | Returns $true if Notify is checked, otherwise $false. |
.abook | Returns $true if Address Book is checked, otherwise $false. |
.idle | Idle time in minutes, if set. |
.network | The network name to match, if any. |
.channel | The channel name(s) to match, if any. |
.away | Returns $true if away is checked, otherwise $false. |
Added in 1.9.9
$initopic(file,topic|N,[item|N])
Returns the name/Nth position of the specified topic/item in an INI/text file.
See also $readini.
Same as $ini.
Parameters
Parameter | Description |
file | File to read from. |
topic|N | Topic or the Nth topic, if N = 0 number of topics, otherwise the Nth topic. |
[item|N] | Item or the Nth item, if N = 0 number of item, otherwise the Nth item. (optional) |
Examples
; Print number of topics in '$adiircini'. //echo -ag $initopic($adiircini,0) ; Print the name of the first topic in '$adiircini. //echo -ag $initopic($adiircini,1) ; Check if the topic 'Messages' exists. //echo -ag $initopic($adiirc,Messages)
Added in 4.3
$inlineimage
Returns $true if inline images is enabled, otherwise $false._
See also /inlineimage.
Added in 1.9.0
$inmidi
Return $true if a midi sound is playing, otherwise $false.
See also /splay, $insong, $inwave, $inmp3, on MP3END, on PLAYEND, on MIDIEND, on WAVEEND.
Properties
Property | Description |
.fname | Returns the filename of the currently playing sound. |
.length | Returns the length of the currently playing sound. |
.pos | Returns the played position of the currently playing sound. |
.pause | Returns $true if the sound is paused, otherwise $false. |
Added in 2.4
$inmp3
Return $true if a mp3 sound is playing, otherwise $false.
See also /splay, $insong, $inwave, $inmidi, on MP3END, on PLAYEND, on MIDIEND, on WAVEEND.
Properties
Property | Description |
.fname | Returns the filename of the currently playing sound. |
.length | Returns the length of the currently playing sound. |
.pos | Returns the played position of the currently playing sound. |
.pause | Returns $true if the sound is paused, otherwise $false. |
Added in 1.9.0
$inpaste
Returns $true if a user typed CTRL + V or SHIFT + INSERT to paste text into an Editbox during the on INPUT event, otherwise $false.
Example
on *:INPUT:*:echo -ag user $iif($inpaste,did,did not) paste
Added in 1.9.0
$inpoly(x,y,a1,a2,b1,b2,...)
Returns $true if the point x y is inside the polygon defined by the specified points, otherwise $false.
Parameters
Parameter | Description |
x | The X coordinate. |
y | The Y coordinate. |
a1 | The first point x. |
a2 | The first point y. |
b1 | The second point x. |
b2 | The second point y. |
... | Additional points. |
Added in 1.9.0
$input(prompt,[options],[window],[title],[text])
Prompts the user for input and returns the result.
See also $yes, $no, $ok, $cancel, $timeout.
Can be prefixed with # to ensure the resulted text starts with a channel prefix.
Parameters
Parameter | Description |
prompt | Question text. |
[options] | (optional) |
[window] | Window name to associate the dialog with. |
[title] | The Titlebar text |
[text] | The default text placed in the input Editbox. |
Options
Option | Description |
e | Show input Editbox. |
p | Show input password Editbox. |
o | Show only a OK button. |
y | Show Yes/No buttons. |
n | Show Yes/No/Cancel buttons. |
r | Show Retry/Cancel buttons. |
v | Return $ok, $yes, $no, $cancel for buttons. |
g | Right-align buttons. |
b | Disables buttons for a second when dialog is displayed. |
f | Return $no/$cancel for edit/combo boxes if no/cancel is pressed. |
i | Show the information icon. |
q | Show the question icon. |
w | Show the warning icon. |
h | Show the error icon. |
c | Show the recycle bin icon. |
t | Show the favorites icon. |
d | Play the system sound associated with the icon. |
s | Indicates that [window] name has been specified. |
a | Unminimize and focus the parent form. |
u | use current active window as parent window |
kN | Close/timeout the dialog after N seconds. On timing out, $timeout is returned if v is specified, otherwise $false. |
m | Indicates that multiple text parameters have been specified. They will be displayed in a combobox. |
1 | Show input Editbox (equivalent of the 'e' switch) |
2 | Show input password Editbox (equivalent of 'p' switch) |
4 | OK button (equivalent of 'o') |
8 | Yes/No buttons ('y') |
16 | Yes/Bo/Cancel buttons ('n') |
32 | Return $ok, $yes, $no, $cancel for buttons. ('v') |
64 | Show the info icon ('i') |
128 | Show the question icon ('q') |
256 | Show the warning icon ('w') |
512 | Show the hand icon ('h') |
Example
; Ask for a name and print it. //echo -ag $input(What is your name?, Question)
Added in 1.9.0
$inrect(x,y,x,y,w,h)
Returns $true if the point x y is inside the specified rectangle, otherwise $false.
Parameters
Parameter | Description |
x | The first X coordinate. |
y | The first y coordinate. |
x | The second X coordinate. |
y | The second y coordinate. |
w | The width. |
h | The height. |
Added in 1.9.4
$inroundrect(x,y,x,y,w,h,w,h)
Returns $true if the point x y (the first ones) is inside the specified rounded rectangle, otherwise $false.
Parameters
Parameter | Description |
x | The first X coordinate. |
y | The first y coordinate. |
x | The second X coordinate. |
y | The second y coordinate. |
w | The first width. |
h | The first height. |
w | The second width. |
h | The second height. |
Added in 1.8.10
$insert(text, token, N)
Insert token into text after position N.
Parameters
Parameter | Description |
text | Text to insert to. |
token | Token to insert. |
N | Position in text to insert the token after. |
Resulting string has N characters of 'text', followed by 'token', followed by the remainder of 'text'
Example
; Insert 'wo' at position 6. //echo -ag $insert(hello rld, wo, 6) //var %string hello rld , %pos 6 , %new wo | echo -ag $insert(%string, %new , %pos) same as $left(%string,%pos) $+ %new $+ $mid(%string,$calc(1+%pos))
Added in 1.9.0
$insong
Return $true if a sound is playing, otherwise $false.
See also /splay, $inmidi, $inwave, $inmp3, on MP3END, on PLAYEND, on MIDIEND, on WAVEEND.
Properties
Property | Description |
.fname | Returns the filename of the currently playing sound. |
.length | Returns the length of the currently playing sound. |
.pos | Returns the played position of the currently playing sound. |
.pause | Returns $true if the sound is paused, otherwise $false. |
Added in 1.9.0
$instok(text,token,N,C)
Inserts token into the Nth position in text, even if it already exists in text.
N can be a negative value.
Parameters
Parameter | Description |
text | Text to add the token to. |
token | Token to insert. |
N | The Nth position to insert at. |
C | The ASCII value to tokenize by. |
Example
; Insert token 'c' at token position '3'. //echo -ag $instok(a.b.d,c,3,46)
Added in 1.9.0
$int(N)
Returns the integer part of a floating point number with no rounding.
Parameters
Parameter | Description |
N | The floating point number to convert. |
Example
; Convert '3.14159' to '3' //echo -ag Converted to $int(3.14159)
Added in 3.3
$intersect(x1,y1,x2,y2,x3,y3,x4,y4,method)
Returns the point at which two lines/rays intersect.
Parameters
Parameter | Description |
x1 | The first X coordinate. |
y1 | The first y coordinate. |
x2 | The second X coordinate. |
y2 | The second y coordinate. |
x3 | The third X coordinate. |
y3 | The third y coordinate. |
x4 | The fourth X coordinate. |
y4 | The fourth y coordinate. |
method | If not specified, two lines are compared. If specified, it can be lr, rl, rr = line/ray, ray/line, ray/ray. (optional) |
Added in 1.9.0
$invitemenu(N)
Used to generate invite menu.
Returns Invite nick to channel:/invite nick channel
Parameters
Parameter | Description |
N | Return the Nth joined channel, if N is 0 returns number of channels. |
Added in 1.9.0
$inwave
Return $true if a wave sound is playing, otherwise $false.
See also /splay, $insong, $inmidi, $inmp3, on MP3END, on PLAYEND, on MIDIEND, on WAVEEND.
Properties
Property | Description |
.fname | Returns the filename of the currently playing sound. |
.length | Returns the length of the currently playing sound. |
.pos | Returns the played position of the currently playing sound. |
.pause | Returns $true if the sound is paused, otherwise $false. |
Added in 3.8
$inwho
Returns $true if you sent a /who #channel to the server to fill the IAL with addresses from that channel, and the /who is still in progress, otherwise $false.
Added in 1.9.0
$ip
Returns your IP address.
Added in 1.9.3
$iptype(text)
Returns "ipv4" or "ipv6" if text is is a valid IP address format.
Parameters
Parameter | Description |
text | The text to validate. |
Properties
Property | Description |
expand - Expand a ipv6 address. | |
.compress | Compress a ipv6 address. |
Example
; Check a IPv4 address. //echo -ag 8.8.8.8 is $iptype(8.8.8.8) ; Check a IPv6 address. //echo -ag FE80:0000:0000:0000:0202:B3FF:FE1E:8329 is $iptype(FE80:0000:0000:0000:0202:B3FF:FE1E:8329)
Added in 2.7
$iql(#channel,N)
Returns Nth item in the internal quiet list.
Parameters
Parameter | Description |
#channel | The channel to retrieve quiet list from. |
N | If N = 0, total number of quiets, otherwise the Nth quiet. |
Properties
Property | Description |
.by | The nick who set the quiet. |
.ctime | The time the quiet was set in unix timestamp format. |
.date | THe time the quiet was set in mmm oo HH:mmtt format. |
.secs | Number of seconds until exception expire (if set to expire). |
Example
; Get number of quiet. //echo -ag $iql(#channel, 0) ; Get information about the first quiet. //echo -ag $iql(#channel, 1) set by $iql(#channel, 1).by set at $iql(#channel, 1).date
Added in 3.0
$ircv3caps(N|name)
Returns the Nth or the specific IRCv3 cap available on the server.
Parameters
Parameter | Description |
N | If N = 0, number of caps, otherwise the Nth cap. |
name | The specific named cap. |
Properties
Property | Description |
.name | The cap name. |
.value | The cap value, if any. |
.enabled | Returns $true if the cap is currently enabled, otherwise $false. |
Example
//echo -ag There are $ircv3caps(0) caps available, the first one is $ircv3caps(1) and $iif($ircv3caps(1).enabled, it's, it's not) enabled
Added in 2.4
$isadmin
Returns $true if AdiIRC is running as administrator, otherwise $false.
Added in 1.9.0
$isalias(name, [N])
Returns $true if the specified name is an alias command that exists in your aliases or scripts, otherwise $false.
Parameters
Parameter | Description |
name | The alias to find. |
[N] | If N = 0, number of lines for the alias, otherwise the Nth alias line. (optional) |
Properties
Property | Description |
.line | Returns the line in the file where the alias is defined. (AdiIRC only) |
.fname | Returns the path and filename of the found alias. |
.alias | Returns the Nth line of the alias. |
.ftype | Returns "alias" if the alias is found in an alias file, otherwise "remote". |
Example
; Create an alias alias example { ; Check if /example2 is an alias //echo -ag $isalias(example2) ; Returns the code of the /example2 alias "-l example2 { echo -ag Hello World }" //echo -ag $isalias(example2).alias } ; Create a second alias alias -l example2 { echo -ag Hello World }
Added in 1.9.0
$isbit(A,N)
Returns 1 if the Nth bit in number A is turned on.
Supports Big Integers
Parameters
Parameter | Description |
A | The value to check. |
N | The bit to check. |
Added in 1.9.4
$isdde(name)
Returns $true if the specified DDE service name is in use, otherwise $false.
Parameters
Parameter | Description |
name | The DDE service name to check. |
Example
//echo -ag AdiIRC $iif($isdde(Adiirc),is,is not) a DDE service.
Added in 1.8.10
$isdir(dirfile)
Returns $true if the specified directory exists, otherwise $false.
Parameters
Parameter | Description |
dirfile | Directory to check. |
Example
; Check if 'windows' exists. //if ($isdir(C:\Windows)) echo -ag directory exists
Added in 1.8.10
$isfile(file)
Returns $true if the specified file exists, otherwise $false.
Parameters
Parameter | Description |
file | File to check. |
Example
; Check if notepad.exe exists. //if ($isfile(C:\Windows\notepad.exe)) echo -ag file exists
Added in 1.9.0
$isid
Returns $true if an alias was called as an identifier, otherwise $false.
Example
; Create an alias alias example [ if ($isid) { echo -ag Was called as a identifier. } else { echo -ag Was not called as a identifier. } } ; Call 'example' as a alias. /example ; call 'example' as a identifier. //noop $example
Added in 1.9.0
$islower(text)
Returns $true if text is all lower case otherwise $false.
See also $upper, $lower, $isupper.
Parameters
Parameter | Description |
text | Text to check. |
Example
; Check if 'text' is lowercase. //if ($islower(text)) echo -ag text is lowercase
Added in 4.3
$isnum(text [, cdens])
Returns $true if the text is a number, otherwise $false.
Same as $isnumber.
Parameters
Parameter | Description |
c | Enables 's' and 'd', partial TODO |
d | Allows decimal numbers. |
e | Allows scientific (exponential) notations. |
n | Allows regular numbers. |
s | Allows leading + and minus signs. |
Example
; Returns $false //echo -ag $isnum(abc) ; Returns $true //echo -ag $isnum(555)
Added in 4.2
$isnumber(text [, cdens])
Returns $true if the text is a number, otherwise $false.
Same as $isnum.
Parameters
Parameter | Description |
c | Enables 's' and 'd', partial TODO |
d | Allows decimal numbers. |
e | Allows scientific (exponential) notations. |
n | Allows regular numbers. |
s | Allows leading + and minus signs. |
Example
; Returns $false //echo -ag $isnumber(abc) ; Returns $true //echo -ag $isnumber(555)
Added in 1.9.0
$istok(text,token,C)
Returns $true if token exists in text, otherwise returns $false.
$istok is case-insensitive, see $istokcs for a case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | The token to check. |
C | The ASCII value to tokenize by. |
Example
; Check if 'b' is a token in 'a.b.c.d' //echo -ag $istok(a.b.c.d, b, 46)
Added in 1.9.0
$istokcs(text,token,C)
Returns $true if token exists in text, otherwise returns $false.
$istokcs is case-sensitive, see $istok for a case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | The token to check. |
C | The ASCII value to tokenize by. |
Example
; Check if 'B' is a token in 'a.B.c.d' //echo -ag $istokcs(a.B.c.d, B, 46)
Added in 1.9.0
$isupper(text)
Returns $true if text is all upper case otherwise $false.
See also $upper, $lower, $islower.
Parameters
Parameter | Description |
text | Text to check. |
Example
; Check if 'TEXT' is uppercase. //if ($isupper(TEXT)) echo -ag text is uppercase
Added in 1.9.9
$isutf(text)
Returns 1 if the text is utf8 encoded, otherwise 0.
Parameters
Parameter | Description |
text | Text to check. |
Example
; Test the text 'æøå' //echo -ag Text $iif($isutf(æøå),is,is not) utf8 ; Test the text 'abc' //echo -ag Text $iif($isutf(abc),is,is not) utf8
Added in 3.3
$iswine
Returns $true is AdiIRC is currently running in Wine, otherwise $false.
Added in 2.9
$kblayout
Returns the current keyboard layout language.
See also /kblayout.
Added in 1.9.6
$keychar
Returns the actual letter of the key being pressed.
Only filled during on KEYDOWN, on KEYUP and on CHAR events.
Example
on *:KEYDOWN:*:*:echo -ag $keyval was pressed, the character was $keychar, key repeat was $iif($keyrpt, on, off)
Added in 1.9.6
$keylocked(ScrollLock|CapsLock|NumLock|Insert)
Returns $true if key is locked, otherwise $false
Parameters
Parameter | Description |
ScrollLock|CapsLock|NumLock|Insert | Key to check. |
Example
//echo -ag Caps lock is $iif($keylocked(CapsLock), on, off)
Added in 4.3
$keylparam
Returns the lParam value for the key(s) during On_KEYDOWN and on KEYUP events.
Example
on *:KEYDOWN:*:*:echo -sg lParam is $keylparam on *:KEYUP:*:*:echo -sg lParam is $keylparam
Added in 1.9.1
$keyrpt
Returns $true if the key is repeating due to a user holding down the key, otherwise $false.
Only filled during on KEYDOWN, on KEYUP and on CHAR events.
Example
on *:KEYDOWN:*:*:echo -ag $keyval was pressed, the character was $keychar, key repeat was $iif($keyrpt, on, off)
Added in 1.9.1
$keyval
Returns the key code of the key being pressed.
Only filled during on KEYDOWN, on KEYUP and on CHAR events.
Example
on *:KEYDOWN:*:*:echo -ag $keyval was pressed, the character was $keychar, key repeat was $iif($keyrpt, on, off)
Added in 1.9.0
$knick
Returns the nick of the user kicked during a on KICK event.
Example
on *:KICK:#:echo -ag $knick was kicked from the channel #
Added in 1.9.3
$lactive
Returns full window name of the last active window before active window.
See also $activecid, $lactivecid, $active, $activewid, $lactivewid. on ACTIVE.
Example
on *:ACTIVE:*:Current active window is $active last active window was $lactive
Added in 1.9.4
$lactivecid
Returns the connection id of the last active window before active window.
See also $activecid, $active, $lactive, $activewid, $lactivewid. on ACTIVE.
Example
on *:ACTIVE:*:echo current active cid is $activecid last active cid was $lactivecid
Added in 1.9.3
$lactivewid
Returns window id of the last active window before active window.
See also $activecid, $lactivecid, $active, $lactive, $activewid, on ACTIVE.
Example
on *:ACTIVE:*:echo -ag active wid is $activewid last active wid was $lactivewid
Added in 1.9.0
$lag
Returns connection lag to current active IRC server in milliseconds.
Added in 1.8.10
$layer
Returns the MPEG layer of the currently playing song.
Only works if Media Player is set to Winamp and proper plugins are installed.
Added in 4.3
$lcm(N,...)
Returns the least common multiple for the specified list of numbers.
See also $gcd.
Parameters
Parameter | Description |
N... | The number(s) to search. |
Example
//echo -ag The least common multiple for 24 and 54 is $lcm(24, 54)
Added in 1.8.10
$left
Returns duration left of the currently playing song in XX:XX format.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.0
$left(text,N)
Returns the N left characters of text.
Parameters
Parameter | Description |
text | Text to substring. |
N | The Nth characters to substring by. |
Example
; Get the left 5 characters from 'Hello World'. //echo -ag $left(Hello World,5)
Added in 1.9.4
$leftwin
Returns name of the last window where the mouse was left.
Example
menu @Example { leave:/echo mouse left $leftwin $leftwinwid $leftwincid }
Added in 1.9.4
$leftwincid
Returns the connection id of the last window where the mouse was left.
Example
menu @Example { leave:/echo mouse left $leftwin $leftwinwid $leftwincid }
Added in 1.9.4
$leftwinwid
Returns window id of the last window where the mouse was left.
Example
menu @Example { leave:/echo mouse left $leftwin $leftwinwid $leftwincid }
Added in 1.8.10
$len(text)
Returns the length of the text.
Parameters
Parameter | Description |
text | The text to check. |
Example
; Check the length of 'text'. //echo -ag text length is $len(text)
Added in 1.8.10
$length
Returns the length of the currently playing song in XX:XX format.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.7
$level(nick|address)
Finds a matching nick or address in the remote users list and returns its corresponding levels list.
Parameters
Parameter | Description |
nick|address | Nick or address to match. |
Example
; Lookup address matching *!*@adiirc.com and print it's levels. //echo -ag $level(*!*@adiirc.com)
Added in 1.8.10
$lf
Returns the linefeed character, the same as $chr(10). (\n).
Added in 1.9.0
$line(@window|#channel|nick|Status Window,N,[T])
Returns the Nth line of text in the specified window.
Works on any window.
Parameters
Parameter | Description |
@window|#channel|nick|Status Window | The window to retrieve text from. |
N | If N = 0 number of lines, otherwise the Nth line. |
[T] | If T = 0 use display area (default) if T = 1, use side-listbox. (optional) |
Properties
Property | Description |
.state | Returns 1 if the line is selected in a side-listbox, otherwise 0. |
.color | Returns the line or nick color. |
.rgbcolor | For side-listbox returns the line color in $rgb format, otherwise returns the rgb line color if any (AdiIRC only) |
.nickcolumn | Gets the line with the nickcolumn character intact. (AdiIRC Only) |
Example
; Create a custom window. /window @Example ; Add a few lines to the window. /aline @Example Test1 /aline @Example Test2 /aline @Example Test3 ; Print number of lines in the window. //echo -ag $line(@Example, 0) ; Print the second line in the window. //echo -ag $line(@Example, 2)
Added in 1.9.5
$lineheight(font, size)
Returns the line height of the given font and size.
Parameters
Parameter | Description |
font | Font to calculate. |
size | Font size to calculate. |
Example
//echo -ag Lineheight for Consolas 10 is $lineheight(Consolas, 10)
Added in 1.9.0
$lines(filename)
Returns the total number of lines in the specified text file.
Parameters
Parameter | Description |
filename | Filename to read from. |
Example
;Open a file for writing /fopen file file.txt ;Write a line to the file /fwrite file Hello World ;Close the file /fclose file ;Print the number of lines in file.txt //echo -ag $lines(file.txt) <pre>
Added in 1.9.4
$locked
Returns $true if AdiIRC is currently locked, otherwise $false.
Added in 1.8.10
$lof(filename|foldername|name)
Returns information about the specified file or folder.
Default returns file size.
Same as $file.
Parameters
Parameter | Description |
filename|foldername|name | Filename or folder or open file in $fopen to retrieve information from. |
Properties
Property | Description |
.size | File size in bytes. (returns 0 for folders) |
.ctime | Creation time. (unix timestamp) |
.mtime | Last modification time. (unix timestamp) |
.atime | Last access time. (unix timestamp) |
.shortfn | Short file name. |
.longfn | Full file name. |
.attr | File attributes. |
.sig | Returns "ok" if digital signed, else "none". |
.version | Returns the file version, if any. |
.path | The path directory. |
.name | The filename without the file extension. |
.ext | The file extension. |
.pid | Returns the first process id started by this file. (AdiIRC Only) |
Example
; Show AdiIRC.exe filesize //echo -ag $lof($adiircexe).size ; Show explorer.exe digital signature //echo -ag $lof(c:\windows\explorer.exe).sig
Added in 1.9.0
$log(N)
Returns the natural (base e) logarithm of a specified number.
Parameters
Parameter | Description |
N | Number to calculate. |
Added in 1.9.3
$log10(N)
Returns the logarithm of a specified number.
Parameters
Parameter | Description |
N | The number to calculate. |
Added in 4.3_
$log2(N)
Returns the binary logarithm of a specified number.
Parameters
Parameter | Description |
N | Number to calculate. |
Added in 1.8.10
$logdir
Returns the Logs directory set in Options -> Logging -> Log folder.
Added in 1.9.0
$logstamp
Returns the current time based on the logging timestamp format set in Options -> Logging -> Use Timestamp.
Added in 1.9.0
$logstampfmt
Returns the logging timestamp format set in Options -> Logging -> Timeformat.
Example
; Format current time using the timestamp format //echo -ag $asctime($ctime, $logstampfmt)
Added in 1.9.0
$longfn(filename)
Returns the long version of a short filename.
Parameters
Parameter | Description |
filename | The filename. |
Example
alias Example { ; Get the shortfn of AdiIRC.exe var %short $shortfn($adiircexe) ; Print the long filename echo -ag $longfn(%short) vs %short }
Added in 1.9.0
$longip(address)
Converts an IP address into a long value and vice-versa.
Parameters
Parameter | Description |
address | Address to convert. |
Example
; Convert a IP address to long. //echo -ag $longip(8.8.8.8) ; Convert a long to IP address. //echo -ag $longip(134744072)
Added in 1.9.7
$loop(N, M, text)
Starts a loop from 'N' to 'M' and executes 'text' with $1 and \1 as the current number and returns a space separated text from the result of 'text'.
\1 is replaced with $+ $1 $+.
Parameters
Parameter | Description |
N | Starting number. |
M | End number. (N + M = end) |
text | The identifier(s) to execute. |
Example
; Return a list of all nicks in the channel //echo -ag $loop(1, $nick(#, 0), $nick(#, \1)) ; Whois all nicks in a channel alias iwhois { whois $1 } //noop $loop(1, $nick(#, 0), $iwhois($nick(#, \1)))
Added in 1.9.0
$lower(text)
Returns text in lowercase.
See also $upper, $islower, $isupper.
Parameters
Parameter | Description |
text | The text to format. |
Example
; Print 'TEXT' in lowercase //echo -ag $lower(TEXT)
Added in 2.9
$lquitmsg
Returns the last quit message sent to the associated server.
Added in 1.9.0
$ltimer
Returns the number of the timer that was just started by the /timer command.
Example
; Print the name of the last started timer. /timer 1 1 echo -ag ltimer = $ltimer
Added in 1.9.0
$maddress
Returns the full $address for the user associated with an event in the form nick!user@host.
Example
; Prrint the full address on an incoming message. on *:TEXT:*:*:echo -ag The full address is $maddress
Added in 1.9.0
$mask(address,type)
Returns address with a mask specified by type.
Parameters
Parameter | Description |
address | Address to format. |
type | Type of format to use. |
Available types
Type | Description |
0 | *!ident@host |
1 | *!*ident@host |
2 | *!*@host |
3 | *!*ident@*.host |
4 | *!*@*.host |
5 | nick!ident@host |
6 | nick!*ident@host |
7 | nick!*@host |
8 | nick!*ident@*.host |
9 | nick!*@*.host |
10 to 19 uses the same masks as 0 to 9, but instead of using a * wildcard to replace portions of the host, AdiIRC uses ? wildcards to replace the numbers in the address.
Example
; Format 'nick!ident@host' using type '3'. //echo -ag $mask(nick!ident@host,3)
Added in 1.9.0
$matchkey
Returns wildcard matchtext that was used in the matching event.
For some events it returns the value of the matchtarget instead.
Example
on *:TEXT:*Test*:*:echo -ag Matchkey was $matchkey
Added in 1.9.0
$matchtok(text,string,N,C)
Returns tokens that contain the specified string.
$matchtok is case-insensitive, see $matchtokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
string | Search string. |
N | If N is 0, returns number of matches, otherwise returns the Nth match. |
C | The ASCII value to tokenize by. |
Example
; Returns number of matches //echo -ag $matchtok(one two three, e, 0, 32) ; Returns the second match //echo -ag $matchtok(one two three, e, 2, 32)
Added in 1.9.0
$matchtokcs(text,string,N,C)
Returns tokens that contain the specified string.
$matchtokcs is case-sensitive, see $matchtok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
string | Search string. |
N | If N is 0, returns number of matches, otherwise returns the Nth match. |
C | The ASCII value to tokenize by. |
Example
; Returns number of matches //echo -ag $matchtokcs(onE two thrEe, E, 0, 32) ; Returns the second match //echo -ag $matchtokcs(onE two thrEe, E, 2, 32)
Added in 3.9
$max(<space delimited tokens>)
$max(<comma,delimited,tokens>)
Returns the maximum value from a list of tokens.
By default it sorte tokens using the numeric sorting rules used by $sorttok 'n' switch.
See also $sorttok.
Parameters
Parameter | Description |
<space delimited tokens> | If only one parameter is defined, it's treated as a list of space delimited tokens. |
<comma,delimited,tokens> | If multiple parameters is defined, it's treated as a list of comma separated tokens. |
Properties
Property | Description |
.text | Sorts tokens using the same text sorting rules used by $sorttok 'a' switch. |
.textcs | Sorts tokens using the same text sorting rules used by $sorttokcs 'a' switch. |
.nick | Sorts tokens using the same text sorting rules used by $sorttok 'c' switch. |
Example
//echo -ag $max(6 7 2 4 1) //echo -ag $max(6,7,2,4,1) //echo -ag $max(b B a A c C).text //echo -ag $max(b,B,a,A,c,C).text
_
Added in 3.3
$maxlenl
Return the maximum number of characters that can safely be used in a statement in a script.
The current value is 10240.
Not relevant to AdiIRC scripting, AdiIRC allows much larger numbers based on available memory and other technical limits.
Added in 3.3
$maxlenm
Return the maximum number of characters that can safely be used for medium string in a script.
The current value is 2048.
Not relevant to AdiIRC scripting, AdiIRC allows much larger numbers based on available memory and other technical limits.
Added in 3.3
$maxlens
Return the maximum number of characters that can safely be used for small string in a script.
The current value is 512.
Not relevant to AdiIRC scripting, AdiIRC allows much larger numbers based on available memory and other technical limits.
_
Added in 1.9.0
$md5(text|&binvar|filename,[N])
Returns a md5 hash value for the specified data.
Parameters
Parameter | Description |
text|&binvar|filename | The text or &binvar or filename to calculate. |
[N] | The type to calculate N = 0 for plain text (default), 1 for &binvar, 2 for filename (optional) |
Example
; calculate a md5 hash of the text 'Hello World' //echo -ag The MD5 hash for Hello World is $md5(Hello World) ; calculate a md5 hash of AdiIRC.exe' //echo -ag The MD5 hash for AdiIRC.exe is $md5($adiircexe, 2)
Added in 1.5
$me
Returns your nickname on current active connection.
Added in 1.6
$memfree
Returns free ram in megabytes format.
Added in 1.6
$memfreep
Returns free ram in percentage format.
Added in 1.6
$memtotal
Returns total amount of installed ram in megabytes format.
Added in 1.9.1
$menu
Returns the name of the associated window in a menu event.
See also $menutype, $menucontext, $mouse, $menuicon, Menus.
Example
menu @Example { Menu Name:echo -ag Menu name is $menu Menu Type:echo -ag Menu type is $menutype Menu Context:echo -ag Menu context is $menucontext }
Added in 1.9.3
$menubar
Returns $true if Menubar is visible, otherwise $false.
Added in 1.9.7
$menubar(name|N) (AdiIRC only)
Returns the Menubar item matching name or the Nth item.
Parameters
Parameter | Description |
name|N | Item name or the Nth item. |
Properties
Property | Description |
.name | Item name. |
.type | Returns the item type, 'separator' or 'menu'. |
.text | Item text. |
.icon | $true if the item is a icon, otherwise $false. |
.visible | $true if the item is visible, otherwise $false. |
.custom | $true if the item is custom, otherwise $false. |
.popup | The @popup name if any. |
.x | Horizontal position of the menu item relative to the main AdiIRC window. |
.y | Vertical position of the menu item relative to the main AdiIRC window. |
.w | Menu item width. |
.h | Menu item height. |
.dx | Horizontal position of the menu item relative to the desktop. |
.dy | Vertical position of the menu item relative to the desktop. |
Example
; Print number of menu items. //echo -ag $menubar(0) ; Print the first menu item name. //echo -ag $menubar(1)
Added in 1.9.1
$menucontext
Returns the context of a menu event.
window/hotlink/toolbar/treebar
See also $menu, $menutype, $mouse, $menuicon, Menus.
Example
menu @Example { Menu Name:echo -ag Menu name is $menu Menu Type:echo -ag Menu type is $menutype Menu Context:echo -ag Menu context is $menucontext }
Added in 2.7
$menuicon(filename,[index])
Adds a icon to a menu item.
Since ":" characters are not allowed in the menu text, $chr(58) can be used if a X:\ path is used.
See also $menu, $menutype, $menucontext, $mouse, Menus.
Parameters
Parameter | Description |
filename | Path to the icon/image file. |
[index] | The Nth icon in a .exe/.dll file. (optional) |
Example
; Create a custom window. /window @window ; Add a menu for the custom window with a menu icon, ; Notice the use of $+ $chr(58) $+ to make a ":" character, since they are not allowed in the menu text. menu @window { $menuicon(c $+ $chr(58) $+ \path\to\image.jpg) This menu has a icon:echo -ag hello world }
Added in 1.9.1
$menutype
Returns the type of anmenu event.
custom/nicklist/query/channel/status/chat/menubar/topmenubar
See also $menu, $menucontext, $mouse, $menuicon, Menus.
Example
menu @Example { Menu Name:echo -ag Menu name is $menu Menu Type:echo -ag Menu type is $menutype Menu Context:echo -ag Menu context is $menucontext }
Added in 1.8.10
$mid(text,S,N)
Returns N characters starting at position S in text.
Parameters
Parameter | Description |
text | The text to substring. |
S | The starting position. |
N | Number of characters to substring. |
Example
; Get '6' characters starting at position '6' in the text 'Hello World'. //echo -ag $mid(Hello World,6,6)
Added in 3.3
$mididir
Returns the directory where AdiIRC stores midi files set in Options -> Sounds.
Can be used inside text without being surrounded by white spaces.
See also $mp3dir, $wavedir, $sound, $mp3, /splay.
Example
; Print the midi folder, no space after $mididir is needed. echo -ag $mididir\file,mid
Added in 3.9
$min(<space delimited tokens>)
$min(<comma,delimited,tokens>)
Returns the minimum value from a list of tokens.
By default it sorte tokens using the numeric sorting rules used by $sorttok 'n' switch.
See also $sorttok.
Parameters
Parameter | Description |
<space delimited tokens> | If only one parameter is defined, it's treated as a list of space delimited tokens. |
<comma,delimited,tokens> | If multiple parameters is defined, it's treated as a list of comma separated tokens. |
Properties
Property | Description |
.text | Sorts tokens using the same text sorting rules used by $sorttok 'a' switch. |
.textcs | Sorts tokens using the same text sorting rules used by $sorttokcs 'a' switch. |
.nick | Sorts tokens using the same text sorting rules used by $sorttok 'c' switch. |
Example
//echo -ag $min(6 7 2 4 1) //echo -ag $min(6,7,2,4,1) //echo -ag $min(b B a A c C).text //echo -ag $min(b,B,a,A,c,C).text
_
Added in 1.9.0
$mircdir
Returns the directory where AdiIRC stores its settings, themes, scripts and so on.
Same as $adiircdir.
Can be used inside text without being surrounded by white spaces.
Example
; Print the scripts folder, no space after $mircdir is needed. //echo -ag $mircdir\Scripts
Added in 1.9.0
$mircexe
Returns the full path and filename of the AdiIRC executable file.
Same as $adiircexe.
Can be used inside text without being surrounded by white spaces.
Example
//echo -ag the adiirc exe file is $mircexe.. notice how $mircexeisreplacedhere
Added in 1.9.0
$mircini
Returns the full path and filename of the AdiIRC settings file (config.ini).
Same as $adiircini.
Can be used inside text without being surrounded by white spaces.
Example
//echo -ag the adiirc ini file is $mircini .. notice how $mirciniisreplacedhere
Added 4.3
$mircpid
Returns the AdiIRC process id.
Same as $adiircpid.
Added in 1.9.0
$mkfn(filename)
Replaces invalid filename characters with underscore.
Parameters
Parameter | Description |
filename | The filename to format. |
Example
; Format the filename 'tes\t.txt' to 'tes_t.txt' //echo -ag $mkfn(tes\t.txt)
Added in 1.9.0
$mklogfn(filename)
Returns the filename formatted according to options set in Options -> Logging.
Parameters
Parameter | Description |
filename | The filename to format. |
Added in 1.9.0
$mknickfn(nickname)
Formats a nick for use as a valid filename.
Removes certain characters from the nick.
Parameters
Parameter | Description |
nickname | The nickname to format. |
Example
; Format the nickname 'tes\t' to 'test' //echo -ag $mknickfn(tes\t)
Added in 1.9.0
$mnick
Returns your main nickname on current active IRC connection.
Added in 1.8.10
$mode (AdiIRC Only)
Returns the MPEG channel mode of the currently playing song.
Only works if Media Player is set to Winamp and proper plugins are installed.
Added in 2.8
$mode(N)
Returns the Nth nick/mask affected by a channel mode change.
See also on RAWMODE, on MODE, on SERVERMODE, on OWNER, on DEOWNER, on ADMIN, on DEADMIN, on OP, on DEOP, on HELP, on DEHELP, on VOICE, on DEVOICE, on BAN, on UNBAN.
Parameters
Parameter | Description |
N | If N = 0, number of nicks/masks, otherwise the Nth nick/mask. |
Properties
Property | Description |
.owner | List number of affected owner nicks or the Nth owner nick. (AdiIRC only) |
.deowner | List number of affected deowner nicks or the Nth deowner nick. (AdiIRC only) |
.admin | List number of affected admin nicks or the Nth admin nick. (AdiIRC only) |
.deadmin | List number of affected deadmin nicks or the Nth deadmin nick. (AdiIRC only) |
.op | List number of affected op nicks or the Nth op nick. |
.deop | List number of affected deop nicks or the Nth deop nick. |
.help | List number of affected help nicks or the Nth help nick. |
.dehelp | List number of affected dehelp nicks or the Nth dehelp nick. |
.voice | List number of affected voice nicks or the Nth voice nick. |
.devoice | List number of affected devoice nicks or the Nth devoice nick. |
.ban | List number of affected ban masks or the Nth ban mask. |
.unban | List number of affected unban masks or the Nth ban masn. |
Example
; Print number of affected nicks/masks during a RAWMODE event. on *:RAWMODE:#:echo -ag $mode(0) ; Print the first affected nicks/masks during a RAWMODE event. on *:RAWMODE:#:echo -ag $mode(1) ; Print number of affected op nicks during a RAWMODE event. on *:RAWMODE:#:echo -ag $mode(0).op ; Print the first affected nicks op nick during a RAWMODE event. on *:RAWMODE:#:echo -ag $mode(1).op
Added in 1.9.4
$modefirst
Returns $true or $false depending on whether the event is the first to trigger.
Only filled during these events on OP, on DEOP, on HELP, on DEHELP, on VOICE, on DEVOICE, on BAN and on UNBAN.
Added in 1.9.4
$modelast
Returns $true or $false depending on whether the event is the event to trigger.
Only filled during these events on OP, on DEOP, on HELP, on DEHELP, on VOICE, on DEVOICE, on BAN and on UNBAN.
Added in 1.9.0
$modespl
Returns the maximum number of channel modes detected in the servers 005 PREFIX token, e.g "MODES=12".
E.g if $modespl is 5, you can do /mode +ooooo to set five modes at a time.
Added in 4.3
$modinv(base, modulus)
Returns the inverse modulus for the specified base and modulus.
Parameters
Parameter | Description |
base | The base to calculate for. |
modulus | The modulus to calculate for. |
Example
//echo -ag The inverse modulus for 2 and 1907 is $modinv(2, 1907)
Added in 1.9.0
$motherboard
Returns the motherboard manufacturer and version name.
Added in 1.9.0
$mouse
Returns various properties about the mouse and keys pressed during events.
See also $menu, $menutype, $menucontext, $menuicon, Menus.
Properties
Property | Description |
.lb | Returns $true if the mouse event occurred in a side-listbox otherwise $false. |
.x | Mouse X position relative to active window. |
.y | Mouse Y position relative to active window. |
.mx | Mouse X position relative to AdiIRC main window. |
.my | Mouse Y position relative to AdiIRC main window. |
.dx | Mouse X position relative to the desktop area. |
.dy | Mouse Y position relative to the desktop area. |
.key | Bitwise flag, see example. |
.cx | TODO |
.cy | TODO |
.win | Returns the name of the active window. |
Example
alias Example { ; Test $mouse.key for various values, more than one value can be true. if ($mouse.key & 1) echo left button is pressed. if ($mouse.key & 2) echo control key is pressed. if ($mouse.key & 4) echo shift key is pressed. if ($mouse.key & 8) echo alt key is pressed. if ($mouse.key & 16) echo right mouse button is pressed. if ($mouse.key & 32) echo middle mouse button is pressed. (AdiIRC only) if ($mouse.key & 64) echo x mouse button 1 is pressed. (AdiIRC only) if ($mouse.key & 128) echo x mouse button 2 is pressed. (AdiIRC only) if ($mouse.key & 256) echo alt+gr pressed. (AdiIRC only) } ; Print mouse X and Y coordinates. //echo -ag $mouse.x / $mouse.y
Added in 1.9.0
$mp3(filename)
Returns ID3 tag information about a file/song.
If file is not found, the default sound folder associated with the file extension is returned.
Same as $sound.
Parameters
Parameter | Description |
filename | Filename to check. |
Properties
Property | Description |
.album | Album name. |
.title | Song title. |
.artist | Song artist. |
.year | Album/song year. |
.comment | Comments field. |
.genre | Song genre. |
.track | Album track, |
.length | Song length. |
.bitrate | Song bitrate. |
.version | MPEG version. |
.variable | $true if the song is variable bitrate, otherwise $false. |
.sample | MPEG frequency rate. |
.mode | MPEG mode. |
.layer | MPEG layer. |
.copyright | $true if copyright field is enabled, otherwise $false. |
.private | $true if private field is enabled, otherwise $false. |
.vbr | $true if the song bitrate is variable, otherwise $false. |
.id3 | Returns the id3 tag version. |
.tag | Returns the number of id3v2 tags found. |
.tags | Returns the id3v3 tags found. |
.crc | Returns $true if the file is CRC protected, otherwise $false. |
Example
; Print artist - title - album for 'song.mp3' //echo -ag $mp3(song.mp3).artist- $mp3(song.mp3).title - $mp3(song.mp3).album
Added in 3.3
$mp3dir
Returns the directory where AdiIRC stores mp3 files set in Options -> Sounds.
Can be used inside text without being surrounded by white spaces.
See also $mididir, $wavedir, $sound, $mp3, /splay.
Example
; Print the mp3 folder, no space after $mp3dir is needed. echo -ag $mp3dir\file,mp3
Added in 1.9.0
$msfile(dir,[title],[oktext])
Displays the multiple select file dialog and returns the number of selected files.
Parameters
Parameter | Description |
dir | Starting folder in the file dialog. |
[title] | Dialog title text. (optional) |
[oktext] | TODO (optional) |
Example
; Select some files and print the number of selected files. //echo -ag Number of selected files is $msfile($adiircdir, Select Files)
$msfile(N)
Returns the Nth file from the last $msfile selection.
Parameters
Parameter | Description |
N | If N = 0, number of selected files, otherwise the Nth selected file. |
Example
; Select some files. //noop $msfile($adiircdir, Select Files) ; Print the first selected file. //echo -ag First selected file was $msfile(1)
Added in 1.9.7
$msgstamp
Returns the incoming message timestamp from the server in unix format.
This only applies to IRCv3 messages.
Example
on *:TEXT:*:#:echo -agt Message was received from server at $asctime($msgstamp, HH:nn:ss) on *:TEXT:*:#:echo -agt $+ $msgstamp This message uses the $msgstamp as the formatted time.
Added in 1.9.7
$msgtags
Returns a list of message tags for an incoming server message.
This only applies to IRCv3 messages.
See also $msgstamp.
$msgtags(tag|N)
Returns the individual tags from the $msgtags identifier.
Parameters
Parameter | Description |
tag|N | The tag to retrieve or the Nth tag, if N = 0, number of tags is returned. |
Properties
Property | Description |
.tag | Returns the tag name. |
.key | Returns the tag value. |
Example
on *:TEXT:*:#:echo -ag Message time tag is $msgtags(time) on *:TEXT:*:#:echo -ag The 5th tag is $msgtags(5)
Added in 1.9.3
$msgx
Returns $1- in a consecutive spaced line.
Same as $parms.
Example
; Listen to a channel text event. on *:TEXT:*:#:{ ;Create variable with and without consecutive spaces /var %text $msgx vs $1- ; Print the variable. /echox # %text }
Added in 4.4
$mtable(name, N, [N..])
Gets the Nth item in a table, subsequent N parameters gets the Nth item from a sub table, infinite sub depth.
See also /mtable.
Parameters
Parameter | Description |
name | The outer table name. |
N | The Nth item in the table. |
[N..] | The Nth item in a sub table, subsequent N parameters travels further down. |
Properties
Property | Description |
.item | Gets the item name. |
.value | Gets the item value. |
.type | Get the item type. (0 = text, 1 = number, 2 = bool, 3 = sub table) |
.json | Generate a json table from all items in the current table and all sub tables. |
.ini | Generate a ini output from all items in the current table and all sub tables. |
.xml | Generate a xml output from all items in the current table and all sub tables. |
; Add item1/value1 to the table 'table1'. //mtable -a table1 item1 value1 ; Add sub table 'item2' to the table 'table1'. //mtable -aA table1 item2 value2 ; Insert item3/value3 at position '1' in the table 'table1'. //mtable -i table1 1 item3 value3 ; Print number of items in table 'table1'. //echo -ag Number of items in table1 is $mtable(table1, 0) ; Print the first items in table 'table1'. //echo -ag First item in table1 is $mtable(table1, 1).item ; Delete the first item in table 'table1'. //mtable -d table1 1 ; Free the table 'table1'. //mtable -f table1 ; Add a new sub table to table 'table1', //mtable -aA table1 sub1 sub1 ; Add a new item to the sub table located at position '1' in table 'table1'. //mtable -a table1 1 item1 value1 ; Print the first item in the table 'table1', which is a sub table. //echo -ag First item in table1 is $mtable(table1, 1).item - $mtable(table1, 1).type ; Print the first item in the sub table located at position '1' in table 'table1'. //echo -ag First item in sub table1 is $mtable(table1, 1, 1).item ; Generates a json output of table 'table1'. // echo -ag $mtable(table1).json ; Generates a ini output of table 'table1'. // echo -ag $mtable(table1).ini ; Generates a xml output of sub table at position '1' in table 'table1'. // echo -ag $mtable(table1, 1).xml
Added in 1.9.6
$muted
Returns $true if event sounds are muted from /mute otherwise $false.
See also /mute.
Added in 1.8.10
$mversion
Returns the MPEG version of the currently playing song.
Only works if Media Player is set to Winamp and proper plugins are installed.
Added in 1.9.0
$naddress
Returns the hostname found during a /dns lookup.
See also /dns, on DNS, $dns, $raddress, $iaddress.
Added in 2.0
$nadmnick(#,N)
Returns the Nth non admin nick.
See also $vnick, $nvnick, $hnick, $nhnick, $opnick, $nopnick., $admnick, $onick., $nonick.
Parameters
Parameter | Description |
# | The channel. |
N | If N = 0, number of nicks, otherwise the Nth nick. |
Example
//echo -ag There is $nadmnick(#,0) non admin users //echo -ag First non admin nick is $nadmnick(#,1)
Added in 1.8.10
$network
Returns the name of the IRC network you are currently connected to.
Added in 1.9.0
$newnick
Returns the new nick during a on NICK event.
Example
on *:NICK:echo -ag $nick is now known as $newnick
Added in 2.0
$nhnick(#,N)
Returns the Nth non help nick.
See also $vnick, $nvnick, $hnick, $opnick, $nopnick., $admnick, $nadmnick, $onick., $nonick.
Parameters
Parameter | Description |
# | The channel. |
N | If N = 0, number of nicks, otherwise the Nth nick. |
Example
//echo -ag There is $nhnick(#,0) non help users //echo -ag First non help nick is $nhnick(#,1)
Added in 1.5
$nick
Returns the nickname of the user associated with an event.
=$nick can be used to evaluate a nick for use in dcc chat windows.
Example
; Prrint the user associated with this event. on *:TEXT:*:*:echo -ag The user associated with this event is $nick
$nick(#,N/nick,[qaohvr],[qaohvr])
Returns the Nth nickname in the channels nickname listbox on channel #.
Parameters
Parameter | Description |
# | The channel where the Nicklist is. |
N/nick | The nick to get, if N = 0 number of nicks, otherwise the Nth nick. |
[qaohvr] | Only include nicks with these channel modes. (optional) |
[qaohvr] | Exclude nicks with these channel modes. (optional) |
Properties
Property | Description |
.color | Returns the Nicklist color for this nick. |
.rgbcolor | Returns the Nicklist $rgb color for this nick. (AdiIRC only) |
.pnick | Returns the nick in .@%+nick format. (This include every channel prefix this user has, not just the highest) |
.cnick | Returns the nick in .@%+nick format. (Only the highest channel prefix is returned) (AdiIRC only) |
.cmode | Returns the highest channel prefix for this nick. (AdiIRC only) |
.idle | Returns the number of seconds this nick has been idle on this channel. |
.joined | Returns number of seconds since this user (or you) joined this channel. (AdiIRC only) |
Example
; Print number of nicks in the channel '#test'. //echo -ag $nick(#test, 0) ; Print the 5th nick in the channel '#test'. //echo -ag $nick(#test, 5)
Added in 2.4
$nickcolumn
Returns $true if Nickcolumn is enabled, otherwise $false.
See also /nickcolumn.
Added in 1.9.1
$nickmode
Returns the list of nick prefixes characters detected in the servers 005 PREFIX token, e.g "PREFIX=(qaohv)~&@%+" returns qaohv.
When not connected to a server, AdiIRC uses a default value of "ohv".
See also $prefix.
Added in 2.4
$no
Returned when clicking a "No" button during a $input request.
Added in 1.9.0
$nofile(filename)
Returns the path in filename without the actual filename.
Parameters
Parameter | Description |
filename | The filename to extract the path from. |
Example
; Print the path 'c:\windows\notepad.exe' without the filename. //echo -ag $nofile(c:\windows\notepad.exe)
Added in 2.0
$nonick(#,N)
Returns the Nth non owner nick.
See also $vnick, $nvnick, $hnick, $nhnick, $opnick, $nopnick., $admnick, $nadmnick, $onick..
Parameters
Parameter | Description |
# | The channel. |
N | If N = 0, number of nicks, otherwise the Nth nick. |
Example
//echo -ag There is $nonick(#,0) non admin users //echo -ag First non admin nick is $nonick(#,1)
Added in 1.9.0
$nopath(filename)
Returns filename without a path if it has one.
Parameters
Parameter | Description |
filename | The filename/path to get the filename from. |
Example
; Print the filename for the path 'c:\windows\notepad.exe'. //echo -ag $nopath(c:\windows\notepad.exe)
Added in 2.0
$nopnick(#,N)
Returns the Nth non operator nick.
See also $vnick, $nvnick, $hnick, $nhnick, $opnick, $admnick, $nadmnick, $onick., $nonick.
Parameters
Parameter | Description |
# | The channel. |
N | If N = 0, number of nicks, otherwise the Nth nick. |
Example
//echo -ag There is $nopnick(#,0) non operator users //echo -ag First non operator nick is $nopnick(#,1)
Added in 1.9.0
$noqt(text)
Removes outer enclosing quotes around text.
Parameters
Parameter | Description |
text | The text to format. |
Example
; Removes enclosing quotes to the text "spaced message" //echo -ag $noqt(spaced message)
Added in 1.9.0
$not(A)
Returns the binary not value of A.
Parameters
Parameter | Description |
A | The binary value. |
Added in 2.3
$notify
Returns $true if Notify is enabled, otherwise $false.
Added in 1.9.0
$notify(N|nick, [nf])
Returns the Nth nickname in your Notify list.
Parameters
Parameter | Description |
N|nick | Nick or if N = 0, number of nicks, otherwise the Nth nick. |
[nf] | n = Include all online nicks, f = include all offline nicks. |
Properties
Property | Description |
.ison | Returns $true if the nick is online, otherwise $false. |
.note | Returns note for this nick. |
.sound | Returns online beep/filename or $null. |
.sound2 | Returns offline beep/filename or $null. |
.whois | Returns $true if /whois for this nick is enabled, otherwise $false. |
.addr | Returns the hostname for the nick. |
.network | Returns the network name set for this nick. |
.awaymsg | Returns the specified away message if the user is away. |
.gecos | The user realname/fullname. |
.account | The user account name. (IRCv3 feature) |
.away | Returns $true if the user is away, otherwise $false. |
Example
: Print number of notiy nicks. //echo -ag $notify(0) ; Print the first notify nick. //echo -ag $notify(1) is $iif($notify(1).ison, online, offline)
Added in 1.9.0
$null
If a variable is referred to and it does not exist, it returns the value $null. The $null value can be used in comparisons in if-then-else statements to control branching etc.
Example
; Check if NonExistingNick is in the current channel. //if ($nick(#, NonExistingNick) == $null) echo -ag NonExistingNick was not found
Added in 1.9.0
$numeric
Returns the numeric for the matching numeric event.
Example
RAW *:*:echo -ag Numeric is $numeric
Added in 1.9.0
$numtok(text,C)
Returns number of tokens in text.
Parameters
Parameter | Description |
text | The text to tokenize. |
C | The ASCII value to tokenize by. |
Example
; Print number of tokens in text //echo -ag $numtok(a.b.c.d.e, 46)
Added in 2.0
$nvnick(#,N)
Returns the Nth 'regular' nick. Is a deprecated identifier that's the equivalent of $nick(#,N,r)
See also $vnick, $hnick, $nhnick, $opnick, $nopnick., $admnick, $nadmnick, $onick., $nonick.
Parameters
Parameter | Description |
# | The channel. |
N | If N = 0, number of nicks, otherwise the Nth nick. |
Example
//echo -ag There are $nvnick(#,0) non opvoice users //echo -ag First non opvoice nick is $nvnick(#,1) //if ($nvnick(#,foobar)) echo -ag foobar is the $ord($v1) regular nick
Added in 2.7
$ocolor(N)
Returns the Nth color index of the internal color list as a $rgb value.
See also Config File Colors, /echo.
Parameters
Parameter | Description |
N | The Nth color to retrieve. |
Properties
Property | Description |
.rgb | returns the color in rrr,ggg,bbb format. |
.hex | returns the color in hex format. |
Example
; Get the Editbox color //echo -ag Editbox color is $ocolor(30).rgb
Added in 2.4
$ok
Returned when clicking a "OK" button during a $input request.
Added in 2.0
$onick
Returns the nick that was (de)opped during a on OWNER, on on DEOWNER event.
Example
on *:OWNER:*:echo -ag The nick opped is $onick on *:DEOWNER:*:echo -ag The nick deopped is $onick
Added in 2.0
$onick(#,N)
Returns the Nth owner nick.
See also $vnick, $nvnick, $hnick, $nhnick, $opnick, $nopnick., $admnick, $nadmnick, $nonick.
Parameters
Parameter | Description |
# | The channel. |
N | If N = 0, number of nicks, otherwise the Nth nick. |
Example
echo -ag There is $onick(#,0) owner users echo -ag First owner nick is $onick(#,1)
Added in 1.9.0
$online
Returns numbers of seconds since AdiIRC was (re)started.
Same as $onlinetotal.
Added in 1.9.6
$onlineserver
Returns numbers of seconds since AdiIRC connected to the associated server connection.
Added in 1.9.6
$onlinetotal
Returns numbers of seconds since AdiIRC was (re)started.
Same as $online.
Added in 1.9.4
$onpoly(n1,n2,x,y,x,y,...)
Returns $true if two polygons overlap, otherwise $false.
Parameters
Parameter | Description |
n1 | Number of points in the first polygon. |
n2 | Number of points in the second polygon. |
x | First x coordinate. |
y | First y coordinate. |
x | Second x coordinate. |
y | Second y coordinate. |
... | Additional coordinates. |
Added in 1.9.0
$opnick
Returns the nick that was (de)opped during a on OP on on DEOP event.
Example
on *:OP:*:echo -ag The nick opped is $opnick on *:DEOP:*:echo -ag The nick deopped is $opnick
Added in 2.0
$opnick(#,N)
Returns the Nth operator nick.
See also $vnick, $nvnick, $hnick, $nhnick, $nopnick., $admnick, $nadmnick, $onick., $nonick.
Parameters
Parameter | Description |
# | The channel. |
N | If N = 0, number of nicks, otherwise the Nth nick. |
Example
//echo -ag There is $opnick(#,0) operator users //echo -ag First operator nick is $opnick(#,1)
Added in 1.9.0
$or(A,B)
Returns A binary OR B.
Supports Big Integers
Parameters
Parameter | Description |
A | The A binary to OR against. |
B | The B binary to OR. |
Example
: Or '5' against '3'. //echo -ag $or(5,3)
Added in 1.9.0
$ord(N)
Appends st, nd, rd, th as appropriate to the number N.
Parameters
Parameter | Description |
N | The number to format. |
Example
; Format number '12' which becomes '12th' //echo -ag $ord(12)
Added in 1.9.0
$os
Returns the version number of the operating system.
The reply can be XP, 2003, 2003R2, Vista, 2008, 7, 2008R2, 8, 2012, 8.1, 2012R2, 2016, 10 0r 11.
Properties
Property | Description |
.major | Returns the os major version. (May returns wrong value in windows 11+) |
.minor | Returns the os minor version. |
.build | Returns the os build number. |
.platform | Returns the os platform. |
.type | Returns the os type. |
.spmajor | Returns the os service pack major version. |
.spminor | Returns the os service pack minor version. |
.suite | Returns the os suite. |
Added in 1.9.7
$osbits
Returns "32" on 32 bit windows, and "64" on 64 bit version of windows.
Added in 1.8.10
$osbuild
Returns the windows build number.
Added in 1.8.10
$osedition
Returns the windows edition.
Added in 1.9.7
$osidle
Returns number of seconds since last keystroke or mouse movement.
Example
/timer 1 5 echo -ag Computer has been idle for $osidle seconds
Added in 1.9.1
$osinstalldate
Returns the date windows was installed in unix timestamp format.
Added in 1.8.10
$osmajor
Returns the major windows version number.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832%28v=vs.85%29.aspx
Added in 1.8.10
$osminor
Returns the minor windows version number.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832%28v=vs.85%29.aspx
Added in 1.8.10
$osname
Returns the name of the windows version. (Windows 7, Windows 8 etc)
Added in 1.8.10
$osservicepack
Returns the windows service pack version.
Added in 1.5
$osversion
Returns the version number of the operating system.
Added in 3.1
$parms
Returns $1- in a consecutive spaced line.
Same as $msgx.
Example
; Listen to a channel text event. on *:TEXT:*:#:{ ;Create variable with and without consecutive spaces /var %text $parms vs $1- ; Print the variable. /echox # %text }
Added in 4.3
$parseem
Returns $true during on PARSELINE events if echo-message is enabled and AdiIRC thinks this message is being echoed back to AdiIRC, otherwise $false.
Example
on *:PARSELINE:in:*:echo -ag Message is $iif($parseem, being, not being) echoed back
Added in 1.9.7
$parseline
Returns the incoming/outgoing server line during a on PARSELINE event.
Example
on *:PARSELINE:*:echo -ag parseline is $parseline
Added in 1.9.7
$parsetype
Returns "in" during a on PARSELINE event if it's a incoming server line, otherwise "out".
Example
on *:PARSELINE:*:echo -ag parsetype is $parsetype
Added in 1.9.7
$parseutf
Returns $true if the incoming/outgoing server line is gonna be UTF8 encoded/decoded during a on PARSELINE event, otherwise $false.
Example
on *:PARSELINE:*:echo -ag Parseutf is $parseutf
Added in 3.8
$passivedcc
Returns $true if Options -> Dcc -> Use passive send is enabled, otherwise $false.
Added in 3.6
$pcre
Returns $true if $regex supports pcre and if it's enabled and the proper visual c++ libraries are installed, otherwise $false.
See also Regular Expressions.
Added in 1.8.10
$percentl
Returns the percent left of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$percentp
Returns the percent played of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.3
$pi
Returns the value of the mathematical constant pi to 20 decimal places.
3.14159265358979323846
Added in 1.9.1
$pic(filename)
Returns the filesize/imagesize of a image file.
Parameters
Parameter | Description |
filename | Image file to check. |
Properties
Property | Description |
.width | Return the image width. |
.height | Return the image height. |
.size | Return the image size. |
Example
; Print width and height of a image file. //echo -ag Image width is $pic(image.jpg).width height is $pic(image.jpg).height
Added in 3.2
$play([nick|channel,]N)
Returns information about the /play queue.
See also /play, $filename, $pnick, on PLAYEND.
Parameters
Parameter | Description |
nick|channel | The nick or channel where the file is playing. |
N | If N = 0, number of playing files, otherwise the Nth playing file. |
Properties
Property | Description |
type | Returns the type of the request, "topic" if you are using /play -t, otherwise "file". |
.fname | Returns the complete filename used for the play request. |
.topic | Returns the name of the topic if you used /play -t. |
.pos | Returns the number of the line that play request is at, (the next line to be played). |
.lines | Returns the total number of lines in the file being played. |
.delay | Returns the delay used for the play request (default to 1000). |
.status | Returns the status of the play request, "playing" or "queued". |
Example
; Print the filename of the current playing file. //echo -ag $play(1).fname ; Print the filename of first queued file matching channel '#chan'. //echo -ag $play(#chan, 1).fname
Added in 1.8.10
$playcount
Returns the play counter of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$player
Returns the current selected media player.
Added in 3.1
$playerhandle
Returns the window handle to the current running media player.
Example
; Override the default /np alias to customize the error meesages. alias np { if (!$playerhandle) { echo $color(info) -agt Media Player is not running. return } if (!$song) { echo $color(info) -agt Media Player is not playing. return } ; All good, forward to the internal /np command. !np $1- }
Added in 3.8
$plugins(N)
Returns information about running plugins.
Parameters
Parameter | Description |
N | If N = 0, number of running plugins, otherwise the Nth plugin. |
Properties
Property | Description |
.name | Returns the plugin name. |
.author | Returns the plugin author. |
.desc | Returns the plugin description. |
Returns the plugin author email. | |
.version | Returns the plugin version. |
.fname | Returns the plugin filename. |
Added in 3.2
$pnick
Returns the name of the channel or the nickname you are currently playing to. This is useful with the -c and -a switches of the /play command.
Added in 1.9.0
$port
Returns the port number of the currently connected server.
Added in 1.9.3
$portable
Returns $true or $false depending on whether AdiIRC is run as portable.
Portable in this case, means that $adiircexe and $adiircini are in the same folder.
Added in 1.9.0
$portfree(N,[ipaddress])
Returns $true if the specified port number is not in use, otherwise $false.
Parameters
Parameter | Description |
N | The port number to check. |
[ipaddress] | If specified, only the interface with that IP address is checked for used ports, otherwise all active interfaces are checked. An adapter name can also be used instead of an IP address. |
Example
; Check if port 4242 is free. //echo -ag Port 4242 is $iif($portfree(4242), open, not open)
Added in 1.8.10
$pos(string,substring,N)
Returns a number indicating the position of the Nth occurrence of string in text.
$pos is case-insensitive, see $poscs for case-sensitive version.
Parameters
Parameter | Description |
string | String to search. |
substring | Substringto search. |
N | If N = 0, total number of matches, otherwise the Nth match. |
Example
; Print number of matches for the substring 'e'. //echo -ag $pos(hello there,e,1) ; Print the position of the second match using substring 'e'. //echo -ag $pos(hello there,e,2)
Added in 1.8.10
$poscs(string,substring,N)
Returns a number indicating the position of the Nth occurrence of string in text.
$poscs is case-sensitive, see $pos for case-insensitive version.
Parameters
Parameter | Description |
string | String to search. |
substring | Substringto search. |
N | If N = 0, total number of matches, otherwise the Nth match. |
Example
; Print number of matches for the substring 'E'. //echo -ag $pos(heEllo theEreE,e,1) ; Print the position of the second match using substring 'E'. //echo -ag $pos(hEello thEereE,E,2)
Added in 1.8.10
$position
Returns the playlist position of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 3.6
$powmod(base, exponent, modulus)
('base' raised to the 'exponent' power) modulo 'modulus'
'modulus' is the name for the operand following the % operator. In this next example, the modulus is 1907.
//echo -a $powmod(2,111,1907) same as $calcint( (2^111) % 1907)
This identifier can be used for:
public key encryption
modular inverse
testing if numbers are prime.
The most common use for $powmod is in public key encryption, though there are also some pseudo-random number generators which use the math of powmod to create random-looking output and to disguise future randoms from someone who knows prior randoms.
However, when 'exponent' becomes too large, it's very slow if not impossible to obtain the result using the above $calcint() method directly. When N is approx 12 digits or longer, $calcint() returns 0 for 2^N. Somewhere just short of that, your client freezes for a long time while $calcint(2^123456789012) tries to calculate a number with more than a million digits.
All 3 parameters MUST be integers. If any parameter has a fraction, result is as if that parameter were zero.
The rest of this explanation describes how $powmod() is used for the portion of the Diffie-Hellman key exchange described at https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange as it relates to the DH1080 key exchange performed by the FiSH dll. DH is not a way to simplify the choosing of encryption keys, it's a way to share them in a way which hides the key from an observer who can see all communications between the two people.
In the DH key exchange, powmod is the easy way to create the 'hard problem' that protects the shared secret when the prime is a sufficiently large "safe prime". In this example, Alice and Bob perform DH key exchange using safe prime 1907 to hide the shared secret from Eve the eavesdropper. Private key MUST be chosen less than 'prime' and MUST be greater than 1. All 'safe prime' divided by 24 have a remainder either 11 or 23. If 'safe prime' were divisible by 23, private key should be further limited to be no greater than q=(prime-1)/2. However, when 'safe prime' divided by 24 is 11, then the private key is an even number when $powmod(public_key,q,prime) is 1, otherwise the private key is odd. If 'exponent' is greater than 'modulus', it has an equivalent result to another 'exponents' which can be easily calculated. i.e. this is always the same: //var %prime 1907 , %n $rand(0,99) | echo -a $powmod(2,$calc( (%prime -1)* %n +321),%prime)
prime = 1907
a = Alice private key 456
A = Alice public key = $powmod(2,456,1907) = 1892
b = Bob private key 789
B = Bob public key = $powmod(2,789,1907) = 1193
Identical shared secret can be calculated 2 different ways:
$powmod(B,a,prime)
$powmod(A,b,prime)
//echo -a $powmod(1193,456,1907) same as $powmod(1862,789,1907) = same shared secret 719
Eve sees Alice and Bob sharing the 1892 and 1193 public keys, but must search to find $powmod(2, unknown exponent,1907) which results in 1892.
//var %i 2 | while (%i isnum 2-1906) { if ($powmod(2,%i,1907) = 1193) { echo -a bob private key is %i | halt } | inc %i } | echo -a private key somehow not found
Because 1907 % 24 is 11, Eve had a shortcut to test only half the private keys within the 2 thru prime-1 range, instead of all the keys in the 2 through (prime-1)/2 range if the result were 23:
//echo -a $powmod(1892,953,1907) is 1, so Eve knows that Alice's private key is even //echo -a $powmod(1193,953,1907) is (prime-1), so Eve knows that Bob's private key is odd
This task is much harder in the math used by FiSH_10.dll, where the 'safe prime' is 1080 bits in size. In actual usage, the private key would be much larger than 20 digits:
//var %prime 12745216229761186769575009943944198619149164746831579719941140425076456621824834322853258804883232842877311723249782818608677050956745409379781245497526069657222703636504651898833151008222772087491045206203033063108075098874712912417029101508315117935752962862335062591404043092163187352352197487303798807791605274487594646923 , %private_key 12345678901234567890 | echo -a public key is $powmod(2,%private_key,%prime)
DH needs authentication, a way to guarantee that the public keys Alice and Bob receive from each other are actually the public keys sent by the other person. Alice and Bob's communication can be intercepted by Mallory who can then send their own Fake-Alice-public-key to Bob and send a Fake-Bob-public-key to Alice. When Bob and Alice generate their secret key, they are actually sharing a key with Mallory instead of with each other, and the secret Mallory shares with Alice is different than Mallory's secret shared with Bob, and is different than the secret that would've been shared if Alice and Bob had used each other's true public keys.
Mallory can then intercept Bob's messages to Alice using the Mallory/Bob secret, decrypt the messages, then re-encrypt the messages using the Mallory/Alice secret and send the messages to Alice. Without authentication, Alice and Bob don't realize that Mallory has read all their messages, and possibly is editing them, until Mallory is no longer there to intercept and substitute messages.
Modular Inverse
Another use for $powmod is that it's sufficient for calculating the 'multiplicative modular inverse' of a number, using Euler's theorem where, in the case when 'm' is a prime, this inverse of 'a' is $powmod(2,a,m-2). Because this always works when 'm' is prime, and usually fails when 'm' is not prime, this also can serve as a tool to test whether large numbers are actually primes. The more 'a' values you test against an 'm' without a failure, the more likely that 'm' is prime.
alias invmod return $powmod($2,$calcint($3 -2),$3)
The multiplicative modular inverse is not quite the same as the normal inverse having a fraction. In normal inverse, the inverse of 9 is 1/9 because 9 * 1/9 is 1. With modular inverse, the answer can be different for each prime used as the modulus, and is a number which multiplies against the original number to obtain a product which divided by the modulus is 1.
For example, the modular inverse of 111 when using the prime 1907 is 1048. $invmod(2,111,1907) This can be tested by multiplying 111 * 1048 = 116328, then verifying the result is 1:
//echo -a $calcint(116328 % 1907)
When the modulus is prime, even though there are many possible numbers which could return the correct answer, for purposes of the modular inverse there is only 1 good answer, and checking the answer's inverse always returns the original number:
//var -s %a $invmod(2,111,1907) , %b $invmod(2,%a,1907)
Primality Testing
From a brute-force test of all numbers from 2 through N-1, you can see that, when N is a prime, all values in that range generate the correct inverse, while when N is not prime it fails for the vast majority of values in the range:
//var %candidate 65537 , %i 2 , %yes 0 , %no 0 | while (%i < %candidate) { var %a $calcint( ($invmod(2,%i,%candidate) * %i) % %candidate) | if (%a == 1) inc %yes | else inc %no | inc %i } | echo -a candidate %candidate : yes %yes no %no
Result: candidate 65537 : yes 65536 no 0
When the candidate is not a prime, then it fails most of the time:
candidate 65535 : yes 15 no 65518
candidate 6789 : yes 15 no 6772
When testing very large numbers, it does not need to be a brute-force test of all numbers in the range, since only 1 failure is enough to reject the number as not-prime. For example, the following number was carefully crafted to pass 15 rounds of the Miller-Rabin primality test, however when you use this test where 'a' is the numbers in the range 2-65535, approximately half the numbers fail, so you wouldn't need to test many 'a' values to find one which fails.
candidate 57913900247347612352672951286823975508416170127795120339917871892777383057003 : yes 32843 no 32691
For most not-prime numbers, the number of 'yes' results is a very small percentage. For example, running the same test against the latest candidate where the last digit is changed from 3 to 1, only 1 of 65534 numbers gave the correct result.
Added in 1.9.0
$prefix
Returns the list of channel prefixes detected in the servers 005 PREFIX token, e.g "PREFIX=(qaohv)~&@%+".
When not connected to a server, AdiIRC uses a default value of "(ohv)@%+".
Added in 1.9.7
$prefixctcp
Returns the CTCP message prefix format from Options -> Messages -> Prefix Ctcp.
Added in 1.9.7
$prefixemote
Returns the emote message prefix format from Options -> Messages -> Prefix Emote.
Example
; Replace $pnick in $prefixemote with Bob instead of $nick. on *:ACTION:*:#:echo # $replace($prefixemote, $ $+ pnick, Bob) $1
$prefixemote(channel, nick, [prefix])
Replaces and formats emote message prefix from Options -> Messages -> Prefix Emote.
Parameters
Parameter | Description |
channel | Channel where the nick is. |
nick | The nick to lookup. |
[prefix] | A custom channelnick prefix. (optional) |
Example
; Format your own nick on current channel. //echo -ag $prefixemote(#, $me) ; Formar your own nick using your nick color. //echo -ag $prefixemote(#, $chr(3) $+ $nick(#,$me).color $+ $me $+ $chr(3)) ; Formar your own nick using your rgb nick color. //echo -ag $prefixemote(#, $chr(4) $+ $nick(#,$me).rgbcolor $+ $me $+ $chr(3))
Added in 1.9.7
$prefixsys
Returns the system message prefix format from Options -> Messages -> Prefix System.
Added in 1.9.7
$prefixuser
Returns the user message prefix format from Options -> Messages -> Prefix User.
Example
; Replace $pnick in $prefixuser with Bob instead of $nick. on *:TEXT:*:#:echo # $replace($prefixuser, $ $+ pnick, Bob) $1-
$prefixuser(channel, nick, [prefix])
Replaces and formats user message prefix from Options -> Messages -> Prefix User.
Parameters
Parameter | Description |
channel | Channel where the nick is. |
nick | The nick to lookup. |
[prefix] | A custom channelnick prefix. (optional) |
Example
; Format your own nick on current channel. //echo -ag $prefixuser(#, $me) ; Formar your own nick using your nick color. //echo -ag $prefixuser(#, $chr(3) $+ $nick(#,$me).color $+ $me $+ $chr(3)) ; Formar your own nick using your rgb nick color. //echo -ag $prefixuser(#, $chr(4) $+ $nick(#,$me).rgbcolor $+ $me $+ $chr(3))
Added in 1.8.10
$progress
Returns a text progress bar (**---) of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.0
$prop
Returns the property used (if any) when a custom identifier is called.
Example
; Create an alias. alias example { echo -ag prop used was $prop } ; Call the alias with a property. //noop $example().helloworld
Added in 3.8
$protect
Returns $true if protect is enabled, otherwise $false.
see also /protect.
$protect(address|N)
Returns any matching address in the protect list, or the Nth address.
Parameters
Parameter | Description |
address | Address to match. |
N | If N = 0, number of addresses, otherwise the Nth address. |
Properties
Property | Description |
.type | Returns the list of channels for this address. |
.network | Returns the network name for this address. |
Example
; Check if 'nick!ident@host' is in the protect list. //echo -g protect for nick!ident@host was $iif($protect(nick!ident@host), found, not found)
Added in 1.9.0
$puttok(text,token,N,C)
Overwrites the Nth token in text with a new token.
N-N2 can be used to get a range of tokens, both numbers can be negative.
N- can be used to get all tokens from position N.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to put. |
N | The Nth token to replace. |
C | The ASCII value to tokenize by. |
Example
; Replace the second token with 'e'. //echo -ag $puttok(a.b.c.d,e,2,46) ; Print the second to third token to 'e'. //echo -ag $puttok(a.b.c.d,e,2-3,46) ; Replace all tokens from position 2 to 'e'. //echo -ag $puttok(a.b.c.d,e,2-,46)
Added in 1.9.0
$qt(text)
Adds outer enclosing quotes around text if they are not already present.
Parameters
Parameter | Description |
text | The text to format. |
Example
; Adds enclosing quotes to the text c:\spaced folder //echo -ag $qt(c:\spaced folder)
Added in 1.9.0
$query(nick|N)
Returns the nickname of the Nth open query window.
Parameters
Parameter | Description |
nick|N | A nick or If N = 0 number of open query windows, otherwise the Nth open query window. |
Properties
Property | Description |
.addr | Users address in the form ident@host. |
.logfile | Logfile associated with this query window. |
.stamp | $true if /timestamp is enabled for this query window, otherwise $false. |
.wid | Window id associated with this query window. |
.cid | Connection id associated with this query window. |
.hwnd | Window handle. |
.idle | Number of seconds since there last was activity in this window. |
Example
; Open a query window. /query Example ; Print number of open query windows. //echo -ag Number of open querys $query(0) ; Print information about the 'Example' query window. //echo -ag $query(Example) address is $query(Example).addr
Added in 1.9.3
$quickconnect
Returns $true if the quick connect dialog is shown on start up, otherwise $false.
Added in 1.9.2
_
$quitmessage
Returns a random quit message if enabled, otherwise the default quit message.
Added in 1.9.0
$r(v1,v2)
Returns a random number or letter between v1 and v2.
Same as $rand.
See also $rands.
Parameters
Parameter | Description |
v1 | Start number or letter [0-9A-Za-z]. |
v2 | End number or letter [0-9A-Za-z]. |
if v1 and v2 are both numeric, returns random number in that range
otherwise returns a character in the range of characters v1 and v2
valid number range -2^63 through 2^63-1
Example
; Get a random number between 10 and 100. //echo -ag $r(10,100) ; Get a random letter between g and y. //echo -ag $r(g,y)
Added in 1.9.0
$raddress
Returns the hostname or the first ip address found during a /dns lookup.
See also /dns, on DNS, $dns, $naddress, $iaddress.
Added in 1.9.0
$rand(v1,v2)
Returns a random number or letter between v1 and v2.
Same as $r.
See also $rands.
Parameters
Parameter | Description |
v1 | Start number or letter [0-9A-Za-z]. |
v2 | End number or letter [0-9A-Za-z]. |
if v1 and v2 are both numeric, returns random number in that range
otherwise returns a character in the range of characters v1 and v2
valid number range -2^63 through 2^63-1
Example
; Get a random number between 10 and 100. //echo -ag $rand(10,100) ; Get a random number between -10 and +10. //echo -ag $rand(10,-10) ; Get a random letter between g and y. //echo -ag $rand(g,y) ; Get a random character between A and z. Since 'A' is codepoint 65 and 'z' is codepoint 122, this includes non-alphanumeric codepoints 91-96 [\]^_` //echo -ag $rand(A,z) To obtain only the 52 case-insensitive characters: //echo -a $iif($rand(0,1),$rand(A,Z),$rand(a,z)) Numeric includes numbers at the beginning of strings. //echo -a $rand(1X,4X) is the same as $rand(1,4) Only 1st character of non-numeric string is used. //echo -a $rand(AB,CD) is in the range A through C No 'good' random number generator creates equal outcome of all numbers in the range, but they should be fairly close to the average //hfree -w test | hmake test | var %i 100000 | while (%i) { hinc test $rand(1,100)) | dec %i } | var %i 1 , %a | while (%i isnum 1-100) { var %a %a %i $+ = $+ $hget(test,%i) | inc %i } | echo -a %a
Added in 1.9.3
$randomcolors
Returns random colors option as bitflag.
Returns
Value | Description |
0 | Off |
1 | Message |
2 | Nicklist |
Example
; Check if random colors is enabled for messages. //if ($randomcolors & 1) echo -ag Random colors is enabled for messages ; Check if random colors is enabled for nicklist. //if ($randomcolors & 2) echo -ag Random colors is enabled for nicklist
Added in 3.3
$rands(v1,v2)
Returns a random number or letter between v1 and v2 using encryption and high entropy.
Parameters
Parameter | Description |
v1 | Start number or letter [0-9A-Za-z]. |
v2 | End number or letter [0-9A-Za-z]. |
if v1 and v2 are both numeric, returns random number in that range
otherwise returns a character in the range of characters v1 and v2
valid number range -2^63 through 2^63-1
Example
; Get a random number between 10 and 100. //echo -ag $rands(10,100) ; Get a random number between -10 and +10. //echo -ag $rands(10,-10) ; Get a random letter between g and y. //echo -ag $rands(g,y) ; Get a random character between A and z. Since 'A' is codepoint 65 and 'z' is codepoint 122, this includes non-alphanumeric codepoints 91-96 [\]^_` //echo -ag $rands(A,z) To obtain only the 52 case-insensitive characters: //echo -a $iif($rands(0,1),$rands(A,Z),$rands(a,z)) Numeric includes numbers at the beginning of strings. //echo -a $rands(1X,4X) is the same as $rands(1,4) Only 1st character of non-numeric string is used. //echo -a $rands(AB,CD) is in the range A through C No 'good' random number generator creates equal outcome of all numbers in the range, but they should be fairly close to the average //hfree -w test | hmake test | var %i 100000 | while (%i) { hinc test $rands(1,100)) | dec %i } | var %i 1 , %a | while (%i isnum 1-100) { var %a %a %i $+ = $+ $hget(test,%i) | inc %i } | echo -a %a
Added in 1.8.10
$rating
Returns the track rating (**---) of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.0
$rawbytes
Returns raw server line for events prior to any decoding.
See also $rawmsg.
Example
; Listen to a channel text event. on *:TEXT:*:#:{ ; Print the raw line message. /echo # Raw message is $rawbytes }
Added in 1.9.0
$rawmsg
Returns raw server line for events.
See also $rawbytes.
Example
; Listen to a channel text event. on *:TEXT:*:#:{ ; Print the raw line message. /echo # Raw message is $rawmsg }
Added in 1.9.3
$rawmsgx
Returns raw server line for events.
Same as $rawmsg but as a consecutive spaced line.
Example
; Listen to a channel text event. on *:TEXT:*:#:{ ; Create variable with and without consecutive spaces. /var %text $rawmsgx vs $rawmsg ; Print the variable. /echox # %text }
Added in 1.9.0
$read(filename, [ntswrp], [matchtext], [N])
Returns a single line of text from a file.
See also $readn.
Parameters
Parameter | Description |
filename | Filename to read. |
[ntswrp] | (optional) |
[matchtext] | Matchtext to search. (optional) |
[N] | The Nth line. |
Options
Option | Description |
n | Don't evaluate any identifiers in the line. |
t | Treat the first line as a plain text, even if it's a number. |
s | Search for matchtext. |
w | Search for case-insensitive matchtext as a wildmatch. |
W | Search for case-sensitive matchtext as a wildmatch. (AdiIRC only) |
r | Search for matchtext as a regular expression. |
p | Treat command | separators as such instead of as plain text. |
Example
; Prints a random line from the file 'file.txt'. //echo $read(file.txt) ; Prints line '10' from the file 'file,txt. //echo $read(file.txt, 10) ; Searches file 'file,txt for a line beginning with the text 'Hello World' and prints the text following the match value. //echo $read(file.txt, s, Hello World) ; Searches file 'file.txt' for a line matching the wildmatch '*Hello World*' and prints it. //echo $read(file.txt, w, *Hello World*)
Added in 1.9.0
$readini(filename, [np], section, item)
Returns a single line of text from an INI file.
See also $ini.
Parameters
Parameter | Description |
filename | INI file to read from. |
[np] | (optional) |
[n] | Don't evaluate any identifiers. |
[p] | command | separators are treated as such instead of as plain text. |
section | The INI section to read from. |
item | The INI item to read. |
Example
; Read $adiircini and retrieve the section 'Messages' and the item 'Timestamp'. //echo -ag $readini($adiircini, Messages, Timestamp)
Added in 1.9.0
$readn
Returns the line number that was matched in a previous call to $read. If no match was found, $readn is set to zero.
Example
; Read a random line from the file 'file.txt'. //noop $read(file.txt) ; Print the line number from the last $read. //echo -ag Line number from the last read was: $readn
Added in 1.9.1
$realname
Returns your "Real Name" on the current active connection.
Deprecated see $fullname.
Added in 1.9.6
$regbr([name], N, [&binvar])
Returns the Nth regular expression match from $regex, $regsub, $regsubex or from an event.
Same as $regml.
Parameters
Parameter | Description |
[name] | A named regular expression, if not defined result from the last regular expression is returned. (optional) |
N | If N = 0, number of matches, otherwise the Nth match. |
[&binvar] | TODO |
Properties
Property | Description |
.pos | Returns the match position in the text. |
.group | Returns the group position (includes empty groups). |
Example
; Search the text for the pattern '(hello)' and print the result. //echo -ag Number of matches: $regex(Hello World, /(Hello)/) match 1 is: $regbr(1) ; Prefix an event with '$' allows the use of a regular expression in the 'matchtext' field which will fill $regbr with the result. on $*:TEXT:/Hello/g:*:echo -ag found $regbr(0) matches, first match was $regbr(1)
Added in 3.3
$regerrstr
Returns the PCRE error string for the last regular expression call.
See also $regsubex, $regsub, $regex, $regml, $regmlex.
Added in 1.9.0
$regex([name], text, re)
Returns the number of strings in text that matched the regular expression.
See also $regsubex, $regsub, $regml, $regmlex, $regerrstr.
Parameters
Parameter | Description |
[name] | Name of the search, which can later be referenced using $regml. (optional) |
text | The text to search. |
re | The regular expression to perform. |
Example
; Search the text for the pattern '(hello)' and print the result. //echo -ag Number of matches: $regex(Hello World, /(Hello)/) match 1 is: $regml(1)
Added in 1.9.0
$regml([name], N, [&binvar])
Returns the Nth regular expression match from $regex, $regsub, $regsubex or from an event.
Same as $regbr.
See also $regsubex, $regsub, $regex, $regmlex, $regerrstr.
Parameters
Parameter | Description |
[name] | A named regular expression, if not defined result from the last regular expression is returned. (optional) |
N | If N = 0, number of matches, otherwise the Nth match. |
[&binvar] | Adds the match to the specified &binvar instead. (changes return value to number of bytes added) |
Properties
Property | Description |
.pos | Returns the match position in the text. |
.group | Returns the group position (includes empty groups). |
.full | Returns the full match. (AdiIRC only) |
Example
; Search the text for the pattern '(hello)' and print the result. //echo -ag Number of matches: $regex(Hello World, /(Hello)/) match 1 is: $regml(1) ; Prefix an event with '$' allows the use of a regular expression in the 'matchtext' field which will fill $regml with the result. on $*:TEXT:/Hello/g:*:echo -ag found $regml(0) matches, first match was $regml(1)
Added in 2.4
$regmlex([name], M, N, [&binvar])
Returns the Nth regular expression capture group from the Mth match from $regex, $regsub, $regsubex or from an event.
See also $regsubex, $regsub, $regex, $regml, $regerrstr.
Parameters
Parameter | Description |
[name] | A named regular expression, if not defined result from the last regular expression is returned. (optional) |
M | If M = 0, number of matches, otherwise the Mth match. |
N | The Nth group. |
[&binvar] | Adds the match to the specified &binvar instead. (changes return value to number of bytes added) |
Properties
Property | Description |
.pos | Returns the match position in the text. |
.group | Returns the group position (includes empty groups). |
Example
; Search the text for the pattern 'abcdef' and print the result. //echo -ag Number of matches: $regex(abcdef,/([a-z])([a-z])/g) - $regmlex(1,1) $regmlex(1,2) $regmlex(2,1) $regmlex(2,2)
Added in 1.9.0
$regsub([name], text, re, subtext, %var|&binvar)
Performs a regular regular expression and then performs a substitution using subtext.
Returns the number of substitutions made, and assigns the result to %var or &binvar.
See also $regex, $regsubex, $regml, $regmlex. $regerrstr.
Parameters
Parameter | Description |
[name] | Name of the search, which can later be referenced using $regml. (optional) |
text | The text to search. |
re | The regular expression to perform. |
subtext | Subtext to replace with. |
%var|&binvar | Variable to assign the result to. |
Example
alias Example { ; Create a local variable. var %Example ; Perform a search for '([O])' and replace it with 'o' and fill the variable %Example with the result. noop $regsub(name,HellO WOrld,/([O])/g,o,%Example) ; Print the result. echo -a $regml(name,0) : $regml(name,1) -- $regml(name,2) : %Example }
Added in 1.9.0
$regsubex([name], text, re, subtext, [%var|&binvar])
Performs a regular regular expression and then performs a substitution using subtext.
Returns the substituted text.
See also $regex, $regsub, $regml, $regmlex. $regerrstr.
Parameters
Parameter | Description |
[name] | Name of the search, which can later be referenced using $regml. (optional) |
text | The text to search. |
re | The regular expression to perform. |
subtext | Subtext to replace with. |
[%var|&binvar] | Optionally output the text to a %var or a &binvar. ([name] must be defined and returns the number of matches instead of the substituted text) |
Subtext
Character | Description |
\0 | Returns the number of matches. |
\n | Returns the current match number. |
\t | Returns the current match text (same as $regml(\n)). |
\a | Returns all matching items. |
\A | Returns a non-spaced version of \a. |
\@ | Returns the total number of matches. (AdiIRC only) |
\1 \2 \N ... | Returns the Nth back-reference made for a given match |
The subtext evaluates identifiers before performing the substitution and special markers can be used to reference various parts of the result.
Example
; Find all lowercase 'a-z' characters and replace them with an uppercase character. //echo -ag $regsubex(abcdefg,/([a-z])/g,$upper(\1))
Added in 1.9.4
$remote
Returns a bitwise integer indicating if ctcps/events/raws/scripts are enabled.
Example
//if ($remote & 1) echo -ag ctcps are enabled //if ($remote & 2) echo -ag events are enabled //if ($remote & 4) echo -ag raws are enabled //if ($remote & 8) echo -ag scripts are enabled
Added in 1.8.10
$remove(string,substring,...)
Removes any occurrence of substring in string.
$remove is case-insensitive, see $removecs for case-sensitive version.
Parameters
Parameter | Description |
string | The string to search. |
substring | The substring to remove. |
... | Additional substrings to remove. |
Example
; Remove all occurrences of 'cd' from the string. //echo -ag $remove(abcdefg,cd) ; Remove all occurrences of 'a', 'c', 'e', 'g' from the string. //echo -ag $remove(abcdefg,a,c,e,g)
Added in 1.8.10
$removecs(string,substring,...)
Removes any occurrence of substring in string.
$removecs is case-sensitive, see $remove for case-insensitive version.
Parameters
Parameter | Description |
string | The string to search. |
substring | The substring to remove. |
... | Additional substrings to remove. |
Example
; Remove all occurrences of 'CD' from the string. //echo -ag $removecs(abcdCDefg,CD) ; Remove all occurrences of 'A', 'C', 'E', 'G' from the string. //echo -ag $removecs(aAbcCdeEfgG,a,c,e,g)
Added in 1.9.0
$remtok(text,token,N,C)
Removes the Nth matching token from text.
$remtok is case-insensitive, see $remtokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to remove. |
N | If N = 0, all matching tokens, otherwise the Nth token. |
C | The ASCII value to tokenize by. |
Example
; Remove the first 'b' token. //echo -ag $remtok(a.b.c.d,b,1,46) ; Remove all 'b' tokens. //echo -ag $remtok(a.b.b.b,b,0,46)
Added in 1.9.0
$remtokcs(text,token,N,C)
Removes the Nth matching token from text.
$remtokcs is case-sensitive, see $remtok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to remove. |
N | If N = 0, all matching tokens, otherwise the Nth token. |
C | The ASCII value to tokenize by. |
Example
; Remove the first 'B' token. //echo -ag $remtokcs(a.b.B.c.d,B,1,46) ; Remove all 'B' tokens. //echo -ag $remtokcs(a.b.B.B,b,0,46)
Added in 1.8.10
$replace(string,substring,newstring,...)
Replaces any occurrence of substring in string with newstring.
$replace is case-insensitive, see $replacecs for case-sensitive version.
Parameters
Parameter | Description |
string | The string to search. |
substring | The substring to replace. |
newstring | The new string to replace with. |
... | Additional substrings to replace. |
Example
; Replace all occurrences of 'cd' in the string with 'xyz'. //echo -ag $replace(abcdefg,cd,xyz) ; Remove all occurrences of 'a', 'b', 'c', 'd' in the string with 'A', 'B', 'C', 'D'. //echo -ag $replace(abcdefg,a,A,b,B,c,C,d,D)
Added in 1.8.10
$replacecs(string,substring,newstring,...)
Replaces any occurrence of substring in string with newstring.
$replacecs is case-sensitive, see $replace for case-insensitive version.
Parameters
Parameter | Description |
string | The string to search. |
substring | The substring to replace. |
newstring | The new string to replace with. |
... | Additional substrings to replace. |
Example
; Replace all occurrences of 'CD' in the string with 'XYZ'. //echo -ag $replacecs(abcdCDefg,CD,XYZ) ; Remove all occurrences of 'a', 'b', 'c', 'd' in the string with 'A', 'B', 'C', 'D'. //echo -ag $replacecs(aAbBcCdDeEfFgG,a,A,b,B,c,C,d,D)
Added in 1.9.0
$replacex(string,substring,newstring,...)
Replaces any occurrence of substring in string with newstring except for replacements that have already been made.
$replacex is case-insensitive, see $replacexcs for case-sensitive version.
Parameters
Parameter | Description |
string | The string to search. |
substring | The substring to replace. |
newstring | The new string to replace with. |
... | Additional substrings to replace. |
Example
; Replace all occurrences of 'cd' in the string with 'xyz'. //echo -ag $replacex(abcdefg,cd,xyz) ; Remove all occurrences of 'a', 'b', 'c', 'd' in the string with 'A', 'B', 'C', 'D'. //echo -ag $replacex(abcdefg,a,A,b,B,c,C,d,D)
Added in 1.9.0
$replacexcs(string,substring,newstring,...)
Replaces any occurrence of substring in string with newstring except for replacements that have already been made.
$replacexcs is case-sensitive, see $replacex for case-insensitive version.
Parameters
Parameter | Description |
string | The string to search. |
substring | The substring to replace. |
newstring | The new string to replace with. |
... | Additional substrings to replace. |
Example
; Replace all occurrences of 'CD' in the string with 'XYZ'. //echo -ag $replacexcs(abcdCDefg,CD,XYZ) ; Remove all occurrences of 'a', 'b', 'c', 'd' in the string with 'A', 'B', 'C', 'D'. //echo -ag $replacexcs(aAbBcCdDeEfFgG,a,A,b,B,c,C,d,D)
Added in 1.9.0
$reptok(text,token,new,[N],C)
Replaces the Nth matching token in text with a new token.
$reptok is case-insensitive, see $reptokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to match. |
new | New token to replace with. |
[N] | If N = 0, all matching tokens, otherwise the Nth match. (Optional, default is 1) |
C | The ASCII value to tokenize by. |
Example
; Replace the first token matching 'b' with 'e' //echo -ag $reptok(a.b.c.d,b,e,1,46) ; Replace all tokens matching 'b' with 'e' //echo -ag $reptok(b.b.b.c,b,e,0,46)
Added in 1.9.0
$reptokcs(text,token,new,[N],C)
Replaces the Nth matching token in text with a new token.
$reptokcs is case-sensitive, see $reptok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to match. |
new | New token to replace with. |
[N] | If N = 0, all matching tokens, otherwise the Nth match. (Optional, default is 1) |
C | The ASCII value to tokenize by. |
Example
; Replace the first token matching 'B' with 'E' //echo -ag $reptokcs(a.B.b.c.d,B,E,1,46) ; Replace all tokens matching 'B' with 'e' //echo -ag $reptokcs(B.B.B.b,B,e,0,46)
Added in 1.9.0
$result
Stores the value returned to a calling routine by the /return command.
Example
; Create a alias alias Example2 { return Hello World } ; Create another alias alias Example { noop $Example2 echo -ag The return text for Example2 was $result }
Added in 1.9.0
$rgb(N,N,N|N|name)
If N,N,N is defined, returns an RGB decimal color value.
if N is defined, returns a RRR,GGG,BBB value.
if name is defined, returns a system color RGB decimal value.
Parameters
Parameter | Description |
N,N,N | An RRR,GGG,BBB value. |
N | A RGB decimal value. |
name | A system color name: face, shadow, hilight, 3dlight, frame, or text. |
Switches
Switch | Description |
.hex | Returns the value in hex format. (AdiIRC only) |
Example
; Print the RGB decimal value from 123,123,123 //echo -ag RGB value is $rgb(123,123,123) ; Print the RRR,GGG,BBB value from 8092539 //echo -ag RGB decimal value is $rgb(8092539)
Added in 3.9
$rgbcolors
Returns $true if Options -> Use extended colors for events is enabled, otherwise $false.
Added in 1.8.10
$right(text,N)
Returns the N right characters of text.
Parameters
Parameter | Description |
text | The text to return from. |
N | Number of characters from the right. |
Example
; Return last 5 characters from 'Hello World'. //echo -ag $right(Hello World,5)
Added in 1.8.10
$round(N,D)
Returns the specified floating point number rounded to the Dth decimal digit.
Parameters
Parameter | Description |
N | The number to round. |
D | The number of decimals to round to. |
Example
; Round '3.14159' to '2' decimals. //echo -ag $round(3.14159,2)
Added in 2.6
$samepath(path1, path2)
Returns $true if path1 is equal to path2, otherwise $false.
Resolves relative paths and converts long/short filenames.
Parameters
Parameter | Description |
path1 | First path to compare. |
path2 | Second path to compare. |
Example
//echo -ag $iif($samepath(config.ini, $adiircini), Same path, Different path)
Added in 1.9.0
$scid(N)
Returns the matching connection id.
Parameters
Parameter | Description |
N | If N = 0, number of connection id's, otherwise the matching connection id. |
Properties
Property | Description |
.id | 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. |
Example
; Print number of connection id's. //echo -ag $scid(0) ; Print the first connection id. //echo -ag $scid($scon(1)) ; Evaluate $me on the first connection id. //echo -ag $scid($scon(1)).me
Added in 1.9.0
$scon(N)
Returns the Nth connection id.
Parameters
Parameter | Description |
N | If N = 0, number of connection id's, otherwise the Nth connection id. |
Properties
Property | Description |
.id | 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. |
Example
; Print number of connection id's. //echo -ag $scon(0) ; Print the first connection id. //echo -ag $scon(1) ; Evaluate $me on the first connection id. //echo -ag $scon(1).me
Added in 1.8.2
$screen
Returns the name of the first screen found.
$screen(N)
Returns the name of the Nth screen found.
Parameters
Parameter | Description |
N | If N = 0, the number of screens found, otherwise the Nth screen. |
Example
; Print number of screens. //echo -ag $screen(0) ; Print the name of the first screen found. //echo -ag $screen(1)
Added in 1.8.2
$screenb
Returns the bit depth of the first screen found.
$screenb(N)
Returns the bit depth of the Nth screen found.
Parameters
Parameter | Description |
N | If N = 0, the number of screens found, otherwise the Nth screen. |
Example
; Print number of screens. //echo -ag $screenb(0) ; Print the bith depth of the first screen found. //echo -ag $screenb(1)
Added in 1.8.2
$screenh
Returns the height of the first screen found.
$screenh(N)
Returns the height of the Nth screen found.
Parameters
Parameter | Description |
N | If N = 0, the number of screens found, otherwise the Nth screen. |
Example
; Print number of screens. //echo -ag $screenh(0) ; Print the height of the first screen found. //echo -ag $screenh(1)
Added in 2.3
$screenhz
Returns the refresh rate of the first screen found.
$screenhz(N)
Returns the refresh rate of the Nth screen found.
Parameters
Parameter | Description |
N | If N = 0, the number of screens found, otherwise the Nth screen. |
Example
; Print number of screens. //echo -ag $screenhz(0) ; Print the refresh rate of the first screen found. //echo -ag $screenhz(1)
Added in 1.9.6
$screenshot(filename, [options], [x, y, w, h], N)
Takes and saves a screenshot of the desktop or current active window to filename.
Parameters
Parameter | Description |
filename | Filname to save to. |
[options] | Screenshot options. (optional) |
[x, y, w, h] | The position and size of a rectangle to save. (use with the 'z' parameter) |
N | Compression quality (0-100) |
Options
Option | Description |
a | Take screenshot of active window. |
b | Save as bmp image. |
e | Save as Emf image. |
g | Save as gif image. |
i | Save as icon image. |
j | Save as jpeg image. |
p | Save as png image. |
r | Select an area of the screen to save. (Use CTRL + S to save when done) |
t | Save as tiff image. |
w | Save as wmf image. |
x | Save as exif image. |
z | Select and save a rectangle [x, y, w, h] of the screen. |
Example
; Takes a screenshot of current active window and saves it as a png image, then opens the image. //run $qt($screenshot(screenshot.png, pa)) ; Show a transparent form where you can draw a rectangle and save it as a png image, then opens the image. //run $qt($screenshot(screenshot.png, pr))
Added in 1.8.2
$screenw
Returns the width of the first screen found.
$screenw(N)
Returns the width of the Nth screen found.
Parameters
Parameter | Description |
N | If N = 0, the number of screens found, otherwise the Nth screen. |
Example
; Print number of screens. //echo -ag $screenw(0) ; Print the width of the first screen found. //echo -ag $screenw(1)
Added in 1.9.0
$script
Returns the filename for the current running script.
$script(N|filename)
Returns the filename for the Nth loaded script file. If you specify a filename, it returns $null if the file is not loaded.
Parameters
Parameter | Description |
N|filename | The filename to check, if N = 0 number of filenames, otherwise the Nth filename. |
Properties
Property | Description |
.ignore | Returns $true if the loaded script is ignored in the Script Editor, otherwise $false. (AdiIRC only) |
Example
; Print number of filename. //echo -ag $script(0) ; Print the first filename. //echo -ag $script(1) ; Check if 'example.ini' is loaded. //echo -ag $script(example.ini)
Added in 1.9.0
$scriptdir
Returns the directory of the currently executing script.
Can be used inside text without being surrounded by white spaces..
Example
; Print the script directory. //echo -ag current scriptdir is $scriptdir ; Print the script directory inside text. //echo -ag $scriptdir\somefile.ini
Added in 1.9.0
$scriptline
Returns line number in current script.
Example
; Create a alias alias Example { echo -ag Line number for this line is $scriptline } ; Call the alias /example
Added in 2.4
$scripts
Returns $true if /scripts is enabled, otherwise $false.
See also /scripts.
Added in 1.9.0
$sdir(dir,[title],[oktext])
Displays the select folder dialog and returns the selected folder.
Parameters
Parameter | Description |
dir | Starting folder in the folder dialog. |
[title] | Dialog title text. (optional) |
[oktext] | TODO (optional) |
Example
; Open the folder dialog. //echo -ag $sdir(c:\windows,Select Folder)
Added in 2.3
$send(N/nick,[N])
Returns the nickname and filename of the Nth dcc send connection.
Parameters
Parameter | Description |
N/nick | Nick or the Nth connection. |
[N] | The Nth nick match. |
Properties
Property | Description |
.lra | TODO |
.wid | TODO |
.hwnd | TODO |
.cid | Returns the connection id. |
.path | Returns the file path. |
.file | Returns the file name. |
.size | Returns the file size in bytes. |
.sent | Returns the number of bytes sent. |
.pc | Returns the percent complete. |
.secs | Returns number of seconds the transfer has been open. |
.done | Returns $true if transfer was successful, otherwise $false. |
.resume | Returns resume position if file was resumed. |
.cps | Returns a estimate bytes per second. |
.status | Returns "sent" and "failed" if a transfer has been sent successfully or failed. |
.ip | Returns the local ip address. |
.port | Returns the local port. (AdiIRC only) |
Example
; Print number of SEND transfers. //echo -ag $send(0) ; Print filename for the first SEND transfer. //echo -ag $send(1).file
Added in 1.8.10
$server
Returns the name of the currently connected server, otherwise $null.
Added in 2.0
$server(N|address,[group])
Returns the address of the Nth server in the Server List.
Only works when using the new Server List.
-1 Returns the active server, if the active server is in the new Server List.
See also /server.
Parameters
Parameter | Description |
N|address | The server address to lookup, or if N = 0, number of servers, otherwise the Nth server. |
[group] | if specified, only lookup servers from this network group. |
Properties
Property | Description |
.desc | Returns the server description. |
.port | Returns the server port(s). |
.group | Returns the server network group. |
.pass | Returns the server password. |
.ssl | Returns $true if SSL is enabled, otherwise $false. (AdiIRC only) |
.tls | Returns $true if STARTTLS is enabled, otherwise $false. (AdiIRC only) |
.mnick | Returns the main/default nick for this server. (AdiIRC only) |
.method | Returns the login method. |
.methodpass | Returns the login method password. |
.keytype | Returns "global" or "local" depending on whether the server is using a custom SSL/TLS client certificate |
.key | Returns the private SSL/TLS client client certificate filename. |
.itype | Always returns "local". |
.nick | Returns the main/default nick for this server. |
.anick | Returns the first preferred alternative nick for this server. |
Returns Ident Nick@adiirc.com. | |
.user | Returns the username for this server. |
.encoding | Returns the encoding used for this server. |
Example
//echo -ag There is $server(0) servers in your server list. //echo -ag The first server in your server list is $server(1) $server(1).port //echo -ag Libera.Chat $iif($server(irc.libera.chat),is,is not) in your server list.
Added in 1.9.0
$serverip
Returns current active server IP address.
Added in 1.9.6
$servertarget
Returns the address specified in the /server command.
Added in 2.9
$servervars(N|key)
Returns the Nth server variable discovered during raw 004 and 005 events.
Raw 004 tokens are added as _usermodes, _channelmodes, _channelmodesargs.
Raw 002 tokens are added as _ircdversion.
Parameters
Parameter | Description |
N | If N = 0. number of variables, otherwise the Nth variable. |
key | Returns the value from a key=value variable. |
Properties
Property | Description |
.value | Returns the value for the variable if it was discovered as key=value. |
.key | Returns the key/name of the variable. |
Example
; Check for channel types //echo -ag $iif($servervars(CHANTYPES),channel types for this server is $servervars(CHANTYPES),channel types was not found)
Added in 1.9.0
$sfile(file,[title],[oktext])
Displays the select file dialog and returns the selected file.
Parameters
Parameter | Description |
file | Start filename filter in the file dialog. |
[title] | Dialog title text. (optional) |
[oktext] | TODO (optional) |
Example
; Open the file dialog. //echo -ag $sfile(*.*,Select File)
Added in 3.1
$sfstate
Returns the open file(s) status during $sfile and $msfile. (cancel/error/$null)
Added in 1.8.10
$sha1(text|&binvar|filename,[N])
Computes the SHA1 hash value for the input data.
Parameters
Parameter | Description |
text|&binvar|filename | Input to compute. |
N | Input type, 0 = plain text, 1 = &binvar, 2 = file (default is 0) |
Added in 1.9.4
$sha2(text|&binvar|filename,N,T)
Computes the SHA2 hash value for the input data.
Deprecated see $sha256 $sha384 $sha512
Parameters
Parameter | Description |
text|&binvar|filename | Input to compute. |
N | Input type, 0 = plain text, 1 = &binvar, 2 = file (default is 0) |
T | Hash type, 1 = SHA256, 2 = SHA384, 3 = SHA512 (default is 1) |
Added in 1.9.7
$sha256(text|&binvar|filename,[N])
Computes the SHA256 hash value for the input data.
Parameters
Parameter | Description |
text|&binvar|filename | Input to compute. |
N | Input type, 0 = plain text, 1 = &binvar, 2 = file (default is 0) |
Added in 1.9.7
$sha384(text|&binvar|filename,[N])
Computes the SHA384 hash value for the input data.
Parameters
Parameter | Description |
text|&binvar|filename | Input to compute. |
N | Input type, 0 = plain text, 1 = &binvar, 2 = file (default is 0) |
Added in 1.9.7
$sha512(text|&binvar|filename,[N])
Computes the SHA512 hash value for the input data.
Parameters
Parameter | Description |
text|&binvar|filename | Input to compute. |
N | Input type, 0 = plain text, 1 = &binvar, 2 = file (default is 0) |
Added in 1.9.0
$shortfn(filename)
Returns the short version of a long filename.
Parameters
Parameter | Description |
filename | The filename. |
Example
; Print the short filename of AdiIRC.exe //echo -ag $shortfn($adiircexe)
Added in 1.9.1
$show
Returns $false if a command is prefixed with a "." to make it quiet, otherwise returns $true.
Example
; Create an alias. alias Example { echo -ag $iif($show,show,don't show) } ; Call /example normally. /example ; Call /example with a "." prefix. /.example
Added in 1.9.0
$signal
Returns the name of the /signal during a on SIGNAL event.
Example
; Listen for SIGNAL events. on *:SIGNAL:*:{ echo -ag Name of the signal is $signal parameters for the signal is: $1- } ; Execute a signal. /signal Example Hello World
Added in 1.9.0
$sin(N)
Returns the angle whose sine is the specified number.
Parameters
Parameter | Description |
N | The number. |
Properties
Property | Description |
.deg | Returns the degree instead of angle. |
Added in 1.9.3
$sinh(N)
Returns the hyperbolic sine of the specified angle.
Parameters
Parameter | Description |
N | The number. |
Properties
Property | Description |
.deg | Returns the degree instead of sine. |
Added in 1.9.0
$site
Returns the portion of $address after the @ for the user associated with an event in the form user@host.
Example
; Prrint the site address on an incoming message. on *:TEXT:*:*:echo -ag The site address is $site
Added in 1.8.10
$size
Returns the filesize of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.0
$slapsmenu(N, nick)
Used to generate slaps menu.
Returns slaptext:/slap nick N
Parameters
Parameter | Description |
N | Return the Nth slap from custom slaps file, if N is 0 returns number of slaps in custom slaps file. |
Nick | Relevant nicklist nick. |
Added in 1.9.0
$sline(@name,N)
Returns the Nth selected line in a listbox.
Parameters
Parameter | Description |
@name | The window name. |
N | If N = 0, returns the total number of selected lines in the window, otherwise the Nth line. |
Properties
Property | Description |
.ln | Returns the line number of Nth selected line. |
Example
; Create a custom window with a listbox. /window -l @example ; Add some items to the listbox. /aline @example Test1 /aline @example Test2 /aline @example Test2 ; Select the second line in the listbox. /sline @example 2 ; Print the number og selected lines in the listbox. //echo -ag $sline(@example, 0) ; Print the value of the first selected line in the listbox. //echo -ag $sline(@example, 1) ; Print the line number of the first selected line in the listbox. //echo -ag $sline(@example, 1).ln
Added in 1.9.0
$snick(#,[N])
Returns the Nth selected nickname in the channel listbox on channel #.
Parameters
Parameter | Description |
# | The channel. |
[N] | If N is not specified, a space separated list of selected nickcnames, if N = 0, total number of selected nicks, otherwise the Nth selected nick. |
Example
; Print a list of selected nicknames //echo -ag $snick(#) ; Print number of selected nicknames //echo -ag $snick(#, 0) ; Print the first selected nickname //echo -ag $snick(#, 1)
Added in 1.9.1
$snicks
Returns a comma separated string of the currently selected nicknames in the active channel listbox.
Added in 1.9.4
$snotify
Returns the currently selected nickname in the notify list panel.
Added in 1.9.0
$sock(name,[N])
Returns information about a the Nth socket connection.
Parameters
Parameter | Description |
name | Name to lookup, can be a wildcard. |
[N} | If N = 0, number of matches, otherwise the Nth match. (optionally) |
Properties
Property | Description |
.name | Name of the socket. |
.addr | Hostname the socket is connected to. |
.sent | Number of bytes sent. |
.rcvd | Number of bytes received. |
.sq | Number of bytes in send queue. |
.rq | Number of bytes in receive queue. |
.status | Status of the connection: paused/active. |
.ip | IP Addresss the socket is connected to. |
.port | Port the socket is connected to. |
.ls | Number of seconds since the socket last sent data. |
.lr | Number of seconds since the socket last received data. |
.mark | Socket mark set by /sockmark. |
.type | Socket type udp/tcp. |
.to | Number of sockets since it was opened. |
.wsmsg | Return the last socket error message. |
.wserr | Return the last socket error. |
.pause | Returns $true if socket is paused, otherwise $false. |
.ssl | Returns $true if socket is a SSL connection, otherwise $false. |
.sport | Returns the source port from the last received UDP packet. |
.saddr | Returns the source address from the last received UDP packet. |
.bindip | Returns the local ip address the socket is bound to. |
.bindport | Returns the local port the socket is bound to. |
.starttls | TODO |
.certfile | Returns the server certificate file if the socket is a listening socket, otherwise the client certificate file. (AdiIRC only) |
.upnp | Returns $true if using UPNP otherwise $false. |
Example
; Print number of sockets. //echo -ag $sock(*, 0) ; Print the first socket. //echo -ag $sock(*, 1)
Added in 1.9.0
$sockbr
Returns the number of bytes read during a on SOCKREAD event.
Example
; Open a socket connection to 'google.com' port '80'. /sockopen Example www.google.com 80 ; Listen for the on SOCKOPEN event. on *:SOCKOPEN:Example:{ ; Write a GET request. sockwrite -nt $sockname GET / HTTP/1.0 sockwrite -n $sockname } ; Listen for the on SOCKREAD event. on *:SOCKREAD:Example:{ ; Create a local variable to hold the data. var %i ; Read the data waiting into the local variable. sockread %i ; Print number of bytes read. echo -ag Read $sockbr bytes. ; Close the connection. sockclose $sockname }
Added in 1.9.0
$sockerr
Returns any error during a socket command or socket event.
Example
; Open a socket connection to 'google.com' port '80'. alias Example { /sockopen Example www.google.com 80 ; Check if there was an error. if ($sockerr) { echo -ag There was an error: $sockerr halt } } ; Listen for the on SOCKOPEN event. on *:SOCKOPEN:Example:{ ; Write a GET request. sockwrite -nt $sockname GET / HTTP/1.0 sockwrite -n $sockname ; Check if there was an error. if ($sockerr) { echo -ag There was an error: $sockerr halt } } ; Listen for the on SOCKREAD event. on *:SOCKREAD:Example:{ ; Check if there was an error. if ($sockerr) { echo -ag There was an error: $sockerr halt } ; Create a local variable to hold the data. var %i ; Read the data waiting into the local variable. sockread %i ; Print data read. echo -ag Data = %i }
Added in 1.9.0
$sockname
Returns the name of a socket during on SOCKCLOSE, on SOCKLISTEN, on SOCKOPEN, on SOCKREAD and on SOCKWRITE events.
Example
; Open a socket connection to 'google.com' port '80'. /sockopen Example www.google.com 80 ; Listen for the on SOCKOPEN event. on *:SOCKOPEN:*:{ ; Print the name of the socket. echo -ag Sockname is $sockname ; Close the socket. sockclose $sockname }
Added in 1.8.10
$song
Returns the full title of the currently playing song, usually in $artist - $title format.
Added in 2.7
$songfile
Returns the full file path of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.0
$sorttok(text,C,ncra)
Sorts the tokens in text.
$sorttok is case-insensitive, see $sorttokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
C | The ASCII value to tokenize by. |
ncra | n = numeric sort, c = channel nick prefix sort, r = reverse sort, a = alphanumeric sort. (Default is an alphabetic sort) |
Example
; Sort the tokens alphanumeric //echo -ag $sorttok(e.d.c.b.a,46) ; Sort the tokens numeric, reversed //echo -ag $sorttok(1.3.5.2.4,46,nr)
Added in 1.9.0
$sorttokcs(text,C,ncra)
Sorts the tokens in text.
$sorttokcs is case-sensitive, see $sorttok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
C | The ASCII value to tokenize by. |
ncra | n = numeric sort, c = channel nick prefix sort, r = reverse sort, a = alphanumeric sort. (Default is an alphabetic sort) |
Example
; Sort the tokens alphanumeric //echo -ag $sorttokcs(e.D.c.b.a,46)
Added in 3.3
$sound(filename)
Returns ID3 tag information about a file/song.
If file is not found, the default sound folder associated with the file extension is returned.
Same as $mp3.
Parameters
Parameter | Description |
filename | Filename to check. |
Properties
Property | Description |
.album | Album name. |
.title | Song title. |
.artist | Song artist. |
.year | Album/song year. |
.comment | Comments field. |
.genre | Song genre. |
.track | Album track, |
.length | Song length. |
.bitrate | Song bitrate. |
.version | MPEG version. |
.variable | $true if the song is variable bitrate, otherwise $false. |
.sample | MPEG frequency rate. |
.mode | MPEG mode. |
.layer | MPEG layer. |
.copyright | $true if copyright field is enabled, otherwise $false. |
.private | $true if private field is enabled, otherwise $false. |
.vbr | $true if the song bitrate is variable, otherwise $false. |
.id3 | Returns the id3 tag version. |
.tag | Returns the number of id3v2 tags found. |
.tags | Returns the id3v3 tags found. |
.crc | Returns $true if the file is CRC protected, otherwise $false. |
Example
; Print artist - title - album for 'song.mp3' //echo -ag $sound(song.mp3).artist- $sound(song.mp3).title - $sound(song.mp3).album
Added in 2.9
$spellcheck(word, [N])
Returns the Nth spellchecking suggestion for the specified word.
Parameters
Parameter | Description |
word | The word to spellcheck |
[N] | if N = 0, number of suggestions, otherwise the Nth suggestion. |
Example
; Prints the first suggestion for the misspelled word 'wrod'. //echo -ag $spellcheck(wrod, 1)
Added in 1.9.0
$sqrt(N)
Returns the square root of N.
Parameters
Parameter | Description |
N | The number to square. |
Example
//echo -ag The square root of 4 is $sqrt(4)
Added in 3.6
$sreq
Returns the current DCC SEND/SSEND accept option.
Returns
Value | Description |
ignore | All DCC SEND/SSEND requests are ignored. |
ask | Ask whether to accept the DCC SEND/SSEND request. |
auto | DCC SEND/SSEND requests are automatically accepted. |
Added in 1.9.3
$ssl
Returns $true if current active connection is using SSL, otherwise $false.
Added in 3.3
$sslcertremotesha1
Returns the SHA1 hash of the remote certificate used by the current server.
Added in 3.3
$sslcertremotesha256
Returns the SHA256 hash of the remote certificate used by the current server.
Added in 2.8
$sslcertsha1
Returns the SHA1 hash of the client certificate used on the current server.
Added in 2.8
$sslcertsha256
Returns the SHA256 hash of the client certificate used on the current server.
Added in 3.7
$sslcertvalid
Returns $true if the remote server ssl/tls certificate is valid, otherwise $false.
Added in 4.3
$sslhash(md5|sha1|sha256|sha512|ecdsa, p|s)
$sslhash(&binvar, p|s)
Returns the SSL/TLS client or server certificate hash.
Parameters
Parameter | Description |
md5|sha1|sha256|sha512|ecdsa | The hash method to return. (ecdsa is TODO) |
&binvar | Puts the raw certificate into the &binvar. (AdiIRC only) |
p|s | p = the private/client certificate, s = the remote server certificate. |
Properties
Property | Description |
.babble | Returns bubble babble encoded string. |
.colons | Returns hash digest with pairs of hex digits separated by colons. |
Example
//echo -ag The shas256 hash for the current client certificate is $sslhash(sha256, p) //echo -ag The shas256 hash for the current remote certificate is $sslhash(sha256, s)
Added in 1.9.3
$sslready
Returns $true if AdiIRC is ready to make secure connections using SSL.
Always returns $true.
Added in 1.9.6
$starting
Returns 1 if AdiIRC is starting, else 0.
Added in 1.9.2
$status
Returns current server connection status: disconnected, connecting, loggingon, connected.
Added in 1.9.3
$statusbar
Returns $true if Statusbar is visible, otherwise $false.
See also /statusbar, Statusbar.
Added in 1.9.7
$statusbar(name|N)
Returns the Statusbar item matching name or the Nth item, if N = 0, number of Statusbar items.
.alias, .popup, .iconfile properties does not work for built-in items.
See also /statusbar, Statusbar.
Parameters
Parameter | Description |
name|N | Statusbar item name or the Nth item. |
Properties
Property | Description |
.name | Item name. |
.text | Item text. |
.icon | $true if the item has a icon, otherwise $false. |
.visible | $true if the item is visible, otherwise $false. |
.custom | $true if the item is custom, otherwise $false. |
.tooltip | Item tooltip. |
.alias | Item alias. |
.iconfile | Returns the icon file, if any. |
.popup | Item popup name. |
.x | Horizontal position of the Statusbar item relative to the main AdiIRC window. |
.y | Vertical position of the Statusbar item relative to the main AdiIRC window. |
.w | Statusbar item width. |
.h | Statusbar item height. |
.dx | Horizontal position of the Statusbar item relative to the desktop. |
.dy | Vertical position of the Statusbar item relative to the desktop. |
Example
; Print number of Statusbar items. //echo -ag $statusbar(0) ; Print the first Statusbar item name. //echo -ag $statusbar(1)
Added in 1.9.0
$str(text,N)
Returns text repeated N times.
The repeated text can be no longer than 4151 characters.
Parameters
Parameter | Description |
text | The text to repeat. |
N | Number of times to repeat. |
Example
; Prints the text 'text' repeated 4 times. //echo -ag $str(test, 4)
Added in 1.8.10
$strip(text,[buercmos])
Returns text with all control codes stripped out.
Parameters
Parameter | Description |
text | The text to format. |
[burcmo] | If specified, only strip these codes, b = bold, u = underline, r = reverse, c = colors, e = strikethrough, s = stop control codes, m/o = use global strip options from Options -> Messages -> Strip mIRC tags. |
Example
; Strip all codes. //echo -ag $strip($chr(3) $+ 3,3text) ; Use global option to strip codes. //echo -ag $strip($chr(3) $+ 3,3text, m) ; Strip only bold and color codes //echo -ag $strip($chr(2) $+ $chr(29) $+ $chr(3) $+ 3,3text,bc)
Added in 1.9.4
$stripped
Returns the number of control codes that were stripped from an incoming message, if any.
Used in on TEXT, on NOTICE, on CTCP, on PART, on QUIT and on SNOTICE, possibly others as well.
Example
on *:TEXT:*:*:echo -ag Number of stripped control codes is $stripped
Added in 1.8.10
$style(N)
Used to modify the style of a menuitem during a menu event.
Parameters
Parameter | Description |
N | N = 0 for normal, N = 1 for checked, N = 2 for disabled, and N = 3 for both. |
Example
; Create a custom window. /window @Example ; Create a menu for @Example. menu @Example { normal $style(0): checked $style(1): disabled $style(2): checked and disabled $style(3): }
Added in 1.9.0
$submenu($id($1))
Allows you to dynamically create a list of menu items, and can only be called from a menu event.
$id($1) - where $id() is the name of your identifier, and where $1 = 1, and increases by 1 with each call, adding whatever is returned by $id() to the popup menu.
The value that $id() returns must be a one line definition format for a popup menu.
The iteration ends when $id() returns no value.
The begin and end values are sent to check if the item should be enclosed in separators.
Example
menu * { Animal .$submenu($animal($1)) } alias animal { if ($1 == begin) return - if ($1 == 1) return Dog:echo Dog if ($1 == 2) return Cat:echo Cat if ($1 == 3) return Bird:echo Bird if ($1 == end) return - }
Added in 1.9.3
$switchbar
Returns $true if Switchbar is visible, otherwise $false.
See also Switchbar, /switchbar.
Added in 1.9.7
$sysdir(item)
Returns the system folder for the specified item.
Parameters
Parameter | Description |
item | The item to retrieve: profile, desktop, documents, downloads, music, pictures and videos. |
Example
; Retrieve the documents folder //echo -ag Documents folder is $sysdir(documents)
Added in 1.9.0
$tan(N)
Returns the angle whose tangent is the specified number.
Parameters
Parameter | Description |
N | The number. |
Properties
Property | Description |
.deg | Returns the degree instead of angle. |
Added in 1.9.3
$tanh(N)
Return the hyperbolic tangent of N.
Parameters
Parameter | Description |
N | The number. |
Properties
Property | Description |
.deg | Returns the degree instead of angle. |
Added in 1.8.10
$target
Returns the target window for an event.
#channel/nick/Status Window
Example
; Print target window for a new incoming message. on *:TEXT:*:*:echo -ag Target window is $target
Added in 2.9
$tempfn
Returns a random filename.
Added in 3.9
$tempfn(dir)
Returns a random filename in the specified directory.
Parameters
Parameter | Description |
dir | The directoty to create the random file in. |
Added in 1.9.0
$ticks
Returns the number of ticks since your operating system was first started.
Added in 4.0
$ticksqpc
Returns the number of ticks since your operating system was first started, accurate to 1 millisecond unlike $ticks.
Same as $hticks.
Added in 1.9.0
$time
Returns the current time in hour:minute:second format.
Added in 2.4
$timeout
Returns "$timeout" if a $input request times out, otherwise $false.
Returns $timeout in all other cases.
Added in 1.9.0
$timer(N|name)
Returns the timer id of the name or Nth timer in the timers list.
Parameters
Parameter | Description |
N|name | Name of the timer, if N = 0, number of timers, otherwise the Nth timer. |
Properties
Property | Description |
.cid | Returns connection id associated with the timer. |
.wid | Returns window id associated with the timer. |
.hwnd | Returns window handle associated with the timer. |
.delay | Returns the timer interval. |
.pause | Returns $true if the timer is paused, otherwise $false. |
.reps | Returns number of repetitions left. |
.com | Returns the command the timer runs. |
.type | Returns online or offline. |
.mmt | Returns $true if the timer is a multimedia timer, otherwise $false. |
.anysc | Returns $true if the timer is set to dynamically associates itself with the active connection, otherwise $false. |
.time | Returns the HH:MM time to run the timer at, if specified. |
.name | Returns the timers N position even if the timer name is a number. |
.secs | Returns the number of seconds before the next time the timer executes. |
.ms | Returns the number of milliseconds before the next time the timer executes. |
Example
; List number of running timers. //echo -ag $timer(0) ; List the first timer. //echo -ag $timer(1)
Added in 1.9.0
$timestamp
Returns the current time based on the timestamp format set in Options -> Messages.
Added in 1.9.0
$timestampfmt
Returns the event timestamp format as defined in Options -> Messages.
% is removed and 'i' is replaced with 'n' for $asctime compatibility.
; Format current time using the timestamp format //echo -ag $asctime($ctime, $timestampfmt)
Added in 1.9.0
$timezone
Returns the local timezone setting in seconds. Positive is West/Earlier than UTC, negative is East/Later than UTC.
Returns your local timezone relative to UTC in seconds, adjusted by $daylight.
Positive is west/earlier than UTC zone, negative is east/later than UTC.
Total of $timezone + $daylight is always the same while your time zone settings are not changed.
During winter, New York City has $timezone = 18000 $daylight = 0.
During summer, these values change to $timezone = 14400 $daylight = 3600
//echo -a $gmt is the same as $calc($ctime + $timezone) year round (except for low gmt values requiring ctime be negative)
see also $daylight $asctime $gmt $ctime
Added in 1.9.3
$tip(name/N)
Returns properties for the specified tip.
See also /tip.
Parameters
Parameter | Description |
name/N | Tip name or If N = 0 number of open tips, otherwise the Nth tip. |
Properties
Property | Description |
.name | Tip name. |
.title | Tip title. |
.text | Tip text. |
.delay | Delay in milliseconds until tip closes. |
.iconfn | Icon file name. |
.iconpos | Icon position. |
.alias | Alias to be executed on double click. |
.wid | Window id associated with this tip. |
$tip(name,title,text,delay,iconfn,iconpos,alias,wid)
Allows you to create scripted tips that are independent of normal tip events. Returns Nth position of tip if it was successfully created, zero if not.
Title and text can have Control Codes.
Setting the delay to 0 makes the Tip "sticky" and have to be manually closed or the main window activated. (AdiIRC only)
Parameters
Parameter | Description |
name | Name of the tip. |
title | The title of the tip. |
text | The tip text. |
delay | If 0 makes the tip "sticky", otherwise delay for N seconds before showing the tip. |
iconfn | Icon/dll file to use for the tip. |
iconpos | Icon position in the icon/dll file to use for the tip. |
alias | Alias to execute when clicking the tip. |
wid | $wid to associate the tip with. |
Example
; Create and show a Tip using the title 'title here' and the text 'text here'. ; Prefix with /noop to ignore the result. //noop $tip(name, title here, text here)
Added in 1.9.3
$tips
Returns $true if Tips is enabled, otherwise $false.
Added in 1.9.6
$tips(channel|nick)
Returns $true if tips is enabled for this window, otherwise $false.
AdiIRC only.
Parameters
Parameter | Description |
channel|nick | Channel or nick window to check. |
Example
//echo -ag Tips for #example is $iif($tips(#example), on, off)
Added in 1.8.10
$title
Returns the title of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.3
$titlebar
Returns the text in the AdiIRC Titlebar.
Added in 1.9.1
$token(text,N,C)
Returns the Nth token in text.
Same as $gettok.
N-N2 can be used to get a range of tokens, both numbers can be negative.
N- can be used to get all tokens from position N.
Parameters
Parameter | Description |
text | The text to tokenize. |
N | The Nth token to get. |
C | The ASCII value to tokenize by. |
Example
; Print the 3rd token in 'a.b.c.d.e' //echo -ag $token(a.b.c.d.e,3,46) ; Print the second to forth token in 'a.b.c.d.e'. //echo -ag $token(a.b.c.d.e,2-4,46) ; Print all tokens from the second position. //echo -ag $token(a.b.c.d.e,2-,46)
Added in 1.9.3
$toolbar
Returns $true if the Toolbar is visible, otherwise $false.
$toolbar(name||N)
Returns properties for a Toolbar button.
Parameters
Parameter | Description |
name||N | Toolbar item name or the Nth item, if N = 0, number of Toolbar items. |
Properties
Property | Description |
.name | Toolbar item name. |
.type | button or separator. |
.tip | Toolbar tooltip text. |
.alias | Toolbar alias. |
.popup | Toolbar popup name. |
.width | Toolbar item width. |
.height | Toolbar item height. |
.wide | TODO ($true) |
.enabled | $true if the Toolbar item is enabled, otherwise $false. |
.visible | $true if the Toolbar item is visible, otherwise $false. |
.checked | $true if the Toolbar item is checked, otherwise $false. |
.alpha | TODO (0) |
.iconfile | Returns the icon file, if any. (AdiIRC only) |
.x | Horizontal position of the Toolbar item relative to the main AdiIRC window. (AdiIRC only) |
.y | Vertical position of the Toolbar item relative to the main AdiIRC window. (AdiIRC only) |
.w | Toolbar item width. (AdiIRC only) |
.h | Toolbar item height. (AdiIRC only) |
.dx | Horizontal position of the Toolbar item relative to the desktop. (AdiIRC only) |
.dy | Vertical position of the Toolbar item relative to the desktop. (AdiIRC only) |
Example
; Print number of Toolbar items. //echo -ag $toolbar(0) ; Print the first Toolbar item name. //echo -ag $toolbar(1)
Added in 1.9.9
$topic
Returns the new topic during a on TOPIC event.
Example
on *:TOPIC:#:echo -ag Topic was changed to $topic in channel #
Added in 2.7
$topicbox(window,[N])
Returns the text in the Topicbox of the specified window.
Parameters
Parameter | Description |
window | The window associated with the Topicbox to use. |
Properties
Property | Description |
.selstart | Returns the position of the first selected character. |
.selend | - Returns the position of the last selected character. |
.color | Gets the current Topicbox text color in $rgb format. |
.backcolor | Gets the current Topicbox background color in $rgb format. |
.rgbcolor | Gets the current Topicbox text color in rrr,ggg,bbb format. |
.rgbbackcolor | Gets the current Topicbox background color in rrr,ggg,bbb format. |
Example
; Print the content of the Topicbox. //echo -ag Text is $topicbox($active) selstart is $topicbox($active).selstart selend is $topicbox($active).selend
Added in 1.8.10
$totaltracks
Returns the total track count of the currently selected playlist.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 3.3
$totp(<key>, [time], [hash], [digits], [timestep], [encoding])
Returns a TOTP (Time-based One-time Password) based on the specified parameters.
TOTP is designed for hashes no shorter than 160 bits, so using md5 hash is not secure enough and should never be used with $totp.
Parameters
Parameter | Description |
key | The key to hash. (Auto-detected between text/hex/base32 as described below) |
time | A $ctime timestamp to indicate current start time. (default is $ctime) valid range 0-2^64-1 |
hash | Hash method to hash the key with. (sha1, sha256, sha384, sha512, md5, sha1 is default) |
digits | Number of digits to return. (3 - 10, default is 6) (AdiIRC only: digits=0 returns entire internal HMAC string) |
timestep | Duration of the time interval. (default is 30) valid range = 1-3600 |
encoding | Sets encoding method for 'key'. (t = UTF8 plain text, x = hex, a = base32) (AdiIRC only) |
Default when 'encoding' is not used, attempts to support 'key' in several formats as follows:
if (key length excluding spaces is any of lengths 40|64|128 and $remove(key,$chr(32)) is hex ) encoding = x
if (key length excluding spaces is any of lengths 16|26|32 and $remove(key,$chr(32)) is base32) encoding = a
These assume hex keys of 160|256|512 bits, or base32 keys of 80|128|160 bits. all other cases: encoding = t
encoding 'x' or 'a' ignore all spaces padding, but 't' does not. All encoding formats reject key being $null or entirely consisting of spaces.
Note: definition of base32 is case-insensitive [a-zA-Z2-7] after removing spaces, and '=' padding is NOT allowed
Note: It's recommended that the secret 'key' contain entropy no less than the bit length of the 'hash' used. Also, hash blocklength is 64 except for sha512|sha384 having 128. Key is shortened to hash(key) if key is longer than 'blocklength'. i.e. Using key longer than 512 bits with hash=sha1 shortens key to 160 bits:
//var -s %key $regsubex(foo,$str(x,65),/x/g,$rand(a,z)) | echo -a $totp(%key,123) same as $totp($sha1(%key),123)
(Equivalence is due to the length 40 string seen as encoding=x)
If interval longer than 1 hour is needed, must uses timestep=1 with altered time value. i.e. for 9-digit daily code which uses sha256 and changes each day at 6pm. Change the 18 if the rollover hour-of-day should be different:
//var %interval $calc( ($ctime - $timezone -3600*18) // 86400) | echo -a $totp(key,%interval,sha256,9,1,t)
Added in 1.8.10
$track
Returns the track number of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.9.3
$treebar
Returns $true if Treebar is visible, otherwise $false.
Added in 1.8.10
$true
Returns $true, mainly used for /if, /while expressions.
Example
if ($true) { echo -ag expression was true } if (!$true) { echo -ag expression was false } if ($false) { echo -ag expression was false } if (!$false) { echo -ag expression was true }
Added in 1.9.0
$trust(N)
Returns the Nth item in the DCC trust list set in Options -> DCC -> Auto accept transfers.
Parameters
Parameter | Description |
N | If N = 0, the number of items in the trust list, otherwise the Nth item. |
Example
; Print the number of items in the DCC trust list. //echo -ag $trust(0) ; Print the first item in the DCC trust list. //echo -ag $trust(1)
Added in 1.8.10
$ulevel
Returns the user level that was matched for the currently triggered event.
; Prrint the matched ulevel. on *:TEXT:*:*:echo -ag The matching user level for this event is $ulevel
Added in 1.9.7
$ulist(nick!userid@address,L,N)
Returns the Nth address in the Users list that matches the specified address and level.
If you do not specify a full address, it completes the address with wildcards.
If you do not specify N, the first matching address is returned.
If you specify L, only matching addresses that contain the specified level are returned.
L and N are optional, but if you specify L, you must specify N.
Parameters
Parameter | Description |
nick!userid@address | Address to match. |
L | Access level to match. |
N | The Nth match. |
Properties
Property | Description |
.info | Returns the information field of the matched address. |
Example
; Lookup all addresss and print the number of matches. //echo -ag $ulist(*,0) ; Lookup any address and print the first one. //echo -ag $ulist(*,1)
Added in 2.4
$unsafe(text)
Base64 encodes a text to delay evaluation for one level of evaluation.
Useful for external user input in commands that may evaluate text later on, such as /timer commands.
Parameters
Parameter | Description |
text | The text to evaluate. |
Properties
Property | Description |
.undo | Undo the base64 encode of the text. |
Added in 2.7
$updating
Returns $true if AdiIRC is updating itself, otherwise $false.
Added in 1.6
$updays
Days since computer was last (re)started.
Added in 1.6
$uphours
Hours since computer was last (re)started.
Added in 1.6
$upmins
Minutes since computer was last (re)started.
Added in 1.9.0
$upper(text)
Returns text in uppercase.
See also $lower, $islower, $isupper.
Parameters
Parameter | Description |
text | The text to format. |
Example
; Print 'text' in uppercase. //echo -ag $upper(text)
Added in 1.9.6
$uptime
Returns connection time in seconds for the associated server connection.
Added in 1.9.2
$uptime(mirc|AdiIRC|server|system[, N])
Returns uptime in milliseconds for the specified item.
Parameters
Parameter | Description |
mirc|AdiIRC|server|system | Item to retrieve uptime for. |
N | Optional, if N = 1 returns same format as $duration, if N = 2 returns same format as $duration but without seconds, and if N = 3 returns seconds instead of milliseconds. |
Example
; Current connection uptime. //echo -ag Server has been connected $uptime seconds ; AdiIRC uptime. //echo -ag AdiIRC has been connected $uptime(AdiIRC, 1)
Added in 1.9.3
$url
Returns the currently active URL in your Web Browser.
Only works for Internet Explorer/Opera 12, does not work in any modern browser due to DDE support being removed.
As of AdiIRC 4.4, url can be retrieved from chrome, edge, firefox, opera, brave and vivaldi. In some of them the http(s) prefix is not available, the rest of the url is there however._
Note: AdiIRC 64 bit version is only able to get the url from 64 bit browsers and the 32 bit version from 32 bit browsers.
$url(N)
Returns the Nth captured URL address in URL catcher.
Parameters
Parameter | Description |
N | If N = 0, number of URL addresses, otherwise the Nth URL address. |
Properties
Property | Description |
.desc | TODO |
.group | TODO |
Example
; Print number of caught URL addresses. //echo -ag $url(0) ; Print the first caught URL address. //echo -ag $url(1)
Added in 3.6
$urlget(N/id/url,options,target,alias,headers,body)
Performs a GET/POST request to a http server and returns a unique id to identify the request.
When the request is finished, calls the specified alias with the id as a parameter.
Files downloaded with the 'f' parameter will use the folder matching the file extension from Dcc Get Folders or the default Dcc Get Folder.
Parameters
Parameter | Description |
N | If N = 0, returns the Nth running request, otherwise the Nth running request. |
id | Returns the running request matching the id. |
url | The url to perform the GET/POST request to. |
Options | Url get options. |
target | The target &binvar or filename to save the response. |
alias | The alias to perform when the request is completed. |
headers | &binvar containing addiotional headers separated by $crlf. (optional) |
body | &binvar containing POST data, used with the "p" switch. (optional) |
Options
Option | Description |
g | Perform a GET request. |
p | Perform a POST request. |
f | Save the response to a file. |
b | Save the response to a &binvar. |
r | Resume a failed request/download. |
t | TODO |
c | Cancel a running request. |
k | Disable url/header redirect. |
i | Ignore SSL/TLS certificate errors. |
Properties
Property | Description |
.url | Returns the url used. |
.redirect | Returns the value of the location header if available. |
.method | Returns the method used (GET/POST). |
.type | Returns the type of output, (binvar/file). |
.target | Returns the value of target (name of the binvar or filename). |
.alias | Returns the name of the alias used. |
.id | Returns the unique request id. |
.state | Returns the state (ok, connect, download, fail). |
.size | Returns the value of the Content-Lenght header. |
.resume | Returns the number of bytes to resume from a failed request/download. |
.rcvd | Returns the number of bytes received after the header, could be different from .size after a failed download. |
.time | Returns the time taken to complete the processing, in milliseconds. |
.reply | Returns the response headers. |
Example
; Perform a GET request to adiirc.com and put the result in '&target' binvar. //noop $urlget(https://adiirc.com,gb,&target,callback) ; Or Perform a POST request to adiirc.com and put the result in '&target' binvar. alias posttest { bset -t &header 1 Test: Header bset -t &body 1 foo1=bar1&foo2=bar2 noop $urlget(https://adiirc.com,pb,&target,callback,&header,&body) } ; When a request is finished, print the result. alias callback { echo -ag Response: $bvar($urlget($1).target,1-).text } ; List the number of running requests. //echo -ag $urlget(0) ; List the first running request. //echo -ag $urlget(1) ; Cancel the first running request. //echo -ag $urlget(1, c) ; Download the latest AdiIRC beta. ; Notice the 'target' parameter is left blank so it will use the original filename from the server. ; Also notice the 'alias' parameter is set to /noop to ignore the callback. //noop $urlget(https://adiirc.com/AdiIRC64_45.exe,gf,,/noop)
Added in 1.9.0
$usermode
Returns your current usermode on the currently active IRC server.
Added in 2.3
$username
Returns the username set in Server list or specified in the /server command for current connection.
Added in 1.9.0
$utfdecode(text, C)
Decodes a UTF-8 string and returns it in default windows encoding.
Parameters
Parameter | Description |
text | The UTF-8 text to decode. |
C | TODO |
Added in 1.9.0
$utfencode(text, C)
Decodes a default windows encoding string into UTF-8 and returns it.
Parameters
Parameter | Description |
text | The text to encode. |
C | TODO |
Added in 1.9.0
$v1
Returns the first parameter of an if-then-else comparison.
Same as $ifmatch, see also $v2.
Example
; In this case '$v1' will be 'text' and '$v2' will be 'sometext'. if (text isin sometext) { echo -ag v1 is $v1 }
Added in 1.9.0
$v2
Returns the second parameter of an if-then-else comparison.
Same as $ifmatch2, see also $v1.
Example
; In this case '$v1' will be 'text' and '$v2' will be 'sometext'. if (text isin sometext) { echo -ag v2 is $v2 }
Added in 1.9.0
$var(%var,[N])
Returns the Nth matching variable name.
Searches both local and global variables, wildcards can be used.
See also /var, /set, /unset, /inc, /dec.
Parameters
Parameter | Description |
%var | Variable to match. |
[N] | If N = 0, number of matched variables (default), otherwise the Nth match. (optional) |
Properties
Property | Description |
.value | The variable value. |
.local | $true if the variable is a local variable, otherwise $false. |
.secs | Number of seconds until the variable is unset (if autounset is on). |
.unset | Number of seconds until the variable is unset (if autounset is on). |
Examples
; Create a variable. /set %Example Hello World ; Print number of variables matching '%Example*'. //echo -ag $var(%Example*, 0) ; Print the name and value from the first match. //echo -ag $var(%Example*, 1) = $var(%Example*, 1).value ; Delete the variable /unset %Example
Added in 1.8.10
$version
Returns the AdiIRC version number.
Note that this requires some scripts to be modified in order to allow them to work in both clients, as you would need to check a different number in each client. For example, if a script requires a minimum of mIRC v7.55, it might contain a line like:
if ($version < 7.55) goto syntax
However, that would also reject running the script in AdiIRC until the far distant future. To allow the script to run in both clients, you could use $~adiircexe to test if it's running inside AdiIRC, where you can test for the minimum $version or $builddate needed to run the script:
//if ((!$~adiircexe && $version < 7.55) || ($version < 4)) goto syntax
Added in 1.9.0
$vnick
Returns the nick that was (de)opped during a on VOICE, on on DEVOICE event.
Example
on *:VOICE:*:echo -ag The nick opped is $vnick on *:DEVOICE:*:echo -ag The nick deopped is $vnick
Added in 2.0
$vnick(#,N)
Returns the Nth voice nick.
See also $nvnick, $hnick, $nhnick, $opnick, $nopnick., $admnick, $nadmnick, $onick., $nonick.
Parameters
Parameter | Description |
# | The channel. |
N | If N = 0, number of nicks, otherwise the Nth nick. |
Example
echo -ag There is $vnick(#,0) voice users echo -ag First voice nick is $vnick(#,1)
Added in 1.9.0
$vol(wave|midi|song|mp3|master)
Gets the current volume for the specified sound setting.
Parameters
Parameter | Description |
wave|midi|song|master | The sound setting to get status from. |
Properties
Property | Description |
.mute | Returns $true if the player is muted, otherwise $false. |
Example
; Print volume for 'song' //echo -ag Volume for song is $vol(song)
Added in 1.8.10
$volume
Returns the volume in percent of the current selected media player.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$volumeb
Returns a text volume bar (**---) of the currently selected media player.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$volumep
Returns the volume in percent of the current selected media player.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 3.3
$wavedir
Returns the directory where AdiIRC stores wave files set in Options -> Sounds.
Can be used inside text without being surrounded by white spaces.
See also $mp3dir, $mididir, $sound, $mp3, /splay.
Example
; Print the wave folder, no space after $wavedir is needed. echo -ag $wavedir\file,wav
Added in 1.9.0
$wid
Returns window id for the script.
Added in 1.9.1
$width(text,font,size,[B],[C],[D])
Returns width 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 dialogs.
Parameters
Parameter | Description |
text | Text to measure. |
font | Font to measure. |
size | Font size to measure. |
[B] | If B is non-zero, the font is bold. (optional) |
[C] | If C is non-zero, control codes are processed. (optional) |
[D] | TODO |
Example
; Measure the width of text 'Hello World' using font 'Verdana 9'. //echo -ag $width(Hello world, Verdana, 9)
Added in 1.9.0
$wildsite
Returns the portion of $address after the @ for the user associated with an event in the form *!*@host.
Example
; Prrint the wildsite address on an incoming message. on *:TEXT:*:*:echo -ag The wildsite address is $wildsite
Added in 1.9.0
$wildtok(text,wildstring,N,C)
Returns the Nth token that matches the wildcard string.
$wildtok is case-insensitive, see $wildtokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
wildstring | String to search. |
N | If N = 0, return number of matching tokens, otherwise the Nth token. |
C | The ASCII value to tokenize by. |
Example
; Prints the number of matches from the wildstring 't*'. //echo -ag $wildtok(one two three, t*, 0, 32) ; Prints the first match from the wildstring 't*e'. //echo -ag $wildtok(one two three, t*e, 1, 32)
Added in 1.9.0
$wildtokcs(text,wildstring,N,C)
Returns the Nth token that matches the wildcard string.
$wildtokcs is case-sensitive, see $wildtok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
wildstring | String to search. |
N | If N = 0, return number of matching tokens, otherwise the Nth token. |
C | The ASCII value to tokenize by. |
Example
; Prints the number of matches from the wildstring 'T*'. //echo -ag $wildtokcs(one two Three, T*, 0, 32) ; Prints the first match from the wildstring 'T*e'. //echo -ag $wildtokcs(one two Three, T*e, 1, 32)
Added in 1.9.0
$window(N/@name/@wildcard, M)
Returns properties for a window.
See also /window.
Parameters
Parameter | Description |
---|---|
N/name/ wildcard |
Name of the window or the Nth window. (@wildcard is also possible if M is defined) |
M | The Nth @wildcard match. (optional) |
If N is -1 | returns properties for the desktop area. |
If N is -2 | returns properties for the AdiIRC main window. |
If N is -3 | returns properties for the MDI client area of the main window. |
Properties
Propertie | Description |
---|---|
.x | Horizontal position of the window relative to the mainform. |
.y | Vertical position of the window relative to the mainform. |
.w | Window width. |
.h | Window height. |
.cx | TODO |
.cy | TODO |
.dx | Horizontal position of the window relative to the desktop. |
.dy | Vertical position of the window relative to the desktop. |
.dw | Width of the Text Area. |
.dh | Height of the Text Area. |
.bw | Width of the bitmap for a picture window. |
.bh | Height of the bitmap for a picture window. |
.mdi | $true if the window is a MDI window/docked, otherwise $false |
.title | The text of the window Titlebar. |
.state | minimized/maximized/hidden/normal. |
.font | Name of the current font. |
.fontsize | Size of the current font using the current display DPI. |
.fontdialogsize | The real size of the current font. |
.fontbold | $true if the font is bold, otherwise $false. |
.fontitalic | $true if the font is italic, otherwise $false. |
.fontunderline | $true if the font is underline, otherwise $false. |
.fontcs | returns the character set of the current font. |
.logfile | Name of logfile if one is open for the window. |
.historyfile | Name of the file Editbox history will be saved to. (AdiIRC only) |
.iconfile | Name of the icon file used for a custom icon. (AdiIRC only) |
.backgroundfile | Name of the background file used for a custom background. (AdiIRC only) |
.backgroundlayout | Gets background layout for this window. (AdiIRC only) |
.stamp | $true if timestamp is on for this window, otherwise $false. |
.icon | $true if icon is visible in Switchbar otherwise $false. |
.ontop | $true if window is on top otherwise $false. |
.type | Window type, channel/status/query/custom/picture/chat/tool/panel. |
.anysc | $true if the window was created with the /window -i parameter, otherwise $false. |
.wid | Window id. |
.cid | Connection id. |
.hwnd | Window handle. |
.sbtext | Switchbar button text for this window. |
.sbcolor | Switchbar color event event/message/highlight for this window. |
.sbstate | Switchbar button state (1 = visible, 0 = not visible) for this window. |
.tbtext | Treebar text for this window. |
.tbstate | Treebar state (1 = visible, 0 = not visible) for this window. |
.lb | listbox state (2 = side listbox, 1 = listbox, 0 = no listbox) for this window. |
.topicbox | Topicbox state (2 = Show sticky, 1 = show, 2 = off) for this window. (AdiIRC only) |
.idle | idle state. |
.isbottom | $true if the Text Area is scrolled to the bottom, otherwise $false. (AdiIRC only) |
.unread | Returns number of unread messages. (this include system messages, use .sbcolor to check the type, AdiIRC only) |
.layer | Returns the window layer. (AdiIRC only) |
.mscrollpos | Returns the current scrollbar position for the Text Area. (AdiIRC only) |
.mscrollmax | Returns the max scrollbar position for the Text Area. (AdiIRC only) |
.collapsed | Returns $true if the associated Status Window is collapsed in the Treebar, otherwise $false. (AdiIRC only) |
.eb | Returns 1 if the window has a Editbox, otherwise 0. (AdiIRC only) |
.fullscreen | Returns $true if the window is fullscreen, otherwise $false. |
Added in 1.9.6
$windowtitle(lpClassName, lpWindowName)
https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx
Returns the title text of the matching window.
Added in 1.9.7
$wmiquery([path], query, [N], N|key)
Performs a WMI query and return the Nth value.
Parameters
Parameter | Description |
[path] | Optional path. |
query | Query to perform. |
[N] | If 0, numbers of results else the Nth value (optional, default is 1) |
N|key | The key to get or the Nth key. |
Properties
Property | Description |
.key | Returns the name of the Nth key if N|key is a number. |
Example
; Prints the cpu l2 cache //echo -ag l2 cache is $wmiquery(SELECT * FROM Win32_Processor, L2CacheSize)
Added in 3.3
$wrap(text, font, size, width, [word,] N)
Returns the Nth line in text wrapped to the specified width in pixels.
Parameters
Parameter | Description |
text | The text to wrap. |
font | The font to wrap with. |
size | The font size to wrap with. |
width | The width in pixels for the area to wrap to. |
[word] | If specified with "1" or word is not specified, the wrapping is performed on whole words, otherwise performed on max length. |
N | If N = 0 number of wrapped lines, otherwise the Nth wrapped line. |
Properties
Property | Description |
.cc | Retain the control used for the previous line. (AdiIRC only) |
Example
; Show number of wrapped line for this text. //echo -ag Number of wrapped lines is $wrap(veeeeeeerrrrrry long line, verdana, 9, 100, 0) ; Show the first wrapped line for this text. //echo -ag The first wrapped line is $wrap(veeeeeeerrrrrry long line, verdana, 9, 100, 1)
Added in 1.9.0
$xor(A,B)
Returns A binary xor B.
Supports Big Integers
Parameters
Parameter | Description |
A | The binary value to xor. |
B | The binary value to xor to. |
Example
; xor 1110 into 1001. //echo -ag $xor(1110,1001)
Added in 1.8.10
$year
Returns the year of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 2.4
$yes
Returned when clicking a "Yes" button during a $input request.
Added in 2.9
$zip
Returns the name of the zip operation during a on ZIP or on UNZIP event.
$zip(name, [N])
Returns information about a zip/unzip item during a on ZIP or on UNZIP event.
See also /zip, $ziperr, on ZIP, on UNZIP.
Parameters
Parameter | Description |
name | Name of the zip/unzip operation. (can be a wildcard) |
[N] | The Nth matches name. |
Properties
Property | Description |
.name | Returns the name of zip/unzip operation. |
.src | Returns the source file or folder. |
.dest | Returns the destination file or folder. |
.ratio | Returns 0, 1 or 2 where 0 = no compression, 1 = fastest compression, 2 = optimal compression. |
.unzip | Returns $true if this is a unzip operation, otherwise $false. |
Example
; Zip the entire adiirc folder into 'adiirc.zip' //zip name $qt($adiircdir) adiirc.zip ; Print the zip result when then zip operation is finished. on *:ZIP:name:echo -ag zipped $zip($zip).src into $zip($zip).dest status: $iif($ziperr,fail,ok)
$zip(file.zip,options,file|dir,password,N)
Create or extract zip files.
Returns "1" if the operation was successful, otherwise "0".
Parameters
Parameter | Description |
file.zip | The zip file to list/test/create or extract. |
options | The zip options. |
file|dir | File or directory to zip or directory to extract to. |
password | TODO |
N | Used with the "l", if N = 0, number of zipped files in the zip file, otherwise the Nth zipped file. |
Options
Option | Description |
c | Create a new zip file. |
e | Extract a zip file. |
t | Test a zip file. |
l | List number of files in a zip file or the Nth file. |
p | TODO |
o | Overwrite existing zip file or extract folder. |
Properties
Property | Description |
.csize | Returns the compressed size of the file. (AdiIRC Only) |
.size | Returns the size of the file. |
.mtime | Returns the last modification time of the file. |
Example
; Creates a new zip file called 'file.zip' and adds the file 'file,txt'. //echo -ag $zip(file.zip, c, file.txt) ; Creates a new zip file called 'file.zip' and adds the folder 'folder'. //echo -ag $zip(file.zip, c, folder) ; Extracts the zip file 'file.zip' to the folder 'extracted'. //echo -ag $zip(file.zip, e, extracted) ; Prints number of zipped files in the zip file 'file.zip'. //echo -ag $zip(file.zip, l, 0) ; Prints the file name of the first zipped file in the zip file 'file.zip'. //echo -ag $zip(file.zip, l, 1)
Added in 2.9
$ziperr
Returns any errors of a zip/unzip operation during a on ZIP or on UNZIP event.
See also /zip, $zip, on ZIP, on UNZIP.
Added in 1.9.0
$?*!N="message"
Prompts the user for input and returns the result.
See also $input.
Can be prefixed with # to ensure the resulted text starts with a channel prefix.
Parameters
Parameter | Description |
* | Use a password Editbox. |
! | Use a yes/no dialog which will return $true if user clicks yes, otherwise $false. |
="message" | Message to display. |
N | Try to use the Nth token as the result text. |
Example
; Ask the user for his name and print the result. //echo $?="What is your name?" ; Ask the user for his password and print the result. //echo $?*="What is your password?" ; Ask the use to continue with a yes/no dialog. //echo $?!="Do you want to continue?" ; Ask for the second token. //tokenize 44 a,b,c | echo -ag Ths second token is $?2
Added in 1.9.2
$~[identifier]
A identifier prefixed with "~" executes normally if the identifier exists, and otherwise returns $null without generating a missing identifier warning if that's enabled. This also ensures that it cannot execute a custom alias of that same name.
//echo -a $ticksqpc and $~ticksqpc
In this example, the 1st $ticksqpc executes the built-in identifier if the script runs in a version new enough to contain that identifier. In older versions, it could execute a custom alias if it exists as that name, and otherwise would either return $null or trigger the optional identifier warning.
The 2nd $~ticksqpc never executes a a custom alias, and either executes a built-in identifier existing by that name, or in too-old versions returns $null without triggering the optional identifier warning.
Added in 2.2
/abook -wnclh [nickname]
Opens the Address book dialog.
Switches
Switch | Description |
-w | Opens the Whois tab. |
-n | Opens the Nick Colors options. |
-c | Opens the Control tab. |
-l | Opens the Nick Colors options. |
-h | Opens the Highlights options. |
Parameters
Parameter | Description |
[nickname] | Nickname to show in the Users tab. |
Example
; Open the address book in the 'whois' tab with the nick 'nick' set. /abook -w nick
Added in 1.7
/aclear [-agmnqstu]
Clears the buffer and Switchbar/Treebar unread color of the specified window type, if no type is specified, all windows on current connection is cleared.
Switches
Switch | Description |
-a | All windows on all connections. |
-g | TODO |
-m | TODO |
-n | Channel windows. |
-q | Query windows. |
-s | Status windows. |
-t | DCC chat windows. |
-u | Custom windows. |
Example
; Clear all channel and query windows. /aclear -nq ; Clear all windows on current connection. /aclear
Added in 1.8.10
/action <message>
Sends a emote message to current channel or private window. It is the same as using /me
Parameters
Parameter | Description |
<message> | The emote message to send. |
Example
/action Hello world.
Name of the channel.
Password of the channel, if any.
When checked, the channel will be joined when the server connects, otherwise it will be treated as a channel favorite.
When checked, the channel window will be minimized when joined.
Add or edit a auto-op/auto-voice address.
Hostname/address to auto op/auto voice.
Comma separated list of channels to auto op/auto voice on.
$network name to auto op/auto voice on.
Command to use when pressing the shortcut.
Use Control key as a modifier for the shortcut.
Use Shift key as a modifier for the shortcut.
Use Alt key as a modifier for the shortcut.
Key to use for this shortcut.
The channel name for the favorite items.
The channel password if any.
A description/note for the channel.
The folder to associate this channel with.
The network(s) to associate the channel with.
If checked, the channel will joined in the background and not get focus.
if enabled, the channel will be joined on connect if the Enable join on connect options ie enabled.
The word(s) to highlight.
$me can be used to refer to your current nick.
The Highlight trigger will be evaluated and can contain identifiers.
Identifiers like $me must be surrounded by spaces, $+ can be used to combine a identifier with something else, eg. $me $+ + to create Nick+.
This applies to regex as well.
See also $highlight.
Search the Message and/or the Nickname for matching word(s).
If enabled, only exact matches will trigger.
If enabled, the highlight word(s) can be a regular expression
When highlight word(s) is matched, play a beep, a sound file or nothing.
Color the match using the mIRC colors 0-15.
The first color in the dropdown is the Options -> Colors -> Highlight color.
The last dropdown item allows you to select any color you want.
When highlight word(s) is matched, flashes the main window in the Taskbar [X] times.
When highlight word(s) is matched, shows a Tip message for [X] seconds.
If filled, will only match the highlight word(s) if the network or server address also matches the current server.
Multiple networks can be added using comma, wildcards is allowed.
If filled, will only match the highlight word(s) if the message originated on the matched channel name.
Multiple channels can be added using comma, wildcards is allowed.
If filled, will only match messages written by the specified nickname or address.
Multiple nicks can be added using comma, wildcards is allowed.
The Tip message to show when highlight word(s) is matched.
The Tip message will be evaluated and can contain identifiers.
When highlight word(s) is matched, run a scripting command.
The command will be evaluated and can contain identifiers.
The nick or address to ignore.
If no specific ignore option is enabled, all options are ignored.
Ignore private messages from the nick/address.
Ignore channel messages from the nick/address.
Ignore notice messages from the nick/address.
Ignore ctcp requests from the nick/address.
Ignore DCC requests from the nick/address.
Ignore channel invites from the nick/address.
Ignore control codes from the nick/address.
Ignore Tips from the nick/address.
Ignore Highlights from the nick/address.
Ignore Inline Images from the nick/address.
Ignore Emoticons from the nick/address.
Exclude this nick/address from being ignored.
Remove this ignore after [X] seconds.
Limit this ignore rule to the specified network name or server address.
Limit this ignore rule to the specified channel(s).
Separate with comma ",".
Can be a wildcard,
Add a note.
Limit this ignore to messages matching the specified text. (Can be a wildcard)
If enabled, the message match is done using case sensitivity.
If enabled, performs a Regular expression on the message instead of wildcard.
Color to use for coloring the match.
The last dropdown item allows you to select any color you want.
If enabled, the match will be colored using a random nick color.
Ignored for your own messages, set a fixed color instead.
Match on messages, Nicklist or both.
Match the nick or address.
$me can be used to refer to your current nick.
Match user with no address in the $ial yet.
Match users with the specified channel modes.
Match users with any channel mode.
Match users with no channel mode.
Match only users who are marked as away.
Match users with the specified user levels.
Match users who has been idle for more than [X] minutes
If checked, match a nick in the Address Book.
If checked, match a nick in the ignore list.
If checked, match a nick in the notify list.
If checked, match a nick in the Auto-op list.
If checked, match a nick in the Auto-Voice list.
If filled, will only match the nick if the network or server address also matches the current server.
Multiple networks can be added using comma, wildcards is allowed.
If filled, will only match if the nick is on the matched channel name.
Multiple channels can be added using comma, wildcards is allowed.
bh1. Add/Edit Nicklist icon Dialog
Path to a image file to use as icon for this match.
The nick or address to match.
$me can be used to refer to your current nick.
Match user with no address in the $ial yet.
Channel modes to match, e.g to match all channel ops *@* can be used.
Match a user with any channel mode(s).
Match a user with no channel mode(s).
Match only users who are marked as away.
User levels to match.
Only match users who has been idle for [x] minutes.
If checked, match a nick in the Address Book.
If checked, match a nick in the ignore list.
If checked, match a nick in the notify list.
If checked, match a nick in the Auto-op list.
If checked, match a nick in the Auto-Voice list.
If filled, will only match the nick if the network or server address also matches the current server.
Multiple networks can be added using comma, wildcards is allowed.
If filled, will only match if the nick is on the matched channel name.
Multiple channels can be added using comma, wildcards is allowed.
Nickname to add to the Notify list.
If specified, only get notified when user comes online/offline on this network.
Add a small note to the Nickname.
When user comes online, play a beep, sound or nothing,
When user comes offline, play a beep, sound or nothing,
If enabled, online/offline sound options set in [[Options_Dialog|Options}} -> Sounds will be used instead.
If enabled, AdiIRC will perform /whois on a nickname when it comes online.
The hostname you want to connect to.
Usually something like irc.network.com.
The port you want to connect to.
Usually 6667 for plain connections and 6697 for SSL/TLS connections.
+port can be used to connect to SSL/TLS servers, *port can be used to connect using STARTTLS.
A small description to use for this server. (Optional)
If multiple servers have different passwords on this network, a separate password can be set here. This password will override the global network password.
If checked or if port is defined starting with a +, AdiIRC will try connect to this server using SSL/TLS.
If checked or if port is defined starting with a *, AdiIRC will try connect to this server using STARTTLS.
Name of the shortcut to edit.
Use Control key as a modifier for the shortcut.
Use Shift key as a modifier for the shortcut.
Use Alt key as a modifier for the shortcut.
Key to use for this shortcut.
If key is set to None, the shortcut is unset.
Color to use for this tab/window.
Background color to use for this tab/window.
Whether to apply the rule to the Treebarl, Switchbar or both.
Use a random color for the tab/window.
Wildcard pattern for matching window names.
Only apply the rule for windows on the matching network name or server address.
Can be a comma separate list.
The address book lets you add/edit/remove/whois/Control users.
It can be opened by typing the /abook command or by clicking Menubar -> Tools -> Address Book, or by pressing the Alt + R shortcut.
See also Ignore Options for ignore, Highlights Options, Nick Colors Options, Notify Options.
Allows performing auto-op, auto-voice and protect on matching hostnames/addresses on specific channels/networks.
See also /aop, /avoice, /protect, $aop, $avoice, $protect.
Enables or disabled auto-op/auto-voice.
Select the auto-op list.
Select auto-voice list.
Select protect list.
Add a new hostname/address to the selected auto list.
Edit a hostname/address in the selected auto list.
Delete a hostname/address from the selected auto list.
Move the selected hostname/addresses up in the selected auto list.
Move the selected hostname/addresses down in the selected auto list.
Sort the hostname/addresses in the selected auto list alphabetically.
Add/Edit/Delete users in the address book.
See also /abook, /uwho, $abook.
The users nickname.
The users name.
The users email address.
Clicking the Email button opens the email address in the default mail program.
The users website address.
Clicking the Visib button opens the website address in the default browser program.
The users hostname/address.
Notes about the user.
Type the users nickname, then press the Add button.
Select the user in the Nick dropdown, then press the Delete button.
Click the Browse and select a image file to use for this user.
Performs a /whois lookup for the nick on the current active IRC server and displays the result in the Whois tab.
Performs whois and ctcp actions on a nickname and displays the result.
See also /uwho.
Click the Whois button to perform a /whois command on the entered nickname.
Click the Add button to add the nickname to address book users.
Click the Find button will search and select the nickname in the address book users.
Displays the Realname/Fullname of the user found in the whois request.
Displays the hostname/address of the user found in the whois request.
Displays the channel the user is joined found in the whois request.
Clicking the Copy button will copy the channels to the clipboard.
Displays the login time of the user found in the whois request.
Displays the idle time of the user found in the whois request.
Displays the away info of the user found in the whois request.
Displays the server info the user is connected to found in the whois request.
Clicking the Connect button will you connect you to that specific server.
Displays the user status found in the whois request.
Displays the /ctcp reply from Clicking the Ping, Version, Time, Finger buttons.
Added in 1.6
/advertise
Shows what AdiIRC version you are currently using in the current channel or private window.
Example
;Will return something like <nick> is using AdiIRC vXXX X Bit. Download latest version at http://www.adiirc.com /advertise
Added in 1.9.0
/ajinvite [on|off]
Turns auto-join on invite on or off.
Parameters
Parameter | Description |
[on] | Turns auto-join on invite on. |
[off] | Turns auto-join on invite on. |
Example
; Shows current auto-join on invite status. /ajinvite ; Turns off auto-join on invite. /ajinvite off
Added in 1.9.0
/alias [-l] [filename] <aliasname> <command>
Add/remove/replace any single or multi line (AdiIRC only) alias.
Switches
Switch | Description |
-l | Adds a local alias only available from current script. |
Parameters
Parameter | Description |
[filename] | An optional alias filename to update, if no filename is specified it will use the first match or the first loaded alias file. |
<aliasname> | Name of the alias to add/remove/replace. |
<command> | The command(s) to be executed by the aliasname. |
Example
; This will replace the first matching alias with the new command. /alias /hello /me says hello ; To remove an existing alias: /alias /hello ; If you want to add/remove/replace a alias in an existing file /alias hello.txt /alias /me says hello
The aliases editor allows adding or editing custom aliases.
Multiple aliases files can be loaded at the same time.
it can be opened by clicking Menubar -> Tools -> Edit Aliases or by pressing the ALT + D shortcut or by typing /edit -a.
The editor shares characteristics with all the other editors.
See also /load, /reload, /unload, $alias, $isalias, Editor Options.
When no alias ini file exists, AdiIRC internally uses some default aliases. When opening the alias editor in this case, AdiIRC inserts the defaults into the editor and the alias file is being edited/not saved, saving the aliases once creates the aliases ini file and the marking goes away.
The format of a alias is /name<whitespace><command>. If the command is gonna span multiple lines, the format becomes:
The leading / in /name is not necessary.
/name { /command1 /command2 ... }
To save the current aliases file to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.
To load aliases from a different ini file, click the Menubar (inside the editor) -> File -> Load menu item or use the /load command.
When loading aliaes using the /load, /reload or /unload command, the aliases editor will be automatically updated with the new aliases.
Clicking the Menubar (inside the editor) -> Edit -> Find or pressing the CTRL + F shortcut opens the search and replace panel.
You can search or search and replace using a Regular Expression by checking the Regex checkbox.
Pressing the ESCAPE key closes the search panel.
Checking for balanced brackets can be done by clicking the {} menu item to the far right of the Menubar (inside the editor) or by pressing the CTRL + H shortcut.
If a aliases file was modified outside of the editor, it can be reloaded by clicking the Menubar (inside the editor) -> File -> Reload menu item or by pressing the F5 shortcut or by typing /reload.
Clicking the reset button resets the current select aliases file to the default aliases.
The Alias menu item in the Menubar (inside the editor) can be used to jump to a specific alias in the current alias file.
The font of the editor can be changed by clicking the Menubar (inside the editor) -> File -> Change Font menu item.
Note: only truetype fonts can be used.
The editor colors can be changed in Options -> Colors.
Added in 1.9.0
/aline [-ahilnpsbTNSW] [color] <@name> <text>
Add <text> into custom window named <@name>.
Switches
Switch | Description |
-a | Selects the newly added item while keeping the old selection in a side-listbox. |
-h | Highlights the window's node in the Switchbar/Treebar is the window is minimized. |
-iN | Indents the wrapped line by N characters. |
-l | Specify the action to take place on the side-listbox. |
-n | Prevent the line from being added if it already exists. |
-p | TODO (AdiIRC always wraps lines). |
-s | Clears the old selection in a side-listbox and selects the newly added item. |
-b | Indicates the [c] color is in $rgb format. (AdiIRC only) |
-TN | Apply timestamp prefix options. N is a optional UTC value to use for the timestamp. (AdiIRC only) |
-S | Use status window. (AdiIRC only) |
-W | Allow using a channel or query window name for @name. (AdiIRC only) |
Parameters
Parameter | Description |
[color] | Line color number. |
<@name> | The custom window name. |
<text> | The text to add. |
Example
; Open a custom window. /window -de @Example ; Add a blue colored line. /aline 12 @Example Hello world
Added in 1.4.6
Was named /anick prior to 1.9.7
/allnick <nickname>
Changes your nick on all servers to <nickname>
Parameters
Parameter | Description |
<nickname> | The new nickname. |
Example
/allnick Obiwan
Added in 1.9.0
/amark [-s]
Marks all windows as read (resets the color in Switchbar and Treebar to default).
See also /nextunread.
Same as /markall.
Switches
Switch | Description |
-s | Marks only the current server as read. |
Added in 1.7
/ame <message>
Sends an emote/action message to all open channels on current connection.
See also /describe, /me, /msg, /nmsg, /omsg, /notice, /onotice.
Parameters
Parameter | Description |
<message> | The emote/action message to send. |
Example
; Sends 'Hello world' to all open channels on current connection. /ame Hello world.
Added in 1.9.0
/amsg <message>
Sends a message to all open channels on current server.
Parameters
Parameter | Description |
<message> | The message to send. |
Example
/amsg Hello world.
Added in 1.9.7
/anick <nickname>
Changes your alternate nickname on current connection.
If connected from the serverlist, the serverlist is updated, else quick connect is updated.
Parameters
Parameter | Description |
<nickname> | The new nickname. |
Example
/anick Obiwan
Added in 3.1
/aop [-lrw] <on|off|nick|address> [#channel1,#channel2,...] [type] [network]
Add/remove/list users from the auto-op list.
/aop with no parameters shows current auto-op status.
See also $auto, $aop, $avoice, /avoice, $protect, /protect.
Switches
Switch | Description |
-l | Prints all auto-op users. |
-r | Removes a address from the auto-op list. (if no address is specified, clears the auto-op list) |
-w | Indicate the auto-op should be enabled on all networks. |
Parameters
Parameter | Description |
on | Turns auto-op on. |
off | Turns auto-op off. |
address | The address or nick to add/remove from the auto-op list. |
[#channel1,#channel2,...] | List of channels to auto-op in. |
[type] | A number representing a $mask to use. (if user is not found in the internal address list, a lookup is performed) |
[network] | The network to auto-op in. |
Example
; Adds 'nick!nick@42.42.42.42' to the auto-op list on the channel '#channel' /aop nick!nick@42.42.42.42 #channel ; Adds 'nick!*@*' to the auto-op on any channel. /aop nick ; Remove 'nick!nick@42.42.42.42' from the auto-op. /aop -r nick!nick@42.42.42.42
The dialog allows selecting which parts of the theme to apply to your current settings.
Applies the theme colors to your colors settings.
Applies the theme user/emote/system/ctcp message prefix settings.
Applies the theme fonts settings.
Applies the theme emoticons settings.
NB, all current emoticons are removed.
Applies the theme sounds settings.
Applies the theme nick color settings.
Applies the theme background image settings.
Applies the theme icon settings.
Applies the theme nicklist icon settings.
NB, all current nicklist settings are removed.
Applies and loads the bundled theme scripts.
Added in 1.9.0
/aquit [message]
Quits all servers, if no message is specified, default (or random if enabled) quit message is used.
Parameters
Parameter | Description |
[message] | The quit message to send. |
Example
; Will quit all servers using the default or random quit message. /aquit ; Will quit all servers with the quit message 'See you guys later!'. /aquit See you guys later!
Addition Subtraction Multiplication Division Floor Divide Modulo Power Bitwise AND |
a + b a - b a * b a / b a // b a % b a ^ b a & b |
Note: // can be used in $calc but not /var. & can be used in /var but not $calc
See also /set, /var, $calc, $calcint.
Added in 1.9.7
/auser [-a] <levels> <nick|address> [info]
Adds the specified nick/address to the users list with the specified levels.
If the first level is not preceded by an equal sign then it is a general access level.
Switches
Switch | Description |
-a | Adds the levels to the matching user, if no user is found, a new user is added. |
Parameters
Parameter | Description | |
<levels> | Access level(s) to add. | |
<nick | address> | Nick or address to add. |
[info] | Optional information text. |
Example
; Adds a new user 'Nick' with access levels 1, 2 and 3. /auser 1,2,3 Nick ; Updates access levels for 'Nick' with 4 and 5. /auser -a 4,5 Nick ; Updates access levels for 'Nick' with 7 and 7. ; By using = in front of the first access level, the default access level for this user is not modified. /auser -a =6,7 Nick
Added in 2.4
/autoconnect [on|off]
Turn on or off autoconnect for current server if it's saved in the Serverlist.
Parameters
Parameter | Description | |
[on | off] | Turn on or off. |
Added in 1.9.4
/autojoin [-nsdN]
Can be used in the on CONNECT event or Perform section to delay or prevent auto joining of channels.
This also affects the rejoining of open channel windows during a reconnect.
Parameters
Switch | Description |
-n | Join now. |
-s | Skip autojoin. |
-dN | Delay autojoin for N seconds. |
Example
; Delay autojoin for 5 seconds. on *:CONNECT:autojoin -d5 ; Skip autojoin. on *:CONNECT:autojoin -s
There are several ways to auto join channels.
For globally joining auto joining channels regardless of how you are connected to the server, click Menubar -> Favorites -> Add to favorite and mark the Join on connect checkbox.
Make sure Enable join on connect is checked in Menubar -> Favorites -> Organized Favorites.
When connected to a server from the Serverlist, you can add auto joining channels in the Channels or right-click the channel in the Treebar/Switchbar then clicking Add Channel or by using the /channels command.
When connected through Quick Connect, auto joining channels can be added in Options -> Quick Connect or in the Quick Connect dialog.
When connected through the /server command, channels from the Quick Connect options are used.
Added in 3.1
/avoice [-lrw] <on|off|nick|address> [#channel1,#channel2,...] [type] [network]
Add/remove/list users from the auto-voice list.
/avoice with no parameters shows $true if auto-op is enabled, otherwise $false.
See also $aop, /aop, /protect, $protect.
Switches
Switch | Description |
-l | Prints all auto-voice users. |
-r | Removes a address from the auto-voice list. (if no address is specified, clears the auto-voice list) |
-w | Indicate the auto-voice should be enabled on all networks. |
Parameters
Parameter | Description |
on | Turns auto-voice on. |
off | Turns auto-voice off. |
address | The address or nick to add/remove from the auto-voice list. |
[#channel1,#channel2,...] | List of channels to auto-voice in. |
[type] | A number representing a $mask to use. (if user is not found in the internal address list, a lookup is performed) |
[network] | The network to auto-voice in. |
Example
; Adds 'nick!nick@42.42.42.42' to the auto-voice list on the channel '#channel' /avoice nick!nick@42.42.42.42 #channel ; Adds 'nick!*@*' to the auto-voice on any channel. /avoice nick ; Remove 'nick!nick@42.42.42.42' from the auto-voice. /avoice -r nick!nick@42.42.42.42
Added in 1.9.0
/away [message]
If message is defined you will be marked as away, else you will be marked as not away.
Parameters
Parameter | Description |
[message] | The away message to set. |
Example
;Sets you away with "Be back later" as the away message. /away Be Back later ;Removes your away flag. /away
Options for the built-in away system.
Enables or disabled the built-in away system.
Will mark you as back whenever you type text in a Editbox and press the Enter key.
All /commands except /me /msg /say will not mark you as back.
Will mark you as away if you haven't sent a message to the server in [X] minutes.
"Other Networks" settings will apply to all networks except networks without the "Use global settings" checkbox enabled.
If checked, the network will use global away settings, otherwise it will use custom settings.
Changes your nick to [X] when you are marked as away.
Sends your away message to channels when you go away.
Sends your away message to nicks who message you while you are away.
Sends your away message to nicks who highlights you while you are away.
Away message.
Away message will be evaluated and can contain identifiers.
List of /commands to run when you are marked as away.
Commands will be evaluated and can contain identifiers.
All "Notify you are away" messages will not be sent to channels or users in this list.
Sends your back message to channels when you come back.
List of /commands to run when you are marked as back.
Commands will be evaluated and can contain identifiers.
Back message.
Back message will be evaluated and can contain identifiers.
Added in 1.5
/back
Removes your away flag if you are away, equal to /away with no parameters.
Added in 1.9.0
/background [-abcdefghlmnprstuxyz] [window] [filename]
Changes or adds a background image for a window or control.
Switches
Switch | Description |
-a | Active window. |
-d | TODO |
-g | TODO |
-m | Main AdiIRC window. |
-s | Server window. |
-b | Treebar. |
-h | Switchbar. |
-o | Switchbar buttons. (AdiIRC only) |
-l | Toolbar. |
-u | Toolbar buttons. |
-y | Statusbar. (AdiIRC only) |
-z | Menubar. (AdiIRC only) |
-e | Set as default. |
-x | no background image |
-c | Center image layout. |
-f | Fill image layout. |
-n | Normal image layout. |
-p | TODO |
-r | Stretch image layout. |
-t | Tile image layout. |
Parameters
Parameter | Description |
[window] | Window name to target if no window switches were specified. |
[filename] | Path/filename of the picture to be used. (Must be enclosed in quotes if it contains spaces) |
Example
;Adds a sample background to current window. /background -a "C:\Users\Public\Pictures\Sample Pictures\Desert Landscape.jpg" :Remove the sample background from current window. /background -ax
Most of these options can also be toggled with the /background command.
The Image Layout dropdown allows setting various layouts for the background image, default is usually Stretch.
Sets the background image for the MDI area (the area behind the window shown when a docked window is unmaximized)
Sets the background image for the textarea for Status/Channel/Query/Chat windows. (somewhat misleading name).
Sets the background image for the Menubar.
Sets the background image for the Toolbar.
Sets the background image for all Treebar buttons which is not a picture window.
Sets the background image for the Switchbar.
Sets the background image for all Switchbar buttons.
Sets the background image for the Treebar.
Disabled for now.
Sets the background image for all Nicklist's except custom window.
Sets the background image for the Statusbar.
When this option is enabled, the textarea of all status/channel/quuery/chat windows will be transparent down to the MDI area behind the window.
If the MDI area have a background image, the window will show a portion of this background image relative to the window location and size, else it will show the MDI area background color.
When this option is enabled, the MDI area will try to get the windows background image or color and use this as it's background,
If both the transparent main window and transparent windows option is enabled, it gives the illusion of transparency to the desktop.
When this option is enabled, nicklist of all channel windows will be transparent down to the MDI area behind the window.
Added in 1.7
/ban [-kruN] [#channel] <nickname|address> [type] [reason]
Ban someone from the current channel using their nickname or address.
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.
Switches
Switch | Description |
-k | Kicks the specified nickname as well as banning with an optional reason. |
-K | Kicks all users matching the specified address as well as banning with an optional reason. (AdiIRC Only) |
-uN | Pause N seconds before removing the ban. |
-r | Removes ban instead of adding. |
-b | Apply the ban to the ban list. |
-e | Apply the ban to the exception list. |
-I | Apply the ban to the invite list. |
-q | Apply the ban to the quiet list. |
Parameters
Parameter | Description |
[#channel] | The channel to add/remove the ban. |
<nickname|address> | Nick or address to ban. |
[type] | Address type, see $mask for available types. (if no type is specified, ban type from Options -> Server -> Default ban type will be used) |
[reason] | Optional reason used in combination with -k |
Example
;Kicks and bans a nick from channel #test for 1 hour /ban -ku3600 #test Nick Stop Spamming. ;Removes ban on Nick from channel #test /ban -r #test Nick ;Bans all users from host.com /ban #test *!*@host.com
Added in 1.5
/banlist
Retrieve a list of bans from current channel. (MODE #channel +b)
Added in 1.9.0
/bcopy [-zc] <&binvar> <N> <&binvar> <S> <M>
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.
Switches
Switch | Description |
-z | The bytes in the second &binvar that is copied are zero-filled after the copy. |
-c | The first &binvar is chopped to <N> + <M>. |
Parameters
Parameter | Description |
<&binvar> | Target &binvar to copy to. |
<N> | Target position in the first &binvar to copy to. (If N = -1, bytes are appended to the destination &binvar) |
<&binvar> | Source &binvar to copy from. |
<S> | Source position to copy from. |
<M> | Number of bytes to copy. |
Example
alias /example { ;Create a binary variable and assign it some text bset -t &example 1 This is a test! ;Copy from 'example' from the 11th byte 10 bytes onward ;Zero-fill the part that was copied bcopy -z &example2 1 &example 11 10 ;Print out &example's content (up to the first null) echo -a $bvar(&example, 1-).text ;Print out &example2's content echo -a $bvar(&example2, 1-).text }
Added in 1.9.0
/beep <number> <delay>
Beeps a number of times with a delay.
Parameters
Parameter | Description |
<number> | Number of times to beep. |
<delay> | Seconds between beeps. (max is 1000 milliseconds) |
Example
;Beep every 500 milliseconds 5 times. /beep 5 500 ;Stop beeping /beep 0
Added in 1.5
/betaup
Opens the update dialog and checks for a new beta version even if beta updates are not enabled, will also enable future beta updates.
Added in 1.8.10
/bin2txt <binary text>
Converts a binary string to ASCII.
See also /txt2bin.
Parameters
Parameter | Description |
<binary text> | Binary text to convert. |
Example
;Will show 0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100. /txt2bin Hello World ;Convert back to Hello world. /bin2txt 0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100
Added in 1.9.0
/bindip [on|off] <ipaddress/adapter>
Bind or toggles ip address/network adapter for DCC transfers.
/bindip with no parameters shows current status.
Parameters
Parameter | Description |
on | Sets bind on. |
off | Sets bind off. |
<ipaddress/adapter>* | IpAddress or Network Adapter to bind to. |
Example
;Binds ip to 192.168.0.1 /bindip 192.168.0.1 ;Finds local ip address on Local Network Adapter and binds to it. /bindip Local Network Adapter ;Disable binding. /bindip off
This is a recompile of https://github.com/flakes/mirc_fish_10 to make it work on 64 bit windows and to work with AdiIRC, source code is attached.
Since this is made to inject itself into the mIRC's underlying sockets and AdiIRC is a completely different program, all events must be scripted to use the fish functions from the dll, some events is already added in the attached script, feel free to add more as needed.
A proper plugin will probably be added at some point using the AdiIRC API V2 instead of a script.
Thanks to ParAd0x for creating this project.
Compiled with OpenSSL-1.1.1h and OpenSSL-1_0_2o binaries from http://slproweb.com/
Use blowfish64 on 64 bits version of AdiIRC, otherwise blowfish32 bits (type //echo -ag $bits to verify).
Step 1. Make sure the latest version of visual c++ is installed, it can be downloaded from here https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads (x86 for 32 bits AdiIRC, x64 for 64 bits AdiIRC)
Step 2. Download the attached blowfish64_1.1.zip/blowfish32_1.1.zip. (Check Files links at the bottom)
Step 3. Unpack blowfish64_1.1.zip/blowfish32_1.1.zip into $adiircdir\Scripts\
Step 4. Type //load -rs $qt($adiircdir\Scripts\fish_10.ini) and say yes to the popup dialog, if any.
visual c++ is necessary because the fish dll uses some functions not available in Windows by default.
To disable the max key length check and allow longer than 56 byte keys, run this command in the Editbox:
//dll $qt($adiircdir\Scripts\fish_10.dll) INI_SetBool enforce_max_key_length 0
The option should be saved across sessions.
01/20/2025
Fixed some characters are not encoded correctly before being encrypted.
Fixed sending encrypted messages doesn't work when IRCv3 labeled-response is enabled.
10/16/2020
Thanks to maroon for the following changes:
Fixed incoming/outgoing messages should be treated as plain text in /var.
Fixed outgoing messages using /say are not sent properly.
Fixed crypt mark should have a space between the mark and the message.
10/15/2020
Updated the mirc fish revision to 727aacb
The OpenSSL 1.1.X version is now the default and recommended version.
Thanks to maroon for the following changes:
Fixed consecutive and leading spaces doesn't work.
Fixed when sending messages, the local /echo should use $target.
Fixed larger than 56 bytes keys should show a error.
Fixed keys with spaces should be ignored and show a error.
01/18/2020
Fixed consecutive spaces should be allowed when sending encrypted messages.
Fixed "Crypt Mark" should be removed from incoming plain text messages.
Fixed outgoing messages should not embed the "Crypt Mark".
01/17/2020
Fixed "Crypt Mark" menu shows "Prefix" by default even though it's disabled.
Fixed an issue with uneven parentheses in the fish script.
10/26/2019
Fixed 32 bit 1.1 openssl version was using the wrong dll.
10/06/2019
Added experimental builds using openssl v1.1.1d and the latest fish_10 source.
11/23/2018
Fixed %blow_ini path is wrong when running AdiIRC from the program files folder.
04/28/2018
Fixed topic is not decrypted properly in some cases.
04/16/2018
Added the "Your/Own" color to own messages.
Fixed your own messages should not trigger highlights.
Fixed spaces in user prefix should be replaced by fake spaces so nick column works properly.
03/31/2018
Recompiled with openssl v1.0.2o.
Updated the mirc fish revision to 93aa016.
Fixed an issue where the dll was being unloaded and the keys were missing.
07/17/2017
Fixed script tried to decrypt plain text emotes if the channel had a key.
03/15/2017
Fixed 32 bit was not compiled correctly.
02/05/2017
Encryption/decryption rewritten to use parseline event.
CBC support by default with fallback to ECB.
Cleanup of menus.
Added support for key exchange with mircryption CBC style.
Added configuration for CBC/ECB key per user/channel.
Thanks to ParAd0x for these changes.
08/28/2016
Fixed some path issues.
03/03/2016
Fixed decrypt topics for topicbox/channel editor.
02/05/2016
Added mcps support (thanks Fredro)
Fixed empty key hack should retry the key (thanks Fredro)
10/17/2015
Updated the mirc fish revision to 306a9e
Updated openssl libraries to 1.0.2d.
Fixed various brackets issues and bugs in the script.
Unicode characters should now work in the 1.9.9 AdiIRC beta.
03/10/2015
Fixed an issue with sending encrypted text on some networks.
02/11/2015
Added $ctrlenter check when typing /commands.
02/02/2015
Added topic decryption and /me decryption.
Added a hack for an issue where the ini file randomly is unloaded?
Added prefixnick and nickcolor support to the message output.
If you see an error like "$dll: no such file 'C:\Program Files\AdiIRC' (line 382, fish_10.ini)" type //load -rs $qt($adiircdir\Scripts\fish_10.ini) and say yes to the popup dialog, if any.
https://adiirc.com/blowfish/blowfish32_1.1.zip
https://adiirc.com/blowfish/blowfish64_1.1.zip
https://adiirc.com/blowfish/blowfish32_1.1_source.zip
https://adiirc.com/blowfish/blowfish64_1.1_source.zip
https://adiirc.com/blowfish/blowfish32.zip
https://adiirc.com/blowfish/blowfish64.zip
https://adiirc.com/blowfish/blowfish32_source.zip
https://adiirc.com/blowfish/blowfish64_source.zip
Added in 1.9.0
/bread [-ta] <filename> <S> <N> <&binvar>
Reads <N> bytes starting at byte position <S> in the file and stores the result in &binvar.
Switches
Switch | Description |
-t | reads data until the next $crlf or $feof. |
-a | Disables UTF-8 encoding of characters in the range 0-255, as long as the line contains no characters > 255. |
Parameters
Parameter | Description |
<filename> | The binary file to read. |
<S> | The byte position in the file to start reading from. |
<N> | Number of bytes to read. |
<&binvar> | The &binvar to read the data into. |
Example
;noop $example(FileA, FileB) alias example { ;Read the whole file into a binary variable bread $qt($1) 0 $file($1).size &tempFile ;Write the bytes form the binary variable to a file bwrite $qt($2) 0 -1 &tempFile }
Added in 1.7
/break
Use to break out of loops in scripts
Added in 1.9.0
/breplace <&binvar> <oldvalue> <newvalue> [oldvalue newvalue...]
Replaces all matching ASCII values in &binvar with new values.
Multiple values can be replaced by adding more old/new parameters.
Parameters
Parameter | Description |
<&binvar> | The &binvar to modify. |
<oldvalue> | ASCII value to replace. |
<newvalue> | ASCII value to insert. |
Example
alias example { ;Create a binary variable set it to "Hello World" bset -t &Example 1 Hello World ;Replace e (ASCII value 101) with 3 (ASCII value 51) breplace &Example 101 51 ;Echo our new string echo -a $bvar(&Example,1,$bvar(&Example,0)).text }
Added in 1.9.0
/bset [-tacz] <&binvar> <N> <asciivalue> [asciivalue ... asciivalue]
Sets the <N>th byte in binary variable &binvar to the specified ascii value.
If N = -1, the data is added to the end of the variable.
If the &binvar docent exists it is created.
If <N> is larger than the size of &binvar it will be zero filled up to <N> bytes.
If you specify multiple ASCII values, they are copied to successive positions after byte position N.
Switches
Switch | Description |
-t | Treat values a plain text. |
-a | Disables UTF-8 encoding of characters in the range 0-255, as long as the text contains no characters > 255. |
-c | Chops the &binvar at the end of the copied bytes. |
-z | Creates new or truncates existing &binvar at zero length. |
Parameters
Parameter | Description |
<&binvar> | The &binvar to modify. |
<N> | The byte to modify. (one based) |
<asciivalue> | The ASCII value to insert. |
Example
alias example { ; Create a binary variable set it to "This is fun!" bset -t &Example 1 This is fun! ; Print out the content of the variable echo -a $bvar(&Example, 1-).text }
Added in 1.9.0
/btrunc <filename> <bytes>
Truncates/extends a file to the specified length.
Parameters
Parameter | Description |
<filename> | The file to truncate. |
<bytes> | Number of bytes to truncate/extend to. |
Example
alias example { ;Create variable %temp and add some data. /var %temp = Hello! World ;Write to variable %temp's content. /bwrite Example 0 $len(%temp) %temp ;Truncate the file down to 6 bytes. /btrunc Example 6 ;Read the file into a variable. /bread Example 0 $file(Example).size &Example ;Print out the variable's content. /echo -a $bvar(&Example,1,$bvar(&Example,0)).text ;Delete the file. /remove Example }
Added in 1.9.0
/bunset <&binvar> [&binvar ... &binvar]
Unsets the specified list of &binvars.
Parameters
Parameter | Description |
<&binvar> | The &binvar to unset. |
[&binvar ... &binvar] | Additional &binvars to unset. |
Added in 1.4.6
/bw
Sends download/upload speed to current channel or private window, if a network adapter is chosen in Options -> Sysinfo.
Added in 1.9.0
/bwrite [-tac] <filename> <S> [N] <text|%var|&binvar>
Writes [N] bytes from <text|%var|&binvar> to the file starting at byte position <S> or 0, any existing information at this position is overwritten.
Switches
Switch | Description |
-t | Treat <text|%var|&binvar> as plain text. |
-a | Disables UTF-8 encoding of characters in the range 0-255, as long as the text contains no characters > 255. |
-c | Chops the file at the end of the copied bytes. |
Parameters
Parameter | Description |
<filename> | File to modify. |
<S> | Byte position in the file to start writing to. (zero based) |
[N] | Byte count from <text|%var|&binvar> to write. |
<text|%var|&binvar> | Text/%variable/&binvar to write to file. |
Example
alias example { ;Write some text to a file at beginning of the file /bwrite file.txt 0 hello there! ;Read the binary data into binary variable &tempfile /bread $qt(file.txt) 0 $file(file.txt).size &tempfile ;Print the binary variable data as text, outputs 'Hello there!' echo -ag $bvar(&tempfile, 1-).text ;Replace "there!" with "world!" /bwrite file.txt 6 world! ;Read the binary data into binary variable &tempfile /bread $qt(file.txt) 0 $file(file.txt).size &tempfile ;Print the binary variable data as text, outputs 'Hello world!' echo -ag $bvar(&tempfile, 1-).text }
Added in 1.5
/channel [#channel]
Opens the channel editor for #channel.
/channel without parameters, opens Channel Editor for current channel.
Parameters
Parameter | Description |
[#channel] | The channel to open the Channel Editor for. |
The Channel Editor allows modifying/viewing various channel modes.
it can be opened by double-clicking in the channel Text Area or by typing /channel.
A dialog can be opened per channel so there can be multiple editors open at the same time.
Shows and allows editing the current topic and the dropdown list hold the last 10 topics.
The Topic Preview is updated in real time and interpreters control code colors.
Note, some networks/channels doesn't allow control codes in topics and will remove them.
Clicking the Ban button loads the current channel ban list. Double-clicking a ban or clicking the Edit button allows editing a ban.
Clicking the Add button allows editing a ban.
Clicking the Remove button allows removing the selected ban(s)
Clicking the Excepts button loads the current channel except list on supported networks. Double-clicking a except or clicking the Edit button allows editing a except.
Clicking the Add button allows editing a except.
Clicking the Remove button allows removing the selected except(s)
Clicking the Excepts button loads the current channel invites list on supported networks. Double-clicking a except or clicking the Edit button allows editing a invite.
Clicking the Add button allows editing a invite.
Clicking the Remove button allows removing the selected invite(s)
Toggles the channel mode that allows or disallows setting topic if you are not a channel operator.
Toggles the channel mode that allows or disallows sending a message to the channel if they are not on the channel.
Toggles the channel mode that allows or disallows joining the channel only when invited to it.
Toggles the channel mode that allows or disallows sending a message to the channel without the user having the +v voice flag.
Toggles the channel mode that only allows joining the channel if the user knows the password.
Toggles the channel mode that set the maximum number of users allowed in the channel.
Toggles the channel mode that set the channel as private which hides it from the channel list.
Toggles the channel mode that set the channel as private which hides it from the channel list. (more secret than than private)
The Channel List shows all the channels, number of channel users, channel modes (on some networks) and the channel topics on the network, it can be filtered to search for specific channel names or topic.
It supports Control Codes in the Topics.
Hidden or secret channels are not available in the Channel Lists from the network.
The Channel List can be opened by clicking Menubar -> Tools -> Channel List, by typing the /list command in the Editbox or by pressing the ALT + L keys.
The Channel List will also be automatically opened when connecting to a server with no auto join channels unless the Don't show thix box again checkbox is checked.
The Channel List must be retrieved from the network, you can do that by pressing the Get List button, this can take a while to finish on networks with many channels.
To filter/search for specific channel names or topics, enter the filter term in the Filter channel textbox, this can be done before or after getting the channel List.
A minimum and maximum number of users can be entered as well.
To join a channel, either right-click a channel in the Channel List and click the Join Channel menu item or type the channel name(s) in the Join Channels textbox then click the Join button.
Channel names can be separated with comma.
To add channel to the Favorites List, right-click the Channel in the Channel List and click the Add to Favorites menu item.
To save the Channel List to a file click the Save button.
To change the Channel List font, right-click anywhere in the Channel List and click the Change Font menu item.
Added in 2.5
/channels [-adnp] <#channel> [password] [Description]
Adds or removes channels from the current server if it's a server saved in the serverlist.
Switches
Switch | Description |
-a | Join the channel on connect. |
-d | Delete the channel. |
-n | Minimize the channel on join. |
-p | Indicates [password] is defined. |
Parameters
Parameter | Description |
<#channel> | The channel to add/modify/delete. |
[password] | Channel password, used with -p. |
[Description] | Channel description. |
Example
: Add channel #test to the serverlist. /channels #test : Add channel #test to the serverlist as a autojoin channel. /channels -a #test ; Delete channel #test from the serverlist. /channels -d #test
Added in 1.9.0
/charset [codepage]
Sets text encoding used on current server.
/charset with no parameters will show current codepage.
Parameters
Parameter | Description |
[codepage] | The codepage to set. -1 will use the system default encoding. |
Example
;Set codepage to UTF-8 /charset 65001 ;Set codepage to ISO-8859-11 /charset 28601 ;Set codepage to system default /charset -1
Added in 1.5
/clear [-cholsn] [windowname]
Clears the buffer of current window or [windowname].
If window is a picture window the image buffer is cleared.
Switches
Switch | Description |
-c | Clears the click history in a picture window. |
-h | Clears the Editbox history. |
-o | Clears the window position/size for this window. |
-l | Clears the side-Listbox in a custom window |
-s | Clears the Status Window. |
-n | Delays update of display until a forced redraw in picture windows. |
Parameters
Parameter | Description |
[windowname] | A window to clear. |
Example
; Clears the Editbox of current window. /clear -h ; Clears the channel text on channel #test /clear #test
Added in 1.7
/clearall [-agmnqstu]
Clears the buffer and Switchbar/Treebar unread color of the specified window type, if no type is specified, all windows on current connection is cleared.
Switches
Switch | Description |
-a | All windows on all connections. |
-g | TODO |
-m | TODO |
-n | Channel windows. |
-p | Docking panels. |
-q | Query windows. |
-s | Status windows. |
-t | Dcc chat windows. |
-u | Custom windows. |
Example
;Clear all channel and query windows /clearall -nq ;Clear all windows on current connection. /clearall
Added in 1.9.3
/cline [-bhlmrSW] [c] <#channel|@name> <N|nick>
Changes the color of the Nth line or nick to color [c].
If [c] is not defined, the line will be reset to default color.
Switches
Switch | Description |
-b | Indicates the [c] color is in $rgb format. (AdiIRC only) |
-h | Highlights the window's button. (if window is not active) |
-l | Apply to side-listbox. |
-m | TODO |
-r | Reset an item in the side-listbox to default; [c] parameter must be omitted. |
-t | Apply to text buffer. (AdiIRC only) |
-S | Use status window. (AdiIRC only) |
-W | Allow using a channel or query window name for @name. (AdiIRC only) |
Parameters
Parameter | Description |
[c] | Optional line color. |
<@name> | Custom window name. |
<N|nick> | Line number or matching side-listbox item/nick to color. |
Example
alias example { ; Open a custom window. /window @Example ; Add a 'Hello World' line to the custom window. /aline @Example Hello World ; Change the color of the first line to red (4). /cline 4 @Example 1 ; Change the color of the first line to rgb color blue /cline -b $rgb(0,0,255) 1 }
Added in 1.9.0
/clipboard [-an] [text]
Copies <text> to the clipboard.
If [text] is empty, clipboard is cleared.
Switches
Switch | Description |
-a | Appends the text to current clipboard text instead. |
-n | Adds $crlf at the end of the text. |
Parameters
Parameter | Description |
[text] | Text to add. |
Example
; Adds 'clip' to the clipboard. /clipoard clip ; Append 'board' to the clipboard so result becomes 'clipboard'. /clipoard -a board
Added in 1.5
/close [-acfgimst@] [name1] ... [nameN]
Closes all windows of the specific type and/or all windows matching name [nameN] on current connection.
You can use wildcards in [nameN].
If no window names or types is defined, current window is closed.
Switches
Switch | Description |
-a | Close on all connections. (AdiIRC only) |
-c | Dcc chat windows. |
-f | TODO |
-g | TODO |
-i | TODO |
-m | Private/Query windows. |
-p | All non scripted Tips. |
-s | TODO |
-t | Server/Status windows. |
-@ | Custom windows, @<wid> can be used for [nameN] if this is defined. |
Parameters
Parameter | Description |
[name1] ... [nameN] | Windows to close. |
Example
;Close all query and status windows. /close -mt ;Close query window 'Nick' /close Nick
Added in 4.1
/closemsg
Closes all private windows, same as /close -m.
Added in 2.4
/cnick -rbfaniovpylNmNsNgw [nick[!user@host|N]|on|off] [color] [modes] [levels]
Change the items in the nick color list.
Switches
Switch | Description |
-r | Remove a item from the nick color list. |
-b | Set the Address Book flag. (AdiIRC only) |
-f | Forces the addition of a new entry instead of updating an existing one. |
-a | Sets the Any Mode option. |
-n | Sets the No Mode option. |
-i | Sets the Ignore list option. |
-o | Sets the auto-op flag. |
-v | Sets the auto-voice flag. |
-p | TODO |
-y | Sets the Notify list option. |
-lN | Sets the idle time. |
-mN | Sets the nick color method, 1 = message, 2 = nicklist, 0 = both. |
-sN | Sorts the item into the Nth position in the list. |
-g | Indicates the [color] is in rgb format. (AdiIRC only) |
-w | Sets the away option. (AdiIRC only) |
Parameter
Parameter | Description |
[nick[user@host]|N] | The nick/hostname to add/edit or the Nth item to remove. |
[on|off] | Enables or disables nick colors. |
[color] | If * is specified, use a random nick color, otherwise the color to use. |
[modes] | Channel modes to match. |
[levels] | User levels to match. |
Example
; Disable nick colors. /cnick off ; Enable nick colors. /cnick on ; Add the nick color '5' for the nick 'Nick'. /cnick Nick 5 ; Remove the nick color for the nick 'Nick'. /cnick -r Nick
Added in 1.9.4
/color <name> <N|RGB>
/color <N> <RGB>
/color -lrs [N/scheme name]
Allows you to change the color settings for items in the Colors dialog.
Switches
Switch | Description |
-b | Indicates the <N> after <name> is a rgb value. (AdiIRC only) |
-l | Reloads colors from the config file. |
-r | Resets the color to default value. |
-s | TODO |
Parameters
Parameter | Description |
<N> | The Nth color to change, in AdiIRC this can be from 1 to 82. |
<RGB> | New RGB values to be used. |
<name> | Name or the color to change. |
[Scheme name] | TODO |
Example
; Print a text using color 3 /echo 3 -ag Hello world ; Change color 3 to $rgb value 1905919 (notice the 'Hello world' color) //color 3 $rgb(255, 20, 29) ; Reset color 3 to default value (notice the 'Hello world' color) /color -r 3 ; Change the join color to another color index. /color join 3 ; Change the join color to a rgb value. //color join $rgb(255, 20, 29) ; Reset join color /color -r join ; /color can also be used to change other colors in the config file ; Change the part color to red ; Notice it uses 43 instead of 44, it does +1 internally to work with 0-15 mirc colors. /color -b 43 $rgb(255,0,0) //echo -ag part color is $ocolor(44)
Tip. You can right click a color to Copy/Paste/Reset it, CTRL + C / CTRL + V for copy/paste also works.
See also Extra Colors, Config File Colors, $color.
When enabled, Menubar/Toolbar/Switchbar/Statusbar/Monitor Panels colors will be used, otherwise the default Windows theme colors will be used.
If enabled, mIRC colors 16-35 can be changed with their own separate $rgb value, the RGB values will be used for various IRC events, otherwise only mIRC colors 0-99 can be used.
See also Extra Colors.
Automatic - Enables DarkMode when darkmode is enabled in Window.
On - Enables DarkMode.
Off - Disables DarkMode.
Added in 1.9.4
/colour <name> <N|RGB>
/colour <N> <RGB>
/colour -lrs [N/scheme name]
Allows you to change the color settings for items in the Colors dialog.
See also $color, $ocolor, Extra Colors, Config File Colors.
Switches
Switch | Description |
-b | Indicates the <N> after <name> is a rgb value. (AdiIRC only) |
-l | Reloads colors from the config file. |
-r | Resets the color to default value. |
-s | TODO |
Parameters
Parameter | Description |
<N> | The Nth color to change, in AdiIRC this can be from 1 to 82. |
<RGB> | New RGB values to be used. |
<name> | Name or the color to change. |
[Scheme name] | TODO |
Example
; Print a text using color 3 /echo 3 -ag Hello world ; Change color 3 to $rgb value 1905919 (notice the 'Hello world' color) //colour 3 $rgb(255, 20, 29) ; Reset color 3 to default value (notice the 'Hello world' color) /colour -r 3 ; Change the join color to another color index. /colour join 3 ; Change the join color to a rgb value. //colour join $rgb(255, 20, 29) ; Reset join color /colour -r join ; /colour can also be used to change other colors in the config file ; Change the part color to red ; Notice it uses 43 instead of 44, it does +1 internally to work with 0-16 mirc colors. /colour -b 43 $rgb(255,0,0) //echo -ag part color is $ocolor(44)
Added in 1.9.4
/comclose <name>
Closes the specified COM connection.
Parameters
Parameter | Description |
<name> | Connection name. |
Added in 1.9.4
/comlist
Lists all open COM connection.
-ConfigFolder <path> | Set a custom config folder. |
-cmd <command> | Runs a command on startup. |
irc://hostname:port/#channel | Opens a plain connection to the hostname and port, and optionally joins a #channel. |
irc6://hostname:port/#channel | Opens a plain IPv6 connection to the hostname and port, and optionally joins a #channel. |
ircs://hostname:port/#channel | Opens a SSL/TLS connection to the hostname and port, and optionally joins a #channel. |
ircs6://hostname:port/#channel | Opens a SSL/TLS IPv6 connection to the hostname and port, and optionally joins a #channel. |
xdcc://network/hostname:port/#channel/nick/#id/filename | Opens a connection to the hostname:port, joins the #channel and tries to request the #id/filename from the nick. |
A connection is only made if no existing matching connection is found.
Pressing the SHIFT key while starting AdiIRC bypasses any auto-connect servers.
See also $cmdline which holds the passed command line arguments, could be used during the on START event to provide additional arguments.
Added in 1.9.4
/comopen <name> <progid>
Opens a COM connection to object progid and assigns the connection a name.
For 64 bit AdiIRC, MSScript com objects is not available unless you install https://github.com/tablacus/TablacusScriptControl/releases.
Parameters
Parameter | Description |
<name> | Connection name. |
<progid> | ProgId to open. (e.g Excel.Application) |
_______________________________________________________________________________________________
List revision 0.3.2 - Always under construction
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Differences between AdiIRC and the competitor 1:
For a more deep list of changes, check the active changelog and the release notes.
Added in 1.9.4
/comreg -u <filename>
Registers/unregisters a COM DLL with windows.
Switches
Switch | Description |
-u | Unregister instead of register. |
Parameters
Parameter | Description |
<filename> | DLL filename to unregister/register. |
Added in 1.9.3
/config [-tihcn] [tab|nick|host] [search]
Opens the options form.
Quotes can be used for tabs with multiple words.
Same as /options.
Switches
Switch | Description |
-t | Selects the specified tab matching [text]. |
-i | Opens the Add/Edit Ignore Dialog for the [nick|host]. |
-h | Opens the Add/Edit Highlight Dialog for the [nick|host]. |
-c | Opens the Add/Edit Nicklist Icon Dialog for the [nick|host]. |
-n | Opens the Add/Edit Nickcolor Dialog for the [nick|host]. |
Parameters
Parameter | Description |
[tab] | Used with -t Text of the option tab to set as selected. |
[nick|host] | Used with the -ihcn parameters to open the matched nick or host. |
[search] | Options to search/filter for. |
; Open options and search all tabs for the text "join" and select the "quick connect" tab if text was found. /config -t "Quick Connect" join ; Open options and select the "Messagea" tab. /config -t Messages ; Open options and search for the text "join". /config join ; Opens the Ignore tab and dialog for the host 'Nick!*@*'. /config -i Nick!*@*
Config files are stored in the AdiIRC folder if the user running AdiIRC.exe have write access to that folder, otherwise, they are stored in %LOCALAPPDATA%\AdiIRC (C:\Users\USERNAME\AppData\Local\AdiIRC).
AdiIRC.exe -ConfigFolder <path> command line argument can be used to set a custom config folder on startup.
Typing //echo -ag $adiircdir will print the path to the config folder.
Typing /paths -o will open the config folder.
Menubar -> Tools -> Config files - will also open the config folder.
config.ini - Most AdiIRC options.
commands.ini - Default custom aliases.
menus.ini - Custom menu items.
networks.ini - New Serverlist options.
servers.ini - Old Serverlist options.
vars.ini - Global scripting variables which are saved across sessions.
nicklistbuttons.ini - Custom Nicklist buttons.
users.ini - Custom user access levels.
addrbk.ini - Address book users.
control.ini - Auto-op/Auto-voice settings.
nowplaying.txt - Random now playing items.
quits.txt - Random quit messages.
slaps.txt - Random slaps.
AdiIRCAPI.dll - The plugin API file.
AdiIRCAPIv2.dll - The plugin API API version 2 file.
These are automatically added to config.ini and removed when upgrading from an older to newer version of AdiIRC.
positions.ini - Was used to store windows positions.
away.ini - Was used to store away options.
ignore.ini - Was used to store ignore options.
Various folders are created for storing data, most of these can be changed in the options dialog.
\Cache\Favicons - Stores favicons if Options -> Icons -> Get favicons from server website is enabled.
\Cache\History - Stores Editbox history if Options -> Messages -> Save and restore history is enabled.
\Cache\Monitor - Stores Monitor Panels data if any Options -> Monitor -> Save and restore option
is enabled.
\Cache\Preview - Stores Inline Images preview if enabled in Options -> Inline Images.
\Dict - Store any installed spellcheck dictionaries.
\Download - Stores incoming DCC downloads set in Options -> DCC -> Default download dir. (See also $getdir)
\Logs - Stores all log files set in Options -> Logging -> Log Folder. (See also $logdir)
\Scripts - Stores all scripts. (See also $scriptdir)
\Themes - Stores all installed themes.
\Plugins - Stores all installed plugins.
Most config files can be manually edited using a text editor but the files must always be opened and saved using UTF-8 encoding.
When editing config.ini while AdiIRC is running, it can be reloaded by typing the /setoption command with no parameters, other config files usually requires a AdiIRC restart.
List of colors in the config file (Color_N=rrr,ggg,bbb)
AdiIRC will also read the values #rrggbb and $rgb.
See also /color, $ocolor, /echo, Extra Colors, Formatting Text.
Color | Config File Color |
---|---|
0 White 1 Black 2 Blue 3 Green 4 Red 5 Brown 6 Purple 7 Orange 8 Yellow 9 Light Green 10 Cyan 11 Light Cyan 12 Light Blue 13 Pink 14 Grey 15 Light Grey Message Normal Message System Message Highlight Message /me Action Message CTCP Message Background Switchbar Normal Switchbar Message Switchbar Highlight Switchbar System Nicklist Background Nicklist Text Editbox Background Editbox Text Message Own Nicklist Operator Nicklist Half Operator Nicklist Voice Message Links Switchbar Inactive Message Notice Message Clientinfo Nicklist Own Nicklist prefix Operators Nicklist prefix Half Operators Nicklist prefix Voice Message Join Message Part Message Quit Message Topic Message Mode Message Names Message Whois Message Kick Topicbox Background Topicbox Text Topicbox Links Mdi/Main Background Toppanel Color1 Toppanel Color2 Toppanel Text Treebar Background Treebar Server Treebar Query Treebar Tool Treebar Normal Treebar Message Treebar System Treebar Highlight Treebar Selected Background Treebar Selected Text Treebar Nicklist You Treebar Nicklist Normal Treebar Nicklist Operators Treebar Nicklist Half Operators Treebar Nicklist Voice Treebar Nicklist Prefix Operators Treebar Nicklist Prefix Half Operators Treebar Nicklist Prefix Voice Window Border Message Nick as in /nick Unread line Nicklist Away Treebar Nicklist Away Treebar Folder Switchbar Background Menubar Background Menubar Text Toolbar Background Toolbar Text Statusbar Background Statusbar Text Monitor Panels Background Monitor Panels Text Statusbar Low ping Statusbar Medium ping Statusbar High ping Statusbar Away Nicklist Prefix Protected Nicklist Prefix Owner Nicklist Protected Nicklist Owner Treebar Nicklist Prefix Protected Treebar Nicklist Prefix Owner Treebar Nicklist Protected Treebar Nicklist Owner Tips Background Tips Text Nick column marker Script Editor Background Script Editor Text Script Editor Single line comment Script Editor Multi line comment Script Editor Keyword Script Editor Curly Brackets Script Editor Parentheses Script Editor Variables Script Editor Identifiers Script Editor Goto label Script Editor Group Script Editor Line number Background Script Editor Line number Text Script Editor Line number Border Message Selected Background Message Selected Text Nicklist Selected Background Nicklist Selected Text Notify Lines/Grid Monitor Panels Border Monitor Panels Column Background Monitor Panels Column Text Monitor Panels Selected Background Monitor Panels Selected Text Highlight Matching Nick lines Background Highlight Matching Nick lines Text Nick column Left Background Script Editor Square brackets Script Editor Selected Line Numbers Background Script Editor Selected Line Numbers Text Script Editor Properties Script Editor Operators Monitor Panels Tabs Background Monitor Panels Tabs Text Monitor Panels Active Tab Background Monitor Panels Active Tab Text |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 135 136 137 138 139 140 141 |
When Use extended colors for events is disabled, some colors uses EventColor_N=M instead where M is a control code color.
Event Color | Config File Color |
---|---|
Message Normal Message System Message Highlight Message /me Action Message CTCP Message Own Message Links Message Notice Message Clientinfo Message Join Message Part Message Quit Message Topic Message Mode Message Names Message Whois Message Kick Message Nick as in /nick Message Background Notify Info2 Invite Other Wallops Editbox Background Editbox Text Nicklist Background Nicklist Text Treebar Background Treebar Text Gray Title Inactive |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
irc://irc.libera.chat/#adiirc (my nick is kr0n)
https://www.reddit.com/user/kr0nfly
Added in 1.9.0
/continue
Use to continue a loop in scripts.
Example
var %s 0 while (%s < 10) { if (%s == 5) { ; skip if %s is 5 continue } echo -ag s is %s }
Added in 1.9.6
/copy [-aop] <filename> <filename/directory>
Copies a file to another filename or directory.
Switches
Switch | Description |
-a | Appends the source file to the target file. |
-o | Overwrites the target file if it exists. |
-f | Flushes copy to disk immediately. |
-p | Preserves accessed/created/modified timestamps. |
Parameters
Parameter | Description |
<filename> | Filename to copy from. (Can be a wildcard) |
<filename/directory> | Filename or directory to copy to. |
Example
; Copy all the files in directory 'aaa' into directory 'bbb'. /copy aaa bbb ; Copy file 'aaa.png' into folder 'bbb' /copy aaa.png bbb
Added in 3.6
/creq [+m|-m] [ask | auto | ignore]
Changes how incoming DCC CHAT/SCHAT requests are handled.
Shows the current incoming DCC CHAT/SCHAT option.
Switches
Switch | Description |
-m | TODO |
+m | TODO |
Parameters
Parameter | Description |
ask | Show a popup dialog confirming whether to accept a incoming DCC CHAT/SCHAT. |
auto | Automatically accept all incoming DCC CHAT/SCHAT requests. |
ignore | Ignore all incoming DCC CHAT/SCHAT requests. |
Added in 1.5
/ctcp <nick/#channel> <ctcp>
Requests <ctcp> from <nick/#channel>.
See also on CTCP, on CTCPREPLY, /ctcpreply.
Parameters
Parameter | Description |
<nick/#channel> | The nick or #channel to request ctcp from. |
<ctcp> | The ctcp to request. |
Example
;Version everyone in #adiirc /ctcp #AdiIRC VERSION
Added in 1.9.0
/ctcpreply <nick> <ctcp> [message]
Sends a reply to a ctcp query.
See also on CTCP, on CTCPREPLY, /ctcp.
Parameters
Parameter | Description |
<nick> | The nick to reply. |
<ctcp> | The ctcp result to reply. |
[message] | The ctcp result message to reply. |
Example
; Listen to a TIME CTCP request. ctcp *:TIME:*:{ ; Send two ctcp replies. /ctcpreply $nick TIME Current time: $time(hh:nn:ss TT (ZZZ)) /ctcpreply $nick TIME Current Data: $time(dddd $+ $chr(44) mmmm dd $+ $chr(44) 2009) ; Stop AdiIRC's standard ctcp reply. halt }
Added in 1.9.3
/ctcps [on|off]
Switches ctcp events on/off, if no parameters are defined, current status is shown.
/ctcp with no parameters shows current ctcp events status.
See also /events, /raw, /remote.
Parameters
Parameter | Description |
[on|off] | Turns ctcp events on/off. |
Added in 1.5
/cycleall [N] [message]
Will part all active channels on current server and show a message if defined then delay N milliseconds and rejoin them.
Was renamed from /cycle to /cycleall in 2.7.
Parameters
Parameter | Description |
[N] | Numbers of milliseconds to delay before rejoining. |
[message] | Part message to send. |
Example
;Part all channels with part message 'Be right back in 2 seconds' and rejoin after 2 seconds. (2000 milliseconds) /cycleall 2000 Be right back in 2 seconds. ;Part/Join all channels at once with no delay. /cycle
In 4.4 most controls are now either custom drawn, massively hacked or written from scratch to support custom colors and/or borders.
Toggling dark mode changes the colors for all controls which does not have a color option and Titlebars in all open dialogs, in real time.
Dark mode is enabled by default if windows dark mode is enabled, it can be toggled Automatic/On/Off in Options -> Colors.
See also on DARKMODECHANGED, $darkmode.
Channel Editor Topic preview uses the Topicbox background and text color to simulate how the topic with colors will look.
Channel List uses the message area background and text color to accurately show topic with colors.
Theme Manager theme preview uses the colors from the theme to accurately show the preview.
The current dark mode colors are set to make things looks apart and reduce brightness, they will be tweaked based on feedback.
It is not possible to change the selection color of textboxes and possibly other controls.
It is not possible to change the colors of scrollbars, a custom scrollbar can be made from scratch, but it would only be useable by controls created from scratch.
It does not seem to be possible to change or draw the datetime picker dropdown, a custom one could be made, but seems unnecessary for just one single use case (Create client SSL/TLS certificate).
Save/open/browse folder/file dialogs are controlled by windows and will only be dark when windows have dark mode enabled.
Titlebars are only dark when dark mode in windows is enabled. AdiIRC will change them automatically when dark mode is enabled in both windows and AdiIRC.
It is currently not possible to change the colors of Titlebars for MDI windows.
Scripted Dialogs are currently excluded from dark mode, except the Titlebar.
Figure out a reasonable color to use for link controls and installed dictionaries in "Add Dictionaries" dialog.
Add option to set a custom font for all controls which does not currently have a font option.
Change the individual control colors based on feedback.
Look into whether it's possible to custom draw or use a image for up/down arrows on numeric uo/down to something with more light grayish colors?
Look into whether it's possible to custom draw or use a image for down arrow on dropdowns to something with more light grayish colors?
Options to change the dark mode colors to something custom?
Some controls can be custom drawn with a custom selection color, not sure if it's worth it?
Custom scrollbars for custom created controls?
Apply dark mode to scripted dialogs?
Added in 1.8.10
/dcc fserve (TODO)
/dcc maxcps <N> (TODO)
/dcc nick -sgcf <oldnick> <newnick> (TODO)
/dcc chat|schat <nick>
Starts a regular or a secure DCC CHAT with nick.
schat requires a ssl client certificate which can be set in Options -> Server -> Certificate file or in the Serverlist.
schat is AdiIRC only.
Parameters
Parameter | Description |
<nick> | The nick to start a chat with. |
Example
; Starts a secure DCC CHAT with Nick. /dcc schat Nick ; Starts a DCC CHAT with Nick. /dcc chat Nick
/dcc ignore [on|off|accept|ignore]
Enables or disables the dcc filetype ignore.
See also $dccignore.
Parameters
Parameter | Description |
[on|off|accept|ignore] | Enable/disable ignore or set the ignore type. |
Example
; Enable dcc ignore accept. /dcc ignore accept ; Disable dcc ignore. /dcc ignore off
/dcc send|ssend [-clmn] <nick> ]file1] [file2] ... [fileN]
Starts a dcc file transfer to nick.
ssend requires a ssl client certificate which can be set in Options -> Server -> Certificate file or in the Serverlist.
ssend is AdiIRC only.
Switches
Switch | Description |
-c | TODO |
-l | TODO |
-m | TODO |
-n | TODO |
Parameters
Parameter | Description |
send|ssend | Starts a file transfer or a secure file transfer. |
<nick> | Nick to start a file transfer to. |
[file1] [file2] ... [fileN] | Files to transfer, if no files are defined, a select file dialog will open. |
Example
; Starts a dcc file transfer to Nick. /dcc send Nick
/dcc reject
Reject a DCC SEND/SSEND request during a on CTCP event.
Example
CTCP *:DCC SEND*:dcc reject
/dcc get <folder>
Redirect a DCC SEND/SSEND transfer to a the specified folder during a on CTCP event.
Parameters
Parameter | Description |
<folder> | The folder to redirect to. |
Example
CTCP *:DCC SEND*:dcc get somefolder ; Create a folder per nick. CTCP *:DCC SEND*:dcc get $qt($getdir $+ $mkfn($nick))
/dcc passive [on | off]
Enables or disables passive DCC SEND/SSEND requests.
AdiIRC will always perform passive DCC GET.
Parameters
Parameter | Description |
on | off | Enables or disables passive DCC SEND/SSEND requests. |
/dcc trust [-r] <on | off | nick | address | level>
Enable or disable auto accept transfers from a trusted user/address or user level.
Switches
Switch | Description |
-r | Removes the matching user/address from the trust list. |
Parameters
Parameter | Description |
on | off | Enables or disabled auto accept transfers from trusted users/addresses. |
nick | address | level | The nick/address/userlevel to trust or remove. |
/dcc packetsize [N]
Sets the DCC GET/SGET/SEND/SSEND packet size to N where N is one of the numbers or the closest number to 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536.
Save dcc file transfers matched by file extensions to a specific folder.
File extensions to match.
Use ; or , as separator for adding multiple file extensions.
Indicates the file extension is a regular expression pattern instead.
Folder to save the files.
If enabled files will be sorted by a separate sub-folder for each nickname inside Folder.
On successful file transfer, open the file with a program.
On successful file transfer, run a command with the filename as a parameter.
The command will be evaluated and can contain identifiers.
Direct Client to Client options.
See also /dcc.
The default download folder to use when receiving a file.
if enabled, retrieves data as fast as possible without sending acknowledge packets, otherwise sends acknowledge packets after each read. (Slower but better compatibility with some clients/bots)
If enabled, AdiIRC will display progress bar in app icon in Taskbar for dcc file transfers.
If enabled, AdiIRC will prevent the computer from going to sleep while there are active transfers.
When all active transfers are finished, AdiIRC will resume allowing the computer to sleep again.
The number of bytes to buffer when reading from the socket. (4096 is the most compatible)
if enabled, sends data as fast as possible without waiting for acknowledge packets, otherwise waits for acknowledge packets after each send. (Slower but better compatibility with some clients/bots)
If enabled, AdiIRC will ask to connect to the user to open a port and then upload the file to the user, instead of the user connecting to AdiIRC and downloading it.
Start of the portrange to use for sending dcc files, this is not used for receiving files.
End of the portrange to use for sending dcc files, this is not used for receiving files.
If enabled, AdiIRC will try to bind to the chosen network adapter or IP address when sending dcc files, otherwise it will use ip address retrieved from the server.
If "Bind to adapter or IP address" is enabled, AdiIRC will use the IPv6 address if found.
List of folders to save dcc file transfers matched by file type/extensions.
If set to Disabled, all incoming transfers are allowed.
If set to Accept only, only incoming transfers with file types matching the list will be allowed.
If set to Ignore only, only incoming transfers with file types not matching the list will be allowed.
If enabled, Dcc Ignore method will be turned back on to the previous method after [X] minutes when you set it to Disable.
If enabled, all SEND/SSEND requests will be ignored.
If enabled, AdiIRC will automatically accept dcc file transfers from any users. (Not recommended)
If enabled, AdiIRC will automatically accept dcc file transfers from any users matching a host in the list. (Not recommended)
Syntax for matching a host name is nick!ident@host, wildcards can be used.
The host name can be prefixed with network: to only match on a specific network, network name can be retrieved from $network.
Action to take when receiving a dcc transfer file transfer and Auto accept transfers is enabled and the file already exists.
When set to Ask, you will be prompted what to do.
When set to Resume, it will automatically resume the transfer.
When set to Overwrite, the old file will be deleted and then start the transfer.
When set to Cancel, the transfer will be canceled/ignored.
If enabled, all dcc chats will be ignored.
If enabled, all dcc chats will be automatically accepted.
Added in 1.9.4
/dde [-re] <name> <topic> <item> [data]
Sends an XTYP_POKE request to the specified DDE service.
Switches
Switch | Description |
-r | Specifies you are sending a XTYP_REQUEST. |
-e | Specifies you are sending a XTYP_EXECUTE. |
Parameters
Parameter | Description |
name | DDE service name to query. |
topic | Topic to query. |
item | Item to query. |
[data] | Data to send. |
Example
;Sends a DDE command to the DDE service "AdiIRC". /dde AdiIRC command "" /echo -ag Hello World from /dde.
Added in 1.9.4
/ddeserver [ [on [service name] ] | off]
Turns on or off the DDE service, if you have more than one instance of AdiIRC acting as a DDE service, you should give them different names.
No parameters shows current DDE service status.
Parameters
Parameter | Description |
[on [service name]] | Turns on the DDE service and optionally giving it a new name. |
[off] | Turns off the DDE service. |
Added in 1.5
/debug [-acdgNeinpstrNoNUN] [N] [on | off | @window | filename] [identifier]
Outputs raw server messages, both incoming and outgoing to a file or a custom window.
If a custom window is defined, and it doesn't exist, a window will be created.
If no filename or custom window is defined, default filename of "debug.log" will be used.
/debug works per server.
Switches
Switch | Description |
-c | Closes the associated custom window. (used with off) |
-dN | Enable Editbox; 0 = single, 1 = multi, 2 = auto, 3 = default. (AdiIRC only) |
-e | Adds extended debug information. (AdiIRC only) |
-i | Calls the specified identifier before a debug line is logged. The return value of the identifier is used as the debug line. |
-n | Minimizes the custom window, if a new one is created. |
-p | TODO |
-t | Adds timestamp to the debug line. |
-s | Open a window for debugging scripts. (AdiIRC only) |
-a | Only show the result when debugging scripts. (AdiIRC only) |
-g | Ignore scripts running in timers when debugging scripts. (AdiIRC only) |
-rN | Uses the N color index as the line color for received debug lines. |
-oN | Uses the N color index as the line color for outbound debug lines. |
-UN | If N = 1, enables UTF8 encoding of the output, if N = 2, disables UTF8 encoding, otherwise uses the default. (AdiIRC only) |
Parameters
Parameter | Description |
[N] | Line color to use in the custom window. |
[on | off] | Turns debugging on or off. |
[@window | filename] | Custom window or filename to log to. |
[identifier] | Identifier to parse a line, used with -i. |
Example
; Turns on debug to custom window named '@debug' and minimizes it. /debug -n @debug ; Turns off debug and closes the custom window /debug -c off ; Turns on debug to file named 'debug.log' and enables timestamp. /debug -t debug.log
Added in 1.9.0
/dec [-cesuNzB] <%var> [value]
This decreases the value of %var by value.
See also /var, /set, /unset, /inc, $var.
Switches
Switch | Description |
-c | Decrease %var once per second. |
-e | Unset the variable when AdiIRC exists. |
-s | Echo the new value to current window. |
-uN | Decrease %var once and unset the variable after N seconds. |
-z | Decreases %var until it reaches zero and then unset it. |
Parameters
Parameter | Description |
<%var> | The variable to decrease, either global or local. |
[value] | Value to decrease by, if no value is defined, value is 1. |
Example
alias example { ;Create a local variable and set it to 10. var %x 10 ;Decrease %x by 5. /dec %x 5 ;Print out %x's content. echo -a %x }
Added in 1.5
/dehalfop <nick> [nickN...]
Demotes nick from half-operator on current channel. (mode #channel -h Nick)
Parameter
Parameter | Description |
<nick> | The nick to demote. |
[nickN...] | Additional nicks to demote. |
;Demote 3 users. /dehalfop Nick1 Nick2 Nick3 ;Demote 1 user. /dehalfop Nick1
Added in 1.5
/deop <nick> [nickN...]
Demotes nick from channel-operator on current channel. (mode #channel -o Nick)
Parameters
Parameter | Description |
<nick> | The nick to demote. |
[nickN...] | Additional nicks to demote. |
Example
;Demote 3 users. /deop Nick1 Nick2 Nick3 ;Demote 1 user. /deop Nick1
Added in 1.9.0
/describe <nick|#channel> <message>
Sends an emote/action message to nick or channel.
Same as /me but /me can only send emote/action to the current active window.
See also /me, /ame, /msg, /nmsg, /omsg, /notice, /onotice.
Parameters
Parameter | Description |
<nick|#channel> | Nick or #channel to send the message to. |
<message> | The emote/action message to send. |
Example
; Sends 'Hello World' to channel '#test'. /describe #test Hello world ; Sends 'Hello World' to 'Nick'. /describe Nick Hello world
Added in 1.8.5
/desop <nick> [nickN...]
Demotes nick from special operator on current channel. (mode #channel -a Nick)
Parameters
<nick> - The nick to demote.
[nickN...] - Additional nicks to demote.
Example
;Demote 3 users. /desop Nick1 Nick2 Nick3 ;Demote 1 user. /desop Nick1
Added in 1.5
/devoice <nick> [nickN...]
Demotes nick from voice on current channel. (mode #channel -v Nick)
Parameters
Parameter | Description |
<nick> | The nick to demote. |
[nickN...] | Additional nicks to demote. |
Example
;Demote 3 users. /devoice Nick1 Nick2 Nick3 ;Demote 1 user. /devoice Nick1
Added in 1.9.0
/dialog -abcdefghijklmnoprstuvx <name> [newname|table] [x y w h] [text|filename] [N]
Allows you to create a modeless dialog with the -m switch.
See also $dialog, on DIALOG, Dialog Items.
Switches
Switch | Description |
-a | Used with -m, uses currently active window as the parent. |
-b | Interprets size as dbu. |
-c | Click cancel button. |
-d | Open dialog on the desktop, used with -m. |
-e | Restores the dialog if created on the desktop. |
-f | Hides the window borders. (AdiIRC only) |
-g | Renames existing dialog using <name> <newname>. |
-h | Make dialog work with active server connection. TODO |
-i | Minimize the dialog if created on the desktop. |
-j | Shows the window borders/allows resizing the dialog window. (AdiIRC only) |
-k | Click the "ok" button. |
-l | TODO |
-m | Create a modeless dialog using 'table'. |
-n | Unset ontop setting. |
-o | Set dialog ontop of all windows. |
-p | Interprets size as pixels. |
-r | Centers dialog. |
-s | Set dialog position/size. |
-t | Set dialog title to 'text'. |
-u | Set dialog icon to 'filename'. (AdiIRC only) |
-v | Makes the dialog the active window. |
-x | Close a dialog without triggering any events. |
Parameters
Parameter | Description |
<name> | Name of the dialog to create. |
[newname] | Newname used with -g |
[table] | Name of the dialog table to use. |
[x y w h] | X/Y Position on the desktop and the Height/Width of the dialog. |
[text|filename] | Dialog title text or dialog icon filename. |
[N] | Icon index. (AdiIRC only, used with -u) |
Example
; Create a dialog table. Dialog Example1 { title "This is Example 1" size -1 -1 172 129 option dbu tab "Tab A", 14, 2 0 165 123 tab "Tab B", 15 tab "Tab C", 16 edit "", 17, 8 16 154 104, tab 16 multi return autohs vsbar menu "&File", 1 item "&New", 6, 1 item "&Open", 7, 1 item break, 8, 1 item "&Save", 9, 1 item "Save &as", 10, 1 menu "&Edit", 2 item "&Copy", 11, 2 item "P&aste", 12, 2 menu "&view", 3 item "&All", 13, 3 menu "&Help", 4 item "&About", 5, 4 } ; Create and show the dialog as modeless and on the desktop. /dialog -md Example1 Example1
See also /dialog, $dialog, on DIALOG.
title <text>
Sets the titlebar text of the dialog.
size <x y w h>
Sets the x/y position and the width/height of the dialog.
option <pixels | dbu | notheme | disable>
pixels - The dialog and All dialog items sizes are defined in pixels.
dbu - The dialog and All dialog items sizes are defined in Dialog Base Units.
notheme - Sets the dialog border style to fixed single and disables windows theme styling.
disable - Disables all controls for a second when the dialog is shown.
icon <filename, [index]>
Adds a icon to the dialog.
The filename must have a valid image and be the first parameter, if there are additional parameters after the filename, there must be a comma first.
filename - Icon file, can be any type of picture or icon file, also a .exe or .dll.
[index] - Icon index in the .ico/.exe/.dll file to use.
icon <id, x y w h, filename, [index], [noborder, top, left, bottom, right, small, large, actual, disable, hide, tab id, aleft, aright, atop, abottom, %variable]>
Adds a picturebox to the dialog.
The filename must have a valid image and be the first parameter, if there are additional parameters after the filename, there must be a comma first.
id - Id of the picturebox.
x y w h - The x y position, width and height to use for the picturebox.
filename - Icon file, can be any type of picture or icon file, also a .exe or .dll.
[index] - Icon index in the .ico/.exe/.dll file to use.
noborder - Removes the border added to regular images.
top - TODO
left - TODO
bottom - TODO
right - TODO
center - TODO
small - Use small icon.
large - Use large icon.
actual - Use the actual icon.
disable - Disables the picturebox.
hide - Hides the picturebox.
tabid/tab id - Indicates the picturebox should be shown on the tab with the specified id.
aleft - Anchors the picturebox to the left. (AdiIRC only)
aright - Anchors the picturebox to the right. (AdiIRC only)
atop - Anchors the picturebox to the top. (AdiIRC only)
abottom - Anchors the picturebox to the bottom. (AdiIRC only)
%variable - Fills the variable with the picturebox filename when the dialog closes.
tab <text, id, x y w h>, [%variable]
Adds a tabcontrol to the dialog.
text - The text of the tab.
id - Id of the tabcontrol.
x y w h - The x y position, width and height to use for the tabcontrol.
%variable - Fills the variable with the tab text when the dialog closes.
tab <text, id, [%variable]
Adds a new tab to the tabcontrol with the specified id.
%variable - Fills the variable with the tab text when the dialog closes.
combo <id, x y w h, [sort, edit, drop, size, vsbar, hsbar, result, disable, tab id, aleft, aright, atop, abottom, %variable]>
Adds a combobox to the dialog with the specified id at position x/y and the w/h width/height.
id - Id of the combobox.
x y w h - The x y position, width and height to use for the combobox.
sort - Enables sorting.
edit - Shows the editbox.
drop - Show as a dropdown list.
size - Sets the height of the dropdown area.
vsbar - Enables the vertical scrollbar.
hsbar - Enables the horizontal scrollbar.
result -Indicates the selected dropdown item/text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the combobox.
tabid/tab id - Indicates the combobox should be shown on the tab with the specified id.
aleft - Anchors the combobox to the left. (AdiIRC only)
aright - Anchors the combobox to the right. (AdiIRC only)
atop - Anchors the combobox to the top. (AdiIRC only)
abottom - Anchors the combobox to the bottom. (AdiIRC only)
%variable - Fills the variable with the edit or dropdown text when the dialog closes.
text <text, id, x y w h, [right, center, nowrap, result, disable, hide, tab id, aleft, aright, atop, abottom, %variable]>
Adds a text label to the dialog.
text - The text to add.
id - Id of the text.
x y w h - The x y position, width and height to use for the text.
right - Aligns the text to the right.
center - Centers the text.
nowrap - Prevents the text from wrapping. Any text that does not fit will be cut off.
result - Indicates the text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the text.
hide - Hides the text.
tabid/tab id - Indicates the text should be shown on the tab with the specified id.
aleft - Anchors the text to the left. (AdiIRC only)
aright - Anchors the text to the right. (AdiIRC only)
atop - Anchors the text to the top. (AdiIRC only)
abottom - Anchors the text to the bottom. (AdiIRC only)
%variable - Fills the variable with the text when the dialog closes.
link <text, id, x y w h, [right, center, result, disable, hide, tab id, aleft, aright, atop, abottom, %variable]>
Adds a link label to the dialog.
text - Text of the link.
id - Id of the link.
x y w h - The x y position, width and height to use for the link.
right - Aligns the link to the right.
center - Centers the link.
result - Indicates the link text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the link.
hide - Hides the link.
tabid/tab id - Indicates the link should be shown on the tab with the specified id.
aleft - Anchors the link to the left. (AdiIRC only)
aright - Anchors the link to the right. (AdiIRC only)
atop - Anchors the link to the top. (AdiIRC only)
abottom - Anchors the link to the bottom. (AdiIRC only)
%variable - Fills the variable with the link text when the dialog closes.
button <text, id, x y w h, [default, ok, cancel, flat, multi, result, disable, hide, tab id, aleft, aright, atop, abottom, %variable]>
Adds a button to the dialog.
text - Text of the button.
id - Id of the button.
x y w h - The x y position, width and height to use for the button.
default - Sets the button as the default/accept button of the dialog.
ok - Sets the button as the "ok" button of the dialog.
cancel - Sets the button as the "cencel" button of the dialog.
flat - Shows the button as a flat button.
multi - Split long text into multiple lines.
result - Indicates the button text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the button.
hide - Hides the button.
tabid/tab id - Indicates the button should be shown on the tab with the specified id.
aleft - Anchors the button to the left. (AdiIRC only)
aright - Anchors the button to the right. (AdiIRC only)
atop - Anchors the button to the top. (AdiIRC only)
abottom - Anchors the button to the bottom. (AdiIRC only)
%variable - Fills the variable with the button text when the dialog closes.
check <text, id, x y w h, [left, push, 3state, flat, result, disable, hide, tab id, aleft, aright, atop, abottom, %variable]>
Adds a checkbox to the dialog.
text - Text of the checkbox.
id - Id of the checkbox.
x y w h - The x y position, width and height to use for the checkbox.
left - TODO
push - Shows the checkbox as a button.
3state - Enables the intermediate state, gives the checkbox 3 states it can be in.
flat - Shows the checkbox as a flat checkbox.
result - Indicates the checkbox text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the checkbox.
hide - Hides the checkbox.
tabid/tab id - Indicates the checkbox should be shown on the tab with the specified id.
aleft - Anchors the checkbox to the left. (AdiIRC only)
aright - Anchors the checkbox to the right. (AdiIRC only)
atop - Anchors the checkbox to the top. (AdiIRC only)
abottom - Anchors the checkbox to the bottom. (AdiIRC only)
%variable - Fills the variable with the checkbox text when the dialog closes.
edit <text, id, x y w h, [right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs, limit N, rich, result, disable, hide, tab id, aleft, aright, atop, abottom, %variable]>
Adds a textbox to the dialog.
text - Text of the textbox.
id - Id of the textbox.
x y w h - The x y position, width and height to use for the textbox.
right - Aligns the text in the textbox to the right.
center - Aligns the text in the textbox to the center.
multi - Enables multi lines.
pass - Indicates the text in the textbox is a password and should be masked.
read - Enables read only mode.
return - Allow return key to add new lines.
hsbar - Enables horizontal scrollbar.
vsbar - Enables vertical scrollbar.
autohs - Disables word wrap in a multi line textbox .
autovs - Automatically scroll to bottom when adding lines in multi line textbox .
limit N - Limits the textbox to N characters.
rich - Enables richtextbox instead of regular textbox.
result - Indicates the textbox text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the textbox.
hide - Hides the textbox.
tabid/tab id - Indicates the textbox should be shown on the tab with the specified id.
aleft - Anchors the textbox to the left. (AdiIRC only)
aright - Anchors the textbox to the right. (AdiIRC only)
atop - Anchors the textbox to the top. (AdiIRC only)
abottom - Anchors the textbox to the bottom. (AdiIRC only)
%variable - Fills the variable with the first line in the textbox when the dialog closes.
list <id, x y w h, [sort, extsel, multsel, size, vsbar, hsbar, check, radio, result, disable, hide, tab id, aleft, aright, atop, abottom]>
Adds a listbox to the dialog.
id - Id of the listbox.
x y w h - The x y position, width and height to use for the listbox.
sort - Enables sorting.
extsel - Enabled extended selection mode.
multsel - Enabled multi selection mode.
size - Disable dynamically resizing to fit item heights.
vsbar - Shows the vertical scrollbar always.
hsbar - Shows the horizontal scrollbar always.
check - Shows checkboxes instead of text.
radio - TODO
result - Indicates the selected listbox text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the listbox.
hide - Hides the listbox.
tabid/tab id - Indicates the listbox should be shown on the tab with the specified id.
aleft - Anchors the listbox to the left. (AdiIRC only)
aright - Anchors the listbox to the right. (AdiIRC only)
atop - Anchors the listbox to the top. (AdiIRC only)
abottom - Anchors the listbox to the bottom. (AdiIRC only)
radio <text, id, x y w h, [left, push, flat, group, result, disable, hide, tab id, aleft, aright, atop, abottom, %variable]>
Adds a radio button to the dialog.
text - Text of the radio button.
id - Id of the radio button.
x y w h - The x y position, width and height to use for the radio button.
left - TODO
push - Shows the radio button as an button.
flat - Shows the radio button as flat.
group - Creates a new radio group.
result - Indicates the radio button text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the radio button.
hide - Hides the radio button.
tabid/tab id - Indicates the radio button should be shown on the tab with the specified id.
aleft - Anchors the radio button to the left. (AdiIRC only)
aright - Anchors the radio button to the right. (AdiIRC only)
atop - Anchors the radio button to the top. (AdiIRC only)
abottom - Anchors the radio button to the bottom. (AdiIRC only)
%variable - Fills the variable with the radio text when the dialog closes.
box <text, id, x y w h, [result, disable, hide, tab id, aleft, aright, atop, abottom, %variable]>
Adds a group box.
text - Text of the group box.
id - Id of the group box.
x y w h - The x y position, width and height to use for the group box.
result - Indicates the selected group box text should be returned when the dialog "OK/Accept button" is pressed.
disable - Disables the group box.
hide - Hides the group box.
tabid/tab id - Indicates the group box should be shown on the tab with the specified id.
aleft - Anchors the group box to the left. (AdiIRC only)
aright - Anchors the group box to the right. (AdiIRC only)
atop - Anchors the group box to the top. (AdiIRC only)
abottom - Anchors the group box to the bottom. (AdiIRC only)
%variable - Fills the variable with the box text when the dialog closes.
scroll <text, id, x y w h, [top left bottom right horizontal range N N, disable, hide, tab id, aleft, aright, atop, abottom]>
Adds a vertical scrollbar.
text - Text of the scrollbar?.
id - Id of the scrollbar.
x y w h - The x y position, width and height to use for the scrollbar.
top - TODO
left - TODO
bottom - TODO
right - TODO
horizontal - Sets the scrollbar as a horizontal scrollbar.
range N N - Sets the range of the scrollbar, from N to N.
disable - Disables the scrollbar.
hide - Hides the scrollbar.
tabid/tab id - Indicates the scrollbar should be shown on the tab with the specified id.
aleft - Anchors the scrollbar to the left. (AdiIRC only)
aright - Anchors the scrollbar to the right. (AdiIRC only)
atop - Anchors the scrollbar to the top. (AdiIRC only)
abottom - Anchors the scrollbar to the bottom. (AdiIRC only)
menu <text, menuid [, menuid]>
Adds a new menu collection to the Menubar, if the second menuid is specified, the menuitem is added to that menu collection instead.
text - Text of the menu.
menuid - id of the menu.
menuid - id of the parent menu.
item <text|break, id, [menuid, cancel, ok]>
Adds a new menu item to a menu.
text|break - Text of the menu item, or break to add a menu separator.
id - Id of the menu item.
menuid - Parent menu to add the menu item to, else it's added to previously used menu.
cancel - Indicates this menu should trigger the cancel button.
ok - Indicates this menu should trigger the accept/ok button.
Added in 1.9.0
/did -abcdefghijklmnorstuvz <name> <id> [n] [text | filename | start [end]]
The /did command allows you to modify the values of controls in a dialog,
Switches
Switch | Description |
-a | Add line of text to end. |
-b | Disable id. |
-c | Check checkbox/radiobutton list/combo line. |
-d | Delete Nth line. |
-e | Enable id. |
-f | Set focus on id. |
-g | Set a new icon/image to an icon control. |
-h | hide id |
-i | Insert text at Nth line. |
-j | Resets the edited setting in an editbox. TODO |
-k | Works with -cu, keeps other selections in a listbox. |
-l | Uncheck the checkbox of an item in a listcb control. |
-m | Disables editbox. |
-n | Enables editbox. |
-o | Overwrite Nth line with text. |
-r | Clear all text in id. |
-s | Checks the checkbox of an item in a listcb control. |
-t | Set id as default button. |
-u | Uncheck checkbox/radiobutton list/combo line. |
-v | Make id visible. |
-z | Resets the width of horizontal scrollbar in listbox. TODO |
Parameters
Parameter | Description |
<name> | Name of the dialog. |
<id> | Id of the control to edit, you can use the form N-N1,N2-N3 to change multiple id's at once, 1-5,6,9 would change the following ids: 1,2,3,4,5,6,9. |
[n] | Usually a line number, it can also be an id number with menus, use 0 if you want to access the editbox of a combo control. |
[text] | The text parameter if applicable. |
[filename] | Filename used with -g. |
|start [end] | Used with -z to set the range of a scrollbar, or with -c to set a selection |
Added in 1.9.0
/didtok <name> <id> <c> <text>
Tokenizes a string by character c, then adds the result to a dialog list/combo/edit box.
Parameters
Parameter | Description |
<name> | Name of the dialog. |
<id> | Id of the dialog control. |
<c> | ASCII value to tokenize by. |
<text> | Text to tokenize. |
Example
; Dialog table layout. dialog colors { size -1 -1 100 200 list 1, 10 10 80 180 } ; Run the dialog. /dialog -m colors colors ; Tokenize the string "red blue orange yellow" by whitespace and insert result into the list control. /didtok colors 1 32 red blue orange yellow
Added in 1.9.0
/disable <group1 group2 ... groupN>
Disables the specified groups in all scripts.
Wildcards is allowed.
Parameters
Parameter | Description |
<group1 group2 ... groupN> | A list of groups to be disabled. |
Example
; Disable group #one #two #three. /disable #one #two #three ; Disable all groups matching #*o*. /disable #*o*
Added in 1.5
/disconnect [text]
Disconnects current server with optional quit message [text].
If no quit message is defined default or random quit message is used.
Parameters
Parameter | Description |
[text] | Quit message. |
Example
;Disconnect with a custom quit message. /disconnect See ya later! ;Disconnect /disconnect
Added in 1.9.7
/dlevel [level}
Changes the default access level.
Parameters
Parameter | Description |
[level] | The new default access level to set. |
Added in 1.9.1
/dline [-hlSW] <@name> <N[-N2]>
Deletes the Nth line through N2th line in a custom window.
Switches
Switch | Description |
-h | Highlights the window's node in the treebar if the window is not active. |
-l | Specify the action to take place on the side-listbox. |
-S | Use status window. (AdiIRC only) |
-W | Allow using a channel or query window name for @name. (AdiIRC only) |
Parameters
Parameter | Description |
<@name> | Name of the custom window. |
<N[ | N2]> - The range to be deleted, (negative values are not accepted) |
Example
alias example { ;Open a custom window. /window -de @Foo ;Add a line, line colored in yellow. (8) /aline 8 @Foo Line A ;Add a line, color Dark Green. (3) /aline 3 @Foo Line B ;Add a line, color Dark Green. (3) /aline -s 3 @Foo Line C ;Add a line, color Dark Green. (3) /aline -s 3 @Foo Line D ;Delete line 2 and 3 with range 2-3, only A D remain. /dline @Foo 2-3 }
Added in 1.9.2
/dll [-u] <name.dll> <procname> [data]
This allows you to call routines in a DLL designed to work with AdiIRC.
See also $dll, $dllcall, DLL Support.
Only 64 bit DLL's can be loaded on 64 bit windows (even with the 32 bit AdiIRC), on 32 bit windows only 32 bit DLL's and even some mIRC DLL's can be loaded.
_
Prototype
#include <windows.h> int procName(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause);
Switches
Switch | Description |
-u | Unloads the DLL instead of loading. |
Parameters
Parameter | Description |
<name.dll> | Path/Filename to the DLL. |
<procname> | procName to call. |
[data] | Data to pass to procName() function. |
Example
/* gcc -c -O3 reverse.c gcc -shared --export-all-symbols -o reverse.dll -O3 reverse.o reverse.c: #include <windows.h> #include <string.h> int __attribute__((stdcall)) reverse(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause) { char *l = *data ? data + strlen(data) - 1 : data; char *p = parms; while ((*p++ = *l--)); strcpy(data, "/echo -s "); strcat(data+8, parms); return 2; } */ ; /reverse This is an example! ; !elpmaxe na si sihT alias reverse { /dll "reverse.dll" reverse $1- }
Added in 1.5
/dns [-46ch] <nick|address>
Resolves an ip address/hostname or nick to a ip address/hostname.
Same as /resolve.
Switches
Switch | Description |
-4 | Include ipv4 addresses. |
-6 | Include ipv6 addresses. |
-c | Clears all queued dns queries. |
-h | Force <nick|address> to be a address. |
-a | Print all ip addresses found if input was a hostname. (AdiIRC only) |
Parameters
Parameter | Description |
<nick|address> | The nick or address to lookup. |
Example
; Lookup nick. /dns Nick ; Lookup only ipv4 results. /dns -4 Nick ; Lookup only ipv6 results. /dns -6 Nick ; Lookup ip address 8.8.8.8 /dns 8.8.8.8 ; Lookup google.com /dns google.com ; Lookup nick!ident@host.com (host.com will be extracted) /dns nick!ident@host.com
Added in 4.3
/dock [-ug] <@window|dialog id>
/dock [-abgloNpNrt] [w h] <@window|dialog id>
/dock [-cbgloNpNrt] [w h] <container> <@window|dialog id>
/dock [-bgloNpNnrt] [w h] <container> <panel> <@window|dialog id>
/dock [-bgiloNpNrt] [w h] <container> <panel> <tab> <@window|dialog id>
Docks/undocks a window or dialog as a Monitor Panel.
See also $dockpanels.
Switches
Switch | Description |
-a | Adds the window to any other dock panel on the specified dock side as a new tab or creates a new container and panel. |
-b | Dock to the bottom. |
-c | Create a new container and inserts the window at the specified side/container. |
-g | Indicates "dialog id" specified instead of @window. |
-i | Inserts the window into the specified side/container/panel/tab |
-l | Dock to the left. |
-n | Create a new panel and inserts the window at the specified side/container/panel. |
-oN | Locks the panel. (0 = unlocked, 1 = locked, Ignored by F2 to toggle panels visibility) |
-pN | Pins the panel. (0 = unpinned, 1 = pinned, Autohide) |
-r | Dock to the right. |
-t | Dock to the top. |
-u | Undocks/restores the @window to a regular window. |
Parameters
Parameter | Description |
[w h] | The preferred width and height of the panel. |
<container> | Used with -c to insert the panel into a new container at the specified position. |
<container> <panel> | Used with -n to insert the panel into a specific container at the specified panel position. |
<container> <panel> <tab> | Used with -i to specify where to insert the new panel. |
<@window|dialog id> | The window or dialog id to dock. |
Example
alias testdock { ; Create a custom window. window @test ; Dock the custom window as a monitor panel to the left side, appending if there are any other panels. dock -al @test ; Restores the custom window as a normal window. dock -u @test ; Docks the custom window as a monitor panel to the top, ignoring any current panels. dock -t @test }
-
Added in 1.9.3
/dockpanels [-tscpnhoudiC] [on|off]
Toggles monitor panels visibility (except pinned panels, e.g Treebar) on/off.
/dockpanels with no parameters shows current monitor panels visibility status.
See also Monitor Panels,, $dockpanels, /dock.
Switches
Switch | Description |
-t | Show/Hide Treebar monitor. |
-s | Show/Hide Server monitor. |
-c | Show/Hide Channel Messages monitor. |
-p | Show/Hide Private monitor. |
-n | Show/Hide Notice monitor. |
-h | Show/Hide Highlights monitor. |
-o | Show/Hide Notify monitor. |
-u | Show/Hide URL monitor. |
-d | Show/Hide Dcc Transfer monitor. |
-i | Show/Hide Nicklist monitor. |
-C | Clears the monitor panel data. |
Parameters
Parameter | Description |
on | Toggles monitor panels visibility on |
off | Toggles monitor panels visibility off |
Example
; Toggle the Treebar Monitor Panel. /dockpanels -t ; Clear the highlight Monitor Panel.. /dockpanels -Ch
Added in 2.3
/download [-col] <name> <url> <filename>
Starts a file download from a url.
See also $download, $downloaderr, on DOWNLOAD.
Switches
Switch | Description |
-c | Stops and closes the download. (<name> can be a wildcard) |
-o | Overwrite file it if already exists. |
-l | Prints the open downloads. |
Parameters
Parameter | Description |
<name> | Name of the download. |
<url> | Url to download. |
<filename> | Filename to save as. |
Example
; Download the url 'https://adiirc.com/setup64.exe' to the file 'setup.exe'. /download adiirc https://adiirc.com/setup64.exe setup.exe on *:DOWNLOAD:adiirc:echo -ag Download of $download($download).file is complete.
64 Bit 🡇 | 32 Bit 🡇 |
---|---|
AdiIRC 2.7 Installer x64.exe | AdiIRC 2.7 Installer x86.exe |
AdiIRC 2.7 Portable x64.zip | AdiIRC 2.7 Portable x86.zip |
STABLE |
64 Bit 🡇 | 32 Bit 🡇 |
---|---|
AdiIRC 2.8 Beta Portable x64.zip | AdiIRC 2.8 Beta Portable x86.zip |
BETA |
See also /betaup command.
64 Bit 🡇 | 32 Bit 🡇 |
---|---|
AdiIRC 2.7 Legacy Installer x64.exe | AdiIRC 2.7 Legacy Installer x86.exe |
AdiIRC 2.7 Legacy Portable x64.zip | AdiIRC 2.7 Legacy Portable x86.zip |
LEGACY |
AdiIRC works very well with Wine 1.5 or higher and Wine Staging or winebottler, see Wiki install guide.
All previous public AdiIRC releases are available to download in links bellow.
INTEGRITY
GPG key can be received from here or here.
File | Hash && GPG key ✓ | |
---|---|---|
Stable | ||
setup.exe AdiIRC.2.7.exe GPG |
md5: | a5ce9464954d3fd6e0e24e8968bbc42f |
sha1: | 7745bc887ef3f23f3c8a2df568402ea18fd06e0e | |
sha256: | e5db75b8f21e2ec1fe8e90b14d31171ab7df35fa1e7e572c262e0894dd9b5941 | |
setup64.exe AdiIRC64.2.7.exe GPG |
md5: | 3350fe59292fba5a40a447cb08147794 |
sha1: | 2c3aeb8495f8fcac6f449680a426334cdefcc625 | |
sha256: | e88519f577e1ef7199f07491228d21acb4b9953cb2584279a8b09f52a31ce93c | |
AdiIRC_2.7.exe GPG |
md5: | 5dc3ef4ac54de893b96fd0f68895800b |
sha1: | 0c24cfd27e93ca7d62bc148a36cab9a69c13cfa9 | |
sha256: | f62900119b66d6819903c8164834005323586065719f2c227b9a79aa4afa0b0e | |
AdiIRC64_2.7.exe GPG |
md5: | 5aa64c6e5c6a3e57401aca6ecc423d2b |
sha1: | 4d8bd8804cc045cb89b26059a4936d207d3019f4 | |
sha256: | 7444c27cafbe0832a5254c7f5addf3a678d1e200ce9d7c2c361754c4c6626779 | |
AdiIRC_2.7.zip GPG |
md5: | e5296bed7a0a069aef5ed89b041103e2 |
sha1: | 213b1404796168377b36059e38af72e39178468c | |
sha256: | f715ccecb057bca66bf15c41858cffa5503e008d87d068324fe5a901d07190cf | |
AdiIRC64_2.7.zip GPG |
md5: | 98341217d41ef1764fd279611287518e |
sha1: | 6760840fd203e7bfde1920df4efe2d556d190049 | |
sha256: | 787325df678e757100b83f6cb197e3f55777ef616d6b3238bfc2c569adc898f3 | |
Beta | ||
AdiIRC.zip GPG |
md5: | 139921c8b756475845f87d81d476dab3 |
sha1: | 8b7624828ffe871c84e531de8db3006b3b3f7bb0 | |
sha256: | 6511830c49c6efc87f5bf2d9cca6d7b596451d95eb80da139ba2a3ebef070cef | |
AdiIRC64.zip GPG |
md5: | 53e9762e5b9a699beaaf6bbfb3b51ea7 |
sha1: | 3f917de0b801a6e328acd3b782e3467a38af89a4 | |
sha256: | 9b08034a2f1524cd8ac532765813ded5aecbf075789cbb9fdff94fd9ad9962e2 | |
AdiIRC_45.zip GPG |
md5: | 8fc77645268fe26fd82e29f01cf39f83 |
sha1: | 62fd5e71961bddba50bb62eb5c4c975b6aaeb4d2 | |
sha256: | a8515dd86054c28d5905a3868392de449dd7935d52ad0eb287a0d7df6edd4f3d | |
AdiIRC64_45.zip GPG |
md5: | edbf7adb2008fc7f3bf79a32cdb11b0b |
sha1: | 35c1b3a5e7b01e46405f6737572c6d8924680d96 | |
sha256: | b05760937d189643c0fe433ee0f1bf3b1aeef3bf9f8e65379838ab0ab385d41a | |
AdiIRC.exe GPG |
md5: | a1fcfaebaaaf272bd2ef31def01f3765 |
sha1: | 7afcc5da4d7d5022088e4bb74904517672225ac8 | |
sha256: | 5489e983a98a9624df0e284d580f860957b10379d206e42220368d0a18b9da28 | |
AdiIRC64.exe GPG |
md5: | 65fdd271b64b8895a1a170665dab55e7 |
sha1: | c19cbb694236271668cd3b79eb818d4fea6ac2c0 | |
sha256: | a7d39008de48b02a3b31ea2b752c18093b4e588ea8a48998d2023f13fedfc48a | |
AdiIRCANY.exe GPG |
md5: | bd22d25942bbcab385f52c569e505699 |
sha1: | f539375db1ef93e3304523bd21d5bdabf52d8a43 | |
sha256: | 683c7de240f6aee703a112c6dd9ae962f5ecbdd27ce3f64846cb7cd71248c686 | |
AdiIRCANY.zip GPG |
md5: | 5236880f977cd183060ffda7b7f3a9e2 |
sha1: | de9fa4b9b7ddefe876fa24ca3a4994f6a1eb89ab | |
sha256: | 3262f50a0cd30693c74ef7feb3436a95c24d5ca9ea1ea1b8f493c8e6c5d1343b | |
Legacy | ||
AdiIRC64.2.7.exe GPG |
md5: | 111b414d63b48a4304ec554dcf6bab6b |
sha1: | 070af4522c9749dcf2a1e7091777604082a082c2 | |
sha256: | bcf9e2b698cd48630737f9639690d011dd08c7eb7baf2e384bddcb9d9b5c126a | |
AdiIRC.2.7.exe GPG |
md5: | 649a1a3a37c502ff50ae74f8f56136b9 |
sha1: | bff19eb4cd2b4b7f2e75254871f7fd2296937741 | |
sha256: | f245c0eed4334a25c4dbd6edd8bf88efa3c3b418423952bfc04beab6b778762b | |
AdiIRC64_20_2.7.exe GPG |
md5: | d9f6e88081e3a31405a179f4e4ad05a5 |
sha1: | 4dece82b7f28ecd286b260ccbc82c06aea0f9658 | |
sha256: | 9070d7a9393fe4547da22b5d59e31809117b63b5d112bc4a4fcb779a5e134062 | |
AdiIRC_20_2.7.exe GPG |
md5: | 56c1f5308f824cc21bece3dc077fee1b |
sha1: | 9833b0180f610c9c68f8bd0ffec8338926331336 | |
sha256: | 88303a4cd569f4070885b20628ecd3a95aa0ec3a434210a1b5c14721e71818ec | |
AdiIRC64_20_2.7.zip GPG |
md5: | 2ebf77263e08b73e25314e51bdb0b657 |
sha1: | d1c130d4ec39a7ef522d92ccbdd026ee58204834 | |
sha256: | 248ab7cc1aef21b7af0797927af0eba97a216bdccb609a610aab5d27e3796610 | |
AdiIRC_20_2.7.zip GPG |
md5: | b8658672092f8e9336ac0264cc877279 |
sha1: | af009cf9e91c64cc51f072c475fea32717df751b | |
sha256: | db6e013b2705a3ee2b3b199e0453305f33cad330eb35da0de3828ac437cea41b |
Antivirus flags AdiIRC as having a virus or trojan.
AdiIRC seems to generate a lot of false positives in some antivirus programs, if possible, please submit the file to your antivirus vendor for false positive analyzes, so the vendor can improve detection, and/or white-list AdiIRC.exe.
If you are unsure, the false positives seems to be resolved after a few weeks, you can try update again then. Also be free to scan AdiIRC executable on VirusTotal, there are over 50 virus scanners, usually a tiny amount of engines are flagging it, a strong indication it is a false-positive.
Added in 1.9.0
/drawcopy -himnrt <@window> [color] <x y w h> <@window> <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.
Switches
Switch | Description |
-h | Highlights the windows icon if it is minimized. |
-i | Draws in inverse mode. |
-m | Changes the stretch mode quality when the picture is resized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
-t | Indicates that you have specified the [color] RGB value as a transparent color in the source bitmap. |
Parameters
Parameter | Description |
<@window> | The picture window to copy from. |
[color] | If -t is used, the RGB color used for transparency. |
<x y w h> | Portion to of the source @window to copy. |
<@window> | The picture window to copy to. |
<x y [w h]> | The coordinate where to draw, if [w h] are specified, the picture is squeed/stretched to fit, they can be negative value to get a mirror effect. |
Added in 1.9.0
/drawdot [-ihnr] <@window> <color> <size> <x y> [<x y>...]
Draws a dot using the specified color and size at the x,y co-ordinates. Multiple co-ordinates can be provided.
Switches
Switch | Description |
-i | Draws in inverse mode. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
Parameters
Parameter | Description |
<@window> | The picture window to draw in. |
<color> | Color off the dot to draw. |
<size> | Size of the dot to draw. |
<x y> | x,y co-ordinates to draw at. |
[<x y>...] | Additional x,y co-ordinates to draw at. |
Added in 1.9.0
/drawfill [-ihnrs] <@window> <color> <color> <x y> [filename] [<x y>...]
Fills an area with the specified color starting at the specified co-ordinates.
Switches
Switch | Description |
-i | Draws in inverse mode. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
-s | 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). |
Parameters
Parameter | Description |
<@window> | Name of the picture window to draw. |
<color> | The color used for the fill. |
<color> | The color used to know how to fill (if -s, it fills as long as the color of the pixels around is the same color as the one you provide here, otherwise, it fills as long as the color of pixel is not the color you provide here) |
<x y> | The coordinate where to fill. |
[filename] | TODO |
[<x y>...] | TODO |
Added in 1.9.0
/drawline [-ihnr] <@window> <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.
Switches
Switch | Description |
-i | Draws in inverse mode. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
Parameters
Parameter | Description |
<@window> | The picture window to draw in. |
<color> | Color off the line to draw. |
<size> | Size of the line to draw. |
<x y> | x,y co-ordinates to draw at. |
[<x y>...] | Additional points to draw. |
Added in 1.9.0
/drawpic -ihmnotsclgNf <@window> [color] <x y [w h]> [x y w h] [N] [M] <filename>
Switches
Switch | Description |
-t | Indicates that you have specified the [color] $rgb value as a transparent color in the specified bitmap. |
-s | Indicates that you have specified the first [w h] parameters to squeeze/stretch the bitmap. |
-c | Indicates that the bitmap should be cached. This greatly speeds up subsequent references to this bitmap. If you specify -c and the bitmap is already in the cache, it is loaded and used from the cache, otherwise it is reloaded from the file. You can clear the entire cache with /drawpic -c. |
-l | TODO |
-m | Changes the stretch mode quality when the picture is resized. |
-o | Indicates that you have specified the [N] value before the filename, representing the index of the icon in the file. |
-gN | TODO |
-i | Draws in inverse mode. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-o | Indicates that you have specified the [N] value before the filename represents the index of the icon in the file. |
-f | TODO |
Parameters
Parameter | Description |
<@window> | The window name to draw. |
[color] | If -t is used, the RGB color used for transparency. |
<x y [w h]> | The x y coordinates where you want to draw, if -s is used, [w h] is the width/height that will be used to squeeze/stretch the bitmap. |
[x y w h] | The area in the picture to be drawn. |
[N] | If -o is used, the index number of the picture in the file. |
[M] | TODO |
<filename> | The filename for the picture. |
Added in 1.9.0
/drawrect -ihnrfecd <@window> <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.
Switches
Switch | Description |
-i | Draws in inverse mode. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
-f | Draws a filled rectangle. |
-e | Draws an ellipse instead of a rectangle. |
-c | Draws a focus rectangle. |
-d | Draws a rounded rectangle, using the format "/drawrect -d x y w h [w h]" where w and h are the width and height of the ellipse used to draw the corners. |
Parameters
Parameter | Description |
<@window> | Name of the Picture Window to draw to. |
<color> | The color used for the rectangle. |
<size> | Thickness of the border in pixels. |
<x y w h> | Co-ordinates for a rectangle in pixels, x and y are the top left corner. |
[<x y w h>...] | Draw additional rectangles. |
Added in 1.9.0
/drawreplace -nr <@window> <color1> <color2> [x y w h]
Replaces all occurrences of color1 with color2.
Switches
Switch | Description |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
Parameters
Parameter | Description |
<@window> | Name of the picture window to draw. |
<color1> | The color to replace. |
<color2> | The color to replace with. |
[x y w h] | the area of the picture to replace. |
Added in 1.9.0
/drawrot [-hmnbfcp] <@window> [color] <angle> [x y w h]
Rotates an area of a bitmap by the specified angle.
Switches
Switch | Description |
-h | Highlights the window if it's minimized. |
-m | Changes the stretch mode quality when the picture is resized. |
-n | Prevents the display from being updated immediately. |
-b | Indicates that you have specified the background color value. (The [color] is always in $rgb format) |
-f | Fits the newly rotated bitmap into the original width/height. |
-c | Centers the rotated image if -f is not specified. |
-p | Clips the rotated image. |
Parameters
Parameter | Description |
<@window> | Name of the window to rotate. |
[color] | The background color to use if -b is defined. |
<angle> | The angle of the rotation. |
[x y w h] | The area to rotate. |
Added in 1.9.0
/drawsave -bNqNSBFN <@window|&binvar> [x y w h] <filename>
Saves the background picture of the specified picture @window to a file.
Switches
Switch | Description |
-bN | allows you to specify the bit depth of the saved file, which can be 1, 4, 8, 16, 24, or 32. |
-qN | allows you to specify the quality of the jpeg file that is being saved, where N is between 1 and 100. |
-S | Indicates [x y w h] is specified to save only a specific position and size of the picture. (AdiIRC only) |
-B | Converts the picture window bitmap into a base64 encoded string and stores it into &binvar. (AdiIRC Only) |
-FN | Image format to save to. (AdiIRC Only) (default is PNG) |
Parameters
Parameter | Description |
<@window> | Window name to save from. |
<&binvar> | Used with -B. (AdiIRC Only) |
[x y w h] | The position and size from the picture to save, used with -S. (AdiIRC only) |
<filename> | Filename to save to. |
Image Formats
Format | Extension |
-F0 | .png |
-F1 | .jpg |
-F2 | .bmp |
-F3 | .emf |
-F4 | .exif |
-F5 | .gif |
-F6 | .ico |
-F7 | .tiff |
-F8 | .wmf |
Added in 1.9.0
/drawscroll -hn <@window> <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.
Switches
Switch | Description |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
Parameters
Parameter | Description |
<@window> | Name of the window to scroll. |
<x> | The number of pixel to scroll on the x axis. |
<y> | The number of pixel to scroll on the y axis. |
<x y w h> | The region to scroll. |
[<x> <y> <x y w h>...] | Additional pixels and regions to scroll. |
Added in 3.8
/drawsize <@window> <w h>
Sets the minimum bitmap size for a picture window to the specified width and height.
Parameters
Parameter | Description |
<@window> | Name of the window to set the minimum size for. |
<w h> | The minimum width and height and to set. |
Added in 1.9.0
/drawtext -hnrpbocvd <@window> <color> [color] [fontname fontsize] <x y [w h]> <text|&binvar>
Draws text at the specified co-ordinates.
Switches
Switch | Description |
-p | Processes and interprets control codes in the text. |
-b | Indicates that you have specified the second color parameter as the background color for the text. |
-o | Indicates specified font should be in bold. |
-c | Indicates that you have specified the [w h] values as the rectangle in which text should be printed. Text will be clipped if it extends beyond this rectangle. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the colors are in $rgb format. |
-v | Indicates &binvar is specified. |
-d | TODO |
Parameters
Parameter | Description |
<@window> | Name of the window to draw. |
<color> | The textcolor. |
[color] | The background color, if -b has been specified. |
[fontname fontsize] | The name of the font and the size of the font. |
<x y [w h]> | The coordinate of the text. |
<text<redpre#0>&binvar> | The text or text from a &binvar to draw. |
Example
alias testdrawtext { window -p @win drawtext @win 4 Verdana 11 0 0 Hello World }
Added in 1.9.7
/ebeeps [on|off]
Enables or disables the sounds in the Sounds dialog.
Parameters
Parameter | Description |
[on|off] | Turns sound on or off. |
Added in 1.8.10
/echo [color] [-abcdefghi<N>lmnNqrstNuvw<N>I<N>SR<N>B] [color name] [window] <text>
Prints text in the specified window using the specified color (0 to 99).
Switches
Switch | Description |
---|---|
-a | Prints to the current active window. |
-b | Apply beep options. |
-c | Indicates [color name] is defined after the switches. (not [color]) |
-d | TODO |
-e | Encloses the line in line separators. |
-f | Apply flash options. |
-g | Prevents the echo from being logged. |
-h | TODO |
-i<N> | Indents the wrapped line by N characters. |
-l | Apply highlight options. |
-m | This echo should be treated as a normal message. |
-n | Prevents the echo from highlighting the window Switchbar/Treebar icon. |
-N | Prevents adding inline images from urls in the text. (AdiIRC only) |
-q | Don't print if called from a alias using the . prefix. |
-r | Apply strip colors/bold/italic/underline options. |
-s | Prints to the status/server window associated with current window. |
-t<N> | Apply timestamp prefix options. N is a optional UTC value to use for the timestamp. |
-u | Indicates the first word is not a nick column prefix. (AdiIRC only) |
-v | Indicates the first word/token is a timestamp. |
-w<N> | if N = 0, replaces emoticon tags in all token except the first one, N = 1, replaces only the first token, N = 2, replaces all tokens. (AdiIRC only) |
-I<N> | Inserts the line at position N in the buffer. (AdiIRC only) |
-S | Used with -I<N> to force the buffer to scroll he number of wrapped lines of the inserted line. (AdiIRC only) |
-R<N> | Replaces the line at position N in the buffer. (AdiIRC only) |
-B | Indicates the [color] color is in $rgb format. (AdiIRC only, see also $ocolor) |
Parameters
Parameter | Description |
---|---|
[color] | A numeric color value to use as line color (0 to 99). |
[color name] | Used with the -c switch. One of the following: Action, ctcp, highlight, info, info2, invite, join, part, quit, kick, mode, topic, nick, normal, notice, notify, other, own, wallops, whois. |
[window] | The target window. (any window with a Text Area) |
<text> | The text to print. |
Example
; Prints 'Hello World!' to current active window. /echo -a Hello World! ; Prints 'Hello World!' to the target window during a event. /echo $target Hello World!
Added in 2.3
/echomonitor [color] [-hcrtNuvwN] [color name] <text>
Prints text in the server or channel monitor using the specified color (0 to 99).
See also Monitor Panels.
Switches
Switch | Description |
-h | Print to the channel monitor instead of server monitor. |
-c | Indicates [color] is a color name. |
-f | Apply flash options. |
-tN | Apply timestamp prefix options. N is a optional UTC value to use for the timestamp. |
-u | Disables using first word as prefix for nick column. |
-v | Treats first word as a timestamp. |
-wN | if N = 0, replaces emoticon tags in all token except the first one, N = 1, replaces only the first token, N = 2, replaces all tokens. |
Parameters
Parameter | Description |
[color] | A numeric color value to use as line color (0 to 37). |
[color name] | Used with the -c switch. One of the following: Action, ctcp, highlight, info, info2, invite, join, part, quit, kick, mode, topic, nick, normal, notice, notify, other, own, wallops, whois. |
<text> | The text to print. |
Example
; Print 'Some text' to the Server monitor. /echomonitor -t Some text ; Print 'Some text' to the Channel monitor. /echomonitor -ht Some text
Added in 1.9.3
/echox [color] [-abcdefghiNlmnqrstNuvwNINSB] [color name] [window] %var
Prints text in the specified window using the specified color (0 to 35).
Same as /echo but evaluates a variable instead of text and allows printing consecutive spaces.
See also $msgx.
Switches
Switch | Description |
---|---|
-a | Prints to the current active window. |
-b | Apply beep options. |
-c | Indicates [color name] is defined after the switches. (not [color]) |
-d | TODO |
-e | Encloses the line in line separators. |
-f | Apply flash options. |
-g | Prevents the echo from being logged. |
-h | TODO |
-i<N> | Indents the wrapped line by N characters. |
-l | Apply highlight options. |
-m | This echo should be treated as a normal message. |
-n | Prevents the echo from highlighting the window Treebar/Switchbar icon. |
-q | Don't print if called from a alias using the . prefix. |
-r | Apply strip colors/bold/italic/underline options. |
-s | Prints to the status/server window associated with current window. |
-t<N> | Apply timestamp prefix options. N is a optional UTC value to use for the timestamp. |
-u | Indicates the first word is not a nick column prefix. |
-v | Indicates the first word/token is a timestamp. |
-w<N> | if N = 0, replaces emoticon tags in all token except the first one, N = 1, replaces only the first token, N = 2, replaces all tokens. |
-I<N> | Inserts the line at position N in the buffer. (AdiIRC only) |
-S | Used with --I<N> to force the buffer to scroll he number of wrapped lines of the inserted line. (AdiIRC only) |
-R<N> | Replaces the line at position N in the buffer. (AdiIRC only) |
-B | Indicates the [color] color is in $rgb format. (AdiIRC only) |
Parameters
Parameter | Description |
---|---|
[color] | A numeric color value to use as line color (0 to 37). |
[color name] | Used with the -c switch. One of the following: Action, ctcp, highlight, info, info2, invite, join, part, quit, kick, mode, topic, nick, normal, notice, notify, other, own, wallops, whois. |
[window] | The target window. |
<text> | The text to print. |
Example
; Create a variable with the text a b. /var %var a $+ $chr(32) $+ $chr(32) $+ $chr(32) $+ $chr(32) b ; Prints the variable to current active window. /echox -a %var
Added in 1.9.3
/edit -almnpqsv
Opens or focuses a editor.
Switches
Switch | Description |
-a | Opens the Aliases Editor. |
-i | Opens the Nicklist Buttons Editor. |
-l | Opens the Slaps Editor. |
-m | Opens the Menus Editor. |
-n | Opens the Now Playing Editor. |
-p | Opens Edit Plugin Scripts. |
-q | Opens the Quits Editor. |
-s | Opens the Script Editor. |
-u | Opens the User list Editor. |
-v | Opens the Variables Editor. |
Example
; Opens the Script Editor. /edit -s
Added in 1.9.0
/editbox [-abNeNEfNinopqNsvckhNr] [window] <text|color>
Fills the Editbox of the current or specified window with the specified text.
See also $editboxhistory, $editbox.
Switches
Switch | Description |
-a | Use the Editbox from the current active window. |
-bN | Set selection start to position N. |
-eN | Set selection end to position N. |
-E | Use the current active Editor. (AdiIRC only) |
-fN | If N = 1/$null sets focus to the Editbox and makes sure the window is not minimized and active. |
-i | Inserts the text at current cursor position. (AdiIRC only) |
-n | "press" enter on the Editbox after the text is added. |
-o | TODO |
-p | Append a white-space after the text. |
-qN | TODO |
-s | Use the Editbox from status/server window associated with current window. |
-v | Prevents the Editbox contents from being changed. |
-c | Sets the Editbox text color. (AdiIRC only) |
-k | Sets the Editbox background color. (AdiIRC only) |
-hN | Sets the Editbox history item to the Nth item. (AdiIRC only) |
-r | TODO |
Parameters
Parameter | Description |
[window] | The window to edit. |
<text|color> | The text to append/insert or the color to set. |
Example
; Inserts 'Hello World!' into the Editbox in current active window. /editbox -a Hello World! ; Inserts 'Hello World!' into the current active Editor, must be triggered by a custom shortcut. /editbox -E Hello World!
The Editbox is where you type messages to channels and users, it can also be used to type commands.
See also Editbox Options.
Typing a command with one forward slash /command parameters executes a built-in command, scripted identifier or a plugin command.
Typing a command with two forward slashes //command parameters evaluates the parameters before executing a built-in command, scripted alias or a plugin command.
Pressing the CTRL key while pressing ENTER allows sending commands as plain text without executing them.
Editbox supports spellchecking, see Spellcheck for a installation guide.
The Edibox have a history of previously sent messages/commands which you can cycle through using the UP or DOWN key, if the Editbox currently have multiple lines, you must press ALT + UP / DOWN instead, this is so you can use UP / DOWN to move the cursor between the lines.
By default each Editbox have it's own history, this can be changed to using a global history for all Editboxes in Editbox Options.
History can be cleared using the /clear command with the -h parameter or by using the Editbox right-click menu.
The Editbox supports various tab completions including nick completions using the TAB key, see Tabcomplete for more information.
See this script for tab completing spellchecking.
See also on TABCOMP.
See Editbox Options for available options.
The colors can be changed in Options -> Colors -> Editbox.
The font can be changed in Options -> Fonts or through the /font command.
It's possible to add padding around the Editbox in Options -> Windows -> Editbox padding.
It's possible to change colors per channel using the /editbox command.
It's possible to respond to keydown/keydown events using the on KEYDOWN and on KEYUP events.
It's possible to respond to pressing enter using the on INPUT event.
It's possible to respond to tab completion/tab key the on TABCOMP event.
Check the Scripting Forums for examples.
The /editbox command and the $editbox identifier allows retrieving or changing the Editbox text and selection.
See also $spellcheck, $editboxhistory.
Check the plugin api for the IEditbox interface and the Editbox tutorial.
Typing and then selecting a nick and then pressing CTRL + Space opens the nicklist menu for that nick, otherwise opens the Editbox right-click menu.
Typing /! in a Editbox restores the last line written in any Editbox.
See also Shortcuts, there are many relevant to the Editbox.
This script can auto replace text while typing, it also has a user interface.
When typing or pasting characters not available in the specified font, they will appear as empty squares for Windows versions below 10.
When using spellchecking, the Editbox switches to a custom undo/redo stack. It is not as intelligent as the built-in stack (it only allows undo one typed character at the time), there will be some improvements in the future.
Windows build 1809 introduced a bug causing some fonts to not work properly in the Editbox, it can be fixed for now by typing /setoption Misc UseOldRtb True. (This disables emoji support in the Editbox)
Using certain characters and certain fonts may cause the Editbox to have different characters in 2 separate fonts, this is not a bug. The windows control does this to substitute characters not available in the current font, you'll see the same thing in Notepad which uses the same control.
Editbox is the control/box where your type messages.
See also /editbox, $editbox, on TABCOMP.
If enabled, using the up/down keys at the top/bottom of the Editbox will move to the previous/next item in a multiline Editbox without using a modifier key.
If enabled, typing $identifier<tab> and //commands will not be evaluated in the Editbox.
Enabled/disables the Paste & Submit menu item in the Editbox right-click menu.
If enabled, typing "'(<[{*`~_- will enclose the selected text with the appropriate tags.
Shows a warning when pasting more then [X] lines of text to a single line Editbox.
Sets the colors to use when spellchecking is enabled and underlining misspelled words.
If set to Automatic, Editbox will automatically resize to fit the text up to half the window size, otherwise it will always show to the chosen number of lines.
Sets the minimum number of lines to use when Editbox Lines is set to Automatic, it will still expand on larger text.
If enabled, Editbox up/down history will be the same for each window, otherwise each window has it's own up/down history.
If enabled, Editbox history will be saved and restored across sessions.
Set the maximum number of Editbox history to save.
Enables or disable the tabcomplete feature.
Note disables on TABCOMP as well.
Enables or disables tabcompleting saved %variables.
Enables or disables cycling all nicks when performing a tabcomplete on a white space or empty Editbox.
Sets the order to cycle Tabcomplete nicks. A-Z = alphabetically, Last spoke order = in the order a nick last spoke on the current channel.
When a nick joins, it's included when cycling Tabcomplete regardless if that nick ever spoke.
Word or characters to display before the nick when using Tabcomplete, e.g ">" to display >Nick"
This is the prefix for any word in the Editbox except the first word.
Word or characters to display before the nick when using Tabcomplete, e.g ">" to display ">Nick"
This is the prefix for the first word in the Editbox.
Word or characters to display after the nick when using Tabcomplete, e.g ":" to display "Nick:"
This is the suffix for any word in the Editbox except the first word.
Word or characters to display after the nick when using Tabcomplete, e.g ":" to display "Nick:"
This is the suffix for the first word in the Editbox.
There are various options in the Editor which affects various features.
If enabled, loading new scripts in the Script Editor}} which contains a [[on START or on LOAD event will ask to execute these events.
If enabled, AdiIRC will ask before closing a editor if there are unsaved changes.
if enabled, AdiIRC will monitor all loaded vars/users/menu/aliases/script files for file changes and ask for confirmation before reloading them.
If enabled, AdiIRC will first write to a temporary file the copy the temporary file over the target file.
If enabled, AdiIRC will perform check bracket on the file when the edit is closed.
The check bracket feature indents the code with whitespaces according to the bracket { } level and displays a warning if there are mismatched number of brackets. (the warning is suppressed on closing)
This:
alias myalias { command1 command2 if (1 == 1) { command3 command4 } }
becomes this:
alias myalias { command1 command2 if (1 == 1) { command3 command4 } }
if enabled, the current selection text will be searched in the search panel when clicking the Menubar (inside the editor) -> Edit -> Find menu item or when pressing the CTRL + F shortcut.
if enabled, AdiIRC will continue searching from the top when there are no new matches in the search panel, otherwise it stops searching.
Enables or disables the line numbers panel in the editor.
If enabled, AdiIRC will show a scripting error/warning when a identifier is used which doesn't exist.
See also $~.
If enabled, the editor will always be on top of other windows.
If enabled, the editor will be shown on the desktop as a stand alone window and have a taskbar icon, otherwise it will be floated/glued to the AdiIRC main window.
Set a external program/editor to open the file with when clicking the sidebar file menu -> Open in External Editor.
Enables or disables the sidebar file list. The list can also be accessed from the Menubar (inside the editor) -> View.
Enables or disables the Top panel underneath the Menubar (inside the editor).
Enables or disables word wrapping in the editor.
Enables or disables smooth scrolling in the editor.
Off - Disables the close icon in the sidebar list.
On Hovering - Show the close icon in the sidebar list only when hovering a file.
Active - Show the close icon in the sidebar list for the active file only.
Always - Always Show the close icon in the sidebar list for all files.
Ctcps - Enables or disables triggering on CTCP Scripting_Events.
Events - Enables or disables triggering all non RAW/CTCP Scripting_Events.
Raw - Enables or disables all on RAW Scripting_Events.
Added in 1.9.7
/emailaddr <address>
Act's as an alias for /usernick.
Changes your usernick/ident on current connection.
If connected from the serverlist, the serverlist is updated, else quick connect is updated.
Parameters
Parameter | Description |
<address> | The new address. |
Example
; @host.com is ignored /emailaddr Obiwan@host.com
For colored emoji support, check this plugin.
Tip. Options -> Messages -> Pixel spacing makes lines bigger, emoticons will also resize to be bigger.
Enable or disable emoticons.
Enabling emoticons only works on new messages after emoticons is enabled.
All icons will be resized/scaled to fit inside the text line height, aspect ratio will be preserved.
Enable or disable animated gifs support.
When the support is disabled, all gifs will stop animating and show the first frame as a static image.
If enabled, text and TEXT will both be replaced with the same icon, otherwise they could have different icons.
If enabled, emoticons inside links and words will not be replaced.
If enabled, emoticons will be stretched to match the real line height when Pixel Spacing is used.
If enabled, allows using a custom Regular Expression to match the emoticons trigger.
The Regular Expression to use when Use regex to match a pattern is enabled.
<emote> in the regex will be replaced with the pattern (trigger|trigger|trigger).
Use /setoption Emoticons Emoticon_<matchtext> <filename>.
\ and = characters must be escaped with a \ character.
Channels or users windows excluded from showing emoticons.
Per server settings can be added using network:#channel syntax.
Always show emoticons for some channels/users windows.
Per server settings can be added using network:#channel syntax.
These windows ignores/overrides the "Use Emoticons" option.
There is a Emoticons flag when adding a ignore in Options -> Ignore.
Added in 1.9.0
/enable <group1 group2 ... groupN>
Enables the specified groups in all scripts.
Wildcards is allowed.
Parameters
Parameter | Description |
<group1 group2 ... groupN> | A list of groups to be disabled. |
Example
; Enable group #one #two #three. /enable #one #two #three ; Enable all groups matching #*o*. /enable #*o*
Added in 1.8.3
/encoding [codepage]
Sets text encoding used on current server.
/encoding with no parameters will show current codepage.
Setting will update the serverlist entry if found.
Parameters
Parameter | Description |
[codepage] | The codepage to set. -1 will use the system default encoding. |
Example
;Set codepage to UTF-8 /encoding 65001 ;Set codepage to ISO-8859-11 /encoding 28601 ;Set codepage to system default /encoding -1
Added in 1.9.3
/events [on|off]
Switches named events on/off, if no parameters are defined, current status is shown.
See also /ctcps, /raw, /remote.
Parameters
Parameter | Description |
[on|off] | Switches names events on or off. |
Tip. It's possible to change individual events per channel in Switchbar/Treebar
right-click menu -> Events.
See also $eventtarget.
When a user joins a channel, show the message in the channel, in the status window or hide it.
When a user changes channel modes, show the message in the channel, in the status window or hide it.
When a user leaves a channel, show the message in the channel, in the status window or hide it.
When a user changes a channel topic, show the message in the channel, in the status window or hide it.
When a user quits irc, show the message in the channel, in the status window or hide it.
When a user changes nick, show the message in the channel, in the status window or hide it.
When a user is kicked from a channel, show the message in the channel, in the status window or hide it.
When typing /names #channel, show the messages in the channel, in the status window or hide it.
When typing /away, show the message in the channel, in the status window or hide it.
When a user invites you to a channel, show the message in the active window or the status window.
When typing /whois nick, show the message in the active window or the status window.
When you receive a error message from the irc server, show the message in the active window or the status window.
When you receive a private message from a user and have no window, show the message in the active window or the status window.
When you receive a wallops message from a user, show the message in the active window or the status window.
When you receive a notice message from a user, show the message in the active window or the status window.
When you receive a ctcp message from a user, show the message in the active window or the status window.
When you receive a notice message from a server, show the message in the active window or the status window.
When you receive Message Of The Day messages from a server, show the message in the active window or the status window.
Show or hide Ping/Pong messages in the status window.
Show your own modes in the active window or the status window.
Added in 1.8.4
/exit [-nr] [message]
Disconnects all servers, then closes AdiIRC.
Switches
Switch | Description |
-n | Disables the exit confirmation dialog. |
-r | Restarts AdiIRC. |
Parameters
Parameter | Description |
[message] | Optional quit message, if no message is specified, default or random quit message is used. |
Colors available to format text when using the Color Control Code
See also /color, $color, /echo, $ocolor, Config File Colors.
Color | Config File Color | Type |
---|---|---|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
0 White 1 Black 2 Blue 3 Green 4 Red 5 Brown 6 Purple 7 Orange 8 Yellow 9 Light Green 10 Cyan 11 Light Cyan 12 Light Blue 13 Pink 14 Grey 15 Light Grey |
In AdiIRC there are more than 16 colors available that is used for various extra colors in the Text Area.
Color | Config File Color | Type |
---|---|---|
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
17 18 19 20 21 31 35 37 38 43 44 45 46 47 48 49 50 77 22 124 |
Normal message color from a user. System color used on messages from the server, like MOTD. Highlight color. Action color for /me messages. Ctcp color for /ctcp messages. Your/Mine color for your own messages. Links color. Notice messages. Client info for any message from the client to you. Join color. Part color. Quit color. Topic color. Mode color. Names color. Whois color. Kick color. Nick color for /nick. Background color. Notify color. |
As of AdiIRC 3.0, all these extra colors is supported as well (except 16-35) http://anti.teamidiot.de/static/nei/*/extended_mirc_color_proposal.html.
As of AdiIRC 3.4 it's possible to use colors 16-35 as well by disabling Options -> Colors -> Use extended colors for events.
Added in 1.8.10
/fakeraw [%var|text]
Intended for plugins who wants to take full control over certain raw aspects of AdiIRC or for debugging.
Can be used to make AdiIRC parse a raw message as if it came from a server, use with caution.
Parameters
Parameter | Description |
[%var|text] | The %variable or raw text to parse. |
Example
;Sends a fake message to #channel /fakeraw :Nick!Ident@host.com PRIVMSG #channel :This is a fake message ;Set a variable with consecutive spaces. //set %temp :asd!asd@asd PRIVMSG $me :a $+ $chr(32) $+ $chr(32) $+ $chr(32) $+ $chr(32) b ;Sends the fake message with the variable as parameter, consecutive spaces is now preserved. /fakeraw %temp
If you ever experience an issue with displaying unicode characters (which is not just an encoding issue), try enable Options -> Messages -> Use alternative text rendering.
If you need to be authed with nickserv before joining a channel, you can use the /sleep (or /timer) command in your Serverlist "Run these commands on connect" field:
/msg nickserv identify <password> /sleep 3 /join #channel1,#channel2
/sleep 3, means wait 3 seconds before running the following command.
The new Serverlist has this feature built-in as well as SASL support which makes this a non issue.
When you select text from the message buffer, AdiIRC will automatically copy the text to the clipboard when you release the left mouse button.
If you prefer to manually press CTRL + C, you can go to Options -> Messages and disable Automatically copy selected text to Clipboard.
If you experience problems connecting to a TLS only server, you can try the .NET 4.5 version which has support for TLS 1.1 and TLS 1.2.
You can disable or change the CTCP VERSION reply using the CTCP event in a small script.
This can be used for any CTCP request.
; Disable CTCP version reply. CTCP *:VERSION:*:halt ; Reply with a custom version. CTCP *:VERSION:*:ctcpreply $nick IRC Version 42 | halt
Tips for various events can be disabled in Options -> Tips, to disable highlight tips, go to Options -> Highlights, in the listbox area select "$me", then click the "Edit" button, uncheck "Tip message" and click "Save".
Go to Options -> Highlights, in the listbox area select "$me", then click the "Edit" button, set the sound dropdown to "No sound" and click "Save".
AdiIRC supports only PFX certificates, you can convert a PEM certificate to PFX using this openssl format:
openssl pkcs12 -export -out mynick.pfx -in mynick.pem
For creating a new certificate, have a look here
See also https://www.sslshopper.com/ssl-converter.html
_Note openssl EdDSA certificates are not supported in windows.
To update to a beta release, just type /betaup.
There is a tiny "|" separator to the right, if you right click the Toolbar and choose "Customize", you are able to drag the item to the right of that border.
Should be much faster in AdiIRC 3.1.
Things you can try:
First try adjust /fupdate, if still not fast enough you can try some of the things below.
The default options used when connecting with /server or from Menubar -> File -> New window can be changed in Options -> Quick Connect.
Some networks tries to scan your port 113 to see if you have a Identd server running, if the port is closed or the identd server is not running, it can take a while for the scan to timeout, make sure Identd server is enabled in Options -> Server and that port 113 is open in your firewall and router. (AdiIRC does not yet support UPNP).
When "Lock Bars" is disabled (right click any Menubar/Toolbar/Switchbar/Statusbar/Treebar to enable/disable) you can left-click the header of the monitor panel or a tab and move it with the mouse, if you release the mouse in the middle of the AdiIRC main window, the monitor will become a standalone window.
The window can be docked inside AdiIRC as a regular channel window by pressing CTRL + D.
See also Monitor Panels.
You can also undock the monitor panel into a window by right-clicking the header or tab and choose "Undock".
Use ,
inbetween the channels.
Yes, check Options -> Tray Icon.
No, I use .NET because its fast, easy and it has large libraries which enables me to code much more in less time. On a side note, from Windows Vista, .NET is included in Windows per default. -- kr0n
Yes, both chat and file transfers
I mainly do this for fun and learning more about .NET/C# and IRC in general. -- kr0n
Check https://dev.adiirc.com/projects/adiirc/issues and see if its been reported. If not, report it!
Check https://dev.adiirc.com/projects/adiirc/issues and see if someone suggested it. If not, suggest it!
Nothing really. It's an old prefix used for some other projects many years ago, and the prefix just carried over to this irc client. Original it was derived from the song A.D.I.D.A.S by the band KoRn. According to some it could stand for All Day I IRC :P -- kr0n
AdiIRC is freeware, but not open source.
There is a system in place in case of bus factor.
AdiIRC is a Windows application using Windows APIs/features/user interface controls/.NET framework, as such it cannot run on Linux/macOS or through Mono.
It does run very well using Wine, check this guide https://dev.adiirc.com/projects/adiirc/wiki/Wine.
There are no plans to rewrite AdiIRC for other platforms.
AdiIRC is a desktop IRC client, as such it cannot be ported, a new client would have to be made from scratch and there are already good mobile IRC clients, also I have no interest in mobile IRC. --kr0n
Message fonts can be changed in Options -> Fonts.
The task manager numbers are not the actual memory usage, the .NET framework which runs AdiIRC is like a little OS inside Windows, it allocates memory as needed and free it as needed, just like windows does, there are no such thing as a memory leak in .NET applications, except in very specific cases.
To show the real memory usage, you can type /gcmem in the Editbox.
There is no OTR support in AdiIRC and no plans to add it, however it is possible for someone to add OTR support through a Plugin or a DLL. (As an example, check the blowfish DLL)
Pressing CTRL + D toggles "Show on desktop".
"Shown on desktop" status is also saved across sessions.
This can be done to go from stable to beta, or from 32 bit to 64 and visa versa, no other steps needed.
Type /paths -o or go to Menubar -> Tools -> Config Files to open the config folder, copy it anywhere.
AdiIRC seems to generate a lot of false positives in some antivirus programs, if possible, please submit the file to your antivirus vendor for false positive analyzes and/or white-list AdiIRC.exe.
If you are unsure, the false positives seems to be resolved after a few weeks, you can try update again then.
If your log folder is using a lot of space and you don't want to delete any logs, you can compress it by right-clicking the log folder, click "Properties", click "Advanced", check "compress contents to save disk space" and press OK.
Press the SHIFT key while clicking the AdiIRC icon/shortcut.
Add this line to the Commands tab to your twitch server in the Serverlist, it only works for channels with less than 1000 users.
CAP REQ :twitch.tv/membership
For now a little scripting is needed, the script editor can be opened from Menubar -> Tools -> Edit Scripts.
The on TEXT event can be used to listen for specific messages on specific/all channels:
Example
; Ignore all messages containing badword on all channels. on ^*:TEXT:*badword*:*:halt ; Ignore all messages starting with !badword on a specific channel. on ^*:TEXT:!badword*:#channel:halt
You can add as many as you want.
Options -> Ignore can also be used.
Absolutely. You can also distribute a custom config.ini file which uses your own hostname/#channel as the default.
You can also bundle scripts/plugins/translations etc.
Example config.ini
[QuickConnect] Autojoin=#channel Serverhost=irc.hostname.com Serverport=6667
If you have any questions contact us.
There is a window priority system in Options -> Windows - Window Order, simply add the name of the channel or the network name you want to have a higher priority, higher up items have higher priority.
No, use Window Order.
See Autojoin channels.
The MDI Window Titlebars are drawn by Windows and are stuck with the Windows 7 theme, microsoft refuses to update them.
Hiding them causes all kinds of graphical glitches since MDI Windows in .NET apparently was not designed to work without them.
Please donate to your favorite local charity instead, it's much appreciated, thanks.
To globally hide or show events, use Options -> Events.
To hide or show events on specific channels, right-click the channel in the Treebar or Switchbar and click the Events menu.
To only show events from users who have been recently active, enable Only show join, parts, quits, nick from active users.
When it's ready.
Sure make Contact with your redmine username to get access.
The favorites dialog allows you to organize favorite channels on specific networks or all networks, it also allows you to auto-join your favorite channels. Note this can also be done using the Serverlist.
The favorites dialog can be opened from the Menubar or by pressing the CTRL + J shortcut.
Favorites channels can be easily accessed using the Menubar menu.
If enabled the favorites dialog is shown during connect.
If enabled, all channels marked as Join on connect will be joined when connecting.
Added in 1.8.10
/fclose <handle>
Closes the file associated with this handle.
If you specify a wildcard, all matching handles are closed.
See also /fopen, /fwrite, /fseek, /flist, $fread, $fgetc, $feof, $ferr, $fopen.
Parameters
Parameter | Description |
<handle> | The handle to close. |
Example
alias example { ; Open a file. /fopen -o x example.txt ; write to the file. /fwrite x Print this line. ; Close the file handle. /fclose x }
There are some notable AdiIRC features.
Nick Column feature automatically right-aligns the nicks in messages buffer area.
The column can be customized in several ways: Auto expand, width, visible, hidden, locked and color.
See also /nickcolumn && /window -qN.
AdiIRC has a lot of options, when trying to find an option, you can use the search field to find a match or narrow down the list.
See also Options Dialog, /options, /config, /setoption, /setconfig.
Highlights options in AdiIRC allows great control of when/who/what to highlight.
See also Highlights Options.
Limit to specific network; Custom colors, RGB colors; Regex for powerful match; Sounds; Tray tip message and run command, both supporting scripting, and more.
Ignore highlights from bad users and specific channels, a must have feature.
Information about your system hardware is integrated into AdiIRC and fully customizable for quick sharing.
See also Sysinfo Options.
Statusbar bandwidth monitoring widget
Extensive colors customization for almost any aspect of GUI interface.
See also Colors Options.
Context menu makes it easy to copy/paste/reset colors.
Support for RGB colors over IRC.
See also Formatting text.
Excellent feature to highlight messages by the same nick. The colors are customizable.
Menubar? Editbox? Statusbar? Messages? Every element has it's own custom font option.
See also Fonts Options, /font.
Editbox (the field where you type messages) in AdiIRC is very powerful. It supports undo after evaluate scripting $identifiers; Can save and restore history for any window between session; It is possible to merge history of all windows to act as a global unified list; Tabcomplete order and auto suffix append, eg. nick: ; And more.
See also Editbox Options.
Control over links where other apps lacks options. Open by single or double click, colors and underline toggle, open in custom browser instead of the system default brower, prompt before opening.
See also Links Options && /url.
Global, Options -> Events.
<=>
Per channel, Right click channel name on tree/switchbar -> Events.
Default | = | follow global events config. |
In Channel | = | display the event in respective channel. |
Is Status | = | display the event in network status window. |
Hide | = | disable display output completely. |
The hidden events can still being logged if enabled in logging options.
Extensive list of most commons irc events for easy control where to display or just suppress them. Global config and per channel is supported.
See also Events Options, Scripting Events, $eventtarget.
AdiIRC has built in check for new versions automatically and allows you to install them with just two clicks. No pain manually replacing files or click through installer prompts!
If you want to permanently skip the update, just click the Skip this version button, it will then notify you only when the next version/build is out.
See also Check for updates options && /betaup.
Random nick colors is one of the best features an IRC client could have. In AdiIRC two algorithm are available, one based on limited 0-15 mIRC colors, like most other clients, and one more advanced using extended RGB colors palette. It is also possible to define fixed colors for nicks and other various rules such as user status, idle time, etc.
See also Nick Colors Options && $nick.
Random nick colors applied to nicklist.
Spell Checker is a basic feature in AdiIRC, easy to use, manage and download dictionary languages. Adding custom words also is supported.
See also Spellcheck.
ServerList in AdiIRC is very powerful.
Featuring:
- Favorites networks;
- Built in list of popular networks for easy pick;
- Various auto login methods, including SASL;
- Delay control for autojoin channels and between joins;
- Option to prioritize IPV6;
- Custom label on Treebar;
- Run commands on connect;
- Auto regain nick;
- Quit message per server;
- Proxy per server;
- Support for all modern types of SSL protocols, even TLS 1.2 and also client certificates.
- And much more to discover.
See also Serverlist Dialog, /serverlist, /server, /quicksave.
Now Playing Info for popular players is integrated in AdiIRC.
See also Media Player Options, /np && On SONG event.
Statusbar widget, double clicking it sends the now playing info to the active window. An easy way to share with your friends what you are listening to.
Channel action output example.
Output is totally customizable by identifiers tags.
Toolbar control buttons for supported players.
Playlist search in supported players for quick changing music.
Already is a cliché to say AdiIRC is very customizable, the nicklist follow the same principle. Some highlights:
- Allow select multiple nicks just clicking on them.
- Autohide.
- Remove or enable user nick status prefix, it's your decision.
- Coloring prefix and nick separately is possible. Eg. @nick.
- Scrollbars visible/hidden/autohide.
- Position left/right/off.
- Sort by prefix or alphabetically.
- And more to discovery, such as colors, custom font, font weight, parsed tooltips, spacing, etc.
See also Nicklist Options, /nicklist.
Nicklist Tooltip does parse full scripting, then display useful nick info on mouse over is pretty easy. The example code is available on boards.
See also Nicklist Tooltip Options.
Nicklist tooltip field to customize content. All Scripting Identifiers are available.
Custom nicklist buttons powered by scripting! Making quick actions is easy as pie. Buttons can be toggled in Menubar -> View.
See also Show Nicklist Buttons.
Most icons in AdiIRC can be customized.
Network website icon can be fetched if enabled.
See also Icons Options, /icon.
Several rules to set custom nicklist icons.
Custom toolbar icons? sure.
See also /toolbar.
Custom menu icons? why not!
See also $menuicon.
Custom statusbar icons? Absolutely yes!
See also /statusbar.
Treebar custom icons.
Nicklist custom icons.
AdiIRC comes with a few standard widgets, custom widgets can be added through scripting.
In screenshot above is an example of many custom items, most using unicode chars to simulate icons.
Fore more info see /statusbar, $statusbar, Statusbar Options.
Customizing Menubar in AdiIRC is quite simple by scripting.
For more info see /menubar, $menubar.
In addition to customizing menus by standalone scripts, also there is an editor to change and preview default menus.
It is accessible in Menubar -> Tools -> Edit Menus.
Standard menus are: Status, Channel, Query, Nicklist, Menubar, ChannelLink, Link.
Also see /edit -m, Scripting Menus, /showmenu, $style, $menu, $menuicon, $menutype, $submenu, $invitemenu, $encodingmenu, $slapsmenu, $bname.
Custom emoticons images turns your irc much more fun. =)
For more info see Emoticons Options, $emoticons, $imagechar.
Monitoring panels dockable to any side of interface alone or integrated to more panels.
Sticked panels are excluded from F2 toggle hotkey. As usual, there are several options to customize them, such as logging to disk, max buffer, exclude channels, colors and more.
See also Monitor Panels Options, /dockpanels, $dockpanels.
Rearranging panels by drag and drop.
Themes manager for easy preview, load and save. Including latest MTS revision themes support.
See also /themes.
Export/save theme interface. Bundle any kind of supported resources, such as icons, background images, scripts, emoticons, sounds, etc.
Share your custom made themes on the boards.
Load theme interface.
AdiIRC has a powerful scripting language which can be used to extend/change the clients behavior.
It's modeled after the popular mIRC scripting language, aka MSL.
The whole language is documented at Scripting wiki and also distributed in a CHM help file on each new stable release.
The editor is friendly and feature rich.
See also /scripts.
Don't forget to share scripts you wrote with the community on the boards.
Continuing with the high level of interface customization, there is the list of places where you can set custom background images. And plus, you can set custom bg per window. Also an interesting feature, is the transparent background option that grabbles your desktop wallpaper to simulate the transparency.
See also Backgrounds Options, /background.
Fine grain away adjustments. Auto enable on idle time, change nick, settings per network, back on typing, notify channel/query, run commands and more.
See also Away Options, /away, /back.
Eternalize your conversations on IRC by logging to disk. AdiIRC offers various advanced options, so you don't miss a thing in your IRC experience.
See also Logging Options.
Complete logs manager and viewer is integrated on AdiIRC.
See also Logs Dialog, /viewlog, /log, /logs, /logview, /paths -l, $log, $logdir, $logstamp, $logstampfmt.
Full featured DCC tranfers with native SSL support!
All transfer together in a panel.
See also Dcc Options, /dcc, $dccignore, $dccport.
Plenty default hotkeys for keyboard lovers. And more, AdiIRC makes it wildly simple to extend shortcuts for any action and or override default one through powerful scripting.
Check out Default Hotkeys List and custom scripting instructions, On KEYDOWN && On KEYUP events.
Added in 2.4
/fget [on|off]
Turns on or off fast dcc get transfers.
Needs to be disabled for compatibility with some clients.
Parameters
Parameter | Description |
[on|off] | Turns fast dcc get transfer on or off. |
Added in 1.9.4
/filter [-asdfhHNkwxnpriocteubglLzNDE] [n-n2] [c s] <infile | dialog id> <outfile | dialog id | alias> [alias] <matchtext>
Scans lines of text in a window, file or dialog control, any matches are then written out to another window, file, or dialog control.
The order of the switch are important, they define what is the infile and what is the outfile, see the examples for more information.
You can filter blank lines by specifying $crlf for the matchtext.
The $filtered identifier will retrieve the number of matches found.
Switches
Switch | Description |
-w | Indicates the parameter is a window. |
-f | Indicates the parameter is a file. |
-a | Sorts filtered lines by calling the optional [alias] parameter, the alias is passed two lines, $1 and $2, it must compare both and return -1, 0, or 1 to indicate relative sort order of these lines to each other. |
-x | Excludes matching lines. |
-n | Prefixes lines with a line number. (the Nth match) |
-d | TODO |
-s | Indicates the status window will be used. |
-p | TODO (AdiIRC always wraps lines) |
-r | Specifies the range of lines n to n2 for filtering. |
-b | Strips any control codes when matching text. |
-g | Indicates the matchtext is a regular expression. |
-z | Retains line colors when filtering between custom windows. |
-k | Indicates that you have specified an <alias> as the output instead of a window name. The alias will be called with the result of each filtered line with the form $<alias>($1) where $1 is the matched line. |
-i | Indicates that you have provided a [dialog id] custom dialog control as the input. |
-o | Indicates that you have provided a [dialog id] custom dialog control as the output. |
-c | Clears the output window/file before writing to it. |
-t | Sorts the output based on [c s], column C using character S as the columns separator. |
-e | Used with -t, specifies a descending sort. |
-u | Used with -t, specifies a numeric sort. |
-l | Filters from the side-listbox in the first window. |
-L | Filters to the side-listbox in the second window. |
-hN | TODO |
-H | Halt the running /filter loop if used inside the [alias]. (AdiIRC only) |
-N | Keep the nickcolumn character when filtering from a window. (AdiIRC only) |
-E | Filters from the Editbox up/down history in the first window. (AdiIRC only) |
-D | Filters to the Editbox up/down history in the second window. (AdiIRC only) |
Parameters
Parameter | Description |
[n | n2] - if -r is used, indicates the range of lines to be scanned* |
[c s] | if -t is used, indicates how to do the sort |
<infile | dialog id> | if no switch implies a window's name to be use as the infile, you must provide an infile (a window, a file, or a dialog control) |
<outfile | dialog id | alias> | if no switch implies a window's name to be used as the outfile, you must provide an outfile (a window, a file, a dialog control, or an alias name if -k is used) |
[alias] | Optional alias called if -a is used. |
<matchtext> | The expression used for the search, if $null is used, it matches everything. |
Example
;Filter from the file "c:\my file.txt" to the custom window @mywin. /filter -fw "c:\my file.txt" @mywin *findthis* ;Filter from the custom window @mywin to the file "c:\my file.txt". filter -wf @mywin "c:\my file.txt" *findthat* ;Filter from the status window to the single message window. /filter -sd *findthis* ;Filter from the single message window to the status window. /filter -ds *findthat* ;Filter from the filename @this_is_a_file to the dialog 'dialog', id '1'. /filter -fo @this_is_a_file dialog 1 *findthis* ;Filter from a file and call an alias for each line. /filter -fk file myalias *findthat* ;Filter from a file to a file using regex. /filter -ffg file1 file2 /regex here/ alias sortexample { ;Create 2 windows. /window @asd1 /window @asd2 ;Add some unordered lines. aline @asd1 cccc3|cccc2|cccc1 aline @asd1 aaaa3|aaaa2|aaaa1 aline @asd1 bbbb3|bbbb2|bbbb1 ;Sort by column "1" where column separator is "|" (ascii char 124). (equal to $gettok(cccc3|cccc2|cccc1, 1, 124)) /filter -twwc 1 124 @asd1 @asd2 }
Added in 1.9.2
/findtext [-enrxg] <text>
This searches active window for the specified text (same as CTRL + F).
Same as /search.
Switches
Switch | Description |
-e | Indicates text is a regular expression. (AdiIRC only) |
-n | Search backwards. |
-r | Use exact match. (AdiIRC only) |
-x | Reset previous search before seaching again. (AdiIRC only) |
-g | Opens the global find text dialog. (AdiIRC only) |
Parameters
Parameter | Description |
<text> | Text to search. |
Example
; Searches for 'Hello World1' /findtext Hello World! ; Searches for any text matching 'Hello' /findtext -r .*Hello.*
The dialog can be accessed by pressing CTRL + SHIFT + F or by clicking Menubar -> Tools -> Find Text.
Allows search all open windows for matched text.
Double-clicking a match result, pressing Enter or clicking the View button will focus the window and highlight the matched line.
Pressing F5 will run the search again.
Searches only windows matching the specified window name.
The text to search for.
If checked, searches for case-sensitive match.
If checked, searches using a regular expression pattern.
If checked, searches all open server windows.
If checked, searches all open channel windows.
If checked, searches all open private windows.
If checked, searches all open @custom windows.
Focus the matched window and highlights the matched text.
Added in 2.8
/firewall [-cmNgNs[+|-]d] [on|off] [server] [port] [username] [password]
Change global or current server proxy settings.
Same as /proxy.
Switches
Switch | Description |
-c | Clears the username and password fields. |
-mN | Sets the connection type, if N = 4 or 5 for Socks4 or Socks5, or p for http proxy. |
-gN | Enables or disables global proxy settings for current server, if N = 0 Disable, if N = 1 Enable. (AdiIRC only) |
-s | Change settings for current server instead of global. (AdiIRC only) |
+|-d | Turns dcc through proxy on or off. |
Parameter
[on|off] - Enables or disables proxy.
[server] - Proxy server to connect to.
[port] - Proxy port to connect to.
[username] - Proxy username.
[password] - Proxy password.
Added in 1.9.2
/flash [-cbNrNwN] [window] <text>
Flashes the main window or the specified window but only if AdiIRC is not the active application.
Switches
Switch | Description |
-c | Clears all flashing windows. |
-bN | Beep N times. |
-rN | Repeat the flash N times. |
-wN | TODO |
Parameters
Parameter | Description |
[window] | The window to flash. |
<text> | TODO |
Added in 1.9.0
/flist [handle]
Lists all open files, or those matching the specified handle.
Wildcards can be used.
See also /fopen, /fclose, /fwrite, /fseek, $fread, $fgetc, $feof, $ferr, $fopen.
Parameters
Parameter | Description |
[handle] | Handle to match. |
Examples
;List all open files matching myhandle*. /flist myhandle* ;List all open files. /flist
Added in 1.9.6
/flushini <filename>
Does nothing since ini files are written directly in AdiIRC.
Parameters
Parameter | Description |
<filename> | The filename to flush. (Ignored) |
Added in 2.2
/font [-asbiueltdzxrwomcnfgph] [window] <fontsize> <fontname>
Allows you to change the font for the current/specified window or control.
If no parameters are specified, opens the font dialog.
Only new messages will have the new bold/italic/underline settings.
Switches
Switch | Description |
-a | Change active window font. |
-s | Change status window font. |
-b | Use bold font. |
-i | Use italic font. |
-u | Use underline font. (AdiIRC only) |
-e | Change only Editbox font. (AdiIRC only) |
-l | Change only Nicklist/Listbox font. (AdiIRC only) |
-t | Change only Textview/message buffer font. (AdiIRC only) |
-d | Sets the font as default font. |
-z | Resets all window fonts to default or the specified font. |
-x | Resets the specified window font to default. (AdiIRC only) |
-r | Change the Treebar font. (AdiIRC only) |
-w | Change the Switchbar font. (AdiIRC only) |
-o | Change the Toolbar font. (AdiIRC only) |
-m | Change the Menubar font. (AdiIRC only) |
-c | Change the Statusbar font. (AdiIRC only) |
-n | Change the Monitor Panels font. (AdiIRC only) |
-f | Change the Channel Monitor Panel font. (AdiIRC only) |
-g | Change the Server Monitor Panel font. (AdiIRC only) |
-p | Change the Tips font. (AdiIRC only) |
-h | Change the Channel List font. (AdiIRC only) |
Parameters
Parameter | Description |
[window] | Window to change font for. |
<fontsize> | Font size to change to. |
<fontname> | Font name to change to. |
Example
; Change font for channel to bold "Comic Sans Ms" size 11 /font -b #channel 11 Comic Sans Ms
See also /font.
Sets the font and size to use for messages.
NB: if you change the font weight to bold/italic/underline you must remove bold/italic/underline control codes from Message prefixes and other options such as Sysinfo. You might also want to disable boldify.
Sets the font and size to use for the Editbox.
Only Truetype fonts can be used.
Sets the font and size to use for the Topicbox.
Only Truetype fonts can be used.
Sets the font and size to use for the Server Monitor panel.
Sets the font and size to use for the Channel Monitor panel.
Sets the font and size to use for the Other Monitor panesl.
Sets the font and size to use for the Nicklist.
Sets the font and size to use for the Switchbar.
Only Truetype fonts can be used.
Sets the font and size to use for the Treebar.
Sets the font and size to use for Tips messages.
Sets the font and size to use for the Menubar.
Only Truetype fonts can be used.
Sets the font and size to use for the Statusbar.
Sets the font and size to use for the Toolbar.
Only Truetype fonts can be used.
Sets the font and size to use Script Editor.
Only Truetype fonts can be used.
Sets the font and size to use for the Channel List datagrid.
Select the font weight to use for drawing the prefix/channel mode characters (@%+).
Select the font weight to use for drawing your own nick.
Select the font weight to use for drawing channel owners (&).
Select the font weight to use for drawing channel admins (!).
Select the font weight to use for drawing channel operators (@).
Select the font weight to use for drawing channel half operators (%).
Select the font weight to use for drawing channel users with voice (+).
Select the font weight to use for normal channel users.
Select font weight to use for server windows.
Select font weight to use for channel windows.
Select font weight to use for private windows.
Select font weight to use for tool windows such as /rawlog and monitor panels.
Select font weight to use for Notify list nicks in Treebar.
Select font weight to use for folders.
if Treebar Nicklist is enabled, select the font weight to use for drawing the prefix/channel mode characters (@%+).
if Treebar Nicklist is enabled, select the font weight to use for drawing your own nick.
if Treebar Nicklist is enabled, select the font weight to use for drawing channel owners (&).
if Treebar Nicklist is enabled, select the font weight to use for drawing channel admins (!).
if Treebar Nicklist is enabled, select the font weight to use for drawing channel operators (@).
if Treebar Nicklist is enabled, select the font weight to use for drawing channel half operators (%).
if Treebar Nicklist is enabled, select the font weight to use for drawing channel users with voice (+).
if Treebar Nicklist is enabled, select the font weight to use for normal channel users.
Select the font weight to use for regular and/or channel name links.
Added in 1.8.10
/fopen [-nox] <handle> <filename>
Opens the specified file and assigns a name to it for later reference. The open fails if the file does not exist.
See also /fclose, /fwrite, /fseek, /flist, $fread, $fgetc, $feof, $ferr, $fopen.
Switches
Switch | Description |
-n | Creates the file if it does not exists, fails if the file exists. |
-o | Creates a new file, overwrites if it exists. |
-x | Opens the file in exclusive access. |
Parameters
Parameter | Description |
<handle> | Handle to assign the file. |
<filename> | Path/Filename to open. |
Example
alias fopen_example { ;Open hello.txt file. /fopen -n h hello.txt ;Error check if ($ferr) { /echo -sce info * /fopen_example: $err /halt } ;Write 'Hello There' to the file. /fwrite h Hello There ;Close the handle. /fclose h ;Open file in default editor. /run hello.txt }
AdiIRC supports control codes for formatting text.
All control codes can be combined to format the same block.
Most IRC clients supports these control codes, so they can used to send formatted text to others as well as formatting incoming text events using the /echo command.
Colors blocks of text.
CTRL + K can be used in Editbox to type this character.
The character can be followed by 1-2 digits that represent the color number.
By specifying a comma after the digits, you can add a 1-2 digit background color as well.
The default colors can be changed in Options -> Colors -> mIRC Colors.
A second color character can be used to stop the coloring and revert to default line color.
See also Extra Colors.
Example
; Prints the text 'Hello World' with color 4 which is red by default. //echo -ag $chr(3) $+ 4 Hello world
Result: Hello World
; Prints the text 'Hello' with color 4 which is red by default and 'world' is the default line color. //echo -ag $chr(3) $+ 4 Hello $+ $chr(3) world
Result: Hello world
; Prints the text 'Hello World' with color 4 which is red by default and background color 12 which is blue by default. //echo -ag $chr(3) $+ 4,12 Hello world
Result: Hello world
Makes the block use a bold font.
CTRL + B can be used in Editbox to type this character.
Example
//echo -ag $chr(2) this text is bold $chr(2) this text is not
Result: this text is bold this text is not
Makes the block use a italic font.
CTRL + I can be used in Editbox to type this character.
Example
//echo -ag $chr(29) this text is italic $chr(29) this text is not
Result: this text is italic this text is not
Makes the block use a underline font.
CTRL + U can be used in Editbox to type this character.
Example
//echo -ag $chr(31) this text is underline $chr(31) this text is not
Result: this text is underline this text is not
Makes the block use a strikethrough font.
A shortcut can be assigned in Options -> Shortcuts.
Example
//echo -ag $chr(30) this text is strikethrough $chr(30) this text is not
Result: this text is strikethrough this text is not
Stops all color and font formatting.
CTRL + O can be used in Editbox to type this character.
Example
//echo -ag $chr(3) $+ 4 $+ $chr(2) this text is bold and colored $chr(15) this text is not
Result: this text is bold and colored this text is not
AdiIRC has an alternative color character $chr(4) as of 1.9.7, this is AdiIRC only.
Works the same as color character, except it takes a hexcolor format RRGGBB same as html colors.
By specifying a comma after the hexcolor, you can add a second hexolor for setting the background color as well.
Colors can be converted into hexcolor with $rgb().hex and $color().hex.
A normal color character can be used to stop the coloring and revert to default line color.
CTRL + SHIFT + K can be used in Editbox to type this character.
Example
; Prints the text 'Hello World' with hex color FF0000 which is red. //echo -ag $chr(4) $+ FF0000 Hello world
Result: Hello World
; Prints the text 'Hello' with hex color FF0000 which is red and 'world' is the default line color. //echo -ag $chr(4) $+ FF0000 Hello $+ $chr(3) world
Result: Hello world
; Prints the text 'Hello World' with hex color FF0000 which is red and hex background color 0000CC which is blue. //echo -ag $chr(4) $+ FF0000,0000CC Hello world
Result: Hello world
Changes the text color to the background color and the background color to the Normal text color.
Example
//echo -ag This text is normal
Result: Hello world
Example
//echo -ag $chr(22) $+ This text is reverse colored $+ $chr(22)
Result: Hello world
By default the reverse character only reverses the Text Area background and Normal color, to reverse background/color based on the Color Characters instead, type /setoption Messages UseReverseColorCodes True, to disable type /setoption Messages UseReverseColorCodes False.
As of 4.0 AdiIRC supports a limited set of ANSI escape codes for coloring and formatting text of incoming messages or using the $ansi2mirc identifier.
The control codes can also be used in many options such as Options -> Messages -> Timestamp / Message prefix User.
Added in 1.8.10
/fseek [-lnrwp] <handle> <position | line number | wildcard | regex>
Sets the read/write pointer to the specified position in the file.
See also /fopen, /fclose, /fwrite, /flist, $fread, $fgetc, $feof, $ferr, $fopen.
Switches
Switch | Description |
-l | Set position to line 'line number'. |
-n | Set position to start of the next line. |
-r | Set position to text matching 'regex'. |
-w | Set position to text matching 'wildcard'. |
-p | Set position to start of the previous line. |
Parameters
Parameter | Description |
<handle> | The file handle to seek. |
<position | line number | wildcard | regex> | The position/Line number with -l/Wildcard with -w/regex with -w to set. |
Added in 2.4
/fsend [on|off]
Turns on or off fast dcc send transfers.
Needs to be disabled for compatibility with some clients.
Parameters
Parameter | Description |
[on|off] | Turns fast dcc send transfer on or off. |
Added in 1.9.7
/fullname <name>
Changes your realname/fullname on current connection.
If connected from the serverlist, the serverlist is updated, else quick connect is updated.
Parameters
Parameter | Description |
<name> | The new name. |
Example
/fullname Roger Rabbit
Added in 1.9.4
/fullscreen [on | off]
Turns fullscreen on or off, if no parameters is defined, shows current fullscreen status.
Parameters
Parameter | Description |
[on | off] | Turn fullscreen or or off. |
Added in 3.1
/fupdate <N>
Sets the "refresh rate" of the Text Area.
When N is set to a number larger than 0, AdiIRC will try to detect burst of messages added and then try to redraw the textarea less often which increases the speed of adding lines.
Larger <N> value makes it faster, since every system is different try experimenting with different values in the range of 10-100.
See also $fupdate.
Parameters
Parameter | Description |
<N> | If N = 0, disables the refresh rate system, otherwise AdiIRC tries to redraw every N milliseconds as long as the bursts is happening. |
Added in 1.8.10
/fwrite [-bn] <handle> <text | &binvar>
Writes text or the specified binary variable to the file.
See also /fopen, /fclose, /fseek, /flist, $fread, $fgetc, $feof, $ferr, $fopen.
Switches
Switch | Description |
-b | A binvar is specified. |
-n | Append a $crlf at the end of the text/&binvar. |
Parameters
Parameter | Description |
<handle> | The file handle to write to. |
<text | &binvar> | The text or &binvar to write. |
Added in 1.8.10
/gcmem
Forces garbage collection and prints current real memory usage before and after, used for debugging.
Makes AdiIRC auto start when windows is started.
Makes AdiIRC start in a minimized state, due to various reasons, the main window is shown briefly before it minimizes.
If enabled, only one copy of AdiIRC.exe in the current folder is allowed to run.
AdiIRC.exe in other folders is ignored.
Puts AdiIRC on top of all other windows on your desktop.
See also /showadiirc.
Disable's all CTCP reply's, such as CTCP VERSION/PING/TIME
Can also be disabled by a script (or modify the reply):
; halt all ctcp reply's. ctcp *:*:*:halt ; halt only VERSION reply's ctcp *:VERSION:*:halt
Keeps the channel windows open whenever you part or are parted from a channel.
Keeps the channel windows open whenever you are kicked from a channel.
Automatically rejoins a channel if you are kicked.
Automatically rejoins all opens channels when reconnecting a server.
When enabled, a popup dialog to confirm is shown to confirm closing AdiIRC is one or more servers is connected.
When enabled, a popup dialog to confirm is shown when clicking the (dis)connect icon in the Treebar, if the current server is connected.
When enabled, a popup dialog to confirm is shown when closing a server window.
When enabled, a popup dialog to confirm is shown when closing a channel window.
When enabled, a popup dialog to confirm is shown when closing a private window.
Set's AdiIRC as the default irc client when clicking irc:// ircs:// irc6:// ircs6:// xdcc:// links.
Checks if AdiIRC is the default irc client on startup and set's it default if it's not.
Hides the channel key from the Titlebar and Statusbar.
If enabled, locks all Toolbars and Monitor Panels preventing them from being moved. It also hides the Monitor Panel headers.
If enabled, controls in the Channel Editor is disabled when not opped in the channel, otherwise the controls are always enabled.
If set to Ask, AdiIRC will ask you every time you click a irc:// url whether you want to open the connection in the current connection or a new connection.
If set to Open in current Connection, AdiIRC will always open the connection in current connection.
If set to Open in new connection, AdiIRC will always open the connection in a new connection.
Allows AdiIRC to check for new versions Never/Daily/Weekly/Monthly.
See also /update.
Allows AdiIRC to check for beta versions as well as regular versions.
Beta versions is usually safe to install.
See also /betaup.
Also called bosskey.
Sets a keybind to hide/show main AdiIRC regardles if it has focus or not.
Sets the language of AdiIRC, see http://adiirc.com/translations/ for more info.
Sets the border size around the text area, Topicbox, Editbox and nicklist.
Automatically joins a channel when invited by another user.
A safer approach using a script:
on *:INVITE:#:{ if ($input($nick want's to invite you into $chan Accept?, y, Invite) { /join $chan } }
List of channels to ignore when Join channel when invited is enabled.
Can be a wildcard.
If you want to help make AdiIRC better, here is some things you can do.
Users are always looking for new cool scripts or help creating scripts.
Plugins are much more powerful than scripts and have the entire .NET framework behind it.
There is a lot of options for customizing AdiIRC, sharing a color theme/options is a great way to let other users get started.
Help translate AdiIRC into your native language, it doesn't have to be perfect, See Translations.
Creating guides to follow or documenting some specific behavior can be very helpful for other users. (Ask for wiki access if needed)
Reporting and fixing bugs is very important and helps everybody.
If you can think of a feature other clients have or something new you want to see in AdiIRC, feel free to open a issue with the suggestion.
Hang around #adiirc on irc.libera.chat or the forum to help answer questions.
If you want to donate, please donate to your favorite local charity instead, it's much appreciated, thanks.
TODO
IRC stands for Internet Relay Chat, and it's a protocol that enables communications with other people over the internet.
There are many IRC servers around the world, these servers allows users to connect to them (in many ways similar to visiting a website) using a IRC client such as AdiIRC.
When connected to a server, users can join a channel (or multiple), users in the channel can then send messages to the channel which all users in that channel can see.
Each channel usually has it's own specific topic which users like to chat about, e.g politics, news, cars and so on.
Finding a server and channel you want to join can be a little tricky, one way is searching for topics you want to talk about on sites such as http://irc.netsplit.de/channels/.
You can also just join some of the popular servers such as https://libera.chat, www.efnet.org, www.dal.net, www.quakenet.org, then type /list <topic> to get a list of all the channels on that server which matches the topic you want to chat about.
You can join multiple servers at the same time using the /server command or the Serverlist.
A good place to read about IRC and how it works www.irchelp.org. specifically this guide.
Added in 2.9
/globalkeys [-adu] [key] [command]
Adds a global hotkey which will trigger without AdiIRC window being focused.
Format is key+key.
Modifiers: Ctrl, Shift, Alt.
Valid key names can be found here.
Typing /globalkeys with no parameters lists the current keys.
Switches
Switch | Description |
-a | Adds a new key. |
-d | Deletes a key. |
-u | Updates the command for a key. |
Parameters
Parameter | Description |
[key] | The key to add. |
[command] | The command to run when the key is pressed. |
Example
; Create a alias called 'ctrldcommand'. alias ctrldcommand { echo -ag ctrl+D was pressed } ; Register the shortcut Ctrl+D. /globalkeys -a Ctrl+D /ctrldcommand ; Pressing CTRL+D will now execute the '/ctrldcommand' alias. ; Unregister the hotkey. /globalkeys -d Ctrl+D
Added in 1.5
/google [-p] [-nN] [-t] [-d] [-s] [window] <text>
Searches google for text and prints the output to current window or [window].
See also /pgoogle.
Switches can not be combined.
Switches
Switch | Description |
-p (or using /pgoogle) | Send the result to the channel instead of printing. |
-t | Specifies a 'window' is defined. |
-nN | Show N results. |
-d | Search using DuckDuckGo instead of Google. |
-s | Show/announce the text to be searched. |
Parameters
Parameter | Description |
[window] | Window to show the result. |
<text> | Text to search. |
Example
; Search for 'Star Wars' and print 5 results. /google -n5 Star wars ; Search for 'Natalie Portman' and send the result to #channel. /google -p -t #channel Natalie Portman
Added in 1.9.0
/goto <label>
Allows you to jump from one point in a script to another point.
Parameters
Parameter | Description |
<label> | The label to jump to. |
Example
; /is_even <1-9> ; ; Example: /is_even 2 ; 2 is an even number. ; 2 is a prime number. alias is_even { /goto $1 :0 | echo -a You typed zero. | return :4 | echo -a $1 is an even number. :1 | :9 | echo -a $1 is a perfect square. | return :2 | echo -a $1 is an even number. :3 | :5 | :7 | echo -a $1 is a prime number. | return :6 | :8 | echo -a $1 is an even number. | return :error /echo -a Only single-digit numbers are allowed! /reseterror }
Added in 2.4
/groups [-ed]
Displays a list of either all, enabled, or disabled groups in your scripts.
Switches
Switch | Description |
-e | List all enabled groups. |
-d | List all disabled groups. |
Example
; List all enabled and disabled groups. /groups ; List only enabled groups. /groups -e
Added in 1.9.7
/guser [-a] <levels> <nick|address> [type] [info]
Same as /auser except looks up the address first using /userhost.
Adds the specified nick/address to the users list with the specified levels.
If the first level is not preceded by an equal sign then it is a general access level.
Switches
Switch | Description |
-a | Adds the levels to the matching user, if no user is found, a new user is added. |
Parameters
Parameter | Description |
<levels> | Access level(s) to add. |
<nick|address> | Nick or address to add. |
[type] | Lookup the address using this type of address. |
[info] | Optional information text. |
Example
; Adds a new user 'Nick' with access levels 1, 2 and 3. /guser 1,2,3 Nick ; Updates access levels for 'Nick' with 4 and 5. /guser -a 4,5 Nick ; Updates access levels for 'Nick' with 7 and 7. ; By using = in front of the first access level, the default access level for this user is not modified. /guser -a =6,7 Nick
Added in 1.9.0
/hadd [-bcmsuNz] <name> <item> [text | &binvar]
Adds an item to an existing hash table.
See also /hsave, /hload, /hmake, /hfree, /hdel, $hget, $hfind.
Switches
Switch | Description |
-b | Indicates &binvar is set. |
-c | Chop the &binvar to first null byte. |
-m | Creates the table if it does not exist. |
-s | Displays the result. |
-uN | Unset the item after N seconds. |
-z | Decreases the item once per second until it reaches zero and then unsets it. |
Parameters
Parameter | Description |
<name> | The hash table to add to. |
<item> | The hash table item to add to. |
[text | &binvar] | The text or &binvar value to add. |
Example
; call the setup once ; /abbr_setup ; ; //echo -a $abbr(lol) ; alias abbr_setup { ;Populate the table, create it if it does not exist. hadd -m abbr lol laughing out load hadd abbr omg oh my gosh hadd abbr lmao laughing my a?? off hadd abbr brb be right back } ;Get the abbreviation. alias abbr return $hget(abbr, $1)
Added in 1.5
/halfop <nick> [nickN...]
Promotes nick to channel-half operator on current channel. (mode #channel +h Nick)
Parameters
Parameter | Description |
<nick> | The nick to promote. |
[nickN...] | Additional nicks to promote. |
Example
;Promote 3 users. /halfop Nick1 Nick2 Nick3 ;Promote 1 user. /halfop Nick1
Added in 1.9.1
/halt
Halts a script and prevents any further processing.
If used in a event with ^ prefix, will stop AdiIRC from showing the default text for that event.
Example
alias example { ; Echo 'some text!'. /echo -a Some text! ; Halt the script. /halt ; Echo some more text, but this line will never be executed. /echo -a This echo command will never execute }
Added in 1.9.0
/haltdef
Tell's AdiIRC to not output it's own default text in a ^ event, without halting the entire script.
Example
on ^*:op:#channel:{ ; Tell AdiIRC to not display the usual message when someone is opped. /haltdef ; Instead display your own message. /echo -t #channel OP : $opnick by $nick }
Added in 1.9.0
/hdec [-bcmsuNzB] <name> <item> [num | &binvar]
Decreases the value of the item by 'num'.
Switches
Switch | Description |
-b | Indicates &binvar is set. |
-c | Chop the &binvar to first null byte. |
-m | Creates the table if it does not exist. |
-s | Displays the result. |
-uN | Unset the the item after N seconds. |
-z | Decreases the item once per second until it reaches zero and then unsets it. |
-B | Performs a $calcint calculation instead of regular $calc when arithmetic operators are used. (AdiIRC only) |
Parameters
Parameter | Description |
<name> | The hashtable where the item resides. |
<item> | The hashtable item to decrease. |
[num | &binvar] | The number or &binvar to decrease by. |
Example
alias countdown { ;Adds the item down with a value of 10 to the table count. hadd -m count down 10 echo -a $hget(count,down) $+ ! :repeat ;Checks if the value of down returns true. if ($hget(count,down) > 1) { ;decreases down by 1 hdec count down ;echos the current count echo -a $hget(count,down) $+ ! ;repeats goto repeat } ;If the previous if statement returns false it carries on with this. else echo -a 0, Hurray! hfree -s count }
Added in 1.9.0
/hdel [-sw] <name> <item>
Deletes an item from a hash table.
See also /hsave, /hload, /hmake, /hfree, $hget, $hfind.
Switches
Switch | Description |
-s | Displays the result. |
-w | Indicates item is a wildcard. |
Parameters
Parameter | Description |
<name> | The hashtable to delete from. |
<item> | The hashtable item to delete. |
Example
alias example { ; Create a hash table /hadd -m example academic a ; Add some items to the hash table.. /hadd example academy a /hadd example accelerate a /hadd example accelerator a /hadd example accept a /hadd example access a /hadd example accident a /hadd example because b ; Print number of items. //echo -a $hget(example, 0).item ; Remove everything matching wildcard 'a*'. /hdel -w example a* ; Print number of items. //echo -a $hget(example, 0).item ; Free table. /hfree example }
Added in 1.8.3
/help [-l] [keyword]
If the file 'Help\AdiIRC.chm' exists, brings up the section that matches the specified keyword, if not opens relevant page on Wiki
Switches
Switch | Description |
-l | Forces AdiIRC to open the wiki page even if there is a AdiIRC.chm file. |
Parameters
Parameter | Description |
[keyword] | Keyword to search. |
Example
;Lookup /me command /help /me ;Lookup $me identifier /help $me
Added in 1.9.0
/hfree [-sw] <name>
Deletes a hash table.
See also /hsave, /hsave, /hmake, /hadd, /hdel, $hget, $hfind.
Switches
Switch | Description |
-s | Displays the result. |
-w | Indicates name is a wildcard. |
Parameters
Parameter | Description |
<name> | The hashtable to delete. |
Example
alias example { ;Create the hash table 'hash'. /hmake hash ;Print the hashtable size. echo -a $hget(hash) : $hget(hash).size ;Creates the hash table 'h' with 10 items. /hmake h 10 ;Creates the hash table 'has' with 20 items. /hmake has 20 ;Delete hash table 'hash'. /hfree -s hash ;Print the hashtable size. /echo -a $hget(h) : $hget(h).size - $hget(has) : $hget(has).size ;Deletes any hash tables matching h* /hfree -sw h* }
Added in 1.9.4
/highlight [on | off]
Turns highlight on or off for a channel or private window.
If no parameter is given, current highlight status is displayed.
Parameters
Parameter | Description |
[on | off] | Turn highlights on or off. |
See also /highlight, $highlight.
Enables or disables the highlight system.
Only messages triggers highlight, not notices/wallops or other types.
Entire message line will be colored in the matched highlight color instead of just the word.
Enabled:
[42:42] <Nick2> I am highlighting your Nick
Disabled:
[42:42] <Nick2> I am highlighting your Nick
If enabled and the current window is not the window where the highlight occurred, a notice showing the highlight message, from who and where will be shown in your active window.
Example:
[42:42] -Highlight Alert- Nick2: I am highlighting your Nick (Libera.Chat/#adiirc)
Enable or disable flashing of icons in Treebar/Switchbar.
Enable or disable flashing of text in Treebar/Switchbar.
Enables or disables sounds/beeps for all highlight words.
If enabled, highlight sounds will only be played when AdiIRC is not focused/the active window, otherwise they will always play.
If enabled, AdiIRC will play highlight sounds in channel/private windows even if the window has focus.
Enables or disables Tip messages for all highlight words.
If enabled, highlights will not be triggered on messages which includes more than [X] nicks in the current channel.
The # in the trayicon will flash/blink between white and black when you are highlighted.
The # in the trayicon will flash/blink between white and black when you receive a private message.
The # in the trayicon will flash/blink between white and black when a channel receives a message.
Sends a /whois nick request whenever you are highlighted.
There is a internal delay to avoid triggering every time you are highlighted from the same nick.
Sends a /whois nick request whenever you receive a private message.
There is a internal delay to avoid triggering every time you receive a message from the same nick.
Enables or disables flashing main window in the Taskbar when you are highlighted for all highlight words.
Enables or disables flashing main window in the Taskbar when you receive a private message.
Enables or disables flashing main window in the Taskbar when someone types a message on a channel.
All highlight options will be ignored on channel or private windows in this list.
Added in 1.9.0
/hinc [-bcmsuNzB] <name> <item> [num | &binvar]
Increases the value of the item by 'num'.
Switches
Switch | Description |
-b | Indicates &binvar is set. |
-c | Chop the &binvar to first null byte. |
-m | Creates the table if it does not exist. |
-s | Displays the result. |
-uN | Unsets the item after N seconds. |
-z | Decreases the item once per second until it reaches zero and then unsets it. |
-B | Performs a $calcint calculation instead of regular $calc when arithmetic operators are used. (AdiIRC only) |
Parameters
Parameter | Description |
<name> | The hashtable where the <item> is stored. |
<item> | The hashtable item to increase. |
[num | &binvar] | The number or &binvar to increase by. |
Example
alias example { ;Create a hashtable. /hmake -s example ;Add a few items. /hadd example item1 4 /hadd example item2 7 /hadd example item3 9 ;Print the items. /echo -a item1 = $hget(example, item1) /echo -a item2 = $hget(example, item2) /echo -a item3 = $hget(example, item3) ;Increase the values. /hinc example item1 5 /hinc example item2 12 /hinc example item3 1 /echo -e - ;Print the items. /echo -a item1 = $hget(example, item1) /echo -a item2 = $hget(example, item2) /echo -a item3 = $hget(example, item3) ;Cleanup. /hfree -s example }
Added in 1.9.0
/hload [-bBins] <name> <filename> [section]
Loads a table from a file.
See also /hsave, /hmake, /hfree, /hadd, /hdel, $hget, $hfind.
Switches
Switch | Description |
-b | Loads binary files. $cr and $lf are preserved when saving as binary files. Ignored if -i switch used. |
-B | Uses a larger index than -b to allow longer binary data to be saved. This is not compatible with files created by the -b switch. |
-i | Treats the file as an ini file. You can specify an optional section name after the filename. |
-n | Load file as data only, with no items. When loading with -n each line of data is assigned an N item value, starting at N = 1. |
-m | Creates the table if it does not exist. (AdiIRC only) |
-s | Displays the result. |
Parameters
Parameter | Description |
<name> | The hashtable to load into. |
<filename> | The filename of the saved hashtable to load. |
[section] | Hashtable file section to load. |
Added in 1.9.0
/hmake [-s] <name> <N>
Creates a new hash table with N slots.
See also /hsave, /hload, /hfree, /hadd, /hdel, $hget, $hfind.
Switches
Switch | Description |
-s | Displays a creation result. |
Parameters
Parameter | Description |
<name> | The hashtable name to create. |
<N> | The initial number of hashtable items. |
Example
; call the setup once ; /example ; ; //echo -a $abbr(lol) ; alias example { ;Create the table. /hmake abbr 1000 ;Populate the table. /hadd abbr lol laughing out load /hadd abbr omg oh my gosh /hadd abbr lmao laughing my a?? off /hadd abbr brb be right back } ; get the abbreviation alias abbr return $hget(abbr, $1)
Added in 1.5
/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.
Switches
Switch | Description |
-c | cycles the specified channel by parting and rejoining it. |
-n | minimizes the channel window. |
Parameters
Parameter | Description |
[#channel] | #channel to (re)join. |
[message] | Part message to send to the #channel. |
Example
;Part/Join #channel. /hop #channel BrB
Added in 2.7
/hotlink -md [@menu]
Opens the default and/or a custom popup menu during a on HOTLINK right-click event.
See also on HOTLINK, $hotlink, $hotline, $hotlinepos.
Switches
Switch | Description |
-m | Creates and opens a popup menu using a custom @menu |
-d | If @menu is defined, adds the menu items from @menu to the default popup menu, otherwise shows the default popup menu. |
Parameters
Parameter | Description |
[@menu] | Custom popup menu. |
Replace menu Example
; Create a popup menu called '@popup'. menu @popup { Popup text:echo -ag Popup menu } ; When right-clicking the word 'popup', open the custom '@popup' menu. on *:hotlink:popup:*:{ if ($hotlink(event) == rclick) { hotlink -m @popup } }
Append menu Example
; Create a popup menu called '@popup'. menu @popup { Popup text:echo -ag Popup menu } ; When right-clicking the word 'popup', open the default popup menu and appends the custom '@popup' menu items. on *:hotlink:popup:*:{ if ($hotlink(event) == rclick) { hotlink -dm @popup } }
Added in 3.9
/hrename <table> <newtable>
Renames a hash table.
Parameters
Parameter | Description |
<table> | The table name to rename. |
<newtable> | The new table name. |
Example
alias testrename { hmake table hadd table item value echo -sg $hget(table, item) hrename table newtable echo -sg $hget(newtable, item) }
Added in 1.9.0
/hsave [-abBinsu] <name> <filename> [section]
Saves a hash table to a file.
See also /hload, /hmake, /hfree, /hadd, /hdel, $hget, $hfind.
Switches
Switch | Description |
-s | Displays the result. |
-b | Saves binary files. $cr and $lf are preserved when saving as binary files. Ignored if -i switch used. |
-B | Uses a larger index than -b to allow longer binary data to be saved. This is not compatible with files created by the -b switch. |
-i | Treats the file as an ini file. You can specify an optional section name after the filename. |
-n | Load file as data only, with no items. When loading with -n each line of data is assigned an N item value, starting at N = 1. |
-a | Appends to an existing file instead of overwriting it. |
-u | Includes unset items. |
Parameters
Parameter | Description |
<name> | The hash table to save. |
<filename> | The filename to save to. |
[section] | Section of ini tile to save to. (used witth -i) |
Added in 3.3
/ial [on | off]
Turns IAL on or off.
In AdiIRC it's not possible to disable IAL, it's always on.
See also /ialfill, /ialmark, $ial, on CHGIAL.
Parameters
Parameter | Description |
[on | off] | Turns IAL on or off (Ignored) |
Added in 3.3
/ialfill [-f] [#channel]
Performs a /who request on the specified channel. if no channel is specified, performs the request on the current active channel.
If the server supports WHOX, an extended /WHO #channel %acdfhlnrstu,T is sent to receive the account name, where T is a number that uniquely identifies the WHO request and is set to 995.
See also $ial, $nick, $chan, /ial, /ialmark, on CHGIAL.
Switches
Switch | Description |
-f | Forces a ialfill even if the ial is fully populated. |
parameters
Parameter | Description |
#channel | The channel name to populate. |
Added in 1.9.9
/ialmark [-nrw] <nick> [name] [text]
Marks the IAL entry for a nickname with the specified text.
See also $ialmark, $ial, /ial, /ialfill, on CHGIAL.._
Switches
Switch | Description |
-n | Indicates [name] is defined, If -n is not Defined, the default name 'default' is used. |
-r | Removes the mark. |
-w | Indicates [name] is a wildcard. |
-W | Indicates <nick> is a wildcard. (AdiIRC only) |
Parameters
Parameter | Description |
<nick> | Nick to mark. |
[name] | Name of the mark. |
[Text] | Text to mark. |
Example
; Mark the nick 'Nick' with the text 'Hello World'. /ialmark Nick Hello World ; Print the mark. //echo -ag $ial(Nick).mark ; Sets a mark for the nick 'nick' with the name 'markname' and the text 'mark text'. /ialmark -n nick markname mark text ; Retrieve the mark text for the name 'markname'. //echo -ag $ialmark(nick, markname)
Added in 2.4
/icon [-mscptfnrheiobu] <filename>
/icon [-r] [window] <filename>
Sets or resets the icon for the specified window type or window.
Switches
Switch | Description |
-m | Main icon. |
-s | Server icon. |
-c | Channel icon. |
-p | Query icon. |
-t | Tool icon. |
-u | Custom icon. |
-f | Folder icon. |
-n | Notify icon. |
-r | Resets icon. |
-h | Highlight icon. |
-e | Treebar arrow down icon. |
-i | Treebar arrow right icon. |
-o | Scroll to bottom arrow. |
-b | Treebar close icon. |
Parameters
Parameter | Description |
[window] | Window to change icon for. if no icon type is defined and no valid window is defined, current window is used. (optional) |
<filename> | The filename of the icon. |
Example
; Change the channel icon. /icon -c C:\Users\User\Pictures\icon1.ico ; Reset the channel icon. /icon -cr
See also /icon.
Set the icon to use for the main AdiIRC window, this icon will also be shown in Taskbar.
Set the icon to use for Server/Status windows.
Set the icon to use for Channel windows.
Set the icon to use for Private windows.
Set the icon to use for Tools windows, such as Rawlog and Monitor Panels.
Set the icon to use for @Custom windows created with /window.
Set the icon to use for Treebar folders.
Set the icon to use for the Notify list nicks in Treebar.
Set the icon to use for undocked Monitor Panel windows in Treebar.
Sets the icon to use in Treebar when highlighted.
Sets the icon to use when a Treebar folder is expanded.
Sets the icon to use when a Treebar folder is collapsed.
Sets the icon to use when Options -> Messages -> Show scroll icon when scrolled up is enabled.
Sets the icon to show when Options -> Messages -> Show line marker icon when scrolled up is enabled.
Set the Toolbar icon to use for the connected button.
Set the Toolbar icon to use for the connecting button.
Set the Toolbar icon to use for the disconnected button.
Set the Toolbar icon to use for the open Serverlist button.
Set the Toolbar icon to use for the open Options button.
Set the Toolbar icon to use for the toggle DCC transfers Monitor Panel button.
Set the Toolbar icon to use for the cascade button.
Set the Toolbar icon to use for the tile horizontal button.
Set the Toolbar icon to use for the tile vertical button.
Set the Toolbar icon to use for the Open Winamp button.
Set the Toolbar icon to use for the Media Player play previous song button.
Set the Toolbar icon to use for the Media Player play song button.
Set the Toolbar icon to use for the Media Player pause song button.
Set the Toolbar icon to use for the Media Player stop song button.
Set the Toolbar icon to use for the Media Player play next song button.
Set the Toolbar icon to use for the Media Player show current playing song button.
Set the Toolbar icon to use for the open Channel List button.
Set the Toolbar icon to use for the open Script Editor button.
When enabled, AdiIRC will try to find the favicon for each connected server and use it as window icon.
Enable or disable Nicklist icons.
Added in 1.9.7
/identd [on|off] [userid]
Enabled/disabled the identd server and/or updates the identd userid.
Parameters
Parameter | Description |
[on|off] | Enable or disable the identd server. |
[userid] | Change the identd userid. |
Added in 1.8.10
/if (condition) <command>
/if ((condition) combiner (condition)) <command>
/if (condition operator condition) <command>
/if (condition) { <command> | command }
Conditional execution of code in a script or alias. Can also be used with /else and/or /elseif
Fills $v1 with either the condition-term value or the first of 2 conditions-terms, and fills $v2 with the value of the 2nd condition or with $null if there was only 1 condition. ($ifmatch is equivalent to $v1). When there are multiple groups of evaluated terms
While syntax is forgiving of non-use of parenthesis, it's probably best to use optional parenthesis around terms to improve readability, and in some cases ensures the correct values are filled into $v1 and $v2.
Examples
if ( $asctime($ctime,ddd) == Fri) echo -a today is Friday!
//if ( (1 > 2) || (4 > 3)) echo -a match $v1 > $v2
fills $v1 with 4 and $v2 with 3 because those were the term1 and term2 in the 'true' condition causing the command to execute. If the 1 were changed to another number greater than 2, then $v2 would be filled with 2 and $v1 filled with the replacement for 1.
|| = logical OR (if either condition is true) && = logical AND (only if both conditions are true)
//if ($rand(1,2) == 2) echo -a message1 displays only if random is 2 | echo -a message2 always displays
//var %a 1 | if (%a) { echo -a message 1 says % $+ a does not contain number equivalent to 0 or $false or $ $+ null | echo -a message 2 }
By enclosing within braces, can have 2+ commands executed only in the 'true' condition.
You can negate the logic using the ! symbol: //if (!$query(0)) echo -a there are no query windows open
Using /else or /elseif can be on the same line separated by the pipe symbol or on a new line:
//var %a $rand(1,10) | if (%a > 5) echo -a roll is 6-10 | else echo -a roll is 1-5
//var %a $rand(1,10) | if (%a > 5) echo -a roll is 6-10
elseif (%a isnum 4-5) echo -a roll is 4 or 5
else echo -a roll is 1-3
Added in 1.5
/ignore [-cdhiklnprtuNwxyCEI] <on | off | nick | address> [type] [channel(s)] [network]
Ignore certain types of messages or all messages from a user.
/ignore with no parameters will show current ignore status.
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.
The nick will not be hidden in the Nicklist, and join/part/quit/mode messages will not be ignored.
If you have a query window open with the nick, the query messages will not be ignored until you close the query window.
If the ignore doesn't seem to work, make sure ignored is enabled by typing /ignore on.
Switches
Switch | Description |
-c | Ignore channel messages. |
-d | Ignore DCC requests. |
-h | Ignore highlights. |
-i | Ignore channel invites. |
-k | Ignore control codes. |
-l | List all ignores on current network. |
-n | Ignores notice messages. |
-p | Ignore private/query messages. |
-r | Remove ignore. |
-t | Ignore CTCP requests. |
-uN | Remove the ignore after N seconds. |
-w | Apply the ignore to any network. |
-x | Indicates address should be excluded. |
-y | Ignore Tips. |
-C | Indicates [channel(s)] is defined. (AdiIRC only) |
-E | Ignore emoticons. (AdiIRC only) |
-I | Ignore inline images. (AdiIRC only) |
Parameters
Parameter | Description |
<on | off | nick | address> | Turns on/off the ignore feature, or if a nick/address is specified, applies the ignore to that user. |
[type] | Ignore by hostmask, see $mask for available types. |
[channel(s)] | Used with -C, applies the ignore on matched channels, use comma as separator for multiple channels. (AdiIRC only) |
[network] | If specified, applies the ignore on that network, otherwise applies the ignore on the current network. |
Example
; Ignore all types of messages from 'Nick!*@*'. /ignore Nick ; Ignore only channel messages from 'Nick!*@*'. /ignore -c Nick ; Remove 'Nick!*@*' from the ignorelist. /ignore -r Nick ; Ignore DCC requests from everyone. /ignore -d *!*@*
See also /ignore.
If you have a query window open with the nick, the query messages will not be ignored until you close the query window.
Enable or disable Ignore.
Added in 2.2
/iline [-ahilnpsbTNSW] [color] <@name> <N> <text>
Inserts <text> into the Nth line in a custom window named <@name>.
Switches
Switch | Description |
-a | Selects the newly added item while keeping the old selection in a listbox |
-h | Highlights the window's node in the Treebar/Switchbar is the window is minimized |
-iN | Indents the wrapped line by N characters. |
-l | Specify the action to take place on the side-listbox |
-n | Prevent the line from being added if it already exists |
-p | TODO |
-s | Clears the old selection in a listbox and selects the newly added item |
-b | Indicates the [c] color is in $rgb format. (AdiIRC only) |
-TN | Apply timestamp prefix options. N is a optional UTC value to use for the timestamp. (AdiIRC only) |
-S | Use status window. (AdiIRC only) |
-W | Allow using a channel or query window name for @name. (AdiIRC only) |
Parameters
Parameter | Description |
[color] | Line color number. |
<@name> | The custom window name. |
<N> | The line number to insert the text at. |
<text> | The text to add. |
Example
; Open a custom window. /window -de @Example ; Add 3 blue colored lines. /aline 12 @Example Line1 /aline 12 @Example Line2 /aline 12 @Example Line3 ; Insert a red colored lines at line number 2 /iline 4 @Example 2 Line4
Added in 1.9.0
/inc [-cesuNzB] <%var> [value]
Increase the value of %var by value.
See also /var, /set, /unset, /dec, $var.
Switches
Switch | Description |
-c | increase %var by value every second. |
-e | Unset the variable when AdiIRC exits. |
-s | Prints out the value of the variable. |
-uN | Increase %var by value then unset the variable after N seconds. |
-z | Decrease %var by value every second until zero and then unset the variable. |
-k | TODO |
Parameters
Parameter | Description |
<%var> | The variable to increase. |
[value] | The value to increase by, default is 1. |
Example
alias example { ;Create a local variable and set it to 5. /var %x 5 ;Increase %x by 5. /inc %x 5 ;Print out %x's content. /echo -a %x }
Added in 2.4
/inick -rbfaniovpylNmNsNwCN [nick[!user@host|N]|on|off] [iconfile] [channels(s)] [network(s)] [modes] [levels]
Change the items in the nick icon list.
Switches
Switch | Description |
-r | Remove a item from the nick icon list. |
-b | Set the Address Book flag. |
-f | Forces the addition of a new entry instead of updating an existing one. |
-a | Sets the Any Mode option. |
-n | Sets the No Mode option. |
-i | Sets the Ignore list option. |
-o | Sets the auto-op flag. |
-v | Sets the auto-voice flag. |
-y | Sets the Notify list option. |
-lN | Sets the idle time. |
-mN | Sets the nick icon method, 1 = message, 2 = nicklist, 0 = both. |
-sN | Sorts the item into the Nth position in the list. |
-w | Sets the away option. |
-C | indicate [channel(s)] is specified. |
-N | indicate [networks(s)] is specified. |
Parameters
Parameter | Description |
[nick[user@host]|N] | The nick/hostname to add/edit or the Nth item to remove. |
[on|off] | Enables or disables nick icons. |
[iconfile] | The icon file to use. |
[channels(s)] | Used with -C. |
[network(s)] | Used with -N. |
[modes] | Channel modes to match. |
[levels] | User levels to match. |
Example
; Disable nick icons. /inick off ; Enable nick icons. /inick on ; Add a nick icon for the nick 'Nick'. /inick Nick "c:\Users\User\Pictures\icon1.ico" ; Remove the nick icon for the nick 'Nick'. /inick -r Nick
Added in 3.1
/inlineimage <on|off>
/inlineimage [-asiNrcdxn] [window] <file|url>
Inserts a inline image file or url into the specified window text buffer at the Nth line or at the end.
See also Inline Images, $inlineimage.
Switches
Switch | Description |
-a | Insert into the active window. |
-s | Insert into the associated server window. |
-iN | Insert at the Nth line in the text buffer. |
-r | Removes a file or url from a window, if no window is specified, removes from all windows. |
-c | Clears all files or urls from a window, if no window is specified, clears from all windows. |
-d | Use default inline images exclude/include settings for the specified window. |
-x | Exclude inline images for the specified window regardless of global inline images settings. |
-n | Include inline images for the specified window regardless of global inline images settings. |
Parameters
Parameter | Description |
<on<redpre#0>off> | Enables or disables inline images. |
[window] | Window to insert into. |
<file<redpre#1>url> | File path or url to insert. |
Example
; If a url or file is already cached, the cached image will be used instead. ; Inserts a image from a file into the text area. (the image is copied to the cache folder) /inlineimage -a C:\Users\user\Pictures\image.jpg ; Inserts a image from a url into the text area. (the image is downloaded to the cache folder) /inlineimage -a https://i.imgur.com/6BexrUQ.jpg ; Inserts a image from a url into the text area at the 5th line. (the image is downloaded to the cache folder) /inlineimage -ai5 https://i.imgur.com/6BexrUQ.jpg ; Removes a image from the current window. ; If no window is using the url/file, the cached file will be deleted. /inlineimage -ar https://i.imgur.com/6BexrUQ.jpg ; Removes a image from all windows. ; If no window is using the url/file, the cached file will be deleted. /inlineimage -r https://i.imgur.com/6BexrUQ.jpg
Images are not downloaded through the proxy options unless the "Use proxy" option below is enabled.
Up to 5 links is allowed per message, duplicates in a message are removed.
All links are matches against a whitelist of wildcards or regular expressions when enclosed in a // pattern.
See also /inlineimage.
Enable or disable Inline Images support.
When the support is disabled, all inline images is removed from all text buffers.
NB: Windows in the include/exclude list ignores this options.
Enable or disable animated gifs support.
When the support is disabled, all gifs will stop animating and show the first frame as a static image.
If enabled, the proxy associated with the current server or the global proxy server will be used when downloading images.
Changes the maximum file/image size to download.
Sets the maximum size of the cache folder where images are downloaded to, the folder is located in $adiircdir\Cache\Preview.
AdiIRC will periodically clean the folder to match the max cache size.
Sets the maximum lines of text using the current font the image can occupy before being resized.
The images keeps their aspect ration when resized, resizing by width is not supported, so a very wide image could be cut off.
Removes all inline images in all windows and deletes all the files in the inline image cache folder.
Use the windows temp folder as cache folder instead of a custom folder.
List of allowed patterns to match with links.
A pattern is considered a regular expression if enclosed with the "/" character, e.g /pattern/.
Wildard Example
Matching https://i.imgur.com/6BexrUQ.jpg using various wildcard pattern. https://i.imgur.com/* *i.imgur.com/* *://i.imgur.com/*
Regex Example
Matching https://i.imgur.com/6BexrUQ.jpg using various regex pattern. /https\:\/\/i\.imgur\.com\/.*/ /.*i.*imgur.*com/.*/ /.*\:\/\/i\.imgur\.com\/.*/ Matching any image on any hostname using a regex pattern. /.*\.(?:jpe?g|gif|png|tiff|ico)$/i
Patterns are only matching against links already captured by AdiIRC.
Channels or users windows excluded from downloading images.
Per server settings can be added using network:#channel syntax.
Always download images for some channels/users windows.
Per server settings can be added using network:#channel syntax.
These windows ignores/overrides the "Use inline images" option.
There is a Inline Images flag when adding a ignore in Options -> Ignore.
Added in 1.5
/invite [nick] [#channel]
Invites a nickname to a channel that you are on.
Parameters
Parameter | Description |
[nick] | Nick to invite. |
[#channel] | Channel to invite the nick to. |
Example
; Invite 'john' to '#mychannel'. /invite john #mychannel ; Invite 'john' to current active channel. /invite john
IRCv3 extensions are a set of optional features for IRC servers and clients proposed by the IRCv3 Working Group
AdiIRC supports some of them and will enable any of these prefixes automatically if they are supported by the server.
cap 3.1 (added in 1.9.2)
multi-prefix (added in 1.9.2)
userhost-in-names (added in 1.9.2)
away-notify (added in 1.9.2)
extended-join (added in 1.9.2)
account-notify (added in 1.9.2)
server-time (added in 1.9.7)
znc.in/server-time-iso (added in 1.9.7)
znc.in/server-time (added in 1.9.7)
sasl 3.1 (added in 1.9.9) (PLAIN and EXTERNAL)
tls (added in 1.9.9)
chghost (added in 2.5)
account-tag (added in 2.8)
invite-notify (added in 2.8)
echo-message (added in 2.9) (enable in Options -> Server -> Use echo-message when available)
Monitor (added in 2.9)
cap 3.2 (added in 3.0)
cap-notify (added in 3.0)
sasl 3.2 (added in 3.0) (PLAIN, EXTERNAL, SCRAM-SHA-1, SCRAM-SHA-256, SCRAM was added in 3.4)
batch (added in 3.0)
sts (added in 3.4)
message-tags (added in 3.4)
msgid (added in 3.4)
setname (added in 3.9)
labeled-response (added in 3.9)
WHOX (added in 4.0)
UTF8ONLY (added in 4.1)
Bot Mode (added in 4.4)
extended-monitor (added in 4.4)
standard-replies (added in 4.4)
When you join any of these channels, Do Not just join and say 'anyone here', 'i have a question', or similar things, just tell the channel what you're having a problem with and if someone knows how to help and has time, they will help you.
If its a Bug or other kind of issue with AdiIRC, submit an issue here. Include as much information as possible, preferably with steps to reproduce from a fresh adiirc installation.
Added in 1.9.7
/iuser <nick|address> [info]
Allows you to set or remove the info appended to a user list entry.
Parameters
Parameter | Description |
<nick|address> | Nick or address to modify. |
[info] | Information text to set/remove. |
Example
; Updates information text for 'Nick' to 'Some text here' /iuser Nick Some text here
Added in 1.5
/join [-inx] <#channel> [password]
Joins a channel.
Switches
Switch | Description |
-i | Join the channel to which you were last invited. |
-n | Minimizes the channel to join. |
-x | Maximizes the channel to join. |
Parameters
Parameter | Description |
<#channel> | Channel to join. |
[password] | Channel password if any. |
Examples
;Join channel #channel. /join #channel ;Join multiple channels. /join #channel,#channel2 password,#channel3
Added in 2.9
/kblayout [-d] [language]
Changes the keyboard layout globally to the specified language.
It can only change keyboard layout to a installed language.
See also $kblayout.
Switches
Switch | Description |
-d | Resets the keyboard layout to the default language. |
Parameters
Parameter | Description |
[language] | The keyboard language to change to. |
Example
; Change the keyboard layout to German. /kblayout DE ; Change the keyboard layout to American. /kblayout US ; Resets the keyboard layout to the default language. /kblayout -d
Added in 1.5
/kick [#channel] <nick> [reason]
Kicks a user from a channel and shows an optional kick reason.
If no channel parameter is defined, it will kick the user in current channel.
Parameters
Parameter | Description |
[#channel] | Channel to kick the user from. |
<nick> | Nick to kick. |
[reason] | Reason for kicking. |
Example
; Kicks 'Nick' from '#Channel' with the reason 'Stop spamming!'. /kick #channel Nick Stop spamming!
Added in 1.5
/kill <nick> [reason]
Remove a user from the network with an optional reason.
Only network operators can use this command.
Parameters
Parameter | Description |
<nick> | Nick to kill. |
[reason] | Reason for killing. |
Example
; Kill 'Nick'. /kill Nick Stop spamming!
Added in 1.5
/lag
Shows your server connection lag in current channel.
Added in 2.3
/leave [-k] [#channel] [message]
Leaves a channel with an optional part message.
If no channel is defined, current one will be used.
Same as /part.
Switches
Switch | Description |
-k | Keeps the channel window open after parting. (AdiIRC only) |
Parameters
Parameter | Description |
[#channel] | Channel to part. |
[message] | Part message. |
Examples
;Part current channel with part message "See you later!". /leave See you later! ;Part #channel with part message "See you later!". /leave #channel See you later!
To connect to Libera.Chat through TOR you will have to create a client certificate and associate it with your SASL/nickserv account.
Added in 2.7
/linemarker [-grsN] [window] |on|off]
Changes unread line marker settings for a window.
If no window is defined, current window is used.
Switches
Switch | Description |
-g | Scrolls to the unread line marker. |
-r | Reset unread marker line position on [window]. |
-sN | If N = 0, enables the small unread line marker, if N = 1, disables the small unread line marker. |
Parameters
Parameter | Description |
[window] | Window to edit. |
[on|off] | Enables or disables unread line marker for all windows, unless [Window] is defined. |
Example
; Automatically scrolls to the unread line marker when changing windows. on *:ACTIVE:*:linemarker -g
Added in 1.9.0
/linesep [-s] [window]
Prints a line with a - but only if last line is not a -.
Switches
Switch | Description |
-s | Print to status window. |
Parameters
Parameter | Description |
[window] | Window to print to. |
When enabled, opens all clicked links in your default browser.
When enabled, opens all clicked links with the specified program using the link as a parameter.
When enabled uses the link color set in Options -> Colors to make regular links stand out.
When enabled uses the font style set in Options -> Fonts to make regular links stand out.
When enabled uses the link color set in Options -> Colors to make channel names stand out.
When enabled uses the font style set in Options -> Fonts to make channel names stand out.
When enabled, opens all clicked links with just a single click instead of double click.
When enabled, shows a warning every time a link is clicked.
Added in 1.5
/list [-n] [#channel] [-min #] [-max #]
Shows a list of channels on the current server. (Shows the Channel List if enabled)
Switches
Switch | Description |
-n | Minimizes the channel list window. |
Parameters
Parameter | Description |
[#channel] | List only channels matching #channel (can be a partial channel name). |
[-min #] | List only channels with minimum amount of people. |
[-max #] | List only channels with maximum amount of people. |
Example
; List all channels. /list ;List all channels with minimum 5 people and maximum 20 people. /list -min 5 -max 20 ; List only channel #AdiIRC. /list #AdiIRC ; List all channels matching AdiIRC. /list *AdiIRC*
Added in 1.9.0
/load -aN <filename>
/load -bcmnpqs <filename>
/load -rsuv <filename>
The /load command can be used to load any type of existing file including: aliases, popups, remote, users, and variables. Using /load on an already loaded file will update its contents while maintaining its order among other files.
Note that unlike the /reload command, /load will trigger the on LOAD and on START events.
See also /reload, /unload, on LOAD, on UNLOAD, on START.
Switches
Switch | Description |
-aN | loads an aliases file, if N is specified, load into the Nth position in the alias list. |
-b | Loads a nicklist buttons file. (AdiIRC only) |
-ps | Loads a status popup file. |
-pc | Loads a channel popup file. |
-pq | Loads a query popup file. |
-pn | Loads a nicklist popup file. |
-pm | Loads a Menubar popup file. |
-pe | Loads a channel link popup file. (AdiIRC only) |
-pi | Loads a link popup file. (AdiIRC only) |
-ru | Loads a user list file. |
-rv | Loads a variables file. |
-rsN | Loads a remote scripts file, if N is specified, load into the Nth position in the script list. |
Parameters
Parameter | Description |
<filename> | Filename to load. |
Added in 1.9.0
/loadbuf [lines] [-acNegilmnoprst<topic>] <window | dialog id> <filename>
Loads the specified number of lines from the end of the file of filename into the specified window.
Switches
Switch | Description |
-a | Loads the text into the active window. |
-cN | Specifies the default color (N) for the line being read. |
-e | Evaluates variables and identifiers in the line being read. |
-g | TODO |
-i | TODO |
-l | Reads the lines into side-listbox in a custom window. |
-m | Indicates that the logging text is already timestamped. |
-n | Logs the loaded text to a log file, if logging is enabled for that window |
-o | Indicates that you have specified the [dialog id] parameters instead of a window name in order to load lines into a custom dialog control. |
-p | TODO |
-r | Clears the contents of the output window before adding read lines. |
-s | Reads the lines into the associated status window. |
-t<topic> | Loads the text under the [topic] section in an INI or plain text file. |
Parameters
Parameter | Description |
[lines] | If specified, the number of lines to add from the end the file, otherwise the whole content of the file is added. |
<window | dialog id> | Window or dialog id to load into. |
<filename> | File to load. |
Example
; Open a custom window. /window @Example ; Read 10 lines from the AdiIRC config file into the custom window //loadbuf 10 -r @Example $qt($adiircini) ; Only loads the [Messages] AdiIRC section of the config file. //loadbuf -rTMessages @Example $qt($adiircini)
Added in 1.9.4
/lock [-r] <password>
Set a password and hide the main AdiIRC window, no window interaction is allowed until the correct password is entered.
$locked can be used to test if AdiIRC is locked or not.
AdiIRC can also be locked down by holding the Control key down while minimizing the main window
Switches
Switch | Description |
-r | Remove the lock. |
Parameters
Parameter | Description |
<password> | Password to set. |
Added in 2.3
/log <on|off> <window> [-f filename]
Turns on/off logging for a window to a specific file.
Parameters
Parameter | Description |
<on<redpre#0>off> | Turns logging on or off. |
<window> | Window to turn logging on or off for. |
[-f filename] | Filename to log to. (optional) |
Example
; Enable logging for channel '#adiirc' to specific log file 'Logs\#adiiirc.log'. /log on #adiirc -f Logs\#adiirc.log
See also /log.
When enabled, logs all channel windows.
When enabled, logs all private windows.
When enabled, logs all server windows.
When enabled, logs all events hidden by Events Options.
Opens log files for editing in the default editor.
Opens log files for editing in the specified custom editor.
When enabled, will create a sub folder with the network name and save the logfile there.
When enabled, Removes all control codes from the message before logging.
When enabled, adds a timestamp with the specified Timeformat to the message before logging.
If enabled, the logged line will be logged with the timestamp retrieved from the server when the IRCv3 server-time cap is used, otherwise the current localtime is used.
When enabled, the line colors used for the message will be added to the log.
When enabled, the Nickcolumn character used to separate timestamp/nick from the message will be saved and correctly restored.
When enabled, the link character used to style links in a message will be saved and correctly restored.
When enabled, session start and close date will be logged to the logfile.
When enabled, all logfiles in use are locked until the associated window is closed.
The Folder to save the log files.
The time format to use when Use Timestamp is enabled.
Click the Show date/time variables link to see available variables, these variables ONLY work for the timestamp, not for the filename.
The filename to use for logs,
Variables available:
$network - The network name associated with the log window.
$channel - The channel/query name associated with the log window.
$date - Current date in the yyyymmdd format.
$mdate - Current date in the yyyymm format.
Date/time/other variables are not available to keep the filenames predictable for restore logs.
The filename to use for logs when Split log files at [X] is enabled and the log is to be rotated,
Variables available:
$network - The network name associated with the log window.
$channel - The channel/query name associated with the log window.
$date - Current date in the yyyymmdd format.
$count - A incremental number based on number of files with the same filename minus the $count number.
Date/time/other variables are not available to keep the filenames predictable for restore logs.
If enabled, the last [X] messages from the log files will be restored when a private window is opened.
If enabled, the last [X] messages from the log files will be restored when a channel window is opened.
When enabled, save the logfiles in a subfolder based on the selected interval.
Daily = YYYY-MM-DD.
Weekly = YYYY-WW.
Monthly = YYYY-MM.
Yearly = YYYY.
When enabled and a log file becomes bigger than [X] kilobytes, it will be trimmed to fit the specified size.
Cannot be used with split log files.
When enabled and a log file becomes bigger than [X] kilobytes, it will be renamed to Rotated filename and a new log created.
Cannot be used with trim log files.
When enabled, all log files not modified since [x] days ago will be removed when AdiIRC exits.
Channels and users in this list will not be logged.
Per server settings can be added using network:#channel syntax.
These windows ignores/overrides the "Log channels/servers/Log privatechat" option.
Can also be toggled by right-clicking the window in Switchbar/Treebar -> Logging.
Channels and users in this list will always be logged, regardless of the Log Channels and Log Privatechat options.
Per server settings can be added using network:#channel syntax.
These windows ignores/overrides the "Log channels/servers/Log privatechat" option.
Can also be toggled by right-clicking the window in Switchbar/Treebar -> Logging.
If Log hidden events is enabled, these options are ignored.
Default = Log event if logging is enabled for the channel.
On = Log event in channels even if logging for the channel is disabled.
Off = Never log event in channels even if logging for the channel is enabled.
Log regular messages.
Log when a user joins a channel.
Log when a user changes channel modes.
Log when a user leaves a channel.
Log when a user changes a channel topic.
Log when a user quits irc.
Log when a user sends a ctcp request.
Log when a user is kicked from a channel.
Log when a user changes nick.
List of the different login methods used by the server list and /server.
pass - None/Pass
sasl - SASL (username + password)
external - SASL EXTERNAL (certificate)
msg - NickServ (/MSG NickServ + password)
nickserv - NickServ (/NickServ + password)
auth - Challenge Auth (username + password) (HMAC-SHA-256 if available, otherwise HMAC-SHA-1)
scram - SASL SCRAM (username + password) (SCRAM-SHA-256 if available, otherwise SCRAM-SHA-1)
Added in 1.9.0
/logs [-defrxgc] [directory] [filename] [text]
Opens the Logs Manager and does a optional custom search.
Wildcards can be used for all parts.
Switches
Switch | Description |
-d | Indicates directory is defined. |
-e | Exclude sub directories in the search. |
-f | Indicates filename is defined. |
-r | Indicates text is a regular expression instead of a wildcard. |
-x | Use exact text match. |
-g | Indicates filename is a regular expression instead of a wildcard. |
-c | Use exact filename match. |
Parameters
Parameter | Description |
[directory] | Log directory to search, used with -d. |
[filename] | Filename to search, used with -f. |
[text] | Log text to search. |
Êxample
; Open log folder with default log folder listing. /logs ; Open log folder with custom folder and a regular expression matching all lines containing Hello. /logs -dr "c:\logs folder" .*Hello.*
Logs Manager allows searching through all log files for matching patterns.
It can be opened by clicking Menubar -> Tools -> Logs or by typing the command /logs in the Editbox.
The folder to search which by default is the Log folder set in Options -> Logging -> Log Folder.
If enabled, all subfolders in the Folder is searched as well.
The filename pattern to match, either a wildcard or a regular expression if Regex is checked.
The pattern to search for, either a wildcard or a regular expression if Regex is checked.
When enabled, searches using a case-sensitive match.
Opens the log file in the Logs Viewer.
Opens the log in the custom external editor. (Notepad by default, can be changed in Script Editor -< Options -> Set External Editor)
Merges the selected log files into one big file and optionally delete the original files.
Rename the log file.
Deletes the selected log files.
Right-click the logfile and click Open Folder.
When the logs manager closes, the window size/position/state, the datagrid columns sizes, the sorted datagrid column and the sort direction, the recently used folders, filenames and search text is saved and then restored the next time the log manager is opened.
Right-click the Folder/FileName/Search for dropdown and click Clear All.
Pressing LEFT or RIGHT in the Logs Viewer cycles between the file matches.
The logs viewer allows you to view log files with the original colors (if enabled).
The log viewer for the current active window can be opened by typing /logview in the Editbox. The /logview command can also take a file name as a parameter.
It can also be opened by right-clicking a window in the Treebar or Switchbar -> Logging -> View.
While searching log files in the Logs Manager, clicking a filename in the search result will also open the log viewer.
To open the search panel inside the log viewer press CTRL + F or by right-clicking then clicking the Search menu item.
The log file can re-read by pressing the F5 key or by right-clicking then clicking the Reload menu item.
To edit the log file in the custom external editor. (Notepad by default, can be changed in Script Editor -< Options -> Set External Editor) right-click then click the Edit menu item.
Note the file has to be manually reloaded after editing to see any changes.
To open the folder where the log files resides, right-click then clicking the Open Folder menu item.
To save a copy of the log file, right-click then clicking the Save As menu item.
If the log files was opened through a Logs Manager search, you can go to the next pr previous match by pressing LEFT or RIGHT keys.
Added in 1.9.0
/logview [-nN] [filename]
Displays a log file in the Logs Viewer.
If no filename is defined, current window's log file will be used.
Same as /viewlog.
Switches
Switch | Description |
-nN | Scroll to the Nth line in the log file. |
Parameters
Parameter | Description |
<filename> | Log file to view. |
The most feature-rich IRC client ever!
AdiIRC current release v4.4 Changelog
AdiIRC is a freeware IRC client with multiserver support and a highly customizable interface. It offers all the standard IRC features including private chats, basic Identd features, system information, SSL, IPv6, chat logging and DCC Chat/Transfers. It also offers now playing support for various media players, advanced scripting, themes, MTS themes, plugins, and dockable/undockable activity monitors that lets you monitor many channels at once. The program stores all it`s settings in text files and does not require an installation.
Visit us on Libera.Chat irc network, in the channel #adiirc.
Added in 1.9.0
/markall [-s]
Marks all windows as read (resets the color in Treebar and Switchbar to default).
See also /nextunread.
Same as /amark.
Switches
Switch | Description |
-s | Marks only the current server as read. |
A <matchtarget> is a text pattern that AdiIRC will use to compare with a target window during a scripting event.
Different events have different valid window locations.
= - Defines dcc chat window location.Multiple windows can be targeted by using commas.
See also $matchkey.
Example
; Subscribe to the TEXT event and if #channel or #channel2 matches the target channel, print a text. on *:TEXT:*:#channel,#channel2:echo -ag #channel matched. ; Subscribe to the TEXT event and if any channels matches the target, print a text. on *:TEXT:*:#:echo -ag # matched. ; Subscribe to the TEXT event and if any channel or query matches the target, print a text. on *:TEXT:*:#,?:echo -ag $target matched. ; Set a target variable. set %target #channel ; Subscribe to the TEXT event and if #channel matches the target channel, print a text. on *:TEXT:*:%target:echo -ag #channel matched.
A <matchtext> is a text pattern that AdiIRC will use to compare with something during a scripting event.
The matchtext can contain wild characters:
* - matches any textSee also $matchkey, $stripped.
Example
; The matchtext will only match if the ONLY word is "!test" on *:TEXT:!test:*:echo -ag Match ; The matchtext will match if the text starts with "!test" on *:TEXT:!test*:*:echo -ag Match ; The matchtext will match if the text ends with the word "!test" on *:TEXT:*!test:*:echo -ag Match ; The matchtext will match any text that has "!test" in it (anywhere) on *:TEXT:*!test*:*:echo -ag Match ; The matchtext will match any text that start with the word test !test and his only followed by a second word on *:TEXT:!test &:*:echo -ag Match
The matchtext parameter can also be a Regular Expression Pattern by using the '$' event prefix.
Example
on $*:text:/^!test$/i:#:{ msg $chan Test Worked! }
Matchtext can be evaluated using $(code) or contain a single %variable.
Example
; Subscribe to the TEXT event, try evaluate my nick, and if it matches, print a text. on *:TEXT:$(* $+ $me $+ *)):*:echo -ag My nick was highlighted on $chan ; Set a variable set %variable !test ; Subscribe to the TEXT event, if the messages matches the variable, print a text. on *:TEXT:%variable:*:echo -ag Text !test was matched
Added in 1.9.6
/mdi -actv
Allows you to arrange/cascade/tile windows in the MDI area.
Switches
Switch | Description |
-a | Arrange windows. |
-c | Cascade windows. |
-t | Tile windows horizontal. |
-v | Tile windows vertical. |
Example
; Cascade windows /mdi -c
Added in 1.4.6
/me <message>
Sends an emote/action message to current active channel or private window. It's the command used by the 'fish slap'.
See also /describe, /ame, /msg, /nmsg, /omsg, /notice, /onotice.
Parameters
Parameter | Description |
<message> | The emote/action message to send. |
Example
; Sends 'Hello world' to the current active channel or private window. /me Hello world.
This command is intended to be typed into the channel/query editbox. While it can be used in a script, it uses whichever is the active window. The script would likely want to use:
/describe nick|#channel Hello world
Message to show when typing /np.
The message will be evaluated and can contain identifiers.
If checked, the Now playing message will be sent as an action.
Message to show when typing /np nick.
The message will be evaluated and can contain identifiers.
If checked, the Now playing message2 will be sent as an action.
If enabled, /np will use a random message from the Tools -> Edit Now playing list.
Choose which media player /np should display now playing information from.
Will also enable the Toolbar media player icons for some players and Statusbar now playing if enabled.
If Choose Media Player is set to Winamp, path to Winamp can be set to launch winamp from Toolbar and to install a Winamp plugin.
If Choose Media Player is set to Winamp, path to the Winamp m3u file can be set to allow searching and selecting songs to play with /wselect, /wsearch and through the winamp dialog which can be opened from Menubar -> Tools -> Winamp or by the CTRL + J shortcut.
If Choose Media Player is set to Winamp, the max number of results to show when searching the Winamp playlist.
iTunes, Winamp and MediaMonkey
$fulltitle = [artist - title]Other players
$fulltitle = [artist - title]For other media players, the WIndow TItlebar text is shown, most players allows customizing it.
See also Scripting Now Playing.
Added in 1.9.0
/menubar [on|off]
Enables or disables Menubar.
$menubar can be used to determine it's state.
If no parameter is defined, prints current Menubar visibility status.
When Menubar is disabled, it can be temporary enabled by pressing the ALT key, it can also be viewed by right-clicking the Titlebar in the main AdiIRC window.
Parameters
Parameter | Description |
[on] | Enables Menubar. |
[off] | Disables Menubar. |
Added in 1.9.7
/menubar [-adrishtiox] [N] <N|name> <@popup> [text]
Adds or removes custom menu items to the Menubar.
AdiIRC only
Switches
Switch | Description |
-a | Add a new menu. |
-d | Delete item named <name> or the Nth item. |
-r | Resets all menus to default. |
-i | Insert a menu at position [N]. |
-s | Show a hidden menu. |
-h | Hide a menu. |
-t | Change the text of a menu. |
-o | Change the @popup menu associated with the menu. |
-x | Add a separator. |
Parameters
Parameter | Description |
<N> | Position to insert or delete at when using -i/-d. |
<N<redpre#2>name> | Name of a menu item to add/delete/modify or the Nth position to insert at when -i is used. |
<@popup> | The @popup menu to associate with the menu. |
Example
; Setup a custom menu for the 'mymenu' menu. menu @mymenu { Hello World:echo -ag Hello world Menu name:echo -ag Menu name is $menu } ; Adda a new menu named 'mymenu' with the text 'Top Menu Test'. /menubar -a mymenu @mymenu Top Menu Test ; Changes the text of the menu named 'mymenu' to 'Top Menu Test2'. /menubar -t mymenu Top Menu Test2 ; Delete the menu named 'mymenu'. /menubar -d mymenu
The menubar gives access to most AdiIRC features.
The menubar can be hidden by clicking Menubar -> View -> Menubar or by typing /menubar off or by changing Options -> Windows -> Enable Menubar or by right-clicking the Menubar and then clicking Hide Menubar.
When the menubar is hidden, the menubar menu can still be accessed by right-clicking the Titlebar.
The menubar itself can be brought up by pressing the ALT key.
It can also be shown at any time/anywhere by typing /showmenu -m, which can also be associated with a shortcut.
The /menubar command can be used to add/edit/remove any menu item. To have any changes persistent, put the commands in a on START script.
The commands menu can be modified by using the Menu Editor Dialog which can be opened by clicking Menubar -> Tools -> Edit Menus or by pressing the ALT + P shortcut or by typing /edit -m.
Menus from a specific file can also be loaded using the /load command.
The Menubar can be moved to the top/bottom/left/right of the main window by right-clicking the menubar then clicking Position.
Showing/hiding window icon can be set in Options -> Windows -> Show icon in-Menubar.
Showing/hiding window control icons (minimize/maximize/restore) can be set in Options -> Windows -> Show window icons in Menubar.
Menubar/Toolbar/Switchbar/Treebar can be locked so they can't be moved by right-clicking any bar and then click Lock Bars.
Locking bars also removes the header from the Monitor Panels.
The menubar background/foreground colors can be set in Options -> Colors, the control icons (minimize/maximize/restore) will use the foreground color as well.
Note: Override Windows theme colors must be enabled.
The font can be changed in Options -> Fonts & Sizes or by using the /font command.
A background image for the Menubar can be set in Options -> Backgrounds or by using the /background command.
The menu editor allows editing various context menus in AdiIRC.
it can be opened by clicking Menubar -> Tools -> Edit Menus or by pressing the ALT + P shortcut or by typing /edit -m.
The editor shares characteristics with all the other editors.
See also Scripting Menus, Editor Options.
When no menu ini file exists, AdiIRC internally uses some defaults menus. When opening the menu editor in this case, AdiIRC inserts the defaults into the editor and all the menu sections are marked as being edited/not saved, saving the menus once creates the menu ini file and the marking goes away.
Edit the Server Windows right-click menu.
Edit the Channel Windows right-click menu.
Edit the Private Windows right-click menu.
Edit the Nicklist right-click menu.
Edit the Menubar Commands menu.
Edit the Text Area #channel link right-click menu.
Edit the Text Area link/url right-click menu.
To save the current menu items to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.
To load menu items from a different ini file, click the Menubar (inside the editor) -> File -> Load menu item or use the /load command.
When loading menu items using the /load or /unload command, the menu editor will be automatically updated with the new menu items.
Clicking the Menubar (inside the editor) -> Edit -> Find or pressing the CTRL + F shortcut opens the search and replace panel.
You can search or search and replace using a Regular Expression by checking the Regex checkbox.
Pressing the ESCAPE key closes the search panel.
Checking for balanced brackets can be done by clicking the {} menu item to the far right of the Menubar (inside the editor) or by pressing the CTRL + H shortcut.
If a menu ini file was modified outside of the editor, it can be reloaded by clicking the Menubar (inside the editor) -> File -> Reload menu item or by pressing the F5 shortcut or by typing /reload.
Clicking the reset button resets the current selected menu section to the default menus for that section.
The Popup menu item in the Menubar (inside the editor) can be used to show how the menu items will be shown in the real menu.
The font of the editor can be changed by clicking the Menubar (inside the editor) -> File -> Change Font menu item.
Note: only truetype fonts can be used.
The editor colors can be changed in Options -> Colors.
Enables or disables the timestamp for messages.
See also /timestamp, $timestamp.
The timestamp format to use.
See also $timestampfmt.
The prefix to use for system messages.
See also $prefixsys.
The prefix to use for ctcp messages.
See also $prefixctcp.
The prefix to use for regular user messages.
Useable variables
$pnick = Channel nick with status prefix (also contains nick colors if enabled in Options -> Nick Colors).
$status = Channel status prefix. (@%+)
$nick = Channel nick.
$nnick = Channel nick with no nick color.
$target = The target channel name or private window nick.
$imagechar = Image character, can used as $imagecharEMOTE$imagechar
$nickcolor = Channel nick color (number between 0 and 99)
$rgbnickcolor = Channel nick rgb color (RRGGBB)
$linecolor = Message line color.
$rgblinecolor = Message line rgb color.
$nickicon = The icon associated with the nick.
Examples
<colorchar> means the control code for colors which can be added using CTRL + K.
<colorchar2> means the control code for rgb colors which can be added using CTRL + SHIFT + K.
$nickcolor and $linecolor can be used with the <colorchar> for creating custom colored prefixes.
$rgbnickcolor and $rgblinecolor can be used with the <colorchar2> for creating rgb colored custom prefixes.
<colorchar>$nickcolor[$nick]<colorchar> becomes [nick]
[<colorchar>$nickcolor$nick<colorchar>] becomes [nick]
The prefix is not evaluated as a script.
See also $prefixuser, Formatting Text.
The prefix to use for emote messages.
Useable variables
$pnick = Channel nick with status prefix (also contains nick colors if enabled in Options -> Nick Colors).
$status = Channel status prefix. (@%+)
$nick = Channel nick.
$imagechar = Image character, can used as $imagecharEMOTE$imagechar
$nickcolor = Channel nick color (number between 0 and 99)
$rgbnickcolor = Channel nick rgb color (RRGGBB)
$linecolor = Message line color.
$rgblinecolor = Message line rgb color.
$nickicon = The icon associated with the nick.
Examples
<colorchar> means the control code for colors which can be added using CTRL + K.
<colorchar2> means the control code for rgb colors which can be added using CTRL + SHIFT + K.
$nickcolor and $linecolor can be used with the <colorchar> for creating custom colored prefixes.
$rgbnickcolor and $rgblinecolor can be used with the <colorchar2> for creating rgb colored custom prefixes.
<colorchar>$nickcolor[$nick]<colorchar> becomes [nick]
[<colorchar>$nickcolor$nick<colorchar>] becomes [nick]
The prefix is not evaluated as a script.
See also $prefixemote, Formatting Text.
If enabled, all lines containing the hovering nick will be highlighted.
If enabled, typing in the Editbox will scroll the message buffer to bottom if the buffer is scrolled up.
If enabled, interesting parts of some messages like nicks, channel names will be bold.
Enabled:
Nick (nick!nick@host.com) joins #channel
Disabled:
Nick (nick!nick@host.com) joins #channel
If enabled, selected text in the message buffer will automatically be copied to your clipboard when you release the mouse and keyboard focus will be put on the Editbox.
If disabled, CTRL + C keyboard shortcut can be used to copy the text to the clipboard.
If enabled, AdiIRC will show a message "Now talking in #channel" when joining a channel, and "Rejoining...", "Rejoined #channel" when rejoining channels.
If enabled, AdiIRC will show a "Day changed to X" message in all open windows at midnight.
If enabled, removes control codes from incoming messages.
See also $strip.
If enabled, removes control codes from the Topicbox.
See also $strip.
If enabled, shows a vertical line in the message buffer indicating new messages since you last focused the window.
If enabled, the unread line marker will be shown between two messages with no extra spaces around it.
If enabled, always shows a empty line at the bottom of the message buffer.
If enabled, nicks will be hidden if the same person writes several messages in a row.
Enabled:
[42:42] <Nick1> text [42:42] text [42:42] text [42:42] text [42:42] text
Disabled:
[42:42] <Nick1> text [42:42] <Nick2> text [42:42] <Nick2> text [42:42] <Nick2> text [42:42] <Nick3> text
Indenting only works when the Nick column is enabled.
If enabled, timestamp will be hidden if the same person writes several messages in a row.
Enabled:
[42:42] <Nick1> text [42:42] <Nick2> text <Nick2> text <Nick2> text [42:42] <Nick3> text
Disabled:
[42:42] <Nick1> text [42:42] <Nick2> text [42:42] <Nick2> text [42:42] <Nick2> text [42:42] <Nick3> text
Indenting only works when the Nick column is enabled.
If enabled, timestamp will be hidden if the previous message have the same timestamp, e.g only show timestamp if the time has changed, regardless of nicks.
Enabled:
[42:42] <Nick1> text <Nick2> text <Nick2> text <Nick2> text [42:43] <Nick1> text
Disabled:
[42:42] <Nick1> text [42:42] <Nick2> text [42:42] <Nick2> text [42:42] <Nick2> text [42:43] <Nick1> text
Indenting only works when the Nick column is enabled.
When enabled, shows a clickable icon when the buffer is scrolled up, clicking it will scroll the buffer to the bottom.
The icon will by default switch from white to black depending on the message buffer background color.
When enabled, shows a clickable icon when the unread line marker is available but not currently in view, clicking it will scroll the buffer to the unread line marker.
The icon will by default switch from white to black depending on the message buffer background color.
If enabled, shows vertical scrollbar in the message buffer, if set to Autohide, scrollbar will be hidden until you either mousescroll or hover at the right border of the Text Area.
If enabled. shows horizontal lines between the messages in the message buffer.
If enabled, uses a more accurate but much slower way to render text, enable if you have problems with unicode or missing glyphs with certain fonts.
If enabled, long channel/private messages will be split into smaller messages, otherwise the message is sent as is and the server might remove parts of it at the end.
Indent wrapped lines in the message buffer with [X] pixels.
Set the maximum number of scrollback lines in the message buffer.
If set to 0, unlimited number of lines.
Can also be set per window in the Switchbar/Treebar right click menu.
Sets the unread line marker size in pixels.
If set to single, messages in the message buffer will use regular spacing.
If set to paragraph, messages in the message buffer will use 1.5 times spacing.
If set to double, messages in the message buffer will use 2 times spacing.
Sets the number of pixels between each message in the message buffer.
By making lines bigger, emoticons will also resize to be bigger.
Sets the left border for the message buffer in pixels.
Sets the bottom border for the message buffer in pixels.
Sets the number of lines the mouse wheel scrolls inside the message buffer.
If enabled, join/part/quit messages are shown using a shorter format without the channel name.
If enabled users ident@address is shown in join/part/quit messages.
if enabled, join, part, quit, nick messages will only be shown from users who have spoken in the last [X] minutes (default 10).
Enable or disable the message buffer nick column.
See also /nickcolumn.
Enabled:
Disabled:
If enabled, nick column will automatically resize itself to fit long nicks.
It will not compress itself again.
If enabled, the left side of the nick column will be drawn using the Nick column left background color set in Options -> Colors.
If set to on, nick column divider will be visible.
If set to off, nick column divider will not be visible.
If set to autohide, nick column divider will be visible and automatically hide itself unless the mouse is hovering it.
If set to locked, nick column divider will be visible and locked to avoid accidental resize.
Set default nick column width.
If changed, will reset all column width in all windows.
Set the nick column divider width in pixels.
Keep in mind the allocated width for the divider is the width of a white space on the current font.
If enabled, hovering a nick in the Text Area will show the specified Tooltip text.
Text to show when Show Tooltips is enabled.
The Tooltip text will be evaluated and can contain identifiers, the variable $1 holds the nick.
Added in 1.9.0
/mkdir <dirname>
Creates the specified directory.
Parameters
Parameter | Description |
<dirname> | Directory to create. |
Examples
;Create directory $adiircdir $+ test /mkdir test ;Create directory "c:\test directory" /mkdir "c:\test directory"
Added in 1.9.7
/mnick <nickname>
Changes your main nickname on current connection.
If connected from the serverlist, the serverlist is updated, else quick connect is updated.
Parameters
Parameter | Description |
<nickname> | The new nickname. |
Example
/mnick Obiwan
Added in 1.5
/mode <#channel|nickname> [ [+|-]modechars [parameters] ]
Use to control a channel or nick, there are many modes depending on server, some common channnel modes are:
Typing /mode #channel with no modechars(parameters shows the current channel modes.
Examples
Mode | Description |
+b <nick!ident@host> | Ban a mask from the channel. |
-b <nick!ident@host> | Unban a mask from the channel. |
+i | Make channel invite only. (everyone needs to be invited through /invite to enter the channel) |
-i | Disable invite only. |
+l <N> | Set a user limit on the channel, when user count reaches N, no new users will be allowed. |
-l | Disable user limit. |
+m | Make channel moderated, only users with voice/channel operators can speak. |
-m | Disable channel moderation. |
+n | External messages from users not in the channel is not allowed. |
-n | External messages from users not in the channel is allowed. |
+o <nick> | Make a user channel operator. |
-o <nick> | Demote a channel operator. |
+p | Set channel as private. |
-p | Set channel as public. |
+s | Set channel as secret. (will no be shown in channel /list and so on) |
-s | Set channel as not secret. |
+t | Only channel operators can change topic. |
-t | Everyone can change topic. |
+k <key> | Set a secret key for the channel, only users who knows the key can enter. |
-k | Remove the secret key, everyone can enter. |
Monitor panels are a set of panels which allows you to monitor various information for all or some windows/events.
Panels can be enabled/disabled from the View menu or from the /dockpanels command.
By default they are docked inside AdiIRC to the left,right,top or bottom and can be grouped together as tabs or split side-by-side or top-to-bottom.
Panels can also be stacked on top/bottom of each other or to the right/left of each other.
The position,size and dock status of all panels are saved and restored.
There are various options for the monitor panels in Options -> Monitor Panels.
To add a monitor to your current layout, click the name of the monitor panel you want to add in Menubar -> View.
To remove a monitor panel you can right-click -> Remove in the monitor itself, in the tab or in the control header.
See also /dockpanels.
Clicking the Menubar -> View -> Monitor Panels menu or pressing the hotkey F2 will show or hide all monitor panels except the ones that are pinned or are detached as windows.
To move a panel, either grab the tab or the control header and drag it to where you want it to be, if you drag it on top of another panel, it will become a tab, if you drag it to the left,right,top or bottom, it will split the current panel into two and show them side by side or top/bottom.
If you drag it to the middle of the AdiIRC main window, it will become a detached window.
"Lock Bars" must be disabled to move a panel, to disable, right-click in Menubar/Toolbar/Switchbar/Statusbar/Treebar.
Monitor panels can also be detached from AdiIRC as a separate window, by right-click menu "Undock" or by dragging it to the middle of the AdiIRC main window.
When detached, the window can then be attached to AdiIRC as a regular window by pressing CTRL + D.
Grab the Titlebar of the window, and drag it to where you want it to be, if you drag it on top of another panel, it will become a tab, if you drag it to the left,right,top or bottom, it will split the current panel into two and show them side by side or top/bottom.
You can also right-click the window and chose the Dock menu, this will dock the monitor panel to the first other container panel it finds, or create a new container panel.
"Lock Bars" must be disabled to move a panel, to disable, right-click in Menubar/Toolbar/Switchbar/Statusbar/Treebar.
If the pin icon is clicked, the monitor will be pinned and will be excluded when you press F2 to view/hide the monitors.
Click the pin icon again to unpin.
Shows the Treebar.
Monitors server/status messages for all servers.
Monitors channel messages for all channels on all servers.
Monitors private messages for all private chats on all servers.
Monitors notice messages on all servers.
Monitors highlighted messages on all servers.
Shows the Notify list.
Monitors URL's/links found in any message on all servers.
Shows the DCC transfers list.
Shows a global Nicklist which always shows the Nicklist for the current active channel window.
Monitor panels can be enabled from the View menu in Menubar.
The panels can be docked almost anywhere and is always visible regardless of what window is currently active, which can be useful for monitoring many channels at once.
See also Monitor Panels.
Enable or disable the channel messages monitor
Enable or disable the server messages monitor
Enable or disable the private messages monitor
Enable or disable the notice messages monitor
Enable or disable the highlights monitor
Enable or disable the url monitor
If enabled, private monitor messages will be saved on exit and loaded on start.
If enabled, notice monitor messages will be saved on exit and loaded on start.
If enabled, highlight monitor messages will be saved on exit and loaded on start.
If enabled, url monitor messages will be saved on exit and loaded on start.
If enabled, duplicate lines will be excluded from the monitor panels.
If enabled, channel/query messages on current active window will be excluded from the monitor panels.
If enabled, all vertical monitor panels will have priority over the horizontal monitor panels and use the full height of the MDI area, otherwise the horizontal panels will have the full width of the MDI area.
Shows or hides the scrollbars in Monitor Panels (excluding Server/Channel monitor panels).
Maximum size of the channel monitor buffer.
Maximum size of the server monitor buffer.
Maximum size of the private monitor buffer.
Maximum size of the notice monitor buffer.
Maximum size of the highlights monitor buffer.
Maximum size of the url monitor buffer.
Sets the timstamp format to use for the Time column.
Changes only applies to new entries.
Server and channel monitor uses the regular messages timestamp format.
Show or hide the nickcolumn in server messages monitor.
Show or hide the timestamp in server messages monitor.
Show or hide the network name in server messages monitor.
Shows or hides the day changed message for the Server Messages Monitor Panel
Shows or hides the day changed message for the Channel Messages Monitor Panel
Show or hide the nickcolumn in channel messages monitor.
Show or hide the timestamp in channel messages monitor.
Show or hide the network name in channel messages monitor.
Disable all kinds of monitoring of channels and nicks in this list.
network:channel can be used to exclude channels on specific networks.
When a user types a message, show or hide the message in the channel monitor.
When a user joins a channel, show or hide the message in the channel monitor.
When a user changes channel modes, show or hide the message in the channel monitor.
When a user leaves a channel, show or hide the message in the channel monitor.
When a user changes a channel topic, show or hide the message in the channel monitor.
When a user quits irc, show or hide the message in the channel monitor.
When a user sends a ctcp request, show or hide the message in the channel monitor.
When a user is kicked from a channel, show or hide the message in the channel monitor.
When a user changes nick, show or hide the message in the channel monitor.
Added in 4.3
/mouse <@window> <event> <mouse.x> <mouse.y> <mouse.key>
Triggers a Mouse Event with the specified parameters.
Parameters
Parameter | Description |
@window | The window to trigger the mouse event for. |
event | The Mouse Event to trigger. |
mouse.x | The $mouse.x coordinates to trigger at. |
mouse.y | The $mouse.y coordinates to trigger at. |
mouse.key | The $mouse.key flag to trigger with. |
Events
Event | Value |
None | 0 |
Mouse | 1 |
SIngleClick | 2 |
MiddleClick | 3 |
DoubleClick | 4 |
DoubleMiddleclick | 5 |
UpClick | 6 |
UpMiddleClick | 7 |
RightClick | 8 |
DoubleRightClick | 9 |
ListBoxClick | 10 |
Leave | 11 |
Drop | 12 |
WheelUp | 13 |
WheelDown | 14 |
Resize | 15 |
Minimize | 16 |
Maximize | 17 |
Restore | 18 |
Example
; Create a mouse event for '@window'. menu @window { mouse:{ echo -ag mouse.x is $mouse.x mouse.y is $mouse.y mouse.key is $mouse.key } } alias testmouse { ; Create a custom window named '@window'. /window @window ; Call the mouse event for '@window'. /mouse @window 1 42 42 0 }
The commands is evaluated as a script.
Sets the command to run when double-clicking in a server window.
Sets the command to run when double-clicking in a private window.
Sets the command to run when double-clicking in a channel window.
Sets the command to run when double-clicking a nick in the Nicklist.
Sets the command to run when double-clicking a nick in the Notify list.
Sets the command to run when double-clicking a nick in the text buffer.
For Inserting nick into Editbox when double-clicking:
/editbox -ai $$1
Sets the command to run when drag/dropping specific file types into a window.
Separate option whether the SHIFT was pressed during the drag/drop or not.
$1 contains the channel or private window name the file was dragged to.
$2- contains the filename that was dragged.
Added in 1.5
/msg <nick|#channel> <message>
Sends a message to a nick or a channel.
If the message is to a nick and "Open Window on /msg" option is enabled, a private window with that nick will be opened if necessary.
See also /describe, /me, /ame, /nmsg, /omsg, /notice, /onotice.
Parameters
Parameter | Description |
<nick|#channel> | Nick or #channel to message. |
<message> | Message to send. |
Example
; Send "Hello World!" to #channel. /msg #channel Hello World! ; Send "Hello World!" to Nick. /msg Nick Hello World!
Added in 1.8.10
/msgbox <text>
Show a message box with text.
Parameters
Parameter | Description |
<text> | Text to show. |
Example
; Show a message box with the text 'Hello World'. /msgbox Hello World
Added in 4.4
/mtable -aTNAVB <name> [N..] <item> <value>
/mtable -eTNAVB <name> [N..] <N> <item> <value>
/mtable -iTNAVB <name> [N..] <N> <item> <value>
/mtable -lJXI <name> <file>
/mtable -sJXI <name> <file>
/mtable -d <name> [N..] <N>
/mtable -f <name>
Adds/removes/inserts/modifies items in a multi dimensional table/array.
Items are not unique and the table is always ordered based on the N position in the table.
See also $mtable.
Parameters
Parameter | Description |
<name> | Name of the table to modify. |
[N..] | Indicates the item should be added/inserted/deleted from sub table at position N, subsequent N parameters travels further down. |
<N> | The Nth item in a table or sub table to modify. |
<item> | The item name. |
<value> | The item value. |
Switches
Switch | Description |
-a | Add a new item to a table. |
-e | Edit a item in a table. |
-i | Insert a new item to a table. |
-d | Delete a item from a table. |
-l | Loads a table from a file. |
-s | Saves a table to a file. |
-f | Free/delete a table. |
-T | Indicates the type is text. |
-N | Indicates the type is a number. |
-B | Indicates the type is a boolean. |
-A | Indicates the type is a sub table/array. |
-J | Indicates the file to load/save should be in JSON format. |
-X | Indicates the file to load/save should be in XML format. |
-I | Indicates the file to load/save should be in INI format. |
Example
; Add item1/value1 to the table 'table1'. //mtable -a table1 item1 value1 ; Add sub table 'item2' to the table 'table1'. //mtable -aA table1 item2 value2 ; Insert item3/value3 at position '1' in the table 'table1'. //mtable -i table1 1 item3 value3 ; Print number of items in table 'table1'. //echo -ag Number of items in table1 is $mtable(table1, 0) ; Print the first items in table 'table1'. //echo -ag First item in table1 is $mtable(table1, 1).item ; Delete the first item in table 'table1'. //mtable -d table1 1 ; Free the table 'table1'. //mtable -f table1 ; Add a new sub table to table 'table1', //mtable -aA table1 sub1 sub1 ; Add a new item to the sub table located at position '1' in table 'table1'. //mtable -a table1 1 item1 value1 ; Print the first item in the table 'table1', which is a sub table. //echo -ag First item in table1 is $mtable(table1, 1).item - $mtable(table1, 1).type ; Print the first item in the sub table located at position '1' in table 'table1'. //echo -ag First item in sub table1 is $mtable(table1, 1, 1).item ; Generates a json output of table 'table1'. //echo -ag $mtable(table1).json ; Generates a ini output of table 'table1'. //echo -ag $mtable(table1).ini ; Generates a xml output of sub table at position '1' in table 'table1'. //echo -ag $mtable(table1, 1).xml ; Save 'table1' as a json file. //mtable -sJ table1 table.json ; Load the json file 'table.json' into a new table 'table2'. //mtable -lJ table2 table.json
"MTS" stands for mIRC Theme Standard, which defines a set of events and some options/variables to allow modifying colors and text formatting.
The spec can be read at https://github.com/solbu/Peace-and-Protection/wiki/MTSREF.
AdiIRC uses a mix of the spec and some of it's own events/variables.
MTS themes can be installed from the Theme Manager which can be opened by going to Menubar -> File -> Themes or by typing the /themes command.
AdiIRC will read the MTS theme file, then generate a script based on the format called "ThemeCache.ini" which will be visible in the Script Editor.
Changing a theme or applying a non MTS theme will overwrite or delete the "ThemeCache.ini" script.
Event | Description |
Connect | Allows adding text when a server is fully connected (Same as on CONNECT) |
Disconnect | Allows custom text when a server is disconnected (Same as on DISCONNECT) |
Logon | Allows adding text when a server is about to logon (Same as on LOGON) |
ClientText | Allows custom client text output. (Same as on CLIENTTEXT) |
TextChan | Standard text in a channel. |
TextChanSelf | Your text in a channel. |
ActionChan | Action performed in a channel. |
ActionChanSelf | You perform an action in a channel. |
NoticeChan | You receive a channel or op notice. |
Notice | You receive a private notice. |
NoticeSelf | You send a private notice. |
NoticeSelfChan | You send a channel or op notice. |
TextQuery | Private message in a query or chat window. |
TextQuerySelf | You send a message in a query or chat window. |
ActionQuery | Action performed in a query or chat window. |
ActionQuerySelf | You perform an action in a query or chat window. |
TextMsg | You receive a private message. |
TextMsgSelf | You send a private message. |
Mode | Channel mode change. %::modes has full mode string. |
ModeUser | You change usermodes. %::modes has full mode string. |
Join | Another user joins a channel. |
JoinSelf | You join a channel. |
Part | Another user parts a channel. |
Kick | Another user is kicked. |
KickSelf | You are kicked. |
Quit | A user quits IRC. |
Topic | Topic changed in a channel. |
Nick | Your or another user changes nickname. |
NickSelf | You changes nickname. |
Invite | You are invited to another channel. |
ServerError | The server reports an error. |
Ctcp | You receive a CTCP. |
CtcpChan | You receive a CTCP on a channel. |
CtcpSelf | You send a CTCP. |
CtcpChanSelf | You send a CTCP to a channel. |
CtcpReply | You receive a CTCP reply. |
CtcpReplySelf | You send a CTCP reply. |
Wallop | A wallop message. |
NoticeServer | A server notice. |
RAW.N | Any raw numeric event, e.g RAW.222 |
Bold events are AdiIRC specific.
Not available yet: UNotify, Notify, Rejoin.
Option | Description |
Name | The name of the theme. |
Author | The name or nickname of the theme's author. |
E-mail address of the author. | |
Website | Website for the theme or author. |
Description | A brief description of the theme. |
Version | The version of the theme. |
Colors | Comma separated list of control code colors to apply to various events. |
RGBColors | These are the RGB values to use for all 16 control code colors in rrr,ggg,bbb format. |
BaseColors | This is four colors used in the theme itself. These will be used for %::c1 through %::c4 and <c1> through <c4>. |
SchemeNAME | Adds a new color scheme. |
FontDefault | Sets the default font for all windows, format is FontName,FontSize |
Prefix | This value is simply used for %::pre, so that a common prefix does not need to be rewritten on every event. |
ParenText | This special value is used to surround part, quit, and kick messages with parenthesis. |
Timestamp | Set to ON or OFF. |
TimestampFormat | Sets the timestamp format. |
NickColumn | Set to ON or OFF. |
Script | This item contains the filename of a AdiIRC script to load as part of the theme. This file should contain all aliases used in !Script lines. |
Load | Displayed (or run) when the theme is loaded. (after any script is loaded and any settings changed.) |
Unload | Displayed (or run) right before the theme is unloaded. |
Bold options are AdiIRC specific.
Colors order: Background, Action text, CTCP text, Highlight text, Info text, Info2 text, Invite text, Join text, Kick text, Mode text, Nick text, Normal text, Notice text, Notify text, Other text, Own text, Part text, Quit text, Topic text, Wallops text, Whois text, Editbox, Editbox text, Listbox, Listbox text, Grayed text
Text Variable | Variable | Description |
<cmode> | %::cmode | Current mode of %::nick on %::chan, such as @ or +. |
<modes> | %::modes | For MODE, USERMODE- Channel modes or usermodes being set. |
<me> | %::me | Your nickname. |
<nick> | %::nick | Nickname of user triggering event. |
<cnick> | %::cnick | Current color of %::nick on %::chan, as a number. |
<text> | %::text | The text or message from the event. (if any) |
<ctcp> | %::ctcp | For CTCP, CTCPSELF, CTCPREPLY, CTCPREPLYSELF- CTCP or CTCPREPLYcommand. (single word) The remainder of the CTCP, if any, is in %::text. |
<chan> | %::chan | Channel raw applies to. (usually from $2) |
<knick> | %::knick | For KICK, KICKSELF- Nickname of user who was kicked. |
<newnick> | %::newnick | For NICK, NICKSELF, the new nickname for the user. |
<target> | %::target | Equivalent to $target, useful for op notices and certain other cases. |
<parentext> | %::parentext | For KICK, KICKSELF, QUIT, PART, NOTIFY, UNOTIFY- This is the same as %::text, but surrounded with parenthesis. If there was no message, this is blank- not "()". |
<address> | %::address | Address in ident@host format of %::nick, if available. |
<value> | %::value | A single value of interest from a raw, usually $2. |
<numeric> | %::numeric | Number of the raw reply being triggered. |
<isoper> | %::isoper | WHOIS, WHO- Is this user an IRCop? Set to "is" or "is not". |
<operline> | %::operline | WHOIS- The text of the "is an ircop" line sent by the server, not including the nickname, as different users may have different levels of status described in this line. |
<idletime> | %::idletime | WHOIS- How long the user has been idle, in seconds. |
<idle> | %::idle | |
<signontime> | %::signontime | WHOIS- When the user signed on, in $asctime() format. |
<wserver> | %::wserver | WHOIS, WHOWAS, WHO- IRC server the user is on. |
<server> | %::server | The server you are currently connected to. (if connected) |
<serverinfo> | %::serverinfo | WHOIS, WHOWAS- "Info" about the IRC server the user is on. (usually just useless text) |
<isregd> | %::isregd | WHOIS- Is this nickname registered? Set to "is" or "is not". |
<isauthd> | %::isauthd | WHOIS- Is this nickname authed? Set to "is" or "is not". |
<authnick> | %::authnick | WHOIS- The authed nickname if it's authed. |
<timestamp> | %::timestamp | The current timestamp, using the script's Timestamp line format. Used by <timestamp> in theme files. |
<userident> | %::userident | WHOIS, WHOWAS, WHO- the user ident. |
<userhost> | %::userhost | WHOIS, WHOWAS, WHO- the user hostname. |
<realname> | %::realname | WHOIS, WHOWAS, WHO- The "full name" field. |
<bantime> | %::bantime | Then bantime formatted in $asctime() format for ban/quiet/except/invite list. |
<t> | %:t | The nickcolumn character used to separate nick and message. |
<c1> | %::c1 | Base color 1 |
<c2> | %::c2 | Base color 2 |
<c3> | %::c3 | Base color 3 |
<c4> | %::c4 | Base color 4 |
<pre> | %::pre | The value specified in Prefix |
%:echo | Command being used to display text. Use in place of /echo. |
Bold variables are AdiIRC specific.
<variablename> are used in text events, %::variablename are used in scripts.
Check https://github.com/mIRC-Scripters/MTS-Themes, most should work, if not, please open a issue.
The themes there can also be used as examples for creating your own.
Added in 1.9.6
/mute [on|off]
Temporarily disables all sound events, can also be toggled from Statusbar -> Sound Status.
See also $muted.
Parameters
Parameter | Description |
[on|off] | Turns mute on or off. |
Added in 1.9.7
/nextunread [-m]
Switches window to the next unread window.
Switches
Switch | Description |
-m | Switches to the next unread window with a new message or highlight. |
Added in 1.5
/nick <nick>
Changes your nickname on current server.
Parameters
Parameter | Description |
<nick> | Nick to change to. |
Added in 1.9.6
/nickcolumn [-rw] [window|on|off] <N>
Changes nick column settings for a window.
If no window is defined, current window is used.
See also $nickcolumn.
Switches
Switch | Description |
-r | Reset nick column divider to non expanded value. |
-w | Set new custom nick column width. |
Parameters
Parameter | Description |
[window] | Window to edit. |
[on|off] | Enables or disabled Nickcolumn. |
<N> | The number of pixels to set the nick column divider to. |
Added in 1.9.3
/nicklist [-bN|-dflor] [#channel]
Shows/hides or sets the side to show the Nicklist.
If no [#channel] is specified, current active channel is used,
Switches
Switch | Description |
-bN | Hides Nicklist buttons if N is 0, shows Nicklist buttons if N is 1. |
-f | Reset default Nicklist settings to the original defaults. |
-d | Reset Nicklist on the specified channel to default settings. |
-l | Show Nicklist on the specified channel in left side. |
-r | Show Nicklist on the specified channel in right side. |
-o | Hide Nicklist on the specified channel. |
-s | Used with -l -r -o so set that as default for all Nicklist's. |
Parameters
Parameter | Description |
[#channel] | Channel to modify Nicklist. |
Example
; Shows the Nicklist on '#channel' on left side. /nicklist -l #channel ; Reset the Nicklist on '#channel' to use the default Nicklist settings. /nicklist -d #channel ; Change the default for all Nicklist's to show on left side. /nicklist -ls ; Reset the default Nicklist settings to the original defaults. /nicklist -f
The nicklist buttons editor allows adding or editing or viewing nicklist buttons.
it can be opened by clicking Menubar -> Tools -> Edit Nicklist Buttons or by typing /edit -i.
The editor shares characteristics with all the other editors.
See also Editor Options.
The format of a nicklist button is <text><colon><command>.
If using multiline commands, the format becomes:
<text><colon>{ /command1 /command2 ... }
To save the current nicklist buttons file to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.
To load nicklist buttons from a different ini file, click the Menubar (inside the editor) -> File -> Load menu item.
Clicking the Menubar (inside the editor) -> Edit -> Find or pressing the CTRL + F shortcut opens the search and replace panel.
You can search or search and replace using a Regular Expression by checking the Regex checkbox.
Pressing the ESCAPE key closes the search panel.
If nicklist buttons has been changed while the editor was open, pressing the Refresh button will update the editor.
Note: this removes any unsaved changes.
The font of the editor can be changed by clicking the Menubar (inside the editor) -> File -> Change Font menu item.
Note: only truetype fonts can be used.
The editor colors can be changed in Options -> Colors.
See also /nicklist.
If enabled, selected nicks will not be deselected when clicking other nicks.
If disabled, selected nicks will be deselected when clicking other nicks unless CTRL or SHIFT is pressed.
If enabled, prefix/channel mode characters (@%+) will not be drawn in the Nicklist.
If enabled, your prefix/channel mode color will follow the global prefix/channel mode color instead of "Your" color.
Enabled:
@Nick
Disabled:
@Nick
Enables or disables the Nicklist buttons.
Buttons can be changed from Menubar -> Tools -> Edit Nicklist Buttons.
If enabled, Nicklist will automatically hide it self when the mouse leaves and show it self when the mouse enters.
Sets the number of milliseconds to wait before hiding the Nicklist when the mouse leaves the Nicklist area.
If enabled, prefix/channel modes will be drawn in the colors set in Options -> Colors.
Enabled:
@Nick
Disabled:
@Nick
If enabled, hovering a nick in the Nicklist will show a Tooltip Text.
If enabled, Nicklist will be locked to avoid accidental resize.
If enabled, shows vertical scrollbar in the Nicklist, if set to Autohide, scrollbar will be hidden until you either mousescroll or hover at the right border of the Nicklist.
If enabled the Nicklist will fill the whole vertical space of the window, otherwise the Editbox and Topicbox will extend over and under the Nicklist.
If enabled, will show the number of channel operators and total users at the top of the Nicklist.
Text to show when Show user count is enabled.
If no text is specified, a default text is shown as N Ops, N Total.
The User count text will be evaluated and can contain identifiers.
Text to show when Show Tooltips is enabled.
The Tooltip text will be evaluated and can contain identifiers, the variable $1 holds the nick.
Moves the Nicklist left, right or turns if off.
This options can be changed per channel in the Treebar/Switchbar window menu.
Set the nicklist size.
When changed, all custom Nicklist sizes will be reset.
Sort the Nicklist by prefix/channel mode or alphabetically.
Adds or reduces the space between each nick in the Nicklist.
See also /cnick.
Enable or disable random nick colors.
Random nick colors does not work for your own nick, only remote nicks: You can create a nick color rule using $me to set your own nick color.
If enabled, the random nick color will be a full $rgb value (instead of just color 0-99), and if the color is to close to the background color, it will be inverted.
Note: miRC colors 16-35 will be reserved for event colors in this case and not look the same as other clients. $color will also return different values.
See also Extra Colors.
If enabled, the random color will be based on the user hostname instead of nick, if no hostname is available, it will revert to nick. If hostname is found later, it will change the random color.
Enable nickcolors for messages, Nicklist or both.
Enable or disable nick colors.
Enabled:
[42:42] <Nick2> Writing some text
Disabled:
[42:42] <Nick2> Writing some text
If enabled, matching channel nicks in messages will be shown using their nick color.
The priority for which a nick color is applied.
Added in 1.8.10
/nmsg <network> <nick|#channel> <message>
Sends a message to a nick or channel on a specific network based on $network name.
See also /describe, /me, /ame, /msg, /omsg, /notice, /onotice.
Parameters
Parameter | Description |
<network> | Network to target. |
<nick|#channel> | Nick or #channel to send to. |
<message> | Message to send. |
Example
; Send "Hello world" to #channel on network NordicIRC. /nmsg NordicIRC #channel Hello world ; Send "Hello world" to Nick on network NordicIRC. /nmsg NordicIRC Nick Hello world
Added in 1.9.0
/noop
Performs no operation, parameters are evaluated as with a normal command.
Example
alias noop_example { ; Discard the value we get from $tip. noop $tip(Example, Hello, Hello there) }
Added in 1.5
/notice <nick/#channel> <message>
Sends an notice to a nick or a channel.
See also /describe, /me, /ame, /msg, /nmsg, /omsg, /onotice.
Parameters
Parameter | Description |
<nick/#channel> | Nick or #channel to notice. |
<message> | Notice message to send. |
Example
; Notice all users on #channel with notice "Hello world". /notice #channel Hello world ; Notice Nick with notice "Hello world". /notice Nick Hello world
Added in 1.8.10
/notify -hlnrs <on|off|nickname> [network] [note]
Edit your notify list, you will get a alert whenever a nick on your notify list goes online/offline.
See also $notify, on NOTIFY, on UNOTIFY.
Switches
Switch | Description |
-h | Hides the Notify monitor panel. |
-l | List nicks on notify list. |
-n | Indicate [networks] is defined. |
-r | Remove nick from notify list. (nickname can be a wildcard, (AdiIRC only) |
-s | Shows the Notify monitor panel. |
Parameters
Parameter | Description |
<on|off|nickname> | Turns notify on or off or edit's the nick entry. |
[network] | The network name or address to enable the notify. |
[note] | Small note for this nick. |
Example
; Add 'Nick' to the Notify list. /notify Nick ; Print the Notify list. /notify -l ; Remove 'Nick' from the Notify list /notify -r Nick
Enables or disables Notify
If enabled, shows the ident/hostname of the nick logging on if supported by the server.
If enabled, shows the time the nick has been online if supported by the server.
The Now Playing editor allows adding or editing or viewing custom/random now playing messages.
it can be opened by clicking Menubar -> Tools -> Edit Now Playing or by typing /edit -n.
The editor shares characteristics with all the other editors.
See also /np, Editor Options.
$nick or $1 can be used to reference a target nick.
$song can be used to reference the currently playing song.
Note: identifiers in the text is evaluated.
To save the current now playing file to a different file, click the Menubar (inside the editor) -> File -> Save As menu item.
To load now playing from a different file, click the Menubar (inside the editor) -> File -> Load menu item.
Clicking the Menubar (inside the editor) -> Edit -> Find or pressing the CTRL + F shortcut opens the search and replace panel.
You can search or search and replace using a Regular Expression by checking the Regex checkbox.
Pressing the ESCAPE key closes the search panel.
The font of the editor can be changed by clicking the Menubar (inside the editor) -> File -> Change Font menu item.
Note: only truetype fonts can be used.
The editor colors can be changed in Options -> Colors.
Added in 1.5
/np [nick]
Will show what your current media player is playing (if enabled).
If nick is defined, it will show an emote on that nick based on the options set in Options -> Media player.
Parameters
Parameter | Description |
[nick] | Nick to show a now playing emote on. |
Added in 2.4
/oline [-hrSW] <@name> <N|nick> <filename>
Changes the icon of the Nth Nicklist item.
Switches
Switch | Description |
-h | Highlights the window's button. (if window is not active) |
-r | Reset an item in the listbox to default. |
-W | Allow using a channel or query window name for @name. |
Parameters
Parameter | Description |
<@name> | Custom window name. |
<N|nick> | The Nth Nicklist item or matching nick to change icon for. |
<filename> | Filename of the icon. |
Example
alias example { ; Change the icon for 'Nick' to 'c:\Pictures\icon1.png' /oline Nick c:\Pictures\icon1.png }
Added in 1.9.2
/omsg [#channel] <message>
Sends a private message to all operators in a channel.
If channel is not defined, current channel will be used.
You must be a channel operator to use this command.
See also /describe, /me, /ame, /msg, /nmsg, /notice, /onotice.
Parameters
Parameter | Description |
[#channel] | Channel where the operators are located. |
<message> | Messages to send. |
Example
; Sends "Hai operators!" to all operatores on #channel. /omsg #channel Hai operators!
Added in 1.7.2
/onotice [#channel] <message>
Sends a notice message to all operators in a channel.
If channel is not defined, current channel will be used.
You must be a channel operator to use this command.
See also /describe, /me, /ame, /msg, /nmsg, /omsg, /notice.
Parameters
Parameter | Description |
[#channel] | Channel where the operators are located. |
<message> | Messages to send. |
Example
; Sends "Hai operators!" to all operatores on #channel. /onotice #channel Hai operators!
Added in 1.8.10
on <level>:ACTION:<matchtext>:<*|#?>:<commands>
Triggers whenever a action message is received.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*|#|?> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:ACTION:*:*:echo -ag Action message $1- from $nick.
Added in 1.9.0
on <level>:ACTIVE:<*#?=@~>:<commands>
Triggers when a window in AdiIRC is activated or when its active status changes.
See also on APPACTIVE, $active, $lactive, $activecid, $lactivecid, $activewid, $lactivewid.
Parameters
<level> - The User Access Level for the event to trigger.
<*#?=!@~> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Listen to ACTIVE event, print new active window and previously active window. on *:ACTIVE:*:echo Activated: $active De-Activated: $lactive
Added in 2.0
on <level>:ADMIN:<#|*>:<commands>
Triggers when a user receives admin.
See also on DEVOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $admnick, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:ADMIN:#:echo -ag $nick just gave $admnick admin
Added in 1.9.3
on <level>:APPACTIVE:<commands>
Triggers when AdiIRC active status changes.
See also $appactive, on ACTIVE.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:APPACTIVE:echo -ag AdiIRC active status is $appactive
Added in 1.9.0
on <level>:BAN:<#|*>:<commands>
Trigger when a user on a channel is banned.
See also on UNBAN, $banmask, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:BAN:#:echo -ag $nick just banned $banmask from $chan
Added in 3.9
on <level>:CHAR:<*#?=@>:<key,...,keyN>:<commands>
Trigger when a user presses a key in a picture window which produces a character.
See also on KEYUP, on KEYDOWN, $keyval, $keychar, $keyrpt.
Parameters
<level> - The User Access Level for the event to trigger.
<*#?=!@> - The Matchtarget to listen to.
<key,...,keyN> - The $keyval to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:CHAR:*:*:echo -sg Produced character $keychar in $active
Added in 1.9.0
on <level>:CHAT:<matchtext>:<commands>
Trigger when a message is sent to a dcc chat window.
See also =$nick.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:CHAT:*:echo -ag $nick sent message $1-
Added in 4.4
on <level>:CHGIAL:<nick[,nick]>|<*>:<commands>
Triggers when a user hostname, ident, realname, account name, away status or bot mode is changed.
See also /ial, /ialfill, /ialmark, $ial.
Parameters
<level> - The User Access Level for the event to trigger.
<nick[,nick]>|<*> - Nicks(s) to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:CHGIAL:*:echo -ag IAL for $nick changed to $ial($nick)
Added in 1.9.6
on <level>:CLIENTTEXT:<matchtext>:<*#?=@>:<commands>
Triggers whenever the client sends a client text to any window, $1- will hold the original client text, can be halted using /halt.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*#?=!@> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:CLIENTTEXT:*:*:echo -ag the client text was $1- ; Halt the "Rejoined #channel" client text. on ^*:CLIENTTEXT:Rejoined *:*:halt
Added in 1.9.0
on <level>:CLOSE:<?|@|=|*>:<commands>
For DCC Chat windows, it only triggers when the connection is closed.
Trigger for various events relating to the closing of a window of different types of windows.
Parameters
<level> - The User Access Level for the event to trigger.
<?|@|=|!|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Print a message when a query window is closed. on *:CLOSE:?:echo -ag Closed query window for $nick
Added in 4.4
on <level>:CLOSING:<|@|*>:<commands>
Trigger when manually closing a custom window, using /halt cancels the closing.
See also $target.
Parameters
<level> - The User Access Level for the event to trigger.
<@|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:CLOSING:@window:echo -ag $target is closing, cancel the closing by halting | halt
Added in 1.9.0
on <level>:CONNECT:<commands>
Triggers when AdiIRC connects to an IRC Server right after the MOTD is displayed.
See also on DISCONNECT, on CONNECTFAIL.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:CONNECT:/join #channel on *:CONNECT:echo -ag Now connected to $network
Added in 1.9.0
on <level>:CONNECTFAIL:<commands>
Triggers when a connection attempt (including all retries) has failed.
See also on CONNECT, on DISCONNECT.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:CONNECTFAIL:echo -ag Unable to connect to $network $1-
Added in 1.9.0
CTCP <level>:<matchtext>:<*|#|?>:<commands>
Triggers whenever you receive a CTCP request.
See also /ctcp, /ctcpreply, on CTCPREPLY, $filename.
Also trigger when receiving a DCC CHAT/SEND request, but the text is not haltable in this case.
Parameters
<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*|#|?> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Disable CTCP version reply. CTCP *:VERSION:*:halt ; Reply with a custom version. CTCP *:VERSION:*:ctcpreply $nick IRC Version 42 | halt
Added in 1.9.0
on <level>:CTCPREPLY:<matchtext>:<commands>
Triggers when you receive a ctcp reply to a /ctcp request that you initiated.
See also on CTCP, /ctcp, /ctcpreply.
Parameters
<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Listen for CTCPREPLY events matching 'VERSION*' and print the reply. on *:CTCPREPLY:VERSION*:/echo -ag $nick is using IRC client: $1- ; Send a ctcp request 'VERSION' to 'Nick' /ctcp Nick VERSION
Added in 4.4.0
on <level>:DARKMODECHANGED:<commands>
Triggers when DarkMode is changed.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
See also $darkmode.
Example
on *:DARKMODECHANGED:echo -ag DarkMode is now $iif($darkmode, on, off)
Added in 2.0
on <level>:DEADMIN:<#|*>:<commands>
Triggers when a user loses admin.
See also on DEVOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $admnick, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:DEADMIN:#:echo -ag $nick just removed $admnick as admin
Added in 1.9.0
on <level>:DEHELP:<#|*>:<commands>
Triggers when a user loses help op.
See also on HELP, on VOICE, on DEVOICE, on OP, on DEOP, on SERVEROP, $hnick, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:DEHELP:#:echo -ag $nick just deopped $hnick
Added in 1.9.0
on <level>:DEOP:<#|*>:<commands>
Triggers when a user is deopped.
See also on OP, on VOICE, on DEVOICE, on HELP, on DEHELP, on SERVEROP, $opnick, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:DEOP:#:echo -ag $nick just deopped $opnick
Added in 2.0
on <level>:DEOWNER:<#|*>:<commands>
Triggers when a user loses owner.
See also on DEVOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $onick, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:DEOWNER:#:echo -ag $nick just removed $onick as owner
Added in 1.9.0
on <level>:DEVOICE:<#|*>:<commands>
Triggers when a user loses voice.
See also on VOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $vnick, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:DEVOICE:#:echo -ag $nick just removed $vnick voice
Added in 1.9.0
on <level>:DIALOG:<name>:<event>:<id>
Triggers when a dialog item state is changed, e.g clicking a button or types text in a Editbox.
See also $dname, $devent, $did, /dialog, $dialog, Dialog Items.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The dialog name that this event triggers for; wildcards accepted.
<event> - The dialog event that this event triggers for; wildcards accepted.
<id> - The id name of the dialog item to listen for; wildcards accepted. Multiple IDs can be specified in the form: 1,2,3,4-8,9
<commands> - The commands to be performed when the event listener's criteria is met.
Events
Event | Description |
active | Triggers when the dialog is made active. |
close | Triggered when a dialog has been closed. |
dclick | Occurs when a double left-click has occurred in a list box or combo box, as well as on the dialog itself. |
drop | Triggers when an item has been dragged and dropped with the mouse. |
edit | When text in an Editbox or a combo box has changed. |
init | This event ID is 0, and triggers before a dialog is displayed. This allows initialization time for the dialog and its items. |
menu | Whenever a menu-item is selected. |
mouse | When the mouse is moved. |
rclick | Works when the mouse right-clicks. |
sclick | Occurs during a single-click in a list box/combo box, during check/uncheck of radio/check buttons, or during the click of a button. |
scroll | A scrollbar control position has changed. |
uclick | Left mouse button has been released/gone up. |
Added in 1.9.0
on <level>:DISCONNECT:<commands>
Triggers when you quit or AdiIRC disconnects from a IRC Server.
See also on CONNECT, on CONNECTFAIL.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:DISCONNECT:echo -ag Disconnected from $network
Added in 1.9.0
on <level>:DNS:<commands>
Triggers when a /dns query either succeeds or fails.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Lookup a IP address. /dns 8.8.8.8 ; Listen to the DNS event and print the results from the lookups. on *:DNS:{ var %n = $dns(0) echo 4 Found %n addresses while (%n > 0) { echo 4 dns: $dns(%n) nick: $dns(%n).nick addr: $dns(%n).addr ip: $dns(%n).ip dec %n } }
Added 2.3
on <level>:DOWNLOAD:name:<commands>
Triggers when a download is finished.
See also /download, $download, $downloaderr.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The $download name to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Download the url 'https://adiirc.com/setup64.exe' to the file 'setup.exe'. /download adiirc https://adiirc.com/setup64.exe setup.exe on *:DOWNLOAD:adiirc:echo -ag Download of $download($download).file is complete.
Added in 1.8.10
on <level>:ERROR:<matchtext>:<commands>
Triggers when an IRC Server sends an ERROR message, this usually occurs on a disconnect.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:ERROR:*:echo -ag Received error: $1- from the server
Added in 1.9.0
on <level>:EXIT:<commands>
Triggers when AdiIRC is closing.
See also on START.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:EXIT:echo -ag AdiIRC is closing.
Added in 1.9.9
on <level>:FILERCVD:<filename[,filename]>:<commands>
Triggers when a dcc get succeeds.
See also on FILESENT, on SENDFAIL, on GETFAIL, $filename, $get.
$get($nick) and $get(-1) can be used to retrieve dcc information about this event.
Parameters
<level> - The User Access Level for the event to trigger.
<filename[,filename]> - Filename(s) to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:FILERCVD*:echo -ag Got $filename from $nick $address
Added in 1.9.9
on <level>:FILESENT:<filename[,filename]>:<commands>
Triggers when a dcc send succeeds.
See also on FILERCVD, on SENDFAIL, on GETFAIL, $filename, $send.
$send($nick) and $send(-1) can be used to retrieve dcc information about this event.
Parameters
<level> - The User Access Level for the event to trigger.
<filename[,filename]> - Filename(s) to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:FILESENT:*:echo -ag Sent $filename to $nick $address
Added in 1.9.9
on <level>:GETFAIL:<filename[,filename]>:<commands>
Triggers when a dcc get fails.
See also on FILESENT, on FILERCVD, on SENDFAIL, $filename, $get.
$get($nick) and $get(-1) can be used to retrieve dcc information about this event.
Parameters
<level> - The User Access Level for the event to trigger.
<filename[,filename]> - Filename(s) to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:GETFAIL:*:echo -ag Get $filename from $nick $address failed
Added in 1.9.0
on <level>:HELP:<#|*>:<commands>
Triggers when a user receives help op.
See also on DEHELP, on VOICE, on DEVOICE, on OP, on DEOP, on SERVEROP, $hnick, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:HELP:#:echo -ag $nick just opped $hnick
Added in 1.9.0
on <level>:HOTLINK:<matchtext>:<*|#|?|=|@>:<commands>
Triggers when you move your mouse over a specific word or click/double-click a specific word in a line of text in a window.
Unless you use /halt inside the event, the cursor will change from arrow to a hand/link.
See also /hotlink, $hotlink, $hotline, $hotlinepos, Mouse Events.
Parameters
<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*|#|?|=|!|@> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:HOTLINK:*help*:#:{ ; If the matched word is 'helpme', make it a click-able link. if ($1 == helpme) return ; Otherwise halt and let AdiIRC determine what to do. halt } on *:HOTLINK:*:*:echo clicked word $1 in line $hotline $hotlinepos
Added in 1.9.0
on <level>:INPUT:<*|#|?|=|@>:<commands>
Triggers when you enter text in an Editbox and press enter.
See also $ctrlenter.
Haltable.
Parameters
<level> - The User Access Level for the event to trigger.
<*|#|?|=|!|@> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:INPUT:#:echo -ag Sending the text $1- to channel $chan
Added in 1.8.10
on <level>:INVITE:<#|*>:<commands>
Triggers when a user invites you to a channel.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *: INVITE:#:echo -ag $nick just invited you to join $chan
Added in 1.8.10
on <level>:JOIN:<#|*>:<commands>
Triggers when a user joins a channel.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:JOIN:*:echo -ag $nick joined $chan ; Override the join event to print a custom text and then tell AdiIRC to ignore it's own text. on ^*:JOIN:*:{ echo -tcbf join $chan * $nick ( $+ $fulladdress $+ ) join $chan halt }
Added in 1.9.2
on <level>:KEYDOWN:<*#?=@>:<key,...,keyN>:<commands>
Trigger when a user presses a key in a window, can be used to override built-in key-binds.
See also on KEYUP, on CHAR, $keyval, $keychar, $keyrpt.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<*#?=!@> - The Matchtarget to listen to.
<key,...,keyN> - The $keyval to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:KEYDOWN:*:*:echo -ag Pressed key $keyval in $active
Added in 1.9.2
on <level>:KEYUP:<*#?=@>:<key,...,keyN>:<commands>
Trigger when a user releases a key in a window.
See also on KEYDOWN, on CHAR, $keyval, $keychar, $keyrpt.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<*#?=!@> - The Matchtarget to listen to.
<key,...,keyN> - The $keyval to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:KEYUP:*:*:echo -ag Released key $keyval in $active
Added in 1.8.10
on <level>:KICK:<#|*>:<commands>
Triggers when a user is kicked from a channel.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Print a kick. on *:KICK:*:echo -ag $knick was kicked from $chan by $nick with reason: $1- ; Replace kick message with a custom kick message. on ^*:KICK:*:echo -trc kick # * $nick has kicked $knick from # $iif($1-, ( $+ $1- $+ ),) | halt
Added in 1.8.10
on <level>:LOAD:<commands>
Triggers the first time a script file is loaded.
See also /load, /reload, /unload, on START, on UNLOAD.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Create a init alias. alias -l initscript { ; Set the %loaded variable to 'on' set %loaded on } ; Listen for the LOAD event, and when matched, run this initscript alias. on *:LOAD:initscript | echo -ag Script is $iif(%loaded,loaded,not loaded)
Added in 1.9.1
on <level>:LOGON:*:<commands>
Triggers before and after AdiIRC sends the standard PASS, NICK, and USER messages to the server.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Listen for LOGON event before AdiRC sends PASS, NICK, USER messages. on ^*:LOGON:*:echo Logging on to $network $server ; Listen for LOGON after AdiRC sent PASS, NICK, USER messages. on *:LOGON:*:echo Logged on to $network $server
Added in 2.4
on <level>:MIDIEND:<commands>
Triggers when AdiIRC finishes playing a midi sound.
See also /splay, on MP3END, on WAVEEND, on SONGEND, $filename.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:MIDIEND:echo -ag Song $filename finished playing.
Added in 1.8.10
on <level>:MODE:<#|*>:<commands>
Triggers when a user changes a channel mode.
See also $mode, on RAWMODE, on SERVERMODE, on OWNER, on DEOWNER, on ADMIN, on DEADMIN, on OP, on DEOP, on HELP, on DEHELP, on VOICE, on DEVOICE, on BAN, on UNBAN.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<#|*>: - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:MODE:*:echo -ag $nick changed channel modes $1- on channel $chan
Added in 1.9.6
on <level>:MP3END:<commands>
Triggers when AdiIRC finishes playing a mp3 sound.
See also /splay, on MIDIEND, on WAVEEND, on SONGEND, $filename.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:MP3END:echo -ag Song $filename finished playing.
Added in 2.7
on <level>:MSCROLL:<*#?=@>:<commands>
Triggers when a user scrolls the message buffer in a window.
See also /scrolltext, $window.mscrollpos, $window.mscrollmax.
Parameters
<level> - The User Access Level for the event to trigger.
<*#?=!@> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:mscroll:#:{ if ($window($active).mscrollpos == 1) { echo -sg scrollbar for $active is at top } else if ($window($active).mscrollpos == $window($active).mscrollmax) { echo -sg scrollbar for $active is at bottom } }
Added in 1.8.10
on <level>:NICK:<commands>
Triggers when a user changes nickname while on the same channel as you.
See also $newnick.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:NICK:echo -ag $nick is now known as $newnick
Added in 1.8.10
on <level>:NOTICE:<matchtext>:<*|#|?>:<commands>
Triggers whenever a notice message is received.
See also on SNOTICE, on TEXT, on ACTION.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*|#|?> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:NOTICE:*:#:echo -ag Notice $1- from $nick on channel $chan
Added in 1.9.0
on <level>:NOTIFY:<commands>
Trigger when a user in your notify list joins IRC.
See also on UNOTIFY, /notify, $notify.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:NOTIFY:echo -ag $nick just came online
Added in 1.9.0
on <level>:OP:<#|*>:<commands>
Triggers when a user is opped.
See also on DEOP, on VOICE, on DEVOICE, on HELP, on DEHELP, on SERVEROP, $opnick, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:OP:#:echo -ag $nick just opped $opnick
Added in 1.9.0
on <level>:OPEN:<?|=|*>:<matchtext>:<commands>
on <level>:OPEN:<=|*>:<commands>
Trigger for various events relating to the opening of a window of different types of windows.
Note: If you halt an on OPEN event triggered by an incoming private message, no on TEXT/on ACTION events is triggered
For private chat windows, on OPEN only triggers when opening a new private window from a incoming private message.
For private chat windows, the <matchtext> parameter is required.
For DCC chat windows, the <matchtext> parameter is excluded, and it triggers only on successful connection.
See also on CLOSE.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<?|@|=|!|*> - The Matchtarget to listen to.
<matchtext> - The Matchtext to listen to.
<commands< - The commands to be performed when the event listener's criteria is met.
Example
; Print a message when a query window is opened. on *:OPEN:?:*:echo -ag Opened query window for $nick ; Print a message when a dcc chat window is established. on *:OPEN:=:echo -ag Opened dcc chat window for $nick
Added in 1.9.3
on <level>:OPTIONS:<commands>
Triggers whenever the config file is reloaded.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:OPTIONS:echo -ag Config file was reloaded
Added in 2.0
on <level>:OWNER:<#|*>:<commands>
Triggers when a user receives owner.
See also on DEVOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $onick, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:OWNER:#:echo -ag $nick just gave $onick owner
Added in 1.9.7
on <level>:PARSELINE:<in|out|*>:matchtext:<commands>
Triggers before incoming/outgoing server lines are received/sent and allows a script to modify them.
See also /parseline, $parsetype, $parseline.
Parameters
<level> - The User Access Level for the event to trigger.
<in|out|*> - Listen to in/out messages or both.
<matchtext> - The Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:PARSELINE:in:*badword*:/parseline -it $replace($parseline, badword, newword)
Added in 1.8.10
on <level>:PART:<#|*>:<commands>
Triggers when a user parts a channel.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:PART:*:echo -ag $nick parted $chan ; Override the part event to print a custom text and then tell AdiIRC to ignore it's own text. on ^*:PART:*:{ echo -tcbf part $chan * $nick ( $+ $fulladdress $+ ) parts $chan halt }
Added in 1.9.9
on <level>:PING:<commands>
Triggers when a server sends you a PING message to see if you are still connected.
See also on PONG.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:PING:/echo -ag $nick sent me a PING
Added in 3.6
on <level>:PLAYEND:<commands>
Triggers when AdiIRC has finished playing a text file to a channel, or user.
See also /play, $play, $filename, $pnick.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:PLAYEND:echo -ag $filename has just finished playing
Added in 1.9.9
on <level>:PONG:<commands>
Triggers when you receive a PONG reply from the server after sending it a ping.
See also on PING.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:PONG:/echo -ag PONG reply from $nick is $1-
Added in 1.8.10
on <level>:QUIT:<commands>
Triggers when a user quits IRC while on the same channel as you.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:QUIT:echo -ag $nick just quit IRC with quit message $1-
Added in 1.9.0
RAW <numeric|text>:<matchtext>:<commands>
Triggers whenever AdiIRC receives a raw numeric or text events which does not have a corresponding ON event.
See also $numeric.
Parameters
<numeric|text> - Numeric or text event to listen to.
<matchtext> - Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
RAW 001:*:echo -ag Raw 001 is $1- RAW CAP:LS *:echo -ag CAP prefixes on this server are $1-
Added in 1.9.0
on <level>:RAWMODE:<#|*>:<commands>
Triggers when a channel mode is changed.
Allows a script to intercept and interpret the modes of a channel directly, avoiding AdiIRC's messages and notifications altogether.
See also $mode, on SERVERMODE, on MODE, on OWNER, on DEOWNER, on ADMIN, on DEADMIN, on OP, on DEOP, on HELP, on DEHELP, on VOICE, on DEVOICE, on BAN, on UNBAN.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on ^*:RAWMODE:*: { echo $target * RAWMODE: $1- haltdef }
Added in 2.0
on <level>:RESUME:<commands>
Triggers when the computer is about to resume from suspend/sleep.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:RESUME:echo -ag Computer is about to resume.
Added in 1.9.9
on <level>:SENDFAIL:<filename[,filename]>:<commands>
Triggers when a dcc send fails.
See also on FILESENT, on FILERCVD, on GETFAIL, $filename, $send.
$send($nick) and $send(-1) can be used to retrieve dcc information about this event.
Parameters
<level> - The User Access Level for the event to trigger.
<filename[,filename]> - Filename(s) to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:SENDFAIL:*:echo -ag $filename to $nick $address failed
Added in 1.9.0
on <level>:SERVERMODE:<#|*>:<commands>
Triggers when a server changes a channel mode.
See also on MODE, on RAWMODE.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*>: - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:SERVERMODE:*:echo -ag $nick changed channel modes $1- on channel $chan
Added in 2.8
on <level>:SERVEROP:<#|*>:<commands>
Triggers when a user is opped by a server.
See also on DEOP, on VOICE, on DEVOICE, on HELP, on DEHELP, on OP, $opnick, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:SERVEROP:#:echo -ag $nick just opped $opnick
Added in 1.9.0
on <level>:SIGNAL:<name/matchtext>:<commands>
Triggers if a script has used the /signal command to send a signal to all scripts.
Parameters
<level> - The User Access Level for the event to trigger.
<name/matchtext> - The signal name/matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Listen to the signal name 'test'. on *:SGNAL:test:echo -ag Signal $signal was called with parameters $1- ; Call the signal 'test' with the text 'Hello world' /signal test Hello world
Hardcoded Signals
Hardcoded signals useful for web clients.
adiirc_to_web_menu - text,clickid,menustype\r\n adiirc_to_web_scriptschanged - null adiirc_to_web_addwindow - cid #channel/@name/nick/Status Window adiirc_to_web_removewindow - cid #channel/@name/nick/Status Window adiirc_to_web_updatewindow - cid #channel/@name/nick/Status Window adiirc_to_web_titlechanged - cid #channel/@name/nick/Status Window adiirc_to_web_textadded - cid #channel/@name/nick/Status Window adiirc_to_web_addtool - cid name (cid can be -1) adiirc_to_web_removetool - cid name (cid can be -1) adiirc_to_web_picwinpaint - @name
Added in 1.9.0
on <level>:SNOTICE:<matchtext>:<commands>
Triggers whenever a server notice message is received.
See also on NOTICE.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:SNOTICE:*:echo -ag Notice $1- from $nick
Added in 1.9.0
on <level>:SOCKCLOSE:name:<commands>
Triggers when a connection is closed by the remote connection. (not by /sockclose)
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
See also on SOCKLISTEN, on SOCKCLOSE, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.
Example
; Open a connection to AdiIRC.com, port 80. /sockopen adiirc adiirc.com 80 ; Make a request for the index page. on *:SOCKOPEN:adiirc:{ sockwrite -n adiirc GET / HTTP/1.0 sockwrite -n adiirc Host: www.adiirc.com sockwrite -n adiirc } on *:SOCKCLOSE:adiirc:echo -ag adiirc.com closed the connection
Added in 1.9.0
on <level>:SOCKLISTEN:name:<commands>
Triggers when someone tries to connect to a port that you are listening on using /socklisten.
See also on SOCKOPEN, on SOCKCLOSE, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Listen for requests to port 4242. /socklisten adiirc 4242 ; When someone is connecting, accept the connection. on *:SOCKLISTEN:adiirc:{ /sockaccept name }
Added in 1.9.0
on <level>:SOCKOPEN:<name>:<commands>
Triggers when a /sockopen command is successful and a connection has been made.
See also on SOCKOPEN, on SOCKLISTEN, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
; Open a connection to AdiIRC.com, port 80. /sockopen adiirc adiirc.com 80 on *:SOCKOPEN:adiirc:echo -ag Connection to AdiIRC successful | sockclose adiirc
Added in 1.9.0
on <level>:SOCKREAD:name:<commands>
Triggers when there is info waiting to be read on the specified connection.
You can read this info using the /sockread command.
See also on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, on UDPREAD, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Open a connection to AdiIRC.com, port 80. /sockopen adiirc adiirc.com 80 ; Make a request for the index page. on *:SOCKOPEN:adiirc:{ sockwrite -n adiirc GET / HTTP/1.0 sockwrite -n adiirc Host: www.adiirc.com sockwrite -n adiirc } on *:SOCKREAD:adiirc:{ var %s sockread %s echo -ag Read line %s }
Added in 1.9.0
on <level>:SOCKWRITE:name:<commands>
Triggers when AdiIRC has finished sending all of the data that you previously queued for sending or when the socket is ready for more writing.
See also on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, on UDPREAD, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Added in 1.9.0
on <level>:SONG:<commands>
Triggers when the chosen media player changes song.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:SONG:msg #channel I am now listening to $artist - $title
Added in 2.4
on <level>:SONGEND:<commands>
Triggers when AdiIRC finishes playing any sound.
See also /splay, on MP3END, on WAVEEND, on MIDIEND, $filename.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:SONGEND:echo -ag Song $filename finished playing.
Added in 1.9.0
on <level>:START:<commands>
Triggers the first time a script is loaded and every time after that when AdiIRC is run.
See also on EXIT, /load, /reload, /unload, on LOAD, on UNLOAD.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Create a init alias. alias -l initscript { ; Set the %loaded variable to 'on' set %loaded on } ; Listen for the START event, and when matched, run this initscript alias. on *:START:initscript | echo -ag Script is $iif(%loaded,loaded,not loaded)
Added in 2.0
on <level>:SUSPEND:<commands>
Triggers when the computer is about to suspend/sleep.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:SUSPEND:echo -ag Computer is about to suspend.
Added in 1.9.0
on <level>:TABCOMP:<*#?=@>:<commands>
Triggers when you press the TAB key in an Editbox and AdiIRC is about to perform tab completion.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<*#?=!@> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listeners criteria is met.
Example
on *:TABCOMP:#:/echo event: Tab completing text $1-
Added in 1.8.10
on <level>:TEXT:<matchtext>:<*|#|?>:<commands>
Triggers whenever a message is received.
See also on ACTION, on NOTICE.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<*|#|?> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:TEXT:*:#:echo -ag Message $1- from $nick on channel $chan ; Override the text event to print a custom text and then tell AdiIRC to ignore it's own text. on ^*:TEXT:*:*:{ echo -tbf $target $+(<,$nick,>:) $1- halt } ; Ignore all messages containing badword on all channels. on ^*:TEXT:*badword*:*:halt ; Ignore all messages starting with !badword on a specific channel. on ^*:TEXT:!badword*:#channel:halt
Added in 1.8.10
on <level>:TOPIC:<#|*>:<commands>
Triggers when the channel topic is changed.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:TOPIC:*:echo -ag $nick changed topic on $chan to $topic
Added in 2.3
on <level>:UDPREAD:name:<commands>
Triggers when there is info waiting to be read on the specified UDP connection.
You can read this info using the /sockread command.
See also on SOCKREAD, on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, /sockudp, $sock, $sockbr, $sockerr, $sockname.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The UDP $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:udpread:name:{ if ($sockerr) { echo -s An error occurred while trying to read data: $sock($sockname).wsmsg | return } else { sockread %a echo -s received: %a } }
Added in 1.9.0
on <level>:UNBAN:<#|*>:<commands>
Trigger when a user on a channel is unbanned.
See also on BAN, $banmask, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *: UNBAN:#:echo -ag $nick just unbanned $banmask from $chan
Added in 1.8.10
on <level>:UNLOAD:<commands>
Triggers when a script file is unloaded.
See also /load, /reload, /unload, on LOAD, on START.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Create a cleanup alias. alias -l cleanup { ; Unset the %loaded variable unset %loaded } ; Listen for the UNLOAD event, and when matched, run this cleanup alias. on *:UNLOAD:cleanup | echo -ag Script is $iif(%loaded,loaded,not loaded)
Added in 1.9.0
on <level>:UNOTIFY:<commands>
Trigger when a user in your notify list leaves IRC.
See also on NOTIFY, /notify, $notify.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:UNOTIFY:echo -ag $nick just went offline
Added in 2.9
on <level>:UNZIP:<name>:<commands>
Trigger when a /zip -u operation is finished.
See also on ZIP, /zip, $zip, $ziperr.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:UNZIP:*:echo -ag unzipped $zip($zip).src into $zip($zip).dest status: $iif($ziperr,fail,ok)
Added in 1.9.0
on <level>:USERMODE:<commands>
Triggers when your user modes is changed.
Haltable using ^
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:USERMODE:echo -ag User modes changed to $1-
Added in 1.9.0
on <level>:VOICE:<#|*>:<commands>
Triggers when a user receives voice.
See also on DEVOICE, on OP, on DEOP, on HELP, on DEHELP, on SERVEROP, $vnick, $modefirst, $modelast.
Parameters
<level> - The User Access Level for the event to trigger.
<#|*> - The Matchtarget to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:VOICE:#:echo -ag $nick just gave $vnick voice
Added in 1.8.10
on <level>:WALLOPS:<matchtext>:<commands>
Triggers when you receive a wallops message.
Haltable using ^
<level> - The User Access Level for the event to trigger.
<matchtext> - The Matchtext to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:WALLOPS:*:echo -ag Received wallops message $1- from $nick
Added in 2.4
on <level>:WAVEEND:<commands>
Triggers when AdiIRC finishes playing a wave sound.
See also /splay, on MP3END, on MIDIEND, on SONGEND, $filename.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:WAVEEND:echo -ag Song $filename finished playing.
Added in 2.9
on <level>:ZIP:<name>:<commands>
Trigger when a /zip operation is finished.
See also on UNZIP, /zip, $zip, $ziperr.
Parameters
<level> - The User Access Level for the event to trigger.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:ZIP:*:echo -ag zipped $zip($zip).src into $zip($zip).dest status: $iif($ziperr,fail,ok)
Added in 1.5
/op <nick> [nickN...]
Promotes nick to channel-operator on current channel. (mode #channel +o Nick)
Parameters
Parameter | Description |
<nick> | The nick to promote. |
[nickN...] | Additional nicks to promote. |
Example
;Promote 3 users. /op Nick1 Nick2 Nick3 ;Promote 1 user. /op Nick1
Added in 1.9.3
/options [-tihcn] [tab|nick|host] [search]
Opens the options form.
Quotes can be used for tabs with multiple words.
Same as /config.
Switches
Switch | Description |
-t | Selects the specified tab matching [text]. |
-i | Opens the Add/Edit Ignore Dialog for the [nick|host]. |
-h | Opens the Add/Edit Highlight Dialog for the [nick|host]. |
-c | Opens the Add/Edit Nicklist Icon Dialog for the [nick|host]. |
-n | Opens the Add/Edit Nickcolor Dialog for the [nick|host]. |
Parameters
Parameter | Description |
[tab] | Used with -t Text of the option tab to set as selected. |
[nick|host] | Used with the -ihcn parameters to open the matched nick or host. |
[search] | Options to search/filter for. |
; Open options and search all tabs for the text "join" and select the "quick connect" tab if text was found. /options -t "Quick Connect" join ; Open options and select the "Messagea" tab. /options -t Messages ; Open options and search for the text "join". /options join ; Opens the Ignore tab and dialog for the host 'Nick!*@*'. /options -i Nick!*@*
AdiIRC has a lot of options which can be confusing, however the defaults are good enough in most cases.
It can be opened by pressing the ALT + O hotkey, by typing /options or by opening File -> Options in the Menubar.
Most options are saved to the config.ini file which can be found by typing /paths -o or from Menubar -> Tools -> Config Files.
See also /options, /setoption.
You can narrow down the option you want by typing in the Searchbox at the top left corner, it will mark the matches with a red rectangle.
For performance reasons, only text/labels and group labels are searchable, dropdown/list items are not searched.
Example search for "Spacing":
You can save options by pressing the "Save" button or press the CTRL + S hotkey.
AdiIRC will also warn you when closing the options window if there are any unsaved changes.
You can reset all options in all pages by clicking the "Reset all" button.
If you want to reset only one page, you can right-click the page in the listbox and chose the "Reset this page" menu item or click the "Reset" button.
Clicking the help icon, opens the help page for current selected tab with more information about each option.
Help for a page can also be opened by right-clicking it in the listbox and chose the "Help" menu item.
Added in 1.9.7
/parseline -iotbqpnuN [text|&binvar]
Modifies the incoming/outgoing server line if used inside on PARSELINE event or to queue a new fake line.
This feature should only be used for testing or adding features not yet available in AdiIRC.
See also $parseline $parsetype $parseutf.
Switches
Switch | Description |
-i | Specifies an incoming line. |
-o | Specifies an outgoing line. |
-t | Specifies text is defined. |
-b | Specifies &binvar is defined. |
-q | Add a new fake line to the end of the input/output queue |
-p | Used with -q to indicate that the new line should trigger the on PARSELINE event. |
-n | Adds a $crlf to the end of the line if it does not have one. |
-uN | Enable/Disable utf8 encoding/decoding of the line. N = 1 = enable, 0 = disable. (Currently only works with -b) |
-a | TODO |
Parameters
Parameter | Description |
text|&binvar | Text or &binvar. |
Example
; Low level text replace. on *:PARSELINE:in:*word*:{ var %rep = $gettok($parseline,1-3,32) $replacex($gettok($parseline,4-,32), word, newword | parseline -it %rep } ; Halt a parseline event by setting the text to nothing/$null. on *:PARSELINE:in:*word*:parseline -it ; Perform a fake channel message. //parseline -itq : $+ $ial($me) PRIVMSG $active :Hello world
Added in 1.5
/part [-k] [#channel] [message]
Leaves a channel with an optional part message.
If no channel is defined, current one will be used.
Same as /leave.
Switches
Switch | Description |
-k | Keeps the channel window open after parting. (AdiIRC only) |
Parameters
Parameter | Description |
[#channel] | Channel to part. |
[message] | Part message. |
Examples
;Part current channel with part message "See you later!". /part See you later! ;Part #channel with part message "See you later!". /part #channel See you later!
Added in 1.9.3
/partall [message]
Parts all of the channels you are currently on with an optional part message.
If no part message is defined, default part message will be used.
Parameters
Parameter | Description |
[message] | Part message. |
Example
/partall See you guys later.
Added in 1.8.3
/paths [-dilorst]
No parameters shows current install and config directory paths.
Switches
Switch | Description |
-d | Opens dcc directory. |
-i | Opens dictionary directory. |
-l | Opens log directory. |
-o | Opens config directory. |
-r | Opens install directory. |
-s | Opens scripts directory. |
-t | Opens themes directory. |
Added in 2.9
/pause [-m] <N>
Pauses the script for N seconds.
The internal state cannot be guaranteed so use with caution.
Switches
Switch | Description |
-m | Indicates N is milliseconds instead. |
Parameters
Parameter | Description |
<N> | The number of seconds to pause for. |
Example
alias changetopic { echo -ag Topic before = $chan(#).topic topic # New topic pause 3 echo -ag Topic after = $chan(#).topic }
Added in 1.9.9
/perform [on|off]
Enables or disables Perform/Autocommands for current server.
If no parameter is defined, shows current perform status.
Setting will update the serverlist entry if found.
Parameters
Parameter | Description |
[on|off] | Turns perform/Autocommands on or off. |
Added in 1.5
/pgoogle [-nN] [-t] [-d] [window] <text>
Searches google for text and sends the output to current window or [window].
See also /google.
Switches can not be combined.
Switches
Switch | Description |
-t | Specifies a 'window' is defined. |
-nN | Show N results. |
-d | Search using DuckDuckGo instead of Google. |
Parameters
Parameter | Description |
[window] | Window to show the result. |
<text> | Text to search. |
Example
; Search for 'Star Wars' and print 5 results. /pgoogle -n5 Star wars ; Search for 'Natalie Portman' and send the result to #channel. /pgoogle -t #channel Natalie Portman
Added in 3.2
/play [-aescpbnx q# m# f# rl# t#] [alias] [channel/nick/stop] <filename> [delay]
Allows "playing" a file to a channel or private window, line by line.
If no parameters is defined, opens the play control dialog.
Empty lines are treated as a delay.
See also $play, $filename, $pnick, on PLAYEND.
Same as /playctrl.
Switches
Switch | Description |
-x | Treat the first line in the file as a regular text instead of line count if it is a number. |
-a | Uses the [alias] parameter as the alias to be called instead of /msg or /notice. |
-e | Echoes the line to channel/nick window as it would send them to the server (if the window does not exist, a line of the form /msg <window> <line> is displayed in the status window). |
-s | Can be used offline, will interpret lines as actual command instead of plaintext and execute them in the status window. |
-c | Forces AdiIRC to interpret lines as actual command instead of plaintext and execute them in the specified window. |
-n | Uses /notice instead of /msg. |
-p | Indicates it is a priority request, the current play request is paused and will resume once this one is finished. |
-b | Uses the clipboard instead of a file, the clipboard is temporarily saved to a file with a name of the form playqN.txt, which is deleted once playing is completed. |
-r | Forces a single line to be chosen randomly and played. |
-fN | Plays the whole file starting from the specified line. |
-tTOPIC | Forces AdiIRC to look up the specified topic/section (INI structure) in the file and play all lines under that topic/section. |
-lN | Forces the specified line number to be played. |
-mN | limits the number of requests that can be queued by a specific user/channel. If the user/channel already has or exceeds the specified number of requests queued then the play request is ignored. |
-qN | Specifies the maximum number of requests that can be queued. If the queue length is already larger than or equal to the specified number then the play request is ignored. |
The last two switches only applies for a /play request initiated via a remote definition, not by you.
Parameters
Parameter | Description |
[alias] | If you have specified -a, the alias that will be called instead of /msg or /notice. |
[channel/nick/stop] | The window you want to play to, if required, or "stop" if you want to stop and clear the queue. |
[filename] | The filename you want to play. |
[delay] | You can specify a delay, in millisecond, between each line sent. |
Example
; Play the file 'file,txt' to the channel '#chan'. /play #chan file.txt ; Play a random line from the file 'file,txt' to the channel '#chan'. /play -r #chan file.txt ; Stops and clears all files in the queue. /play stop
Added in 3.8
/playctrl [-aescpbnx q# m# f# rl# t#] [alias] [channel/nick/stop] <filename> [delay]
Allows "playing" a file to a channel or private window, line by line.
If no parameters is defined, opens the play control dialog.
Empty lines are treated as a delay.
See also $play, $filename, $pnick, on PLAYEND.
Same as /play.
Switches
Switch | Description |
-x | Treat the first line in the file as a regular text instead of line count if it is a number. |
-a | Uses the [alias] parameter as the alias to be called instead of /msg or /notice. |
-e | Echoes the line to channel/nick window as it would send them to the server (if the window does not exist, a line of the form /msg <window> <line> is displayed in the status window). |
-s | Can be used offline, will interpret lines as actual command instead of plaintext and execute them in the status window. |
-c | Forces AdiIRC to interpret lines as actual command instead of plaintext and execute them in the specified window. |
-n | Uses /notice instead of /msg. |
-p | Indicates it is a priority request, the current play request is paused and will resume once this one is finished. |
-b | Uses the clipboard instead of a file, the clipboard is temporarily saved to a file with a name of the form playqN.txt, which is deleted once playing is completed. |
-r | Forces a single line to be chosen randomly and played. |
-fN | Plays the whole file starting from the specified line. |
-tTOPIC | Forces AdiIRC to look up the specified topic/section (INI structure) in the file and play all lines under that topic/section. |
-lN | Forces the specified line number to be played. |
-mN | limits the number of requests that can be queued by a specific user/channel. If the user/channel already has or exceeds the specified number of requests queued then the play request is ignored. |
-qN | Specifies the maximum number of requests that can be queued. If the queue length is already larger than or equal to the specified number then the play request is ignored. |
The last two switches only applies for a /playctrl request initiated via a remote definition, not by you.
Parameters
Parameter | Description |
[alias] | If you have specified -a, the alias that will be called instead of /msg or /notice. |
[channel/nick/stop] | The window you want to play to, if required, or "stop" if you want to stop and clear the queue. |
[filename] | The filename you want to play. |
[delay] | You can specify a delay, in millisecond, between each line sent. |
Example
; Play the file 'file,txt' to the channel '#chan'. /playctrl #chan file.txt ; Play a random line from the file 'file,txt' to the channel '#chan'. /playctrl -r #chan file.txt ; Stops and clears all files in the queue. /playctrl stop
See here for native DLL support.
See https://dev.adiirc.com/boards/4/topics/146 for more about plugins.
Added in 1.8
/plugins [-luixo] [filename]
With no switches, opens or focuses the Plugin Manager dialog.
Switches
Switch | Description |
-l | Loads a installed plugin file. |
-u | Unloads a loaded plugin file. (Plugin file is still locked until AdiIRC is closed) |
-i | Installs a new plugin to the plugin folder. |
-x | Uninstalls a installed plugin in the plugin folder. |
-o | Used with -i, allows overwriting a installed plugin, if the plugin is not loaded. |
Parameters
Parameter | Description |
[filename] | Filename/path of the plugin. |
Example
; Installs the plugin 'MyPlugin.dll' from the folder 'C:\User<\Nick\Desktop' to the Plugins folder. /plugins -i C:\User<\Nick\Desktop\MyPlugin.dll ; Loads 'MyPlugin.dll' /plugins -l MyPlugin.dll
Shows a list of installed plugins located in the $adiircdir\Plugins folder.
See also /plugins, Plugins information
Pressing F5 will refresh the plugin folder/list.
Click the Install new button, select the plugin dll file, press OK.
To load a unloaded plugin, select it in the plugins list, then press the Load button or double-click with the mouse.
To unload a loaded plugin, select it in the plugins list, then press the Unload button. (A restart of AdiIRC is required)
You can find plugins in the forum.
Added in 1.9.0
/priv [-nx] <nick> [message]
Sends an message to a nick.
If no message is defined, it will open a empty private window with nick or if window exist, give it focus.
Same as /query.
Switches
-n - Open window minimized.
-x - Open window maximized.
Parameters
<nick> - Nick to message.
[message] - Message to send to nick.
Example
;Open a private window with Nick. /priv Nick ;Open a private window with Nick and send message "Hello world". /priv Nick Hello world
Added in 3.8
/protect [-lrw] <on|off|nick|address> [#channel1,#channel2,...] [type] [network]
Adds/removes/lists users from the protect list.
Users on the protect list are re-opped if someone else de-ops them.
/protect with no parameters shows $true if protect is enabled, otherwise $false.
See also $protect, /aop, /avoice, $aop, $avoice.
Switches
Switch | Description |
-l | Prints all protect users. |
-r | Removes a address from the protect list. (if no address is specified, clears the protect list) |
-w | Indicate the protect should be enabled on all networks. |
Parameters
Parameter | Description |
on | Turns protect on. |
off | Turns protect off. |
address | The address or nick to add/remove from the protect list. |
[#channel1,#channel2,...] | List of channels to protect in. |
[type] | A number representing a $mask to use. (if user is not found in the internal address list, a lookup is performed) |
[network] | The network to protect in. |
Example
; Adds 'nick!nick@42.42.42.42' to the protect list on the channel '#channel' /protect nick!nick@42.42.42.42 #channel ; Adds 'nick!*@*' to the protect list on any channel. /protect nick ; Remove 'nick!nick@42.42.42.42' from the protect list. /protect -r nick!nick@42.42.42.42
Added in 2.4
/proxy [-cmNgNs[+|-]d] [on|off] [server] [port] [username] [password]
Change global or current server proxy settings.
Same as /firewall.
Switches
Switch | Description |
-c | Clears the username and password fields. |
-mN | Sets the connection type, if N = 4 or 5 for Socks4 or Socks5, or p for http proxy. |
-gN | Enables or disables global proxy settings for current server, if N = 0 Disable, if N = 1 Enable. (AdiIRC only) |
-s | Change settings for current server instead of global. (AdiIRC only) |
+|-d | Turns dcc through proxy on or off. |
Parameter
[on|off] - Enables or disables proxy.
[server] - Proxy server to connect to.
[port] - Proxy port to connect to.
[username] - Proxy username.
[password] - Proxy password.
See also /proxy.
Enables/disables proxy for Server connections, Dcc connections or both.
Set the proxy protocol to connect to.
Set the proxy hostname to connect to.
Set the proxy username used to log in to the proxy (if login is required).
Set the proxy password used to log in to the proxy (if login is required).
Set the proxy port to connect to.
Added in 1.5
/query [-nx] <nick> [message]
Sends an message to a nick.
If no message is defined, it will open a empty private window with nick or if window exist, give it focus.
Same as /priv.
Switches
Switch | Description |
-n | Open window minimized. |
-x | Open window maximized. |
Parameters
Parameter | Description |
<nick> | Nick to message. |
[message] | Message to send to nick. |
Example
;Open a private window with Nick. /query Nick ;Open a private window with Nick and send message "Hello world". /query Nick Hello world
Added in 1.9.3
/queryrn <nick> <newnick>
Changes the nickname of an open query window.
Parameters
Parameter | Description |
<nick> | Nick to change from. |
<newnick> | Newnick to change to. |
Example
;Change from Nick to NewNick. /queryrn Nick NewNick
Added in 1.9.4
/quickconnect
Opens the Quick Connect dialog.
The quick connect dialog lets you quickly join a IRC network and a channel, it is shown when AdiIRC starts, by typing /quickconnect or from Server -> Quick connect in the Menubar.
The dialog has a minimal amount of options, if more options is needed, use the Serverlist.
These options can also be changed in Options -> Quick Connect.
Then nick you want to others to see you as.
An alternative nick in case the primary nick is in use.
Username to use when logging on to a IRC network, if Identd is disabled, this will also be your Identd username.
Username is also used to log on to ZNC servers.
Normally this can be set to the same as your Nick, can also be set to blank.
The fullname to display when another user looks you up with /whois.
Can be left blank.
The host/server name of the server you want to connect to.
Usually something like irc.network.com.
The port of the server you want to connect to.
+port can be used to connect to SSL/TLS servers, *port can be used to connect using STARTTLS.
Check this box If the port you want to connect to is using SSL/TLS
Password to use for logging on to ZNC or other servers which requires password.
Should be blank in most cases.
List of channels to join when connecting to this server. (Channel passwords can be entered with a space, #chan1 password)
Opens the Serverlist.
If enabled, quick connect will not be shown when AdiIRC starts.
Click the Log on button to connect to the server in the current server window.
To open in a new server window, press SHIFT while clicking the Log on button. (Depending if Options -> Windows -> Open server history/favorites/quick connect in a new window is enabled or disabled)
Added in 1.9.1
/quicksave [-a]
Save current server and open channels on this server to the Serverlist.
If the server does not exist, it is added as a auto-connect server and will automatically connect on AdiIRC startup.
If the server exist, its channels is updated.
Switches
Switch | Description |
-a | Disables autoconnect. |
See also /quickconnect.
The default nick to use when connecting through quick connect dialog or a blank server.
The default alternative nick to use when connecting through quick connect dialog or a blank server.
The default username/ident to use when connecting through quick connect dialog or a blank server.
The default fullname to use when connecting through quick connect dialog or a blank server.
The default host to connect to through quick connect dialog or a blank server.
The default port to connect to through quick connect dialog or a blank server.
Use +port for SSL/TLS and *port for STARTTLS.
The password to use when connecting to a bouncer or password enabled server.
List of channels to join when connecting through quick connect dialog or a blank server.
List of commands to join when connecting through quick connect dialog or a blank server.
Enables or disables the quick connect dialog on startup.
If enabled, Quick Connect nick/alternative/username/fullname/host/port/password/ssl settings will be updated to use the settings from the last connection.
Show the channel list automatically when connecting a server without any autojoin channels.
Show the channel list user interface when typing /list.
Added in 1.5
/quit [message]
Disconnects current connected server and sends a optional quit message to users on the same channels as you.
If no quit message is defined, random or default quit message from Options -> Server will be used.
Parameters
Parameter | Description |
[message] | Quit message to send. |
Example
; Quit with a quit message. /quit See you guys later!
The quits editor allows adding or editing or viewing custom/random quit messages.
it can be opened by clicking Menubar -> Tools -> Edit Quits or by typing /edit -q.
The editor shares characteristics with all the other editors.
See also /slap, Editor Options.
Identifiers in the message is evaluated.
To save the current quits file to a different file, click the Menubar (inside the editor) -> File -> Save As menu item.
To load quits from a different file, click the Menubar (inside the editor) -> File -> Load menu item.
Clicking the Menubar (inside the editor) -> Edit -> Find or pressing the CTRL + F shortcut opens the search and replace panel.
You can search or search and replace using a Regular Expression by checking the Regex checkbox.
Pressing the ESCAPE key closes the search panel.
The font of the editor can be changed by clicking the Menubar (inside the editor) -> File -> Change Font menu item.
Note: only truetype fonts can be used.
The editor colors can be changed in Options -> Colors.
Added in 1.8.4
/quote [-nq] <command>
Sends the specified command directly to the server. You must know the correct raw format of the command you are sending.
Same as /raw.
Switches
Switch | Description |
-n | Prevents characters in the range 0-255 from being UTF-8 encoded, as long as the line contains characters only in the range 0-255. |
-q | Makes the command work quietly without printing what it is sending. |
Parameters
Parameter | Description |
<command> | The command to send to the server. |
Example
;Send a raw PRIVMSG to the server. /quote PRIVMSG #channel :Hi testing rawdata.
Added in 1.9.3
/raw [on|off]
Switches numeric events on/off, if no parameters are defined, current status is shown.
/raw with no parameters shows current numeric events status.
See also /ctcps, /events, /remote.
Parameters
Parameter | Description |
on|off | Turns numeric events on/off. |
Added in 1.5
/raw [-nq] <command>
Sends the specified command directly to the server. You must know the correct raw format of the command you are sending.
Same as /quote.
Switches
Switch | Description |
-n | Prevents characters in the range 0-255 from being UTF-8 encoded, as long as the line contains characters only in the range 0-255. |
-q | Makes the command work quietly without printing what it is sending. |
Parameters
Parameter | Description |
<command> | The command to send to the server. |
Example
;Send a raw PRIVMSG to the server. /raw PRIVMSG #channel :Hi testing rawdata.
Added in 1.5
/rawlog [-td]
Opens the rawlog dialog.
See also Rawlog Dialog.
Switches
Switch | Description |
-t | Enables timestamp. |
-d | Disables timestamp. |
The Rawlog dialog is used to debug AdiIRC and/or monitor raw IRC messages from/to IRC servers.
Rawlog can be opened from Menubar -> File -> Rawlog or by typing /rawlog.
The rawlog will automatically re-open if it was open the last time AdiIRC was closed.
By default only new debug/raw messages will be added, a buffer can be kept in memory by typing /setoption Misc RawlogBuffer N .. where N is the number of lines to keep. (setting N to 0 disables the buffer)
See also /rawlog, /debug, Scripts Debugger.
The debug tab in the right listbox shows AdiIRC debug data.
Each open server will have it's own tab in the listbox, it will list all incoming/outgoing raw IRC messages from/to the IRC server.
It can be useful for finding out if raw messages are being sent/received properly.
Outgoing messages are marked with the -> prefix, and incoming messages are marked with the <- prefix.
The data from a tab can be saved to a file by clicking the Save button.
To clear the data from a tab click the Clear button.
The Rawlog can be searched by clicking the Search button or by pressing CTRL + F.
Rawlog can be attached to become a regular MDI window or detached to become a desktop window by pressing CTRL + D.
To make Rawlog the first visible window in the Treebar/Switchbar, add Rawlog at the top of Options -> Windows Options -> Window Order.
Timestamps can be added/removed using /rawlog with the -t parameter or -d parameter, the setting is saved.
The Listbos can be resized by dragging the border between the Listbox and the Text Area, the width is saved.
By default the last 100 lines in the "Debug" tab is always saved in memory and added to the Rawlog when it opens.
It's possible to increase this value and add the last X lines from each server to memory as well by typing /setoption Misc RawlogBuffer N in the Editbox, where N is a number.
Create a file called debug.txt in your AdiIRC config folder and the data from the debug tab will be automatically written to the file in real time.
This file can become big, either delete it when it's no longer necessary or clear it periodically.
Added in 1.9.3
/rawx [-nq] <command>
Sends the specified command directly to the server. You must know the correct raw format of the command you are sending.
Same as /raw but evaluates a variable instead of text and allows sending consecutive spaces.
Switches
Switch | Description |
-n | Prevents characters in the range 0-255 from being UTF-8 encoded, as long as the line contains characters only in the range 0-255. |
-q | Makes the command work quietly without printing what it is sending. |
Parameters
Parameter | Description |
<command> | The command to send to the server. |
Example
;Create a variable with the text PRIVMSG #channel :a b /var %var PRIVMSG #channel :a $+ $chr(32) $+ $chr(32) $+ $chr(32) $+ $chr(32) b ;Sends the output of %var to the server. /rawx %var ;Add a on INPUT event that listens for /example command. on *:INPUT:*:if ($1 == /example) { ;Put the consecutive spaced message into a variable var %text PRIVMSG # : $+ $mid($msgx, $calc($len($1) + 2), $len($msgx)) ;Send the message /rawx %text }
Added in 1.9.7
/realname <name>
Changes your realname/fullname on current connection.
If connected from the serverlist, the serverlist is updated, else quick connect is updated.
Parameters
Parameter | Description |
<name> | The new name. |
Example
/realname Roger Rabbit
Added in 1.5
/reconnect [message]
Disconnect current active server with an optional quit message, then reconnect.
If no quit message is defined, random or default quit message from Options -> Server will be used.
Parameters
Parameter | Description |
[message] | Quit message. |
; Reconnect with a quit message. /reconnect Be Right Back
Added in 3.1
/refreshsong
Forces AdiIRC to refresh the song title for the current media player.
Example
; Override the '/np' command. alias np { if ($1 == itunes) { ; if the first parameter is 'itunes', change the media player to itunes. ; 4 means the 4th item in Options -> Media Player, starting from index 0. .setoption MediaPlayer MediaPlayer 4 ; Tell AdiIRC to immediately refresh the song title. refreshsong ; Call the internal /np command which will now print the refreshed song. !np $2- } else if ($1 == foobar) { ; if the first parameter is 'foobar', change the media player to foobar2000. .setoption MediaPlayer MediaPlayer 8 ; Tell AdiIRC to immediately refresh the song title. refreshsong ; Call the internal /np command which will now print the refreshed song. !np $2- } else { ; No parameter given just call the built-in /np command to print the current song. !np $1- } }
Added in 1.5
/rejoin
Rejoins all inactive channels on all servers.
Added in 1.9.0
/reload -aN <filename>
/reload -bcmnpqs <filename>
/reload -rsuv <filename>
The /reload command can be used to reload any type of existing file including: aliases, popups, remote, users, and variables. Using /reload on an already loaded file will update its contents while maintaining its order among other files. Note that unlike the /load command, /reload will not trigger the on LOAD and on START events.
See also /load, /unload, on LOAD, on UNLOAD, on START.
Switches
Switch | Description |
-aN | loads an aliases file, if N is specified, load into the Nth position in the alias list. |
-b | Loads a nicklist buttons file. (AdiIRC only) |
-ps | Loads a status popup file. |
-pc | Loads a channel popup file. |
-pq | Loads a query popup file. |
-pn | Loads a nicklist popup file. |
-pm | Loads a Menubar popup file. |
-pe | Loads a channel link popup file. (AdiIRC only) |
-pi | Loads a link popup file. (AdiIRC only) |
-ru | Loads a user list file. |
-rv | Loads a variables file. |
-rsN | Loads a remote scripts file, if N is specified, load into the Nth position in the script list. |
Parameters
Parameter | Description |
<filename> | Filename to (re)load. |
Added in 1.9.0
/remini <inifile> <section> [item]
Deletes whole sections or single items in an INI file.
Parameters
Parameter | Description |
<inifile> | Ini file where the section is located. |
<section> | Section in the ini file to remove. |
[item] | Item in the section to remove. |
Examples
;Remove the entire section TEST in file.ini. /remini file.ini TEST ;Remove only the testitem element from the TEST section in file.ini. /remini file.ini TEST testitem
Added in 1.9.3
/remote [on|off]
Turns on/off all remote script events, if no parameters are defined, current status is shown.
/remote with no parameters shows current remote status.
See also /ctcps, /raw, /events.
Parameters
Parameter | Description |
[on|off] | Turns remote events on/off. |
Added in 1.9.0
/remove [-b] <filename>
Deletes the specified file.
Switches
Switch | Description |
-b | Move the file to the recycle bin instead of deleting it. |
Parameters
Parameter | Description |
<filename> | File to remove. |
Example
;Create and write to a file. /write test.txt Hello There ;Remove the file. /remove test.txt
Added in 1.9.0
_
/rename [-of] <filename> <new filename>
Renames a file or folder, can also be used to move a file or folder to another location.
Switches
Switch | Description |
-o | Overwrites the target file if it exists. |
-f | Flushes copy to disk immediately. |
Parameters
Parameter | Description |
<filename> | File/folder to rename or move. |
<new filename> | New filename/foldername. |
Example
/rename E:\example.txt "E:\renamed with spaces.txt"
Added in 1.9.2
/renwin <@oldname> <@newname> [topic]
Allows you to change the name of an existing window to a different one, and an optional topic can be specified.
Parameters
Parameter | Description |
<@oldname> | Current window name. |
<@newname> | New window name. |
[topic] | Window topic/title. |
Example
; Open a custom window. /window -e @Example1 ; Rename @Example1 to @Example2 and add topic 'Hello world'. /renwin @Example1 @Example2 Hello World
Added in 1.9.0
/reseterror
Resets a script error.
If you do not reset the error, it will propagate backwards to any calling aliases until an :error is found and will halt the script as usual.
Added in 1.9.7
/resetidle [seconds]
Resets the $idle identifier to zero or to the number of seconds you specify.
Parameters
Parameter | Description |
[seconds] | Number of seconds to reset to. |
Added in 1.5
/resolve [-46cha] <nick|address>
Resolves an ip address/hostname or nick to a ip address/hostname.
Same as /dns.
Switches
Switch | Description |
-4 | Include ipv4 addresses. |
-6 | Include ipv6 addresses. |
-c | Clears all queued dns queries. |
-h | Force <nick|address> to be a address. |
-a | Print all ip addresses found if input was a hostname. (AdiIRC only) |
Parameters
Parameter | Description |
<nick|address> | The nick or address to lookup. |
Example
; Lookup nick. /resolve Nick ; Lookup only ipv4 results. /resolve -4 Nick ; Lookup only ipv6 results. /resolve -6 Nick ; Lookup ip address 8.8.8.8 /resolve 8.8.8.8 ; Lookup google.com /resolve google.com ; Lookup nick!ident@host.com (host.com will be extracted) /resolve nick!ident@host.com
Added in 1.5
/restart
Restarts AdiIRC. (same as /exit -r)
Added in 1.9.0
/return [text]
Halts a currently executing script and allows the calling routine to continue processing.
Parameters
Parameter | Description |
[text] | Text to return. |
Example
alias example { ;Return the addition of two values. /echo -a $add(2, 5) } ;Add two numbers. alias add { /return $calc($1 + $2) }
Added in 1.9.0
/returnex [text]
Halts a currently executing script and allows the calling routine to continue processing.
Same as /return but retains all spaces, including leading, trailing, and multiple.
Parameters
Parameter | Description |
[text] | Text to return. |
Example
alias example { ;Prints 9: <space>A<space><space>B<space><space>C<space>. echo -a $len($preserve_space) ;Prints 5: A<space>B<space>C. echo -a $len($strip_space) } ;Return with the spaces intact. alias preserve_space returnex $get_abc ;Collaps spaces. alias strip_space return $get_abc ;Just an example string "<space>A<space><space>B<space><space>C<space>". alias get_abc returnex $+($chr(32), A, $chr(32), $chr(32), B, $chr(32), $chr(32), C, $chr(32))
Added in 1.9.7
/rlevel [-r] <level(s)>
Removes access levels from all matches users.
If a user has no more levels left then the user is removed.
Switches
Switch | Description |
-r | Any matching levels are removed, not just general access level. |
Parameters
Parameter | Description |
<level(s)> | Level(s) to remove. |
Example
; Remove all users with general access level 1 or 2 /rlevel 1,2 ; Remove all users with access level =1 and =2 /rlevel =1,2 ; Remove all users with access level =1,1,=2 and =2 /rlevel -r 1,2
Added in 1.9.5
/rline [-ahslbTNSW] [c] <@name> <N> <text>
Replaces the Nth line in any window with a new line.
Switches
Switch | Description |
-a | Selects the newly added item while keeping the old selection in a listbox. |
-h | Highlights the window's node in the treebar is the window is not active. |
-s | Clears the old selection in a listbox and selects the newly added item. |
-l | Specify the action to take place on the side-listbox, |
-b | Indicates the [c] color is in $rgb format. (AdiIRC only) |
-TN | Apply timestamp prefix options. N is a optional UTC value to use for the timestamp. (AdiIRC only) |
-S | Use status window. (AdiIRC only) |
-W | Allow using a channel or query window name for @name. (AdiIRC only) |
Parameters
Parameter | Description |
[c] | An optional color number for the line |
<@name> | Name of the window. |
<N> | The line to change. |
<text> | Text to insert. |
Example
alias example { ; Open a custom window. /window -de @Example ; Add a line with the text 'Line A'. /aline @Example Line A ; Add a line with the text 'Line B'. /aline @Example Line B ; Add a line with the text 'Line C'. /aline @Example Line C ; Change the text of the second line to 'Line D'. /dline @Example 2 Line D }
Added in 1.9.0
/rmdir <dirname>
Deletes the specified directory but only if it is empty.
Parameters
Parameter | Description |
<dirname> | Directory to delete. |
Example
;Delete folder $adiircdir $+ test /rmdir test ;Delete folder "c:\test folder" /rmdir "c:\test folder"
Added in 1.5
/run [-ahnp] <filename|url> [arguments]
Runs the specified program.
If a URL is entered, default browser will be used.
See also $exec.
Filenames using spaces must be enclosed in quotes unless the filetype is .exe or .bat when passing arguments.
Switches
Switch | Description |
-a | Ask to run the application as a administrator. |
-h | Hide the application in context. |
-n | Minimizes the window of the program. |
-p | Sets the working path to the path of the program. |
-u | If AdiIRC is running as admin, runs the program without admin right. |
Parameters
Parameter | Description |
<filename|url> | File or url to run. |
[arguments] | Arguments list to be passed to the program. |
Example
; Open www.adiirc.com. /run www.adiirc.com ; Open notepad. /run notepad.exe ; Open firefox to the url 'www.adiirc.com'. /run C:\Program Files\firefox.exe www.adiirc.com
Added in 1.9.7
/ruser [levels] <nick | address> [type]
Removes the nick/address or the specified levels from nick/address.
If the user have no more access levels, it is removed from the user list.
Parameters
Parameter | Description |
[levels] | Access levels to remove. |
<nick | address> | Nick or address to remove. |
[type] | Lookup the address using this type of address. |
Example
; Removes 'Nick' from the user list /ruser Nick ; Removes access levels 1,2 and 3 from 'Nick' /ruser 1,2,3 Nick
SASL support is Built into the new Serverlist and into the /server command as of 1.9.9.
To enable SASL in the Serverlist:
Added in 1.9.4
/savebuf [-aglosNn] [n1-n2] <window | dialog id> <filename>
Saves the specified number of lines from the end of the buffer of the specified window into the specified filename.
Switches
Switch | Description |
-a | Append the text to the end of the file. |
-l | Use side-listbox. |
-o | Indicates that you have specified [dialog id] parameters instead of a window name in order to save text from a custom dialog control. |
-s | Use status window. |
-N | Keep the nickcolumn character when saving a window. (AdiIRC only) |
-p | Strip all control codes. |
-n | TODO |
Parameters
Parameter | Description |
n1-n2 | Save only lines n1 to n2 starting from the end of the buffer. (if no lines are specified, all lines are saved) |
<window | dialog id> | Window or dialog/dialogid to save from. |
<filename> | Filename to save to. |
Added in 2.4
/saveini
Updates all AdiIRC-related INI files with the current settings.
Saves everything which is normally only saved when closing AdiIRC, vars.ini, main window size/position, Monitor Panels positions, Titlebar text etc.
All fields are optional.
Author name.
Theme version.
Author website.
Author email.
Theme description.
Save color settings to the theme.
Save the user/emote/system/ctcp message prefix settings to the theme.
Save the fonts settings to the theme.
Save the emoticons to the theme. (The emoticons files are embedded as base64 strings)
Save the sounds settings to the theme. (The audio files are embedded as base64 strings)
Saves the nick color settings to the theme.
Saves the background image settings to the theme. (The background files are embedded as base64 strings)
Saves the icon settings to the theme. (The icon files are embedded as base64 strings)
Saves the nicklist icon settings to the theme. (The icon files are embedded as base64 strings)
There really is little point in compressing themes as most files can't be compressed further and they are all saved in a base64 format which doesn't compress very well either.
In some cases compression might make the theme file bigger.
Themes can be decompressed using the $decompress identifier.
Pick and choose to embed any number of scripts to the theme file. (The script files are embedded as base64 strings)
Useful to set some options which are not available in themes during the on START event.
Added in 1.5
/say <message>
Sends a message to current channel or private window, same as typing in the Editbox.
You cannot use this command in the remote section. Use /msg instead.
Parameters
Parameter | Description |
<message> | Message to send. |
Added in 1.9.0
/scid [-arstN] <N> [command]
Changes the active connection for a script to connection id N, where N is a $cid value.
All commands after the /scid command will be performed on the new connection id.
If you specify the command parameter, the connection id is set only for that command.
Switches
Switch | Description |
-a | Perform the command on all connection id's. |
-r | Resets the connection to the original id. |
-s | makes any called commands or identifiers show their results. |
-tN | limits the command to being performed only on servers with a certain connection status, where N is an or'd value of 1 = server connected, 2 = not connected, 4 = connecting, 8 = not connecting. |
Parameters
Parameter | Description |
<N> | The connection id. |
[command] | Command to execute on the connection. |
Added in 1.9.0
/scon [-arstN] <N> [command]
Changes the active connection for a script to connection id N, where N is the Nth connection.
All commands after the /scon command will be performed on the new connection id.
If you specify the command parameter, the connection id is set only for that command.
Switches
Switch | Description |
-a | Perform the command on all connection id's. |
-r | Resets the connection to the original id. |
-s | makes any called commands or identifiers show their results. |
-tN | limits the command to being performed only on servers with a certain connection status, where N is an OR'd value of 1 = server connected, 2 = not connected, 4 = connecting, 8 = not connecting. |
Parameters
Parameter | Description |
<N> | The Nth connection id. |
[command] | Command to execute on the connection. |
See the Themes forum and the Screenshots sharing thread.
The script editor allows adding or editing scripts.
Multiple script files can be loaded at the same time.
it can be opened by clicking Menubar -> Tools -> Edit Scripts or by pressing the ALT + R shortcut or by typing /edit -s.
The editor shares characteristics with all the other editors.
See also /load, /reload, /unload, $script, $scripts, Editor Options.
on<whitespace><level>:<event>:command, see Scripting Events for more information.
alias<whitespace><name><whitespace>command
Format when using multiple lines is:
on<whitespace><level>:<event>:{ /command1 /command2 ... } alias<whitespace><name><whitespace>{ /command1 /command2 ... }
To save the current script file to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.
To load a script from a different ini file, click the Menubar (inside the editor) -> File -> Load menu item or use the /load command.
When loading scripts using the /load, /reload or /unload command, the script editor will be automatically updated with the new script.
Clicking the Menubar (inside the editor) -> Edit -> Find or pressing the CTRL + F shortcut opens the search and replace panel.
You can search or search and replace using a Regular Expression by checking the Regex checkbox.
Pressing the ESCAPE key closes the search panel.
Checking for balanced brackets can be done by clicking the {} menu item to the far right of the Menubar (inside the editor) or by pressing the CTRL + H shortcut.
If a script file was modified outside of the editor, it can be reloaded by clicking the Menubar (inside the editor) -> File -> Reload menu item or by pressing the F5 shortcut or by typing /reload.
The Alias menu item in the Menubar (inside the editor) can be used to jump to a specific alias in the current script file.
The TODO menu item in the Menubar (inside the editor) allows adding and viewing and quickly jumping to a TODO item in the script.
A script file can be ignored (not loaded bu still editable) by right-clicking it in the sidebar list and clicking the ignore menu item.
You can change the order of the scripts in the sidebar list by drag/dropping them. This can be important when you want a scripting event in a file to be run before another file.
The font of the editor can be changed by clicking the Menubar (inside the editor) -> File -> Change Font menu item.
Note: only truetype fonts can be used.
The editor colors can be changed in Options -> Colors.
AdiIRC has a powerful scripting language which can be used to extend/change the clients behavior.
It's modeled after the popular mIRC scripting language, make sure you read the compatibility section.
Choose a category to read more:
Simple kickcounter script:
alias kick { if (!%kickcount) %kickcount = 0 inc %kickcount if (!$3) { kick # $$2 Kick number %kickcount halt } }
Kickban example
alias kb { if (!$1) { echo /kb - Nick missing return } var %msg = $iif(#, $2-, $3-) var %chan = $iif(#, #, $2) ; Set this for default ban reason, or remove for no default reason ; Can be shortened to %msg = $iif(%msg, %msg, GTFO) if (!%msg) %msg = GTFO if ($me isop %chan) { MODE %chan +b $wildsite KICK %chan $1 %msg } else echo You are not oper on %chan }
Simple calculator script:
alias calc { if (!$1) { echo /calc - Parameters missing return } ; typing /calc -p <expression> sends output to channel if ($1 == -p) { msg # Calculating : $2- msg # Result is : $calc($2-) } else { echo Calculating : $1- echo Result is : $calc($1-) } }
Colored version
alias calc { if (!$1) { echo /calc - Parameters missing return } # typing /calc -p <expression> sends output to channel if ($1 == -p) { msg # $chr(3) $+ 4Calculating : $2- msg # $chr(3) $+ 4Result is : $calc($2-) } else { echo $chr(3) $+ 4Calculating : 4$1- echo $chr(3) $+ 4Result is : $calc($1-) } }
CTCP flood detection example
CTCP *:*:*:{ if (!%count) set -u10 %count 1 else inc -u10 %count 1 if (%count > 4) ignore -tu30 $wildsite }
Mass mode example
alias mass { if (!$2) { echo /mass - Parameters missing [+/-<mode> <nick> <nick> <nick>] return } %len = 2 ; equal to while (%len <= $count(%1-, $chr(32))) while (%len <= $0) { if ($(%len) ison #) mode # $1 $($ $+ %len) inc %len } }
Shows info about servers, channels and users
on *:JOIN:#: { var %s = $scon(0), %c = 0, %u = 0, %t = 0, %c2 = 0; while (%t < %s) { inc %t scon $scon(%t); inc %c $chan(0) %c2 = 0 while (%c2 < $chan(0)) { inc %c2 inc %u $nick($chan(%c2), 0) } } /echo You are on ( $+ %s $+ ) servers, ( $+ %c $+ ) channels with ( $+ %u $+ ) users }
It is possible to use scripts as functions.
These functions are fully nested like the client functions.
Lets say you make a /mycalc like this.
alias mycalc { return $calc($$1 + $$2); }
Then you can call this function with eiter /mycalc <number> <number> the normal way or $mycalc(<number, <number>)
Typing /testcalc will show the result.
alias testcalc { echo -a $1 + $2 is $mycalc($1, $2); echo -a 5 + 4 is $mycalc(5, 4); }
Simple convert temperature C to F or F to C
/temp C 20 will print 68 F
alias temp { if ($1 == C) echo $calc(($2 * 9/5) + 32) F else if ($1 == F) echo $round($calc(($2 - 32) * 5/9), 1) C else echo Temp missing }
Announce song changes in a channel or to a user
On *:SONG:{ nmsg <network> <channel/Nick> $1- }
Announce to several channels with:
On *:SONG:{ nmsg <network> <channel1/Nick>,<channel2/Nick> $1- nmsg <network2> <channel3/Nick> $1- }
Automatically find the summary of a imdb url
On *:TEXT:*:#k: { var %reg = $regex($1-, http://www\.imdb\.com(/title/[a-z0-9]+/)) if (!%reg) { return } sockclose imdb unset %data %imdb = $regml(1) $+ plotsummary %imdbchan = # sockopen imdb www.imdb.com 80 } on *:sockopen:imdb: { sockwrite -n imdb GET %imdb HTTP/1.1 sockwrite -n imdb Host: www.imdb.com sockwrite -n imdb User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.24 Safari/536.5 sockwrite -n imdb Referer: http://www.imdb.com sockwrite -n imdb Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1 sockwrite -n imdb Accept-Language: en-us, en;q=0.50 sockwrite -n imdb Connection: Close $+ $crlf $+ $crlf } on *:sockread:imdb:{ sockread %text %data = %data $+ %text } on *:sockclose:imdb: { if ($regex(%data, <p class="plotSummary">([\s\S]*?)</p>)) { msg %imdbchan $regml(1) } unset %data }
Although mostly compatible, AdiIRC scripting is not fully compatible, there are missing features, various bugs and differences.
As such, asking for AdIRC scripting help should not be done in mIRC specific channels or forums, unless it's a script developed for mIRC and the question is related to mIRC only.
You can ask for AdiIRC scripting help on the Scripting forum or in the #adiirc channel on irc.libera.chat.
First verify the script works correctly in mIRC unless it uses AdIRC specific features, then narrow down the bug to the smallest possible lines of code before submitting.
Include as much information about the problem as possible, such as observed behavior and what the expected behavior should be.
You can find many AdiIRC scripts in the Scripting forum or mIRC scripts in places such as http://hawkee.com.
Not everyone will work, if you find one that doesn't, see above on how to report a bug.
For more on mIRC scripting and how it works, check out http://en.wikichip.org/wiki/Introduction_-_mIRC and https://web.archive.org/web/20170322040538/http://www.mirc.org/mishbox/index.htm
Scripts checking for $version will probably not work since $version returns the AdiIRC version, not mIRC version. (Removing the version check will fix that)
Scripts reading $mircini for mIRC specific options will not work in AdiIRC since AdiIRC has different options and uses a completely different options layout.
[] brackets doesn't work inside identifiers and /if expressions without surrounding the brackets with spaces.
DLL's designed to inject them self into mIRC's memory/internals doesn't work (and never will).
DLL's designed for mIRC are 32 bit and will never work in 64 bit version of AdiIRC.
Some identifiers/commands/features are not implemented (some never will be), check the Identifiers and Commands pages.
Small number of identifiers/commands parameters are not implemented, usually with features not available in AdiIRC yet (or ever), search for TODO in the search box.
Some identifiers/commands may have slightly different behavior/results in various places, but usually nothing to worry about.
Since there are no 64 bit version of the Wscript.Shell COM object, scripts using it wont work in 64 bit AdiIRC unless tsc64 is installed.
There might be other COM objects with no 64 bit version, use 32 bit AdiIRC if necessary.
Added in 1.9.0
/bread [-ta] <filename> <S> <N> <&binvar>
Reads <N> bytes starting at byte position <S> in the file and stores the result in &binvar.
Switches
Switch | Description |
-t | reads data until the next $crlf or $feof. |
-a | Disables UTF-8 encoding of characters in the range 0-255, as long as the line contains no characters > 255. |
Parameters
Parameter | Description |
<filename> | The binary file to read. |
<S> | The byte position in the file to start reading from. |
<N> | Number of bytes to read. |
<&binvar> | The &binvar to read the data into. |
Example
;noop $example(FileA, FileB) alias example { ;Read the whole file into a binary variable bread $qt($1) 0 $file($1).size &tempFile ;Write the bytes form the binary variable to a file bwrite $qt($2) 0 -1 &tempFile }
Added in 1.9.0
/bwrite [-tac] <filename> <S> [N] <text|%var|&binvar>
Writes [N] bytes from <text|%var|&binvar> to the file starting at byte position <S> or 0, any existing information at this position is overwritten.
Switches
Switch | Description |
-t | Treat <text|%var|&binvar> as plain text. |
-a | Disables UTF-8 encoding of characters in the range 0-255, as long as the text contains no characters > 255. |
-c | Chops the file at the end of the copied bytes. |
Parameters
Parameter | Description |
<filename> | File to modify. |
<S> | Byte position in the file to start writing to. (zero based) |
[N] | Byte count from <text|%var|&binvar> to write. |
<text|%var|&binvar> | Text/%variable/&binvar to write to file. |
Example
alias example { ;Write some text to a file at beginning of the file /bwrite file.txt 0 hello there! ;Read the binary data into binary variable &tempfile /bread $qt(file.txt) 0 $file(file.txt).size &tempfile ;Print the binary variable data as text, outputs 'Hello there!' echo -ag $bvar(&tempfile, 1-).text ;Replace "there!" with "world!" /bwrite file.txt 6 world! ;Read the binary data into binary variable &tempfile /bread $qt(file.txt) 0 $file(file.txt).size &tempfile ;Print the binary variable data as text, outputs 'Hello world!' echo -ag $bvar(&tempfile, 1-).text }
Added in 1.9.0
/bset [-tacz] <&binvar> <N> <asciivalue> [asciivalue ... asciivalue]
Sets the <N>th byte in binary variable &binvar to the specified ascii value.
If N = -1, the data is added to the end of the variable.
If the &binvar docent exists it is created.
If <N> is larger than the size of &binvar it will be zero filled up to <N> bytes.
If you specify multiple ASCII values, they are copied to successive positions after byte position N.
Switches
Switch | Description |
-t | Treat values a plain text. |
-a | Disables UTF-8 encoding of characters in the range 0-255, as long as the text contains no characters > 255. |
-c | Chops the &binvar at the end of the copied bytes. |
-z | Creates new or truncates existing &binvar at zero length. |
Parameters
Parameter | Description |
<&binvar> | The &binvar to modify. |
<N> | The byte to modify. (one based) |
<asciivalue> | The ASCII value to insert. |
Example
alias example { ; Create a binary variable set it to "This is fun!" bset -t &Example 1 This is fun! ; Print out the content of the variable echo -a $bvar(&Example, 1-).text }
Added in 1.9.0
/bunset <&binvar> [&binvar ... &binvar]
Unsets the specified list of &binvars.
Parameters
Parameter | Description |
<&binvar> | The &binvar to unset. |
[&binvar ... &binvar] | Additional &binvars to unset. |
Added in 1.9.0
/bcopy [-zc] <&binvar> <N> <&binvar> <S> <M>
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.
Switches
Switch | Description |
-z | The bytes in the second &binvar that is copied are zero-filled after the copy. |
-c | The first &binvar is chopped to <N> + <M>. |
Parameters
Parameter | Description |
<&binvar> | Target &binvar to copy to. |
<N> | Target position in the first &binvar to copy to. (If N = -1, bytes are appended to the destination &binvar) |
<&binvar> | Source &binvar to copy from. |
<S> | Source position to copy from. |
<M> | Number of bytes to copy. |
Example
alias /example { ;Create a binary variable and assign it some text bset -t &example 1 This is a test! ;Copy from 'example' from the 11th byte 10 bytes onward ;Zero-fill the part that was copied bcopy -z &example2 1 &example 11 10 ;Print out &example's content (up to the first null) echo -a $bvar(&example, 1-).text ;Print out &example2's content echo -a $bvar(&example2, 1-).text }
Added in 1.9.0
/breplace <&binvar> <oldvalue> <newvalue> [oldvalue newvalue...]
Replaces all matching ASCII values in &binvar with new values.
Multiple values can be replaced by adding more old/new parameters.
Parameters
Parameter | Description |
<&binvar> | The &binvar to modify. |
<oldvalue> | ASCII value to replace. |
<newvalue> | ASCII value to insert. |
Example
alias example { ;Create a binary variable set it to "Hello World" bset -t &Example 1 Hello World ;Replace e (ASCII value 101) with 3 (ASCII value 51) breplace &Example 101 51 ;Echo our new string echo -a $bvar(&Example,1,$bvar(&Example,0)).text }
Added in 1.9.0
/btrunc <filename> <bytes>
Truncates/extends a file to the specified length.
Parameters
Parameter | Description |
<filename> | The file to truncate. |
<bytes> | Number of bytes to truncate/extend to. |
Example
alias example { ;Create variable %temp and add some data. /var %temp = Hello! World ;Write to variable %temp's content. /bwrite Example 0 $len(%temp) %temp ;Truncate the file down to 6 bytes. /btrunc Example 6 ;Read the file into a variable. /bread Example 0 $file(Example).size &Example ;Print out the variable's content. /echo -a $bvar(&Example,1,$bvar(&Example,0)).text ;Delete the file. /remove Example }
Added in 1.9.0
$bvar(&binvar,N,M)
Returns M ASCII values from a &binvar starting from the Nth byte.
N-N2 can be used to get a range of ASCII values.
N- can be used to get all ASCII values from position N.
Parameters
Parameter | Description |
&binvar | The &binvar to use. |
N | Position to start retrieving bytes. |
M | Numbers of bytes to get. |
Properties
Property | Description |
.text | Returns plain text instead of ASCII values. |
.word | Outputs decimal value of a 2-byte word, seeing bytes in little-endian byte order (low value first, (unsigned 16 bit) |
.nword | Outputs decimal value of a 2-byte word, seeing bytes in big-endian byte order (high value first, unsigned 16 bit) |
.sword | Outputs decimal value of a 2-byte word, seeing bytes in little-endian byte order (low value first, signed 16 bit, AdiIRC only) |
.nsword | Outputs decimal value of a 2-byte word, seeing bytes in big-endian byte order (high value first, signed 16 bit, AdiIRC only) |
.long | Outputs decimal value of a 4-byte dword (unsigned long), seeing bytes in little-endian byte order (low value first, unsigned 32 bit) |
.nlong | Outputs decimal value of a 4-byte dword (unsigned long), seeing bytes in big-endian byte order (high value first. unsigned 32 bit) |
.slong | Outputs decimal value of a 4-byte dword (unsigned long), seeing bytes in little-endian byte order (low value first, signed 32 bit, AdiIRC only) |
.nslong | Outputs decimal value of a 4-byte dword (unsigned long), seeing bytes in big-endian byte order (high value first. signed 32 bit AdiIRC only) |
.uint64 | Outputs decimal value of an 8-byte qword (unsigned long), seeing bytes in little-endian byte order (low value first, unsigned 64 bit AdiIRC only) |
.nuint64 | Outputs decimal value of an 8-byte qword (unsigned long), seeing bytes in big-endian byte order (high value first. unsigned 64 bit AdiIRC only) |
.sint64 | Outputs decimal value of an 8-byte qword (unsigned long), seeing bytes in little-endian byte order (low value first, signed 64 bit, AdiIRC only) |
.nsint64 | Outputs decimal value of an 8-byte qword (unsigned long), seeing bytes in big-endian byte order (high value first. signed 64 bit AdiIRC only) |
Example
; Returns the length of the binary variable. //echo -ag $bvar(&binvar,0) ; Returns ASCII value at position N. //echo -ag $bvar(&binvar,1) ; Returns ASCII values from 5 to 8. //echo -ag $bvar(&binvar,5,3) ; Returns ASCII values from 5 to end. //echo -ag $bvar(&binvar,5-) ; Returns plain text from 5 to 8 up to the first zero character. //echo -ag $bvar(&binvar,5,3).text ; Returns &binvar if the binvar exists. //echo -ag $bvar(&binvar)
Added in 1.9.0
$bfind(&binvar, N, M, [name])
Searches a &binvar for a matching value.
The search is case-insensitive.
Parameters
Parameter | Description |
&binvar | The &binvar to search. |
N | The position of the &binvar to start the search. |
M | Numeric ASCII character(s) or text to search. |
[name] | Name to store in $regml for the result(s) when using the .regex property. (optional) |
Properties
Property | Description |
.text | Force a text search if the search text (M) is a number. |
.textcs | Search case-sensitive. |
.regex | TODO |
.regextext | Performs a regular expression search for the pattern M on UTF8 encoded text from the binvar. (AdiIRC Only) |
Example
; Finds "test" starting from position 1. //echo -a $bfind(&test, 1, test) ; Finds character 32 (a space) from position 5. //echo -a $bfind(&test, 5, 32) ; Finds WAV from position 1. //echo -a $bfind(&test, 1, 87 65 86)
Added in 1.9.4
/comopen <name> <progid>
Opens a COM connection to object progid and assigns the connection a name.
For 64 bit AdiIRC, MSScript com objects is not available unless you install https://github.com/tablacus/TablacusScriptControl/releases.
Parameters
Parameter | Description |
<name> | Connection name. |
<progid> | ProgId to open. (e.g Excel.Application) |
Added in 1.9.4
/comclose <name>
Closes the specified COM connection.
Parameters
Parameter | Description |
<name> | Connection name. |
Added in 1.9.4
/comlist
Lists all open COM connection.
Added in 1.9.4
/comreg -u <filename>
Registers/unregisters a COM DLL with windows.
Switches
Switch | Description |
-u | Unregister instead of register. |
Parameters
Parameter | Description |
<filename> | DLL filename to unregister/register. |
Added in 1.9.4
$com(name|N)
Returns name if connection is open, or name of Nth connection. N = 0 returns number of open connections.
Parameters
Parameter | Description |
name|N | The connection name or the Nth connection. |
Properties
Property | Description |
.progid | The object name. |
.result | The value returned by the COM object member after the call |
.error | The error code if any. |
.errortext | The error text if any. |
.argerr | TODO |
.dispatch | $true if this is a dispatch pointer. |
.unknown | $true if this is a unknown pointer. |
$com(name, &bvar)
Returns connection information for the connection and puts it into &bvar.
Parameters
Parameter | Description |
name| | The connection name. |
&bvar | The &bvar to write to. |
Properties
Property | Description |
.progid | The object name. |
.result | The value returned by the COM object member after the call |
.error | The error code if any. |
.errortext | The error text if any. |
.argerr | TODO |
.dispatch | $true if this is a dispatch pointer. |
.unknown | $true if this is a unknown pointer. |
$com(name/N,varname)
Returns value of the specified variable name.
Parameters
Parameter | Description |
name/N | The connection name or the Nth connection. |
varname | Name of the referenced variable. |
$com(name,member,method,type1,value1,...,typeN,valueN)
This calls a member of an open COM connection with the specified method and parameters.
Returns: 1 = ok, 0 = fail.
Parameters
Parameter | Description |
name | Connection name. |
alias | Alias to call when the call is finished. |
member | Member name. |
method | Combination of the method values added together (see below). |
type | The variable type (see below), |
value | The value assigned to the variable type. |
Methods
Method | Description |
1 | DISPATCH_METHOD |
2 | DISPATCH_PROPERTYGET |
4 | DISPATCH_PROPERTYPUT |
8 | DISPATCH_PROPERTYPUTREF |
Types
Can be: i1, i2, i4, ui1, ui2, ui4, int, uint, r4, r8, cy, date, decimal, bool, bstr, variant, dispatch, unknown, error.
VB equivalents are: boolean, byte, currency, date, double, integer, long, single, string, variant.
To make a variable by reference, use * in the type name, eg. i1*
To assign a name to a variable for later reference after a call, append it to the type, eg. i1* varname
When using a variant you must also specify the variable type after it, eg. variant bool.
Added in 1.9.4
$comcall(name,alias,member,method,type1,value1,...,typeN,valueN)
This calls a member of an open COM connection with the specified method and parameters.
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.
Returns: 1 = ok, 0 = fail.
Parameters
Parameter | Description |
name | Connection name. |
alias | Alias to call when the call is finished. |
member | Member name. |
method | Combination of the method values added together (see below). |
type | The variable type (see below), |
value | The value assigned to the variable type. |
Methods
Method | Description |
1 | DISPATCH_METHOD |
2 | DISPATCH_PROPERTYGET |
4 | DISPATCH_PROPERTYPUT |
8 | DISPATCH_PROPERTYPUTREF |
Types
Can be: i1, i2, i4, ui1, ui2, ui4, int, uint, r4, r8, cy, date, decimal, bool, bstr, variant, dispatch, unknown, error.
VB equivalents are: boolean, byte, currency, date, double, integer, long, single, string, variant.
To make a variable by reference, use * in the type name, eg. i1*
To assign a name to a variable for later reference after a call, append it to the type, eg. i1* varname
When using a variant you must also specify the variable type after it, eg. variant bool.
Added in 1.9.4
$comerr
This should be checked after a call to any COM command or identifier. Returns 1 if there was an error, else 0.
Added in 1.9.4
$comval(name,N,member, [&binvar])
Returns COM member value for the Nth instance of the enumerated collection in name.
Parameters
Parameter | Description |
name | Name of the COM connection. |
N | If N = 0, return number of items, otherwise The Nth item. |
member | Member value to get. |
[&binvar] | Adds the result to the specified &binvar instead. (changes return value to number of bytes added) |
Properties
Property | Description |
.result | Used with [&binvar]. |
Parameters in [x] means they are optional.
Parameters in <x> means they are required.
Parameters with a x|y means either x or y can be used.
Click on a command to read more about it.
Commands in bold is AdiIRC only.
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Z
Output from these are set in Options -> Sysinfo and are merely convenient aliases.
/sysinfo
/gfxinfo
/cpuinfo
/meminfo
/diskinfo
/audioinfo
/uptime
/bw
/bigfloat
/dccserver
/donotdisturb
/dqwindow
/finger
/flood
/flush
/fserve
/ghide
/gload
/gmove
/gopts
/gplay
/gpoint
/gqreq
/gshow
/gsize
/gstop
/gtalk
/gunload
/ialclear
/links
/localinfo
/pdcc
/pop
/pvoice
/qme
/qmsg
/registration
/save
/sound
/speak
/strip
/tnick
/tray
/vcadd
/vcmd
/vcrem
/vmsg
/vnotice
/winhelp
/wallchops
/wallvoices
/! prefix will execute the internal command, even if there is a alias with the same name.
Example:
; Override the /me command, alias me { ; use the /! prefix to call the internal command. /!me $1- }
/. prefix can be used to silence the output from many command.
Example:
/.msg #channel This message will be hidden from your client, but still sent to the server.
Both prefix's can be used at the same time.
Example:
/!.msg #channel This message will be hidden from your client, but still sent to the server.
/!& prefix allows delaying evaluation of the last parameter if the parameter is a %variable, this allows using consecutive spaces in commands such as /me and /msg. (AdiIRC only)
Example:
; Put a double spaced text inside the variable '%s'. //var %s test $chr(32) $chr(32) test ; Call the /msg command using the /!& prefix to delay the evaluation of '%s'. /!&msg # %s ; limited support for text preceding the %var as the final token, preceding text MUST NOT contain the '%' char //var %a a $chr(32) b | !&echo -a %a | !&echo -a test1 %a | !&echo -a %test2 %a
Typing a command in the Editbox with double slashes// will evaluate $identifiers in the line before running it.
E.g //echo -ag My nick is $me
You can also tabcomplete $identifiers manually using $me<tab>.
You can create a new command by opening the menu Tools -> Edit Aliases.
The format for the command is <command> <script to execute>.
Example
; Creates a new command '/p' which will evaluate and then execute the script '/part $chan'. /p /part $chan
You can also add a command from the script editor, the syntax there is alias <command> <script to execute>
Example
; Creates a new command '/p' which will evaluate and then execute the script '/part $chan'. ; Same as previous example. alias p /part $chan
If you want to use scripts with multiple lines, you can enclose them with {} brackets in both Edit Aliases and Script Editor.
Example
; Edit Aliases /p { /echo -ag I am parting $chan /part $chan } ; Script editor alias p { /echo -ag I am parting $chan /part $chan }
Almost all built-in commands can be overridden to execute your own script.
Example
; Create your own /part command alias part { /echo -ag I am parting $chan raw PART $chan } ; Create your own /part command, but execute the built-in /part command after executing your own script. alias part { /echo -ag I am parting $chan ; Execute the built-in part command !part $chan }
A command can also be called as a $identifier.
Example
; Create a command. alias mycommand { echo -ag I was called as a $iif($isid,identifier,command) } ; Call the command as identifier. //noop $mycommand ; Call the command as a command. /mycommand
Added in 1.9.0
/window [-aAbBcCde[N]fg[N]hHij[N]k[N]l[N]mMn[N]opq[N]rRsST[N]uvw[N]xz] [-tN,..,N] [+bdeflLmnstx] <@name> [rgb|[x y [w h]]] [/command] [popup.txt] [font [size]] [iconfile [N]]
Creates or manipulates a custom window with a Topicbox/Editbox/Text area/Listbox depending on the parameters used, see Custom Windows for more information.
If -p is specified, a picture window is created which can be custom drawn using various commands/identifiers, see Picture Windows for more information.
Option Switches
Switch | Description |
---|---|
-a | Set as the active window. |
-b | TODO |
-B | Prevent window from using an internal border. |
-c | Close window. |
-C | Center window. |
-d | Create desktop window instead of child. |
-e[N] | Enable Editbox; 0 = single, 1 = multi, 2 = auto, 3 = default. |
-f | Makes the w h the required width and height of the text display area. (instead of the window size) |
-g[N] | Sets/removes window button color, 0 = normal color, 1 = message color, 2 = highlight color, 3 = system color (3 is (AdiIRC only)). |
-h | Hide window. |
-H | Enables auto-hide for a side-listbox. |
-i | Dynamically associate with whatever happens to be the active connection. |
-j[N] | Sets buffer size to N lines. |
-k[N] | Hides the @ prefix in the window name, 0 = hide prefix, 1 = show prefix. |
-l[N] | Add listbox, if N is specified then a side-listbox N characters wide is created. |
-m | Enable line marker in the window. |
-M | TODO |
-n[N] | Minimize window ([N] = TODO) |
-o | Sets the windows as the top most window. (used with -d) |
-p | Creates a picture windows. |
-q[N] | If N is 0 hides the nick column, if N is 1 shows the nick column. (AdiIRC only) |
-Q[N] | If N is 0 disables "Show on Desktop", if N is 1 enables "Show on Desktop". (AdiIRC only) |
-r | Restore window. |
-R | TODO |
-s | Sort the main window, whether text or listbox. (only listbox for now) |
-S | Sort the side-listbox. |
-A | Indicates the [rgb] parameter is defined, sets the forms transparency key to [rgb]. (AdiIRC only) |
-T[N] | Enable Topicbox; 0 = Show, 1 = Show Sticky, 2 = Off, 3 = default. (AdiIRC only) |
-u | Remove ontop setting of a desktop window. |
-v | Close window when associated status window is closed. |
-w[N] | Show/hide window from Treebar or Switchbar; 0 = hide from both, 1 = show in Switchbar, 2 = show in Treebar, 3 = show in both |
-x | Maximize window |
-z[N] | if N = 1, places window button at end of Switchbar/Treebar, if N = 0, restores original place. (Default is 1) |
-Z | Reset the window icon to default. |
Tab Switches
Switch | Description |
---|---|
-tN,..,N | TODO |
Appearance Switches
These causes graphical glitches for MDI windows because .net MDI does not like windows without proper borders.
Switch | Description |
---|---|
+b | Border. |
+d | No border. |
+e | 3d Edge. |
+f | Dialog frame. |
+l | Tool window. |
+L | Tool window. (hide from taskbar) |
+n | Minimize box. |
+s | Sizeable. |
+t | Titlebar. |
+x | Maximize box. |
Parameters
Parameter | Description |
---|---|
<@name> | Window name. |
[rgb] | The $rgb value used with the -t parameter. |
x y [w h] | Left top [width height] - position and size of window. (A -1 value for any of the parameters means use default (or existing) value). |
/command | Default command. |
popup.txt | Popup filename, must be plane text file. TODO |
font [size] | Font name [font size]. |
iconfile [N] | Sets a custom Titlebar icon for the window. (N = TODO) |
Example
alias example1 { ; Create a desktop + picture window, Coordinates: (250,250), size 300x300. /window -dep @Example 250 250 300 300 ; Color it with the control code color 3. (default is green) /drawfill @Example 3 3 1 1 100 100 ; Draw text "Hello world!". /drawtext @Example 1 Arial 30 50 100 Hello World! ; Close the window. /window -c @Example }
Added in 1.9.0
/titlebar [@window] <text>
Sets the main application Titlebar. If you specify a custom @window name, then the Titlebar for that custom window is changed.
Parameters
Parameter | Description |
[@window] | Window to change the title. |
<text> | Title text to set. |
Example
; Changes AdiIRC's titlebar to Hello world! /titlebar Hello world! ; Open a custom window. /window -e @Example ; Changes @Example Titlebar to Hello world! /titlebar @Example Hello world!
Added in 1.9.2
/renwin <@oldname> <@newname> [topic]
Allows you to change the name of an existing window to a different one, and an optional topic can be specified.
Parameters
Parameter | Description |
<@oldname> | Current window name. |
<@newname> | New window name. |
[topic] | Window topic/title. |
Example
; Open a custom window. /window -e @Example1 ; Rename @Example1 to @Example2 and add topic 'Hello world'. /renwin @Example1 @Example2 Hello World
Added in 1.9.1
/dline [-hlSW] <@name> <N[-N2]>
Deletes the Nth line through N2th line in a custom window.
Switches
Switch | Description |
-h | Highlights the window's node in the treebar if the window is not active. |
-l | Specify the action to take place on the side-listbox. |
-S | Use status window. (AdiIRC only) |
-W | Allow using a channel or query window name for @name. (AdiIRC only) |
Parameters
Parameter | Description |
<@name> | Name of the custom window. |
<N[ | N2]> - The range to be deleted, (negative values are not accepted) |
Example
alias example { ;Open a custom window. /window -de @Foo ;Add a line, line colored in yellow. (8) /aline 8 @Foo Line A ;Add a line, color Dark Green. (3) /aline 3 @Foo Line B ;Add a line, color Dark Green. (3) /aline -s 3 @Foo Line C ;Add a line, color Dark Green. (3) /aline -s 3 @Foo Line D ;Delete line 2 and 3 with range 2-3, only A D remain. /dline @Foo 2-3 }
Added in 2.2
/iline [-ahilnpsbTNSW] [color] <@name> <N> <text>
Inserts <text> into the Nth line in a custom window named <@name>.
Switches
Switch | Description |
-a | Selects the newly added item while keeping the old selection in a listbox |
-h | Highlights the window's node in the Treebar/Switchbar is the window is minimized |
-iN | Indents the wrapped line by N characters. |
-l | Specify the action to take place on the side-listbox |
-n | Prevent the line from being added if it already exists |
-p | TODO |
-s | Clears the old selection in a listbox and selects the newly added item |
-b | Indicates the [c] color is in $rgb format. (AdiIRC only) |
-TN | Apply timestamp prefix options. N is a optional UTC value to use for the timestamp. (AdiIRC only) |
-S | Use status window. (AdiIRC only) |
-W | Allow using a channel or query window name for @name. (AdiIRC only) |
Parameters
Parameter | Description |
[color] | Line color number. |
<@name> | The custom window name. |
<N> | The line number to insert the text at. |
<text> | The text to add. |
Example
; Open a custom window. /window -de @Example ; Add 3 blue colored lines. /aline 12 @Example Line1 /aline 12 @Example Line2 /aline 12 @Example Line3 ; Insert a red colored lines at line number 2 /iline 4 @Example 2 Line4
Added in 1.9.5
/rline [-ahslbTNSW] [c] <@name> <N> <text>
Replaces the Nth line in any window with a new line.
Switches
Switch | Description |
-a | Selects the newly added item while keeping the old selection in a listbox. |
-h | Highlights the window's node in the treebar is the window is not active. |
-s | Clears the old selection in a listbox and selects the newly added item. |
-l | Specify the action to take place on the side-listbox, |
-b | Indicates the [c] color is in $rgb format. (AdiIRC only) |
-TN | Apply timestamp prefix options. N is a optional UTC value to use for the timestamp. (AdiIRC only) |
-S | Use status window. (AdiIRC only) |
-W | Allow using a channel or query window name for @name. (AdiIRC only) |
Parameters
Parameter | Description |
[c] | An optional color number for the line |
<@name> | Name of the window. |
<N> | The line to change. |
<text> | Text to insert. |
Example
alias example { ; Open a custom window. /window -de @Example ; Add a line with the text 'Line A'. /aline @Example Line A ; Add a line with the text 'Line B'. /aline @Example Line B ; Add a line with the text 'Line C'. /aline @Example Line C ; Change the text of the second line to 'Line D'. /dline @Example 2 Line D }
Added in 1.9.3
/cline [-bhlmrSW] [c] <#channel|@name> <N|nick>
Changes the color of the Nth line or nick to color [c].
If [c] is not defined, the line will be reset to default color.
Switches
Switch | Description |
-b | Indicates the [c] color is in $rgb format. (AdiIRC only) |
-h | Highlights the window's button. (if window is not active) |
-l | Apply to side-listbox. |
-m | TODO |
-r | Reset an item in the side-listbox to default; [c] parameter must be omitted. |
-t | Apply to text buffer. (AdiIRC only) |
-S | Use status window. (AdiIRC only) |
-W | Allow using a channel or query window name for @name. (AdiIRC only) |
Parameters
Parameter | Description |
[c] | Optional line color. |
<@name> | Custom window name. |
<N|nick> | Line number or matching side-listbox item/nick to color. |
Example
alias example { ; Open a custom window. /window @Example ; Add a 'Hello World' line to the custom window. /aline @Example Hello World ; Change the color of the first line to red (4). /cline 4 @Example 1 ; Change the color of the first line to rgb color blue /cline -b $rgb(0,0,255) 1 }
Added in 1.9.0
/sline [-arSW] <#channel> <N|nick>
Selects or de-selects lines in a channel nickname listbox. It can select either the Nth nickname in a listbox, or a specified nickname.
Switches
Switch | Description |
-a | Appends selection to current selection. |
-r | Deselects instead of selects. |
-S | Use status window. (AdiIRC only) |
-W | Allow using a channel or query window name for @name. (AdiIRC only) |
Parameters
Parameter | Description |
<#channel> | Channel where the listbox is located. |
<N|nick> | Nick or the Nth nick to select. |
Added in 1.9.0
$window(N/@name/@wildcard, M)
Returns properties for a window.
See also /window.
Parameters
Parameter | Description |
---|---|
N/name/ wildcard |
Name of the window or the Nth window. (@wildcard is also possible if M is defined) |
M | The Nth @wildcard match. (optional) |
If N is -1 | returns properties for the desktop area. |
If N is -2 | returns properties for the AdiIRC main window. |
If N is -3 | returns properties for the MDI client area of the main window. |
Properties
Propertie | Description |
---|---|
.x | Horizontal position of the window relative to the mainform. |
.y | Vertical position of the window relative to the mainform. |
.w | Window width. |
.h | Window height. |
.cx | TODO |
.cy | TODO |
.dx | Horizontal position of the window relative to the desktop. |
.dy | Vertical position of the window relative to the desktop. |
.dw | Width of the Text Area. |
.dh | Height of the Text Area. |
.bw | Width of the bitmap for a picture window. |
.bh | Height of the bitmap for a picture window. |
.mdi | $true if the window is a MDI window/docked, otherwise $false |
.title | The text of the window Titlebar. |
.state | minimized/maximized/hidden/normal. |
.font | Name of the current font. |
.fontsize | Size of the current font using the current display DPI. |
.fontdialogsize | The real size of the current font. |
.fontbold | $true if the font is bold, otherwise $false. |
.fontitalic | $true if the font is italic, otherwise $false. |
.fontunderline | $true if the font is underline, otherwise $false. |
.fontcs | returns the character set of the current font. |
.logfile | Name of logfile if one is open for the window. |
.historyfile | Name of the file Editbox history will be saved to. (AdiIRC only) |
.iconfile | Name of the icon file used for a custom icon. (AdiIRC only) |
.backgroundfile | Name of the background file used for a custom background. (AdiIRC only) |
.backgroundlayout | Gets background layout for this window. (AdiIRC only) |
.stamp | $true if timestamp is on for this window, otherwise $false. |
.icon | $true if icon is visible in Switchbar otherwise $false. |
.ontop | $true if window is on top otherwise $false. |
.type | Window type, channel/status/query/custom/picture/chat/tool/panel. |
.anysc | $true if the window was created with the /window -i parameter, otherwise $false. |
.wid | Window id. |
.cid | Connection id. |
.hwnd | Window handle. |
.sbtext | Switchbar button text for this window. |
.sbcolor | Switchbar color event event/message/highlight for this window. |
.sbstate | Switchbar button state (1 = visible, 0 = not visible) for this window. |
.tbtext | Treebar text for this window. |
.tbstate | Treebar state (1 = visible, 0 = not visible) for this window. |
.lb | listbox state (2 = side listbox, 1 = listbox, 0 = no listbox) for this window. |
.topicbox | Topicbox state (2 = Show sticky, 1 = show, 2 = off) for this window. (AdiIRC only) |
.idle | idle state. |
.isbottom | $true if the Text Area is scrolled to the bottom, otherwise $false. (AdiIRC only) |
.unread | Returns number of unread messages. (this include system messages, use .sbcolor to check the type, AdiIRC only) |
.layer | Returns the window layer. (AdiIRC only) |
.mscrollpos | Returns the current scrollbar position for the Text Area. (AdiIRC only) |
.mscrollmax | Returns the max scrollbar position for the Text Area. (AdiIRC only) |
.collapsed | Returns $true if the associated Status Window is collapsed in the Treebar, otherwise $false. (AdiIRC only) |
.eb | Returns 1 if the window has a Editbox, otherwise 0. (AdiIRC only) |
.fullscreen | Returns $true if the window is fullscreen, otherwise $false. |
Added in 1.9.0
$line(@window|#channel|nick|Status Window,N,[T])
Returns the Nth line of text in the specified window.
Works on any window.
Parameters
Parameter | Description |
@window|#channel|nick|Status Window | The window to retrieve text from. |
N | If N = 0 number of lines, otherwise the Nth line. |
[T] | If T = 0 use display area (default) if T = 1, use side-listbox. (optional) |
Properties
Property | Description |
.state | Returns 1 if the line is selected in a side-listbox, otherwise 0. |
.color | Returns the line or nick color. |
.rgbcolor | For side-listbox returns the line color in $rgb format, otherwise returns the rgb line color if any (AdiIRC only) |
.nickcolumn | Gets the line with the nickcolumn character intact. (AdiIRC Only) |
Example
; Create a custom window. /window @Example ; Add a few lines to the window. /aline @Example Test1 /aline @Example Test2 /aline @Example Test3 ; Print number of lines in the window. //echo -ag $line(@Example, 0) ; Print the second line in the window. //echo -ag $line(@Example, 2)
Added in 1.9.0
$fline(@name,wildtext,[N],[T],[S])
Returns Nth position of line which matches the specified wildcard text.
See also $flinen.
Parameters
Parameter | Description |
@name | The custom window name to search. |
wildtext | Wildcard text to search for. |
[N] | If N = 0 returns number of matches, otherwise the Nth match. (Optional, default is 1) |
[T] | If T = 0 reference the display area (default), If T is 1, it references the listbox, 2 implies that wildtext is a regular expression, and 3 for both. (Optional) |
[S] | Start the search at the Sth line. |
Properties
Property | Description |
.text | Returns the matched text. |
Example
; Open a custom window. /window @Example ; Add some lines /aline @Example Test1 /aline @Example Test2 /aline @Example Test3 ; Search the display area for the wildtext 'Text*' and print number of results. //echo -ag $fline(@Example, Test*, 0) ; Search the display area for the wildtext 'Text*' and print the second result. //echo -ag $fline(@Example, Test*, 2)
Added in 1.9.0
$sline(@name,N)
Returns the Nth selected line in a listbox.
Parameters
Parameter | Description |
@name | The window name. |
N | If N = 0, returns the total number of selected lines in the window, otherwise the Nth line. |
Properties
Property | Description |
.ln | Returns the line number of Nth selected line. |
Example
; Create a custom window with a listbox. /window -l @example ; Add some items to the listbox. /aline @example Test1 /aline @example Test2 /aline @example Test2 ; Select the second line in the listbox. /sline @example 2 ; Print the number og selected lines in the listbox. //echo -ag $sline(@example, 0) ; Print the value of the first selected line in the listbox. //echo -ag $sline(@example, 1) ; Print the line number of the first selected line in the listbox. //echo -ag $sline(@example, 1).ln
Added in 1.9.0
/dialog -abcdefghijklmnoprstuvx <name> [newname|table] [x y w h] [text|filename] [N]
Allows you to create a modeless dialog with the -m switch.
See also $dialog, on DIALOG, Dialog Items.
Switches
Switch | Description |
-a | Used with -m, uses currently active window as the parent. |
-b | Interprets size as dbu. |
-c | Click cancel button. |
-d | Open dialog on the desktop, used with -m. |
-e | Restores the dialog if created on the desktop. |
-f | Hides the window borders. (AdiIRC only) |
-g | Renames existing dialog using <name> <newname>. |
-h | Make dialog work with active server connection. TODO |
-i | Minimize the dialog if created on the desktop. |
-j | Shows the window borders/allows resizing the dialog window. (AdiIRC only) |
-k | Click the "ok" button. |
-l | TODO |
-m | Create a modeless dialog using 'table'. |
-n | Unset ontop setting. |
-o | Set dialog ontop of all windows. |
-p | Interprets size as pixels. |
-r | Centers dialog. |
-s | Set dialog position/size. |
-t | Set dialog title to 'text'. |
-u | Set dialog icon to 'filename'. (AdiIRC only) |
-v | Makes the dialog the active window. |
-x | Close a dialog without triggering any events. |
Parameters
Parameter | Description |
<name> | Name of the dialog to create. |
[newname] | Newname used with -g |
[table] | Name of the dialog table to use. |
[x y w h] | X/Y Position on the desktop and the Height/Width of the dialog. |
[text|filename] | Dialog title text or dialog icon filename. |
[N] | Icon index. (AdiIRC only, used with -u) |
Example
; Create a dialog table. Dialog Example1 { title "This is Example 1" size -1 -1 172 129 option dbu tab "Tab A", 14, 2 0 165 123 tab "Tab B", 15 tab "Tab C", 16 edit "", 17, 8 16 154 104, tab 16 multi return autohs vsbar menu "&File", 1 item "&New", 6, 1 item "&Open", 7, 1 item break, 8, 1 item "&Save", 9, 1 item "Save &as", 10, 1 menu "&Edit", 2 item "&Copy", 11, 2 item "P&aste", 12, 2 menu "&view", 3 item "&All", 13, 3 menu "&Help", 4 item "&About", 5, 4 } ; Create and show the dialog as modeless and on the desktop. /dialog -md Example1 Example1
Added in 1.9.0
/did -abcdefghijklmnorstuvz <name> <id> [n] [text | filename | start [end]]
The /did command allows you to modify the values of controls in a dialog,
Switches
Switch | Description |
-a | Add line of text to end. |
-b | Disable id. |
-c | Check checkbox/radiobutton list/combo line. |
-d | Delete Nth line. |
-e | Enable id. |
-f | Set focus on id. |
-g | Set a new icon/image to an icon control. |
-h | hide id |
-i | Insert text at Nth line. |
-j | Resets the edited setting in an editbox. TODO |
-k | Works with -cu, keeps other selections in a listbox. |
-l | Uncheck the checkbox of an item in a listcb control. |
-m | Disables editbox. |
-n | Enables editbox. |
-o | Overwrite Nth line with text. |
-r | Clear all text in id. |
-s | Checks the checkbox of an item in a listcb control. |
-t | Set id as default button. |
-u | Uncheck checkbox/radiobutton list/combo line. |
-v | Make id visible. |
-z | Resets the width of horizontal scrollbar in listbox. TODO |
Parameters
Parameter | Description |
<name> | Name of the dialog. |
<id> | Id of the control to edit, you can use the form N-N1,N2-N3 to change multiple id's at once, 1-5,6,9 would change the following ids: 1,2,3,4,5,6,9. |
[n] | Usually a line number, it can also be an id number with menus, use 0 if you want to access the editbox of a combo control. |
[text] | The text parameter if applicable. |
[filename] | Filename used with -g. |
|start [end] | Used with -z to set the range of a scrollbar, or with -c to set a selection |
Added in 1.9.0
/didtok <name> <id> <c> <text>
Tokenizes a string by character c, then adds the result to a dialog list/combo/edit box.
Parameters
Parameter | Description |
<name> | Name of the dialog. |
<id> | Id of the dialog control. |
<c> | ASCII value to tokenize by. |
<text> | Text to tokenize. |
Example
; Dialog table layout. dialog colors { size -1 -1 100 200 list 1, 10 10 80 180 } ; Run the dialog. /dialog -m colors colors ; Tokenize the string "red blue orange yellow" by whitespace and insert result into the list control. /didtok colors 1 32 red blue orange yellow
Added in 1.9.0
$did
Returns the id of the matched dialog id during a on DIALOG event.
Example
on *:DIALOG:*:*:{ echo -ag The matched dialog id is $did }
$did([name},id,[N])
Returns settings and values from a dialog item.
See also /dialog, on DIALOG, Dialog Items.
Parameters
Parameter | Description |
[name] | If specified, name of the dialog otherwise $dname from the current event is used. (optional) |
id | Id of the dialog item. |
[N] | If N = 0, get number of lines, otherwise the Nth line for a item with multiple lines. (optional) |
Properties
Property | Description |
.text | Returns line or Nth line. |
.len | Returns length of line or length of Nth line. |
.lines | Returns number of lines. |
.sel | If N = 0, returns number of lines otherwise the Nth selected line. |
.seltext | Returns selected text in an editbox or first selected item in a listbox. |
.selstart | Returns select start character in editbox line. |
.selend | Returns select end character in editbox line. |
.edited | Returns $true if text in editbox was changed, otherwise $false. |
.state | Returns 0 = off, 1 = on, and 2 = indeterminate. |
.next | Returns id of next control in tab key order. |
.prev | Returns id of previous control in tab key order. |
.visible | Returns $true if the control is visible, otherwise $false. |
.enabled | Returns $true if the control is enabled, otherwise $false. |
.isid | Returns $true if id exists in the dialog, otherwise $false. |
.csel | If N is 0, returns number of checked lines, otherwise line number of the Nth checked box in a listcb control. |
.cstate | Returns 0 = off, 1 = on for item in a listcb control (listbox created using the check parameter). |
.type | Returns the dialog item type. (AdiIRC only) |
Added in 1.9.0
$didwm([name],id,wildtext,[N])
Returns the number of the line that matches the wildtext, with the search starting at line N.
Parameters
Parameter | Description |
[name] | If specified, name of the dialog otherwise $dname from the current event is used. (optional) |
id | Id of the dialog item. |
wildtext | The wildtext to search. |
[N] | If N = 0, number of matches, otherwise the Nth match. (optional) |
Added in 1.9.0
$didreg([name],id,regex,[N])
Returns the number of the line that matches the regular expression, with the search starting at line N.
Parameters
Parameter | Description |
[name] | If specified, name of the dialog otherwise $dname from the current event is used. (optional) |
id | Id of the dialog item. |
regex | The regular expression to perform. |
[N] | If N = 0, number of matches, otherwise the Nth match. (optional) |
Added in 1.9.1
$didtok([name],id,C)
Returns a tokenized list of the items in a dialog list/combo/edit box.
Parameters
Parameter | Description |
[name] | If specified, name of the dialog otherwise $dname from the current event is used. (optional) |
id | Id of the dialog item. |
C | The ASCII value to tokenize by. |
Added in 1.9.0
on <level>:DIALOG:<name>:<event>:<id>
Triggers when a dialog item state is changed, e.g clicking a button or types text in a Editbox.
See also $dname, $devent, $did, /dialog, $dialog, Dialog Items.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The dialog name that this event triggers for; wildcards accepted.
<event> - The dialog event that this event triggers for; wildcards accepted.
<id> - The id name of the dialog item to listen for; wildcards accepted. Multiple IDs can be specified in the form: 1,2,3,4-8,9
<commands> - The commands to be performed when the event listener's criteria is met.
Events
Event | Description |
active | Triggers when the dialog is made active. |
close | Triggered when a dialog has been closed. |
dclick | Occurs when a double left-click has occurred in a list box or combo box, as well as on the dialog itself. |
drop | Triggers when an item has been dragged and dropped with the mouse. |
edit | When text in an Editbox or a combo box has changed. |
init | This event ID is 0, and triggers before a dialog is displayed. This allows initialization time for the dialog and its items. |
menu | Whenever a menu-item is selected. |
mouse | When the mouse is moved. |
rclick | Works when the mouse right-clicks. |
sclick | Occurs during a single-click in a list box/combo box, during check/uncheck of radio/check buttons, or during the click of a button. |
scroll | A scrollbar control position has changed. |
uclick | Left mouse button has been released/gone up. |
The /dll, $dll and $dllcall features allow you to make calls to DLL's designed to work with AdiIRC. The main reason you would want to do this is that processing information in a DLL can be far faster than doing so in a script, so for intensive data processing a DLL would be more efficient.
If you want to create a DLL for use with AdiIRC you need to create a specific routine like this in your DLL file.
For technical reasons, the DLL must be compiled for 64 bit on 64 bit versions of AdiIRC.
int __stdcall procname(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause)
"procname" is the name of the routine you will call from AdiIRC, you can create as many as you need and they can be named anything.
You may need to create a .def file with the "procname" names exported when compiling your DLL.
mWnd - The handle to the main AdiIRC window.
aWnd - The handle of the window in which the command is being issued, this might not be the currently active window if the command is being called by a remote script.
data - The information that you wish to send to the DLL. On return, the DLL can fill this variable with the command it wants AdiIRC to perform if any.
parms - Can be filled by the DLL on return with parameters that it wants AdiIRC to use when performing the command that it returns in the data variable.
show - Is FALSE if the . prefix was specified to make the command quiet, or TRUE otherwise.
nopause - Is TRUE if AdiIRC is in a critical routine and the DLL must not do anything that pauses processing in AdiIRC, eg. the DLL should not pop up a dialog.
The routine can return an integer to indicate what it wants AdiIRC to do:
0 - Means that AdiIRC should /halt processing.
1 - Means that AdiIRC should continue processing.
2 - Means that it has filled the data variable with a command which it wants AdiIRC to perform, and has filled parms with the parameters to use, if any, when performing the command.
3 - Means that the DLL has filled the data variable with the result that $dll as an identifier should return.
By default a DLL is unloaded immediately after you make the /dll, $dll or $dllcall call. You can keep a DLL loaded by including a LoadDll() routine in your DLL, which AdiIRC calls the first time you load the DLL:
void __stdcall LoadDll(LOADINFO*);
typedef struct {
DWORD mVersion;
HWND mHwnd;
BOOL mKeep;
BOOL mUnicode;
DWORD mBeta;
DWORD dBytes;
} LOADINFO;
mVersion - Contains the AdiIRC version number in the low and high words.
mHwnd - Contains the window handle to the main AdiIRC window.
mKeep - Set to TRUE by default, indicating that AdiIRC will keep the DLL loaded after the call. You can set mKeep to FALSE to make AdiiRC unload the DLL after the call.
mUnicode - Indicates that text is in unicode as opposed to ansi.
mBeta - Contains the AdiIRC beta version number, for public beta releases.
dBytes - Maximum byte size for the mData parameter.
You can unload a loaded DLL by using the -u switch:
/dll -u <filename>
AdiIRC will automatically unload a DLL if it is not used for ten minutes, or when AdiIRC exits.
You can also define an UnloadDll() routine in your DLL which AdiIRC will call when unloading a DLL to allow it to clean up.
int __stdcall UnloadDll(int mTimeout);
mTimeout can be:
0 - UnloadDll() is being called due to a DLL being unloaded with /dll -u
1 - UnloadDll() is being called due to a DLL not being used for ten minutes. The UnloadDll() routine can return 0 to keep the DLL loaded, or 1 to allow it to be unloaded.
2 - UnloadDll() is being called due to a DLL being unloaded when AdiIRC exits.
Supported <level> prefixes:
& - Ignore the event if another event has already halted the text.
^ - Enable halt events. (hide default text output from the event)
! - Ignore events made by you.
@ - Only trigger if you have channel op.
$ - Indicate the wildcard text is a regular expression.
me: - Ignore events not made by you.
[+]<level> - Level to match.
Various actions in AdiIRC causes an event to be triggered, these events can be listened to and commands can be performed when they trigger.
Events in bold are AdiIRC only.
See also $event, $eventtarget, $matchkey, $halted, $stripped, $ulevel, $clevel.
AGENT
CHATOPEN
DCCSERVER
NOSOUND
VCMD
SERV
SERVCLOSE
SERVOPEN
Added in 1.8.10
/fopen [-nox] <handle> <filename>
Opens the specified file and assigns a name to it for later reference. The open fails if the file does not exist.
See also /fclose, /fwrite, /fseek, /flist, $fread, $fgetc, $feof, $ferr, $fopen.
Switches
Switch | Description |
-n | Creates the file if it does not exists, fails if the file exists. |
-o | Creates a new file, overwrites if it exists. |
-x | Opens the file in exclusive access. |
Parameters
Parameter | Description |
<handle> | Handle to assign the file. |
<filename> | Path/Filename to open. |
Example
alias fopen_example { ;Open hello.txt file. /fopen -n h hello.txt ;Error check if ($ferr) { /echo -sce info * /fopen_example: $err /halt } ;Write 'Hello There' to the file. /fwrite h Hello There ;Close the handle. /fclose h ;Open file in default editor. /run hello.txt }
Added in 1.8.10
/fclose <handle>
Closes the file associated with this handle.
If you specify a wildcard, all matching handles are closed.
See also /fopen, /fwrite, /fseek, /flist, $fread, $fgetc, $feof, $ferr, $fopen.
Parameters
Parameter | Description |
<handle> | The handle to close. |
Example
alias example { ; Open a file. /fopen -o x example.txt ; write to the file. /fwrite x Print this line. ; Close the file handle. /fclose x }
Added in 1.8.10
/fseek [-lnrwp] <handle> <position | line number | wildcard | regex>
Sets the read/write pointer to the specified position in the file.
See also /fopen, /fclose, /fwrite, /flist, $fread, $fgetc, $feof, $ferr, $fopen.
Switches
Switch | Description |
-l | Set position to line 'line number'. |
-n | Set position to start of the next line. |
-r | Set position to text matching 'regex'. |
-w | Set position to text matching 'wildcard'. |
-p | Set position to start of the previous line. |
Parameters
Parameter | Description |
<handle> | The file handle to seek. |
<position | line number | wildcard | regex> | The position/Line number with -l/Wildcard with -w/regex with -w to set. |
Added in 1.9.0
/write [-cidnaiNmN l<line> s<text> w<wildcard> r</regex/>] <filename> [text]
Writes lines to a text file.
Switches
Switch | Description |
-c | Clears the entire file before writing to it. |
-i | Inserts the text at a given line instead of replacing it. |
-d | Deletes the given or last line. |
-n | Prevent adding $crlf at the end of the text. |
-a | Appends the text to an existing line. |
-lN | Line number for the line to write/modify/delete. |
-sN | Operates on a line that matches the scanned <text>. |
-wN | Operates on a line that matches the scanned <wildcard> pattern. |
-r | same as -w - but uses a regular expression match. |
-mN | changes how $crlf are written to the end of a file, where N = 0 is the default behavior, N = 1 adds $crlf to end of file if it is not already there before writing a line, and N = 2 never adds $crlf to end of file before writing a line. |
Parameters
Parameter | Description |
<line> | The line number to find. |
<text> | The text to scan. |
<wildcard> | Wildcard pattern to match. |
</regex/> | Regular expression pattern to match. |
<filename> | The file name to manipulate. |
[text] | The text to be written to the file. |
Example
alias example { ; Create a file and add a few lines of text to it. /write Example.txt this is a cool line /write Example.txt hello there! /write Example.txt text files are cool ; Locate the line that starts with "hello" and insert the following text before it. /write -is"Hello" Example.txt This will become line 2! ; Delete line 1. /write -dl1 Example.txt }
Added in 1.9.4
/filter [-asdfhHNkwxnpriocteubglLzNDE] [n-n2] [c s] <infile | dialog id> <outfile | dialog id | alias> [alias] <matchtext>
Scans lines of text in a window, file or dialog control, any matches are then written out to another window, file, or dialog control.
The order of the switch are important, they define what is the infile and what is the outfile, see the examples for more information.
You can filter blank lines by specifying $crlf for the matchtext.
The $filtered identifier will retrieve the number of matches found.
Switches
Switch | Description |
-w | Indicates the parameter is a window. |
-f | Indicates the parameter is a file. |
-a | Sorts filtered lines by calling the optional [alias] parameter, the alias is passed two lines, $1 and $2, it must compare both and return -1, 0, or 1 to indicate relative sort order of these lines to each other. |
-x | Excludes matching lines. |
-n | Prefixes lines with a line number. (the Nth match) |
-d | TODO |
-s | Indicates the status window will be used. |
-p | TODO (AdiIRC always wraps lines) |
-r | Specifies the range of lines n to n2 for filtering. |
-b | Strips any control codes when matching text. |
-g | Indicates the matchtext is a regular expression. |
-z | Retains line colors when filtering between custom windows. |
-k | Indicates that you have specified an <alias> as the output instead of a window name. The alias will be called with the result of each filtered line with the form $<alias>($1) where $1 is the matched line. |
-i | Indicates that you have provided a [dialog id] custom dialog control as the input. |
-o | Indicates that you have provided a [dialog id] custom dialog control as the output. |
-c | Clears the output window/file before writing to it. |
-t | Sorts the output based on [c s], column C using character S as the columns separator. |
-e | Used with -t, specifies a descending sort. |
-u | Used with -t, specifies a numeric sort. |
-l | Filters from the side-listbox in the first window. |
-L | Filters to the side-listbox in the second window. |
-hN | TODO |
-H | Halt the running /filter loop if used inside the [alias]. (AdiIRC only) |
-N | Keep the nickcolumn character when filtering from a window. (AdiIRC only) |
-E | Filters from the Editbox up/down history in the first window. (AdiIRC only) |
-D | Filters to the Editbox up/down history in the second window. (AdiIRC only) |
Parameters
Parameter | Description |
[n | n2] - if -r is used, indicates the range of lines to be scanned* |
[c s] | if -t is used, indicates how to do the sort |
<infile | dialog id> | if no switch implies a window's name to be use as the infile, you must provide an infile (a window, a file, or a dialog control) |
<outfile | dialog id | alias> | if no switch implies a window's name to be used as the outfile, you must provide an outfile (a window, a file, a dialog control, or an alias name if -k is used) |
[alias] | Optional alias called if -a is used. |
<matchtext> | The expression used for the search, if $null is used, it matches everything. |
Example
;Filter from the file "c:\my file.txt" to the custom window @mywin. /filter -fw "c:\my file.txt" @mywin *findthis* ;Filter from the custom window @mywin to the file "c:\my file.txt". filter -wf @mywin "c:\my file.txt" *findthat* ;Filter from the status window to the single message window. /filter -sd *findthis* ;Filter from the single message window to the status window. /filter -ds *findthat* ;Filter from the filename @this_is_a_file to the dialog 'dialog', id '1'. /filter -fo @this_is_a_file dialog 1 *findthis* ;Filter from a file and call an alias for each line. /filter -fk file myalias *findthat* ;Filter from a file to a file using regex. /filter -ffg file1 file2 /regex here/ alias sortexample { ;Create 2 windows. /window @asd1 /window @asd2 ;Add some unordered lines. aline @asd1 cccc3|cccc2|cccc1 aline @asd1 aaaa3|aaaa2|aaaa1 aline @asd1 bbbb3|bbbb2|bbbb1 ;Sort by column "1" where column separator is "|" (ascii char 124). (equal to $gettok(cccc3|cccc2|cccc1, 1, 124)) /filter -twwc 1 124 @asd1 @asd2 }
Added in 1.9.0
/loadbuf [lines] [-acNegilmnoprst<topic>] <window | dialog id> <filename>
Loads the specified number of lines from the end of the file of filename into the specified window.
Switches
Switch | Description |
-a | Loads the text into the active window. |
-cN | Specifies the default color (N) for the line being read. |
-e | Evaluates variables and identifiers in the line being read. |
-g | TODO |
-i | TODO |
-l | Reads the lines into side-listbox in a custom window. |
-m | Indicates that the logging text is already timestamped. |
-n | Logs the loaded text to a log file, if logging is enabled for that window |
-o | Indicates that you have specified the [dialog id] parameters instead of a window name in order to load lines into a custom dialog control. |
-p | TODO |
-r | Clears the contents of the output window before adding read lines. |
-s | Reads the lines into the associated status window. |
-t<topic> | Loads the text under the [topic] section in an INI or plain text file. |
Parameters
Parameter | Description |
[lines] | If specified, the number of lines to add from the end the file, otherwise the whole content of the file is added. |
<window | dialog id> | Window or dialog id to load into. |
<filename> | File to load. |
Example
; Open a custom window. /window @Example ; Read 10 lines from the AdiIRC config file into the custom window //loadbuf 10 -r @Example $qt($adiircini) ; Only loads the [Messages] AdiIRC section of the config file. //loadbuf -rTMessages @Example $qt($adiircini)
Added in 1.9.4
/savebuf [-aglosNn] [n1-n2] <window | dialog id> <filename>
Saves the specified number of lines from the end of the buffer of the specified window into the specified filename.
Switches
Switch | Description |
-a | Append the text to the end of the file. |
-l | Use side-listbox. |
-o | Indicates that you have specified [dialog id] parameters instead of a window name in order to save text from a custom dialog control. |
-s | Use status window. |
-N | Keep the nickcolumn character when saving a window. (AdiIRC only) |
-p | Strip all control codes. |
-n | TODO |
Parameters
Parameter | Description |
n1-n2 | Save only lines n1 to n2 starting from the end of the buffer. (if no lines are specified, all lines are saved) |
<window | dialog id> | Window or dialog/dialogid to save from. |
<filename> | Filename to save to. |
Added in 1.9.6
/copy [-aop] <filename> <filename/directory>
Copies a file to another filename or directory.
Switches
Switch | Description |
-a | Appends the source file to the target file. |
-o | Overwrites the target file if it exists. |
-f | Flushes copy to disk immediately. |
-p | Preserves accessed/created/modified timestamps. |
Parameters
Parameter | Description |
<filename> | Filename to copy from. (Can be a wildcard) |
<filename/directory> | Filename or directory to copy to. |
Example
; Copy all the files in directory 'aaa' into directory 'bbb'. /copy aaa bbb ; Copy file 'aaa.png' into folder 'bbb' /copy aaa.png bbb
Added in 1.9.0
_
/rename [-of] <filename> <new filename>
Renames a file or folder, can also be used to move a file or folder to another location.
Switches
Switch | Description |
-o | Overwrites the target file if it exists. |
-f | Flushes copy to disk immediately. |
Parameters
Parameter | Description |
<filename> | File/folder to rename or move. |
<new filename> | New filename/foldername. |
Example
/rename E:\example.txt "E:\renamed with spaces.txt"
Added in 1.9.0
/remove [-b] <filename>
Deletes the specified file.
Switches
Switch | Description |
-b | Move the file to the recycle bin instead of deleting it. |
Parameters
Parameter | Description |
<filename> | File to remove. |
Example
;Create and write to a file. /write test.txt Hello There ;Remove the file. /remove test.txt
Added in 1.9.0
/rmdir <dirname>
Deletes the specified directory but only if it is empty.
Parameters
Parameter | Description |
<dirname> | Directory to delete. |
Example
;Delete folder $adiircdir $+ test /rmdir test ;Delete folder "c:\test folder" /rmdir "c:\test folder"
Added in 1.9.0
/mkdir <dirname>
Creates the specified directory.
Parameters
Parameter | Description |
<dirname> | Directory to create. |
Examples
;Create directory $adiircdir $+ test /mkdir test ;Create directory "c:\test directory" /mkdir "c:\test directory"
Added in 1.8.3
/paths [-dilorst]
No parameters shows current install and config directory paths.
Switches
Switch | Description |
-d | Opens dcc directory. |
-i | Opens dictionary directory. |
-l | Opens log directory. |
-o | Opens config directory. |
-r | Opens install directory. |
-s | Opens scripts directory. |
-t | Opens themes directory. |
Added in 1.5
/run [-ahnp] <filename|url> [arguments]
Runs the specified program.
If a URL is entered, default browser will be used.
See also $exec.
Filenames using spaces must be enclosed in quotes unless the filetype is .exe or .bat when passing arguments.
Switches
Switch | Description |
-a | Ask to run the application as a administrator. |
-h | Hide the application in context. |
-n | Minimizes the window of the program. |
-p | Sets the working path to the path of the program. |
-u | If AdiIRC is running as admin, runs the program without admin right. |
Parameters
Parameter | Description |
<filename|url> | File or url to run. |
[arguments] | Arguments list to be passed to the program. |
Example
; Open www.adiirc.com. /run www.adiirc.com ; Open notepad. /run notepad.exe ; Open firefox to the url 'www.adiirc.com'. /run C:\Program Files\firefox.exe www.adiirc.com
Added in 1.9.0
$crc(text|&binvar|filename,[N])
Returns the CRC checksum of the specified item.
Parameters
Parameter | Description |
text|&binvar|filename | Value to calculate CRC checksum from. |
N | 0 = plain text, 1 = &binvar, 2 = filename (content of the file), 2 is default. |
Added in 1.9.0
$exists(file|dir)
Returns $true if a file or dir exists otherwise $false.
Parameters
Parameter | Description |
file|dir | File or directory. |
Example
; Check if file exists if ($exists(c:\windows\notepad.exe) file exists ; Check if directory exists if ($exists(c:\windows) directory exists
Added in 1.8.10
$file(filename|foldername|name)
Returns information about the specified file or folder.
Default returns file size.
Same as $lof.
Parameters
Parameter | Description |
filename|foldername|name | Filename or folder or open file in $fopen to retrieve information from. |
Properties
Property | Description |
.size | File size in bytes. (returns 0 for folders) |
.ctime | Creation time. (unix timestamp) |
.mtime | Last modification time. (unix timestamp) |
.atime | Last access time. (unix timestamp) |
.shortfn | Short file name. |
.longfn | Full file name. |
.attr | File attributes. |
.sig | Returns "ok" if digital signed, else "none". |
.version | Returns the file version, if any. |
.path | The path directory. |
.name | The filename without the file extension. |
.ext | The file extension. |
.pid | Returns the first process id started by this file. (AdiIRC Only) |
Example
; Show AdiIRC.exe filesize //echo -ag $file($adiircexe).size ; Show explorer.exe digital signature //echo -ag $file(c:\windows\explorer.exe).sig
Added in 1.9.0
$finddir(dir,wildcard,N,[depth],[@window|command])
Searches the specified directory and its sub directories for the Nth directory name matching the wildcard specification and returns the full path and directory if it is found.
If /halt is used in the [command], the search is halted instead of the entire script.
Parameters
Parameter | Description |
dir | The directory to search. |
wildcard | Wildcard to search for. |
N | If N = 0, number of directories, otherwise the Nth directory. |
[depth] | Maximum folder depth. (optional) |
[@window|command] | Custom window name to fill with the result or a command to run on each result. (optional) |
Properties
Property | Description |
.shortfn | Return the path in a shortfn format. |
Example
; Print number of sub directories found in $adiircdir. //echo -ag $finddir($adiircdir,*.*,0) ; Print the 1st directory found. //echo -ag $finddir($adiircdir,*.*,1) ; Print all sub directories in $adiircdir, when using the command parameter, $1- will hold the path. //noop $finddir($adiircdir,*.*,0,echo -ag $1-)
Added in 1.9.0
$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.
If /halt is used in the [command], the search is halted instead of the entire script.
Parameters
Parameter | Description |
dir | The directory to search. |
wildcard | Wildcard to search for. |
N | If N = 0, number of files, otherwise the Nth filename. |
[depth] | Maximum folder depth. (optional) |
[@window|command] | Custom window name to fill with the result or a command to run on each result. (optional) |
Properties
Property | Description |
.shortfn | Return the path in a shortfn format. |
Example
; Print number of filenames found in $adiircdir. //echo -ag $findfile($adiircdir,*.*,0) ; Print the 1st filename found. //echo -ag $findfile($adiircdir,*.*,1) ; Print all filenames in $adiircdir, when using the command parameter, $1- will hold the path. //noop $findfile($adiircdir,*.*,0,echo -ag $1-)
Added in 1.9.0
$getdir
Returns the DCC download directory specified in Options -> DCC.
$getdir(filespec)
Returns the DCC download directory matching the filespec, otherwise the directory specified in Options -> DCC.
Parameters
Parameter | Description |
filespec | The filespec. |
Example
; Get the directory for .mp3 files. //echo -ag $getdir(*.mp3)
Added in 1.8.10
$isdir(dirfile)
Returns $true if the specified directory exists, otherwise $false.
Parameters
Parameter | Description |
dirfile | Directory to check. |
Example
; Check if 'windows' exists. //if ($isdir(C:\Windows)) echo -ag directory exists
Added in 1.8.10
$isfile(file)
Returns $true if the specified file exists, otherwise $false.
Parameters
Parameter | Description |
file | File to check. |
Example
; Check if notepad.exe exists. //if ($isfile(C:\Windows\notepad.exe)) echo -ag file exists
Added in 1.9.0
$lines(filename)
Returns the total number of lines in the specified text file.
Parameters
Parameter | Description |
filename | Filename to read from. |
Example
;Open a file for writing /fopen file file.txt ;Write a line to the file /fwrite file Hello World ;Close the file /fclose file ;Print the number of lines in file.txt //echo -ag $lines(file.txt) <pre>
Added in 1.8.10
$logdir
Returns the Logs directory set in Options -> Logging -> Log folder.
Added in 1.9.0
$longfn(filename)
Returns the long version of a short filename.
Parameters
Parameter | Description |
filename | The filename. |
Example
alias Example { ; Get the shortfn of AdiIRC.exe var %short $shortfn($adiircexe) ; Print the long filename echo -ag $longfn(%short) vs %short }
{{include($shortfn}}
Added in 1.9.0
$mircexe
Returns the full path and filename of the AdiIRC executable file.
Same as $adiircexe.
Can be used inside text without being surrounded by white spaces.
Example
//echo -ag the adiirc exe file is $mircexe.. notice how $mircexeisreplacedhere
Added in 1.9.0
$adiircexe
Returns the full path and filename of the AdiIRC executable file.
In combination with $~ this can be used to test which client is running the script. You cannot assume the client name based on the filename.exe, but instead testing whether $adiircexe exists as a built-in identifier. The $~ prefix allows the test to evade the presence of a custom alias of that name, and it also does not trigger the optional identifier warning.
//if (!$~adiircexe) echo -a this script is not running in AdiIRC
Same as $mircexe.
Can be used inside text without being surrounded by white spaces.
Example
//echo -ag the adiirc exe file is $adiircexe.. notice how $adiircexeisreplacedhere
Added in 1.9.0
$mircini
Returns the full path and filename of the AdiIRC settings file (config.ini).
Same as $adiircini.
Can be used inside text without being surrounded by white spaces.
Example
//echo -ag the adiirc ini file is $mircini .. notice how $mirciniisreplacedhere
Added in 1.9.0
$adiircini
Returns the full path and filename of the AdiIRC settings file (config.ini).
Same as $mircini.
Can be used inside text without being surrounded by white spaces.
Example
//echo -ag the adiirc ini file is $adiircini.. notice how $adiirciniisreplacedhere
Added in 1.9.0
$mircdir
Returns the directory where AdiIRC stores its settings, themes, scripts and so on.
Same as $adiircdir.
Can be used inside text without being surrounded by white spaces.
Example
; Print the scripts folder, no space after $mircdir is needed. //echo -ag $mircdir\Scripts
Added in 1.9.0
$adiircdir
Returns the directory where AdiIRC stores its settings, themes, scripts and so on.
Can be used inside text without being surrounded by white spaces.
Same as $mircdir.
Example
; Print the scripts folder, no space after $adiircdir is needed. //echo -ag $adiircdir\Scripts
Added in 1.9.0
$scriptdir
Returns the directory of the currently executing script.
Can be used inside text without being surrounded by white spaces..
Example
; Print the script directory. //echo -ag current scriptdir is $scriptdir ; Print the script directory inside text. //echo -ag $scriptdir\somefile.ini
Added in 1.9.0
$mkfn(filename)
Replaces invalid filename characters with underscore.
Parameters
Parameter | Description |
filename | The filename to format. |
Example
; Format the filename 'tes\t.txt' to 'tes_t.txt' //echo -ag $mkfn(tes\t.txt)
Added in 1.9.0
$mklogfn(filename)
Returns the filename formatted according to options set in Options -> Logging.
Parameters
Parameter | Description |
filename | The filename to format. |
Added in 1.9.0
$mknickfn(nickname)
Formats a nick for use as a valid filename.
Removes certain characters from the nick.
Parameters
Parameter | Description |
nickname | The nickname to format. |
Example
; Format the nickname 'tes\t' to 'test' //echo -ag $mknickfn(tes\t)
Added in 1.9.0
$msfile(dir,[title],[oktext])
Displays the multiple select file dialog and returns the number of selected files.
Parameters
Parameter | Description |
dir | Starting folder in the file dialog. |
[title] | Dialog title text. (optional) |
[oktext] | TODO (optional) |
Example
; Select some files and print the number of selected files. //echo -ag Number of selected files is $msfile($adiircdir, Select Files)
$msfile(N)
Returns the Nth file from the last $msfile selection.
Parameters
Parameter | Description |
N | If N = 0, number of selected files, otherwise the Nth selected file. |
Example
; Select some files. //noop $msfile($adiircdir, Select Files) ; Print the first selected file. //echo -ag First selected file was $msfile(1)
Added in 1.9.0
$nofile(filename)
Returns the path in filename without the actual filename.
Parameters
Parameter | Description |
filename | The filename to extract the path from. |
Example
; Print the path 'c:\windows\notepad.exe' without the filename. //echo -ag $nofile(c:\windows\notepad.exe)
Added in 1.9.0
$nopath(filename)
Returns filename without a path if it has one.
Parameters
Parameter | Description |
filename | The filename/path to get the filename from. |
Example
; Print the filename for the path 'c:\windows\notepad.exe'. //echo -ag $nopath(c:\windows\notepad.exe)
Added in 1.9.0
$read(filename, [ntswrp], [matchtext], [N])
Returns a single line of text from a file.
See also $readn.
Parameters
Parameter | Description |
filename | Filename to read. |
[ntswrp] | (optional) |
[matchtext] | Matchtext to search. (optional) |
[N] | The Nth line. |
Options
Option | Description |
n | Don't evaluate any identifiers in the line. |
t | Treat the first line as a plain text, even if it's a number. |
s | Search for matchtext. |
w | Search for case-insensitive matchtext as a wildmatch. |
W | Search for case-sensitive matchtext as a wildmatch. (AdiIRC only) |
r | Search for matchtext as a regular expression. |
p | Treat command | separators as such instead of as plain text. |
Example
; Prints a random line from the file 'file.txt'. //echo $read(file.txt) ; Prints line '10' from the file 'file,txt. //echo $read(file.txt, 10) ; Searches file 'file,txt for a line beginning with the text 'Hello World' and prints the text following the match value. //echo $read(file.txt, s, Hello World) ; Searches file 'file.txt' for a line matching the wildmatch '*Hello World*' and prints it. //echo $read(file.txt, w, *Hello World*)
Added in 1.9.0
$readn
Returns the line number that was matched in a previous call to $read. If no match was found, $readn is set to zero.
Example
; Read a random line from the file 'file.txt'. //noop $read(file.txt) ; Print the line number from the last $read. //echo -ag Line number from the last read was: $readn
Added in 1.9.0
$sdir(dir,[title],[oktext])
Displays the select folder dialog and returns the selected folder.
Parameters
Parameter | Description |
dir | Starting folder in the folder dialog. |
[title] | Dialog title text. (optional) |
[oktext] | TODO (optional) |
Example
; Open the folder dialog. //echo -ag $sdir(c:\windows,Select Folder)
Added in 1.9.0
$sfile(file,[title],[oktext])
Displays the select file dialog and returns the selected file.
Parameters
Parameter | Description |
file | Start filename filter in the file dialog. |
[title] | Dialog title text. (optional) |
[oktext] | TODO (optional) |
Example
; Open the file dialog. //echo -ag $sfile(*.*,Select File)
Added in 1.9.7
$sysdir(item)
Returns the system folder for the specified item.
Parameters
Parameter | Description |
item | The item to retrieve: profile, desktop, documents, downloads, music, pictures and videos. |
Example
; Retrieve the documents folder //echo -ag Documents folder is $sysdir(documents)
Added in 1.9.0
$fopen(name|N)
Returns information about an open file.
See also /fopen, /fclose, /fwrite, /fseek, /flist, $fread, $fgetc, $feof, $ferr.
Parameters
Parameter | Description |
name|N | Name of an open file, If N = 0 number of open files, otherwise the Nth open file. |
Properties
Property | Description |
.fname | Returns the name associated with the file. |
.pos | Returns the current position in the file. |
.eof | Returns $true if the position is as the end of the file, otherwise $false. |
.err | TODO |
.line | Returns the current line position. (AdiIRC only) |
Example
; Open a file. /fopen Example Example.txt ; Print number of open files. //echo -ag $fopen(0) ; Print information about the 'Example' file. //echo -ag $fopen(Example) position is $fopen(Example).pos ; Close the file. /fclose Example
Added in 1.9.0
$fread(name|N)
Returns the next $crlf delimited line from an open file from the current position.
See also /fopen, /fclose, /fwrite, /fseek, /flist, $fgetc, $feof, $ferr, $fopen.
Parameters
Parameter | Description |
name|N | Name of the file or the Nth file. |
Properties
Property | Description |
.back | Returns the previous $crlf delimited line from an open file from the current position. (AdiIRC only) |
Example
; Open a file. /fopen Example Example.txt ; Add some text to the file. /fwrite Example Hello World ; Read the next line. //echo -ag Next line is: $fread(Example) ; Close the file. /fclose Example ; Delete the file. /remove Example
$fread(name|N, M, &binvar)
Reads M bytes from an open file to a &binvar.
Parameters
Parameter | Description |
name|N | Name of the file or the Nth file. |
M | Number of bytes to read from current position. |
&binvar | The &binvar to read into. |
Properties
Property | Description |
.back | Returns M bytes from an open file to a &binvar backwards. (AdiIRC only) |
Added in 1.9.0
$fgetc(name|N)
Returns the next character from current position in an open file.
See also /fopen, /fclose, /fwrite, /fseek, /flist, $fread, $feof, $ferr, $fopen.
Parameters
Parameter | Description |
name|N | Name of the file or the Nth file. |
Example
; Open a file. /fopen Example Example.txt ; Add some text to the file. /fwrite Example Hello World ; Read the next character. //echo -ag Next char is: $fgetc(Example) ; Close the file. /fclose Example ; Delete the file. /remove Example
Added in 1.9.0
$feof
Returns $true if end of file was reached during the last file access attempt, otherwise $false.
Can be used inside text without being surrounded by white spaces.
See also /fopen, /fclose, /fwrite, /fseek, /flist, $fread, $fgetc, $ferr, $fopen.
Example
; Open a file. /fopen Example Example.txt ; Add some text to the file. /fwrite Example Hello World ; Read the text. //echo -ag $fread(Example) ; Close the file. /fclose Example ; Delete the file. /remove Example ; Print the status from $feof. //echo -ag File $IIf($feof,was,was not) read to end
Added in 1.9.0
$ferr
Returns any errors during the last file access attempt.
Can be used inside text without being surrounded by white spaces.
See also /fopen, /fclose, /fwrite, /fseek, /flist, $fread, $fgetc, $feof, $fopen.
Example
; Print the status from $ferr. //echo -ag Error was: $ferr
Added in 1.9.0
/hmake [-s] <name> <N>
Creates a new hash table with N slots.
See also /hsave, /hload, /hfree, /hadd, /hdel, $hget, $hfind.
Switches
Switch | Description |
-s | Displays a creation result. |
Parameters
Parameter | Description |
<name> | The hashtable name to create. |
<N> | The initial number of hashtable items. |
Example
; call the setup once ; /example ; ; //echo -a $abbr(lol) ; alias example { ;Create the table. /hmake abbr 1000 ;Populate the table. /hadd abbr lol laughing out load /hadd abbr omg oh my gosh /hadd abbr lmao laughing my a?? off /hadd abbr brb be right back } ; get the abbreviation alias abbr return $hget(abbr, $1)
Added in 1.9.0
/hfree [-sw] <name>
Deletes a hash table.
See also /hsave, /hsave, /hmake, /hadd, /hdel, $hget, $hfind.
Switches
Switch | Description |
-s | Displays the result. |
-w | Indicates name is a wildcard. |
Parameters
Parameter | Description |
<name> | The hashtable to delete. |
Example
alias example { ;Create the hash table 'hash'. /hmake hash ;Print the hashtable size. echo -a $hget(hash) : $hget(hash).size ;Creates the hash table 'h' with 10 items. /hmake h 10 ;Creates the hash table 'has' with 20 items. /hmake has 20 ;Delete hash table 'hash'. /hfree -s hash ;Print the hashtable size. /echo -a $hget(h) : $hget(h).size - $hget(has) : $hget(has).size ;Deletes any hash tables matching h* /hfree -sw h* }
Added in 1.9.0
/hadd [-bcmsuNz] <name> <item> [text | &binvar]
Adds an item to an existing hash table.
See also /hsave, /hload, /hmake, /hfree, /hdel, $hget, $hfind.
Switches
Switch | Description |
-b | Indicates &binvar is set. |
-c | Chop the &binvar to first null byte. |
-m | Creates the table if it does not exist. |
-s | Displays the result. |
-uN | Unset the item after N seconds. |
-z | Decreases the item once per second until it reaches zero and then unsets it. |
Parameters
Parameter | Description |
<name> | The hash table to add to. |
<item> | The hash table item to add to. |
[text | &binvar] | The text or &binvar value to add. |
Example
; call the setup once ; /abbr_setup ; ; //echo -a $abbr(lol) ; alias abbr_setup { ;Populate the table, create it if it does not exist. hadd -m abbr lol laughing out load hadd abbr omg oh my gosh hadd abbr lmao laughing my a?? off hadd abbr brb be right back } ;Get the abbreviation. alias abbr return $hget(abbr, $1)
Added in 1.9.0
/hdel [-sw] <name> <item>
Deletes an item from a hash table.
See also /hsave, /hload, /hmake, /hfree, $hget, $hfind.
Switches
Switch | Description |
-s | Displays the result. |
-w | Indicates item is a wildcard. |
Parameters
Parameter | Description |
<name> | The hashtable to delete from. |
<item> | The hashtable item to delete. |
Example
alias example { ; Create a hash table /hadd -m example academic a ; Add some items to the hash table.. /hadd example academy a /hadd example accelerate a /hadd example accelerator a /hadd example accept a /hadd example access a /hadd example accident a /hadd example because b ; Print number of items. //echo -a $hget(example, 0).item ; Remove everything matching wildcard 'a*'. /hdel -w example a* ; Print number of items. //echo -a $hget(example, 0).item ; Free table. /hfree example }
Added in 1.9.0
/hload [-bBins] <name> <filename> [section]
Loads a table from a file.
See also /hsave, /hmake, /hfree, /hadd, /hdel, $hget, $hfind.
Switches
Switch | Description |
-b | Loads binary files. $cr and $lf are preserved when saving as binary files. Ignored if -i switch used. |
-B | Uses a larger index than -b to allow longer binary data to be saved. This is not compatible with files created by the -b switch. |
-i | Treats the file as an ini file. You can specify an optional section name after the filename. |
-n | Load file as data only, with no items. When loading with -n each line of data is assigned an N item value, starting at N = 1. |
-m | Creates the table if it does not exist. (AdiIRC only) |
-s | Displays the result. |
Parameters
Parameter | Description |
<name> | The hashtable to load into. |
<filename> | The filename of the saved hashtable to load. |
[section] | Hashtable file section to load. |
Added in 1.9.0
/hsave [-abBinsu] <name> <filename> [section]
Saves a hash table to a file.
See also /hload, /hmake, /hfree, /hadd, /hdel, $hget, $hfind.
Switches
Switch | Description |
-s | Displays the result. |
-b | Saves binary files. $cr and $lf are preserved when saving as binary files. Ignored if -i switch used. |
-B | Uses a larger index than -b to allow longer binary data to be saved. This is not compatible with files created by the -b switch. |
-i | Treats the file as an ini file. You can specify an optional section name after the filename. |
-n | Load file as data only, with no items. When loading with -n each line of data is assigned an N item value, starting at N = 1. |
-a | Appends to an existing file instead of overwriting it. |
-u | Includes unset items. |
Parameters
Parameter | Description |
<name> | The hash table to save. |
<filename> | The filename to save to. |
[section] | Section of ini tile to save to. (used witth -i) |
Added in 1.9.0
/hdec [-bcmsuNzB] <name> <item> [num | &binvar]
Decreases the value of the item by 'num'.
Switches
Switch | Description |
-b | Indicates &binvar is set. |
-c | Chop the &binvar to first null byte. |
-m | Creates the table if it does not exist. |
-s | Displays the result. |
-uN | Unset the the item after N seconds. |
-z | Decreases the item once per second until it reaches zero and then unsets it. |
-B | Performs a $calcint calculation instead of regular $calc when arithmetic operators are used. (AdiIRC only) |
Parameters
Parameter | Description |
<name> | The hashtable where the item resides. |
<item> | The hashtable item to decrease. |
[num | &binvar] | The number or &binvar to decrease by. |
Example
alias countdown { ;Adds the item down with a value of 10 to the table count. hadd -m count down 10 echo -a $hget(count,down) $+ ! :repeat ;Checks if the value of down returns true. if ($hget(count,down) > 1) { ;decreases down by 1 hdec count down ;echos the current count echo -a $hget(count,down) $+ ! ;repeats goto repeat } ;If the previous if statement returns false it carries on with this. else echo -a 0, Hurray! hfree -s count }
Added in 1.9.0
/hinc [-bcmsuNzB] <name> <item> [num | &binvar]
Increases the value of the item by 'num'.
Switches
Switch | Description |
-b | Indicates &binvar is set. |
-c | Chop the &binvar to first null byte. |
-m | Creates the table if it does not exist. |
-s | Displays the result. |
-uN | Unsets the item after N seconds. |
-z | Decreases the item once per second until it reaches zero and then unsets it. |
-B | Performs a $calcint calculation instead of regular $calc when arithmetic operators are used. (AdiIRC only) |
Parameters
Parameter | Description |
<name> | The hashtable where the <item> is stored. |
<item> | The hashtable item to increase. |
[num | &binvar] | The number or &binvar to increase by. |
Example
alias example { ;Create a hashtable. /hmake -s example ;Add a few items. /hadd example item1 4 /hadd example item2 7 /hadd example item3 9 ;Print the items. /echo -a item1 = $hget(example, item1) /echo -a item2 = $hget(example, item2) /echo -a item3 = $hget(example, item3) ;Increase the values. /hinc example item1 5 /hinc example item2 12 /hinc example item3 1 /echo -e - ;Print the items. /echo -a item1 = $hget(example, item1) /echo -a item2 = $hget(example, item2) /echo -a item3 = $hget(example, item3) ;Cleanup. /hfree -s example }
Added in 1.9.4
$hash(text, B)
Returns a hash number based on text where B is the number of bits to use when calculating the hash number.
Parameters
Added in 1.9.0
table(ktable).
|*Parameter*|*Description*|
$hget(name|N)
Returns name of a hash table if it exists, or returns the name of the Nth hash table.
See also /hsave, /hload, /hmake, /hfree, /hdel, $hfind.
Parameters
Parameter | Description |
name|N | Name of the hashtable or If N = 0, number of hashtables, otherwise the Nth hashtable name. |
Properties
Property | Description |
.size | Returns the size of the hashtable as specified in /hmake. |
Example
; Create a hashtable. /hmake Example ; Print number of hashtables. //echo -ag $hget(0) ; Print name and size of the first hashtable. //echo -ag $hget(1) - $hget(1).size
$hget(name|N, item|N, [&binvar])
Returns the data associated with an item in the specified hash table.
Parameters
Parameter | Description |
name|N | Name of the hashtable or the Nth hashtable name. |
item|N | Name of the item or if N = 0 number of items, otherwise the Nth item. |
[&binvar] | Assigns the contents of the item to a &binvar. (optional) |
Properties
Property | Description |
.data | Returns the item value. |
.item | Returns the item name. |
.unset | Returns number of seconds before the item is automatically removed (if set). |
.hash | TODO |
.state | TODO |
Example
; Create a hashtable /hmake Example ; Add a item to the hashtable /hadd Example ExampleItem ExampleValue ; Print number of items in the hastable. //echo -ag $hget(Example, 0) ; Print information about the first item in the hashtable. //echo -ag Name is $hget(Example, 1).item Value is $hget(Example, 1).data Unset at $hget(Example, 1).unset
Added in 1.9.0
$hfind(name|N,text,[N],[options],[@window|command])
Searches table for the Nth item name which matches text and returns the item name.
See also /hsave, /hload, /hmake, /hfree, /hdel, $hget.
Parameters
Parameter | Description |
name|N | Name of the hash table or the Nth hash table. |
text | Text to search for. |
[N] | If N = 0, number of matches, otherwise the Nth match. (optional) |
[options] | Options. |
[@window|command] | if @window is defined, fills the side-listbox with the results, otherwise the command is run on each result. |
Options
Option | Description |
n | Normal text comparison. (default if M is not specified) |
w | Text is wildcard text. |
W | Hash table item/data is wildcard text. |
r | Text is a regular expression. |
R | Hash table item/data is a regular expression. |
N | Use case-sensitive match. (AdiIRC only) |
H | /halt will halt the running script if used inside the [command]. (AdiIRC only) |
Properties
Property | Description |
.data | Search for a matching data value instead of item name. |
Example
; Searches hash table 'Example' for all items using and runs the command 'echo -ag $1-' on each result, $1- holds the item name or data. //echo -ag result: $hfind(Example, *, 0, w, echo -ag $1-) ; Searches the hash table 'Example' and prints the number of matches. //echo -ag result: $hfind(Example, *, 0, w) ; Searches the hash table 'Example' and prints the first matched item. //echo -ag result: $hfind(Example, *, 1, w) ; Searches the hash table 'Example' and prints the first matched data. //echo -ag result: $hfind(Example, *, 1, w).data
Added in 2.0
$hmatch(name|N,text,[N])
Searches table for the Nth item name which matches text using a wildcard pattern and returns the item name.
See also /hsave, /hload, /hmake, /hfree, /hdel, $hget.
Parameters
Parameter | Description |
name|N | Name of the hash table or the Nth hash table. |
text | Text to search for. |
[N] | If N = 0, number of matches, otherwise the Nth match. (optional) |
Properties
Property | Description |
.data | Search for a matching data value instead of item name. |
Example
; Searches the hash table 'Example' and prints the number of matches. //echo -ag result: $hmatch(Example, *, 0) ; Searches the hash table 'Example' and prints the first matched item. //echo -ag result: $hmatch(Example, *, 1) ; Searches the hash table 'Example' and prints the first matched data. //echo -ag result: $hmatch(Example, *, 1).data
Click on a identifier to read more about it.
Identifiers in bold is AdiIRC only.
$
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
$agent
$agentname
$agentstat
$agentver
$caller
$cd
$cmdbox
$dir
$donotdisturb
$dqwindow
$factorial
$fibonacci
$find
$fserv
$hfile
$id
$inmode
$link
$lock
$nonstdmsg
$notags
$numbits
$rnick
$speak
$ssldll
$ssllibdll
$sslversion
$vc
$vcmd
$vcmdstat
$vcmdver
Added in 1.9.0
/writeini [-nz] <inifile> <section> <item> <value>
Switches
Switch | Description |
-n | Forces AdiIRC to write to an INI file, even if it's bigger then 64k (obsolete) |
-z | Allow writing empty <value>. |
Parameters
Parameter | Description |
<inifile> | The file to write to. |
<section> | The section to write. |
<item> | The item to write. |
<value> | The value to write. |
Example
;Write a few items to a file. /writeini abb.ini abbreviations lol Laughing Out Loud /writeini abb.ini abbreviations rofl Rolling On the Floor, Laughing ;Print a line from abb.ini. //echo -a $readini(abb.ini, n, abbreviations, lol)
Added in 2.4
/saveini
Updates all AdiIRC-related INI files with the current settings.
Saves everything which is normally only saved when closing AdiIRC, vars.ini, main window size/position, Monitor Panels positions, Titlebar text etc.
Added in 1.9.0
/remini <inifile> <section> [item]
Deletes whole sections or single items in an INI file.
Parameters
Parameter | Description |
<inifile> | Ini file where the section is located. |
<section> | Section in the ini file to remove. |
[item] | Item in the section to remove. |
Examples
;Remove the entire section TEST in file.ini. /remini file.ini TEST ;Remove only the testitem element from the TEST section in file.ini. /remini file.ini TEST testitem
Added in 1.9.6
/flushini <filename>
Does nothing since ini files are written directly in AdiIRC.
Parameters
Parameter | Description |
<filename> | The filename to flush. (Ignored) |
Added in 1.9.0
$ini(file,topic|N,[item|N])
Returns the name/Nth position of the specified topic/item in an INI/text file.
See also $readini.
Same as $initopic.
Parameters
Parameter | Description |
file | File to read from. |
topic|N | Topic or the Nth topic, if N = 0 number of topics, otherwise the Nth topic. |
[item|N] | Item or the Nth item, if N = 0 number of item, otherwise the Nth item. (optional) |
Examples
; Print number of topics in '$adiircini'. //echo -ag $ini($adiircini,0) ; Print the name of the first topic in '$adiircini. //echo -ag $ini($adiircini,1) ; Check if the topic 'Messages' exists. //echo -ag $ini($adiirc,Messages)
Added in 1.9.0
$readini(filename, [np], section, item)
Returns a single line of text from an INI file.
See also $ini.
Parameters
Parameter | Description |
filename | INI file to read from. |
[np] | (optional) |
[n] | Don't evaluate any identifiers. |
[p] | command | separators are treated as such instead of as plain text. |
section | The INI section to read from. |
item | The INI item to read. |
Example
; Read $adiircini and retrieve the section 'Messages' and the item 'Timestamp'. //echo -ag $readini($adiircini, Messages, Timestamp)
Added in 1.9.9
$initopic(file,topic|N,[item|N])
Returns the name/Nth position of the specified topic/item in an INI/text file.
See also $readini.
Same as $ini.
Parameters
Parameter | Description |
file | File to read from. |
topic|N | Topic or the Nth topic, if N = 0 number of topics, otherwise the Nth topic. |
[item|N] | Item or the Nth item, if N = 0 number of item, otherwise the Nth item. (optional) |
Examples
; Print number of topics in '$adiircini'. //echo -ag $initopic($adiircini,0) ; Print the name of the first topic in '$adiircini. //echo -ag $initopic($adiircini,1) ; Check if the topic 'Messages' exists. //echo -ag $initopic($adiirc,Messages)
You can edit most AdiIRC menus in the Menu Editor located at Menubar -> Tools -> Edit Menus.
Status - Edit the status menus.
Channel - Edit the channel menus.
Query - Edit the query menus.
Nicklist - Edit the nicklist menus.
Menubar - Edit the menubar menus.
ChannelLink - Edit the channel link menus. (AdiIRC only)
Link - Edit the regular link menus. (AdiIRC only)
A menu syntax consists of <Menu text><colon><Menu command>.
For this reason, only one colon is allowed in a menu, neither the text nor the command can contain any other colons for the menu to work properly.
$chr(58) can be used to add a colon in most cases.
Example
; Add a new menu item with the text "Query", when clicked, execute "/query $1" where $1 means the first word given to this menu, usually a nick. Query:/query $1
Menu commands can also contain multiple lines, if so they must be enclosed with curly brackets.
Example
; Add a new menu item with the text "Query", when clicked, execute both "/query $1" and "/whois $1". Query:{ /query $1 /whois $1 }
See also $menu, $menutype, $menucontext, $mouse.
The "menu" prefix can also be used in a custom script to add more items to a menu, the syntax is the same.
Example
; Add a new menu item with the text "Whois", when clicked execute "/whois $1". menu nicklist { Whois:/whois $1 }
Multiple menus can be targeted with the same menu item by separating them with comma.
Example
; Add a new menu item for nicklist and channels with the text "Hello World", when clicked execute "/echo -ag Hello World". menu nicklist,channel { Hello World:/echo -ag Hello World }
Wildcards can also be used.
Example
; Add a new menu item for all menus with the text "Hello World", when clicked execute "/echo -ag Hello World". menu * { Hello World:/echo -ag Hello World } ; Add a new menu item for all custom window menus with the text "Hello World", when clicked execute "/echo -ag Hello World". menu @* { Hello World:/echo -ag Hello World }
The menu hierarchy is determined by punctuation marks.
This works in both the Menu Editor and in a custom script using the Menu prefix.
Example
menu nicklist { ; Create a upper menu item called "Tools", notice you don't need a colon for the upper menu. Tools ; Use a punctuation mark to put a sub menu item inside "Tools" .Whois:/whois $1 ; Use a punctuation mark to put another sub menu item inside "Tools" .Who:/who $1 ; Create another upper menu item called "Operate" Operate ; Use a punctuation mark to put a sub menu item inside "Operate" .Kill:kill $1 ; Create a sub menu item called "Operate More" inside "Operate" .Operate More ; Use two punctuation marks to put a sub menu item inside "Operate More" ..Kill again:kill $1 }
Hyphen (-) can be used to add a menu separator.
Example
menu nicklist { ; Create a upper menu item called "Tools". Tools ; Add a separator. - ; Create another upper menu item called "More Tools". More Tools ; Create a submenu. .Submenu ; Add a separator inside the submenu. ; Separators need the same amount of punctuations "." as the submenu itself. .- ; Create another submenu. .Submenu2 }
It's possible to merge menu items with other menu items using the same text.
Example
; Both "Apple" and "Banana" will be shown in the "Fruit" menu. menu * { Fruit .Banana } menu * { Fruit .Apple }
$1- will be filled with different words depending on the menu type.
Status - The currently connected $network name.
Channel - The current $chan name.
Query - The $nick associated with the query window.
Nicklist - A list of selected nicks in the nicklist.
Menubar - Your nick ($me) on currently connected server.
Custom Menubar Items - The name of the associated @popup menu.
As of AdiIRC 1.9.7 new top menus can be inserted in the Menubar after the "Help" item using the /menubar command.
Regular scripted menus can be used by referencing the @popup name, e.g "menu @mymenu { }"
For custom windows there are some special menu items which is triggered on various mouse events.
These menus must be at the start of the menu block.
Syntax is the same as regular menus, but the menu name must be of the following:
Picture Windows
mouse - Triggers when the mouse moves.
sclick - Triggers when the left mouse button is pressed down.
mclick - Triggers when the middle mouse button is pressed down. (AdiIRC only)
dclick - Triggers when the left mouse button is pressed down twice.
dmclick - Triggers when the middle mouse button is pressed down twice. (AdiIRC only)
drclick - Triggers when the right mouse button is pressed down twice. (AdiIRC only)
uclick - Triggers when any mouse button is released.
rclick - Triggers when the right mouse button is pressed down.
leave - Triggers when the mouse leaves the window.
drop - Triggers when the window receives a drag/drop event.
mouse.wheelup - Triggers when the mouse wheel is scrolled upwards. (AdiIRC only)
mouse.wheeldown - Triggers when the mouse wheel is scrolled downwards. (AdiIRC only)
win.resize - Triggers when the window is resized. (AdiIRC only)
win.minimize- Triggers when the window is minimized. (AdiIRC only)
win.maximize- Triggers when the window is maximized. (AdiIRC only)
win.restore- Triggers when the window is restored. (AdiIRC only)
Custom Windows text area
rclick - Triggers when the right mouse button is pressed down.
dclick - Triggers when the left mouse button is pressed down twice.
dmclick - Triggers when the middle mouse button is pressed down twice. (AdiIRC only)
drclick - Triggers when the right mouse button is pressed down twice. (AdiIRC only)
Custom Windows Nicklist
lbclick - Triggers when the left mouse button is pressed down in the listbox.
rclick - Triggers when the right mouse button is pressed down.
dclick - Triggers when the left mouse button is pressed down twice.
dmclick - Triggers when the middle mouse button is pressed down twice. (AdiIRC only)
drclick - Triggers when the right mouse button is pressed down twice. (AdiIRC only)
rclick and drclick only triggers when there is no right click menu or the right click menu has no items.
Example
; Create a custom window. /window @test ; Add a mouse menu. menu @test { sclick:echo -ag Left mouse button was clicked. rclick:echo -ag Right mouse button was clicked. Menu:echo -ag Just a regular menu item. }
You can style menus with check mark and disable them using the $style identifier.
Checked
menu * { Checked $style(1):noop }
Disabled
menu * { Disabled $style(2):noop }
Checked and disabled
menu * { Checked and disabled $style(3):noop }
In AdiIRC it's also possible to add a icon to any menu item using the $menuicon identifier.
menu * { Icon $menuicon($scriptdir\icon.ico):noop }
To dynamically create sub menus, the $submenu identifier can be used.
Example
menu * { Animal .$submenu($animal($1)) } alias animal { if ($1 == begin) return - if ($1 == 1) return Dog:echo Dog if ($1 == 2) return Cat:echo Cat if ($1 == 3) return Bird:echo Bird if ($1 == end) return - }
Added in 1.5
/np [nick]
Will show what your current media player is playing (if enabled).
If nick is defined, it will show an emote on that nick based on the options set in Options -> Media player.
Parameters
Parameter | Description |
[nick] | Nick to show a now playing emote on. |
Added in 1.9.0
/vol -mpuNvw [volume]
Sets the wave, midi, mp3 player volume or the system master volume.
Switches
Switch | Description |
-m | Sets the Midi player volume. |
-p | Sets the Mp3 player volume. |
-uN | Sets mute setting; 1 = on, 2 = off. |
-v | Sets the system master volume. |
-w | Sets the Wave player volume. |
Parameters
Parameter | Description |
[volume] | Volume. (0 to 65535) |
Examples
; Turn on mute for the system master volume. /vol -vu1 ; Turn off mute for the system master volume. /vol -vu1
Added in 1.5
/wdown
Tells media player to turn volume down.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.5
/wjump <position>
Tells media player to jump to position in the playlist.
Only works with iTunes/MediaMonkey/Winamp.
Parameters
Parameter | Description |
<position> | Numeric position to jump to. |
Added in 1.5
/wnext
Tells media player to play next song.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.5
/wpause
Tells media player to pause a song.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.5
/wplay
Tells media player to start playing a song.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.5
/wprev
Tells media player to play previous song.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.5
/wsearch <search term>
Searches through media player playlist for search term and prints result.
Only works with iTunes/MediaMonkey/Winamp.
Parameters
Parameter | Description |
<search term> | Search term to find. |
Added in 1.5
/wseekf
Tells media player to seek forward in a song.
Only works with iTunes/MediaMonkey/Winamp/foobar2000.
Added in 1.5
/wseekr
Tells media player to seek reverse in a song.
Only works with iTunes/MediaMonkey/Winamp/foobar2000.
Added in 1.5
/wselect <search term>
Plays first hit from a search through media player playlist for search term.
Only works with iTunes/MediaMonkey/Winamp.
Parameters
Parameter | Description |
<search term> | Search term to find and play. |
Added in 1.5
/wstop
Tells media player to stop playing a song.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.5
/wup
Tells media player to turn volume up.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.8.10
$album
Returns the album of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$bitrate
Returns the bitrate of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$comment
Returns the comment field of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$frequency
Returns the mpeg frequency of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$fulltitle
Returns the full title of the currently playing song, usually in $artist - $title format.
Added in 1.8.10
$layer
Returns the MPEG layer of the currently playing song.
Only works if Media Player is set to Winamp and proper plugins are installed.
Added in 1.8.10
$length
Returns the length of the currently playing song in XX:XX format.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$percentl
Returns the percent left of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$percentp
Returns the percent played of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$playcount
Returns the play counter of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$player
Returns the current selected media player.
Added in 1.8.10
$position
Returns the playlist position of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$progress
Returns a text progress bar (**---) of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$rating
Returns the track rating (**---) of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$size
Returns the filesize of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$song
Returns the full title of the currently playing song, usually in $artist - $title format.
Added in 2.7
$songfile
Returns the full file path of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$title
Returns the title of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$totaltracks
Returns the total track count of the currently selected playlist.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$track
Returns the track number of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$volume
Returns the volume in percent of the current selected media player.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$volumeb
Returns a text volume bar (**---) of the currently selected media player.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$volumep
Returns the volume in percent of the current selected media player.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
Added in 1.8.10
$year
Returns the year of the currently playing song.
Only works if Media Player is set to iTunes/MediaMonkey/Winamp and proper plugins are installed.
AdiIRC supports various operators for use in /if /elseif /while and $iif expressions.
/var, /set, $calc supports it's own set of arithmetic expression.
All operators supports the "!" sign to reverse the operation.
Operators in bold is AdiIRC only.
Example
; check if 5 is lower than 4. if (5 < 4) echo true else echo false ; Reverse check if 5 is lower than 4 same, as 5 > 4. if (5 !< 4) echo true else echo false
Syntax | Name | Result |
---|---|---|
%x == %y %x = %y %x != %y %x !== %y %x < %y %x > %y %x <= %y %x >= %y %x // %y %x \\ %y %x & %y |
Equal Equal Not equal Not equal Less than Greater than Less than or equal to Greater than or equal to Multiple Of (Divides) Not Multiple Of (Not Divides) Bitwise And |
True, if %x is equal to %y. True, if %x is equal to %y. True, if %x is not equal to %y. True, if %x is not equal to %y. True, if %x is strictly less than %y. True, if %x is strictly greater than %y. True, if %x is less than or equal to %y. True, if %x is greater than or equal to %y. True, if %x divides %y. True, if %x does not divides %y. True, if (bit representation of) %x AND %y is a none zero. |
Syntax | Name | Result |
---|---|---|
%x isin %y %x isincs %y %x iswm %y %x iswmcs %y %x isnum %x isnum N %x isnum N- %x isnum N-M %x isletter %x isletter N %x isalnum %x isalpha %x islower %x isupper |
Is In Is In (case sensitive) Wildcard Matching Wildcard Matching (case sensitive) Is Digit Is Digit, Equal to Is Digit, Greater than or equal to Is Digit, in Range Is a Letter Is a Letter In A List Alphanumeric Characters Alphabetic Characters All lower case letters All upper case letters |
True, if %x is fully found inside %y. True, if %x is fully found inside (case sensitive) %y. True, if wildcard string %x matches %y. True, if wildcard string %x matches (case sensitive) %y. True, if %x is a number. True, if %x is number N. True, if %x is number N or greater. True, if %x is a number between N and M (inclusively). True, if %x is a letter. True, if %x is a letter in a list of letters. True, if %x contains only alphabetic or numeric characters. True, if %x contains only alphabetic characters. True, if %x contains only lower case letters. True, if %x contains only upper case letters. |
Syntax | Name | Result |
---|---|---|
a == b a === b str1 == str2 str1 === str2 a < b a > b str1 < str2 str1 > str2 |
Case insensitive character comparison Case sensitive character comparison Case insensitive String comparison Case sensitive String comparison Lexicographically Less Than Lexicographically Greater Than Lexicographically Less Than Lexicographically Greater Than |
True, if character a is equal to character b, case insensitive. True, if character a is equal to character b, case sensitive. True, if str1 equals str2 in a case insensitive manner. True, if str1 equals str2 in a case sensitive manner. True, if the $asc(a) comes before $asc(b) True, if the $asc(a) comes after $asc(b) True, if str1 comes before str2 True, if str1 comes after str2 |
Syntax | Name | Result |
---|---|---|
%x ison %y %x isop %y %x ishop %y %x ishelp %y %x isadmin %y %x isowner %y %x isvoice %y %x isvo %y %x isreg %y %x ischan %x isban %y %x isinvite %y %x isexcept %y %x isquiet %y |
Is On Is an Operator Is a Halfop Is a Halfop is a Protected Operator Is a Channel Owner Is a Voice Is a Voice Is a Regular Is a Channel Is a Ban Ia a Invite Is a Except Is a Quiet |
True, if nick %x is on channel %y. True, if nick %x is an operators on channel %y. True, if nick %x is a halfop on channel %y. True, if nick %x is a halfop on channel %y. True, if nick %x is a protected/admin operator on channel %y. True, if nick %x is a channel owner on channel %y. True, if nick %x is a voice on channel %y. True, if nick %x is a voice on channel %y. True, if nick %x is a regular user on channel %y. True, if channel %x is a channel you are on. True, if ban address %x is a ban on channel %y. (taken from IBL) True, if invite address %x is a invite on channel %y. (taken from IIL) True, if except address %x is a except on channel %y. (taken from IEL) True, if quiet address %x is a quiet on channel %y. (taken from IQL) |
Syntax | Name | Result |
---|---|---|
%x isaop %x isaop %y %x isavoice %x isavoice %y %x isprotect %x isprotect %y %x isignore %x isignore %y %x isnotify |
In Auto Op List In Auto Op List In Auto Voice List In Auto Voice List In Auto Protect List In Auto Protect List In Ignore List In Ignore List For Type In Notify List |
True, if host %x is in the auto-op list. True, if host %x is in the auto-op list for the channel %y. True, if host %x is in the auto-voice list. True, if host %x is in the auto-voice list for the channel %y. True, if host %x is in the protect list. True, if host %x is in the protect list for the channel %y. True, if host %x is in the Ignore list. True, if host %x is in the Ignore list for type %y. True, if nick %x is in the Notify list. |
Syntax | Name | Result |
---|---|---|
%x isurl |
Is a url |
True, if %x is a url. |
afp://
bitcoin:
callto://
cvs://
ed2k:
facetime://
feed://
file://
finger://
ftp://
geo:
gemini://
git://
gopher://
http://
https://
imap://
irc6://
irc6s://
irc://
ircs://
jabber://
lastfm://
ldap://
ldaps://
magnet:
mailto://
mumble://
news://
nfs://
nntp://
pop://
rsync://
rtmp://
sftp://
shttp://
skype:
smb://
snews://
snmp://
spotify:
ssh://
steam:
svn://
teamspeak://
telnet://
ts3server://
udp://
ventrilo://
www.
ws://
wss://
xdcc://
xfire:
xmpp:
ymsgr:
Added in 1.9.0
/window [-aAbBcCde[N]fg[N]hHij[N]k[N]l[N]mMn[N]opq[N]rRsST[N]uvw[N]xz] [-tN,..,N] [+bdeflLmnstx] <@name> [rgb|[x y [w h]]] [/command] [popup.txt] [font [size]] [iconfile [N]]
Creates or manipulates a custom window with a Topicbox/Editbox/Text area/Listbox depending on the parameters used, see Custom Windows for more information.
If -p is specified, a picture window is created which can be custom drawn using various commands/identifiers, see Picture Windows for more information.
Option Switches
Switch | Description |
---|---|
-a | Set as the active window. |
-b | TODO |
-B | Prevent window from using an internal border. |
-c | Close window. |
-C | Center window. |
-d | Create desktop window instead of child. |
-e[N] | Enable Editbox; 0 = single, 1 = multi, 2 = auto, 3 = default. |
-f | Makes the w h the required width and height of the text display area. (instead of the window size) |
-g[N] | Sets/removes window button color, 0 = normal color, 1 = message color, 2 = highlight color, 3 = system color (3 is (AdiIRC only)). |
-h | Hide window. |
-H | Enables auto-hide for a side-listbox. |
-i | Dynamically associate with whatever happens to be the active connection. |
-j[N] | Sets buffer size to N lines. |
-k[N] | Hides the @ prefix in the window name, 0 = hide prefix, 1 = show prefix. |
-l[N] | Add listbox, if N is specified then a side-listbox N characters wide is created. |
-m | Enable line marker in the window. |
-M | TODO |
-n[N] | Minimize window ([N] = TODO) |
-o | Sets the windows as the top most window. (used with -d) |
-p | Creates a picture windows. |
-q[N] | If N is 0 hides the nick column, if N is 1 shows the nick column. (AdiIRC only) |
-Q[N] | If N is 0 disables "Show on Desktop", if N is 1 enables "Show on Desktop". (AdiIRC only) |
-r | Restore window. |
-R | TODO |
-s | Sort the main window, whether text or listbox. (only listbox for now) |
-S | Sort the side-listbox. |
-A | Indicates the [rgb] parameter is defined, sets the forms transparency key to [rgb]. (AdiIRC only) |
-T[N] | Enable Topicbox; 0 = Show, 1 = Show Sticky, 2 = Off, 3 = default. (AdiIRC only) |
-u | Remove ontop setting of a desktop window. |
-v | Close window when associated status window is closed. |
-w[N] | Show/hide window from Treebar or Switchbar; 0 = hide from both, 1 = show in Switchbar, 2 = show in Treebar, 3 = show in both |
-x | Maximize window |
-z[N] | if N = 1, places window button at end of Switchbar/Treebar, if N = 0, restores original place. (Default is 1) |
-Z | Reset the window icon to default. |
Tab Switches
Switch | Description |
---|---|
-tN,..,N | TODO |
Appearance Switches
These causes graphical glitches for MDI windows because .net MDI does not like windows without proper borders.
Switch | Description |
---|---|
+b | Border. |
+d | No border. |
+e | 3d Edge. |
+f | Dialog frame. |
+l | Tool window. |
+L | Tool window. (hide from taskbar) |
+n | Minimize box. |
+s | Sizeable. |
+t | Titlebar. |
+x | Maximize box. |
Parameters
Parameter | Description |
---|---|
<@name> | Window name. |
[rgb] | The $rgb value used with the -t parameter. |
x y [w h] | Left top [width height] - position and size of window. (A -1 value for any of the parameters means use default (or existing) value). |
/command | Default command. |
popup.txt | Popup filename, must be plane text file. TODO |
font [size] | Font name [font size]. |
iconfile [N] | Sets a custom Titlebar icon for the window. (N = TODO) |
Example
alias example1 { ; Create a desktop + picture window, Coordinates: (250,250), size 300x300. /window -dep @Example 250 250 300 300 ; Color it with the control code color 3. (default is green) /drawfill @Example 3 3 1 1 100 100 ; Draw text "Hello world!". /drawtext @Example 1 Arial 30 50 100 Hello World! ; Close the window. /window -c @Example }
Added in 1.9.0
/titlebar [@window] <text>
Sets the main application Titlebar. If you specify a custom @window name, then the Titlebar for that custom window is changed.
Parameters
Parameter | Description |
[@window] | Window to change the title. |
<text> | Title text to set. |
Example
; Changes AdiIRC's titlebar to Hello world! /titlebar Hello world! ; Open a custom window. /window -e @Example ; Changes @Example Titlebar to Hello world! /titlebar @Example Hello world!
Added in 1.9.2
/renwin <@oldname> <@newname> [topic]
Allows you to change the name of an existing window to a different one, and an optional topic can be specified.
Parameters
Parameter | Description |
<@oldname> | Current window name. |
<@newname> | New window name. |
[topic] | Window topic/title. |
Example
; Open a custom window. /window -e @Example1 ; Rename @Example1 to @Example2 and add topic 'Hello world'. /renwin @Example1 @Example2 Hello World
Added in 1.9.0
/drawcopy -himnrt <@window> [color] <x y w h> <@window> <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.
Switches
Switch | Description |
-h | Highlights the windows icon if it is minimized. |
-i | Draws in inverse mode. |
-m | Changes the stretch mode quality when the picture is resized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
-t | Indicates that you have specified the [color] RGB value as a transparent color in the source bitmap. |
Parameters
Parameter | Description |
<@window> | The picture window to copy from. |
[color] | If -t is used, the RGB color used for transparency. |
<x y w h> | Portion to of the source @window to copy. |
<@window> | The picture window to copy to. |
<x y [w h]> | The coordinate where to draw, if [w h] are specified, the picture is squeed/stretched to fit, they can be negative value to get a mirror effect. |
Added in 1.9.0
/drawdot [-ihnr] <@window> <color> <size> <x y> [<x y>...]
Draws a dot using the specified color and size at the x,y co-ordinates. Multiple co-ordinates can be provided.
Switches
Switch | Description |
-i | Draws in inverse mode. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
Parameters
Parameter | Description |
<@window> | The picture window to draw in. |
<color> | Color off the dot to draw. |
<size> | Size of the dot to draw. |
<x y> | x,y co-ordinates to draw at. |
[<x y>...] | Additional x,y co-ordinates to draw at. |
Added in 1.9.0
/drawfill [-ihnrs] <@window> <color> <color> <x y> [filename] [<x y>...]
Fills an area with the specified color starting at the specified co-ordinates.
Switches
Switch | Description |
-i | Draws in inverse mode. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
-s | 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). |
Parameters
Parameter | Description |
<@window> | Name of the picture window to draw. |
<color> | The color used for the fill. |
<color> | The color used to know how to fill (if -s, it fills as long as the color of the pixels around is the same color as the one you provide here, otherwise, it fills as long as the color of pixel is not the color you provide here) |
<x y> | The coordinate where to fill. |
[filename] | TODO |
[<x y>...] | TODO |
Added in 1.9.0
/drawline [-ihnr] <@window> <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.
Switches
Switch | Description |
-i | Draws in inverse mode. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
Parameters
Parameter | Description |
<@window> | The picture window to draw in. |
<color> | Color off the line to draw. |
<size> | Size of the line to draw. |
<x y> | x,y co-ordinates to draw at. |
[<x y>...] | Additional points to draw. |
Added in 1.9.0
/drawpic -ihmnotsclgNf <@window> [color] <x y [w h]> [x y w h] [N] [M] <filename>
Switches
Switch | Description |
-t | Indicates that you have specified the [color] $rgb value as a transparent color in the specified bitmap. |
-s | Indicates that you have specified the first [w h] parameters to squeeze/stretch the bitmap. |
-c | Indicates that the bitmap should be cached. This greatly speeds up subsequent references to this bitmap. If you specify -c and the bitmap is already in the cache, it is loaded and used from the cache, otherwise it is reloaded from the file. You can clear the entire cache with /drawpic -c. |
-l | TODO |
-m | Changes the stretch mode quality when the picture is resized. |
-o | Indicates that you have specified the [N] value before the filename, representing the index of the icon in the file. |
-gN | TODO |
-i | Draws in inverse mode. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-o | Indicates that you have specified the [N] value before the filename represents the index of the icon in the file. |
-f | TODO |
Parameters
Parameter | Description |
<@window> | The window name to draw. |
[color] | If -t is used, the RGB color used for transparency. |
<x y [w h]> | The x y coordinates where you want to draw, if -s is used, [w h] is the width/height that will be used to squeeze/stretch the bitmap. |
[x y w h] | The area in the picture to be drawn. |
[N] | If -o is used, the index number of the picture in the file. |
[M] | TODO |
<filename> | The filename for the picture. |
Added in 1.9.0
/drawrect -ihnrfecd <@window> <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.
Switches
Switch | Description |
-i | Draws in inverse mode. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
-f | Draws a filled rectangle. |
-e | Draws an ellipse instead of a rectangle. |
-c | Draws a focus rectangle. |
-d | Draws a rounded rectangle, using the format "/drawrect -d x y w h [w h]" where w and h are the width and height of the ellipse used to draw the corners. |
Parameters
Parameter | Description |
<@window> | Name of the Picture Window to draw to. |
<color> | The color used for the rectangle. |
<size> | Thickness of the border in pixels. |
<x y w h> | Co-ordinates for a rectangle in pixels, x and y are the top left corner. |
[<x y w h>...] | Draw additional rectangles. |
Added in 1.9.0
/drawreplace -nr <@window> <color1> <color2> [x y w h]
Replaces all occurrences of color1 with color2.
Switches
Switch | Description |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the color is in RGB format. You can use $rgb(N,N,N) to create an RGB value. |
Parameters
Parameter | Description |
<@window> | Name of the picture window to draw. |
<color1> | The color to replace. |
<color2> | The color to replace with. |
[x y w h] | the area of the picture to replace. |
Added in 1.9.0
/drawrot [-hmnbfcp] <@window> [color] <angle> [x y w h]
Rotates an area of a bitmap by the specified angle.
Switches
Switch | Description |
-h | Highlights the window if it's minimized. |
-m | Changes the stretch mode quality when the picture is resized. |
-n | Prevents the display from being updated immediately. |
-b | Indicates that you have specified the background color value. (The [color] is always in $rgb format) |
-f | Fits the newly rotated bitmap into the original width/height. |
-c | Centers the rotated image if -f is not specified. |
-p | Clips the rotated image. |
Parameters
Parameter | Description |
<@window> | Name of the window to rotate. |
[color] | The background color to use if -b is defined. |
<angle> | The angle of the rotation. |
[x y w h] | The area to rotate. |
Added in 1.9.0
/drawsave -bNqNSBFN <@window|&binvar> [x y w h] <filename>
Saves the background picture of the specified picture @window to a file.
Switches
Switch | Description |
-bN | allows you to specify the bit depth of the saved file, which can be 1, 4, 8, 16, 24, or 32. |
-qN | allows you to specify the quality of the jpeg file that is being saved, where N is between 1 and 100. |
-S | Indicates [x y w h] is specified to save only a specific position and size of the picture. (AdiIRC only) |
-B | Converts the picture window bitmap into a base64 encoded string and stores it into &binvar. (AdiIRC Only) |
-FN | Image format to save to. (AdiIRC Only) (default is PNG) |
Parameters
Parameter | Description |
<@window> | Window name to save from. |
<&binvar> | Used with -B. (AdiIRC Only) |
[x y w h] | The position and size from the picture to save, used with -S. (AdiIRC only) |
<filename> | Filename to save to. |
Image Formats
Format | Extension |
-F0 | .png |
-F1 | .jpg |
-F2 | .bmp |
-F3 | .emf |
-F4 | .exif |
-F5 | .gif |
-F6 | .ico |
-F7 | .tiff |
-F8 | .wmf |
Added in 1.9.0
/drawscroll -hn <@window> <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.
Switches
Switch | Description |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
Parameters
Parameter | Description |
<@window> | Name of the window to scroll. |
<x> | The number of pixel to scroll on the x axis. |
<y> | The number of pixel to scroll on the y axis. |
<x y w h> | The region to scroll. |
[<x> <y> <x y w h>...] | Additional pixels and regions to scroll. |
Added in 1.9.0
/drawtext -hnrpbocvd <@window> <color> [color] [fontname fontsize] <x y [w h]> <text|&binvar>
Draws text at the specified co-ordinates.
Switches
Switch | Description |
-p | Processes and interprets control codes in the text. |
-b | Indicates that you have specified the second color parameter as the background color for the text. |
-o | Indicates specified font should be in bold. |
-c | Indicates that you have specified the [w h] values as the rectangle in which text should be printed. Text will be clipped if it extends beyond this rectangle. |
-h | Highlights the windows icon if it is minimized. |
-n | Prevents the display from being updated immediately. |
-r | Indicates that the colors are in $rgb format. |
-v | Indicates &binvar is specified. |
-d | TODO |
Parameters
Parameter | Description |
<@window> | Name of the window to draw. |
<color> | The textcolor. |
[color] | The background color, if -b has been specified. |
[fontname fontsize] | The name of the font and the size of the font. |
<x y [w h]> | The coordinate of the text. |
<text<redpre#0>&binvar> | The text or text from a &binvar to draw. |
Example
alias testdrawtext { window -p @win drawtext @win 4 Verdana 11 0 0 Hello World }
Added in 3.8
/drawsize <@window> <w h>
Sets the minimum bitmap size for a picture window to the specified width and height.
Parameters
Parameter | Description |
<@window> | Name of the window to set the minimum size for. |
<w h> | The minimum width and height and to set. |
Added in 1.9.0
$window(N/@name/@wildcard, M)
Returns properties for a window.
See also /window.
Parameters
Parameter | Description |
---|---|
N/name/ wildcard |
Name of the window or the Nth window. (@wildcard is also possible if M is defined) |
M | The Nth @wildcard match. (optional) |
If N is -1 | returns properties for the desktop area. |
If N is -2 | returns properties for the AdiIRC main window. |
If N is -3 | returns properties for the MDI client area of the main window. |
Properties
Propertie | Description |
---|---|
.x | Horizontal position of the window relative to the mainform. |
.y | Vertical position of the window relative to the mainform. |
.w | Window width. |
.h | Window height. |
.cx | TODO |
.cy | TODO |
.dx | Horizontal position of the window relative to the desktop. |
.dy | Vertical position of the window relative to the desktop. |
.dw | Width of the Text Area. |
.dh | Height of the Text Area. |
.bw | Width of the bitmap for a picture window. |
.bh | Height of the bitmap for a picture window. |
.mdi | $true if the window is a MDI window/docked, otherwise $false |
.title | The text of the window Titlebar. |
.state | minimized/maximized/hidden/normal. |
.font | Name of the current font. |
.fontsize | Size of the current font using the current display DPI. |
.fontdialogsize | The real size of the current font. |
.fontbold | $true if the font is bold, otherwise $false. |
.fontitalic | $true if the font is italic, otherwise $false. |
.fontunderline | $true if the font is underline, otherwise $false. |
.fontcs | returns the character set of the current font. |
.logfile | Name of logfile if one is open for the window. |
.historyfile | Name of the file Editbox history will be saved to. (AdiIRC only) |
.iconfile | Name of the icon file used for a custom icon. (AdiIRC only) |
.backgroundfile | Name of the background file used for a custom background. (AdiIRC only) |
.backgroundlayout | Gets background layout for this window. (AdiIRC only) |
.stamp | $true if timestamp is on for this window, otherwise $false. |
.icon | $true if icon is visible in Switchbar otherwise $false. |
.ontop | $true if window is on top otherwise $false. |
.type | Window type, channel/status/query/custom/picture/chat/tool/panel. |
.anysc | $true if the window was created with the /window -i parameter, otherwise $false. |
.wid | Window id. |
.cid | Connection id. |
.hwnd | Window handle. |
.sbtext | Switchbar button text for this window. |
.sbcolor | Switchbar color event event/message/highlight for this window. |
.sbstate | Switchbar button state (1 = visible, 0 = not visible) for this window. |
.tbtext | Treebar text for this window. |
.tbstate | Treebar state (1 = visible, 0 = not visible) for this window. |
.lb | listbox state (2 = side listbox, 1 = listbox, 0 = no listbox) for this window. |
.topicbox | Topicbox state (2 = Show sticky, 1 = show, 2 = off) for this window. (AdiIRC only) |
.idle | idle state. |
.isbottom | $true if the Text Area is scrolled to the bottom, otherwise $false. (AdiIRC only) |
.unread | Returns number of unread messages. (this include system messages, use .sbcolor to check the type, AdiIRC only) |
.layer | Returns the window layer. (AdiIRC only) |
.mscrollpos | Returns the current scrollbar position for the Text Area. (AdiIRC only) |
.mscrollmax | Returns the max scrollbar position for the Text Area. (AdiIRC only) |
.collapsed | Returns $true if the associated Status Window is collapsed in the Treebar, otherwise $false. (AdiIRC only) |
.eb | Returns 1 if the window has a Editbox, otherwise 0. (AdiIRC only) |
.fullscreen | Returns $true if the window is fullscreen, otherwise $false. |
Added in 1.9.1
$width(text,font,size,[B],[C],[D])
Returns width 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 dialogs.
Parameters
Parameter | Description |
text | Text to measure. |
font | Font to measure. |
size | Font size to measure. |
[B] | If B is non-zero, the font is bold. (optional) |
[C] | If C is non-zero, control codes are processed. (optional) |
[D] | TODO |
Example
; Measure the width of text 'Hello World' using font 'Verdana 9'. //echo -ag $width(Hello world, Verdana, 9)
Added in 1.9.1
$height(text,font,size,[B],[C],[D])
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 dialogs.
Parameters
Parameter | Description |
text | Text to measure. |
font | Font to measure. |
size | Font size to measure. |
[B] | If B is non-zero, the font is bold. (optional) |
[C] | If C is non-zero, control codes are processed. (optional) |
[D] | TODO |
Example
; Measure the height of text 'Hello World' using font 'Verdana 9'. //echo -ag $height(Hello world, Verdana, 9)
Added in 1.9.4
$click(@window, N)
Retrieves mouse click information from a picture window.
If no properties is defined, returns both X Y.
Parameters
Parameter | Description |
@window | Picture window to use. |
N | The Nth mouse click item, if N = 0, returns number of mouse click items. |
Properties
Property | Description |
.x | Returns the X coordinate of the mouse click. |
.y | Returns the Y coordinate of the mouse click. |
Example
; Create the custom alias to launch the example ; ; Synopsis: /clickWatch alias clickWatch { ; Create a custom picture window, which is centered. window -dpC @clicker 0 0 250 125 ; Custom 'update' alias keeps code from repeating. ; During initial launch the values should be empty. update 15 Total Clicks: empty update 35 Current Position: none yet update 55 Previous Position: none yet } ; Monitor the sclicks in our custom '@clicker' window. menu @clicker { sclick: { ; Clear the window for the new value updates. clear @clicker ; Set the %current and %prev variables to the current. ; x/y click location, and to the previous x/y click. ; locations, respectively. var %current = $click(@clicker,0), %prev = $calc(%current - 1) ; Utilizing the custom 'update' alias, update the data. update 15 Total Clicks: $click(@clicker,0) update 35 Current Position: $click(@clicker,%current) update 55 Previous Position: $iif(%prev,$click(@clicker,%prev),none yet) } } ; Custom update alias removes a lot of the /drawtext repetition. ; from this example. alias -l update { drawtext @clicker $color(normal) 7 $1 $2- }
Added in 1.9.0
$inellipse(x,y,x,y,w,h)
Returns $true if the point x y is inside the specified ellipse, otherwise $false.
Parameters
Parameter | Description |
x | The first X coordinate. |
y | The first y coordinate. |
x | The second X coordinate. |
y | The second y coordinate. |
w | The width. |
h | The height. |
Added in 1.9.0
$inrect(x,y,x,y,w,h)
Returns $true if the point x y is inside the specified rectangle, otherwise $false.
Parameters
Parameter | Description |
x | The first X coordinate. |
y | The first y coordinate. |
x | The second X coordinate. |
y | The second y coordinate. |
w | The width. |
h | The height. |
Added in 1.9.4
$inroundrect(x,y,x,y,w,h,w,h)
Returns $true if the point x y (the first ones) is inside the specified rounded rectangle, otherwise $false.
Parameters
Parameter | Description |
x | The first X coordinate. |
y | The first y coordinate. |
x | The second X coordinate. |
y | The second y coordinate. |
w | The first width. |
h | The first height. |
w | The second width. |
h | The second height. |
Added in 1.9.0
$inpoly(x,y,a1,a2,b1,b2,...)
Returns $true if the point x y is inside the polygon defined by the specified points, otherwise $false.
Parameters
Parameter | Description |
x | The X coordinate. |
y | The Y coordinate. |
a1 | The first point x. |
a2 | The first point y. |
b1 | The second point x. |
b2 | The second point y. |
... | Additional points. |
Added in 1.9.4
$onpoly(n1,n2,x,y,x,y,...)
Returns $true if two polygons overlap, otherwise $false.
Parameters
Parameter | Description |
n1 | Number of points in the first polygon. |
n2 | Number of points in the second polygon. |
x | First x coordinate. |
y | First y coordinate. |
x | Second x coordinate. |
y | Second y coordinate. |
... | Additional coordinates. |
Added in 1.9.1
$getdot(@,x,y)
Returns the RGB color value of the dot at the specified position in a picture window.
Parameters
Parameter | Description |
@ | The picture window name. |
x | The X coordinate. |
y | The Y coordinate. |
Example
; Open a picture window. /window -p @Example ; Fill a rectangle on the picture window. /drawfill @Example 4 4 0 0 ; Get the RGB color value at x coordinate 0 and y coordinate 0. //echo -ag $getdot(@Example, 0, 0)
Added in 1.9.5
$lineheight(font, size)
Returns the line height of the given font and size.
Parameters
Parameter | Description |
font | Font to calculate. |
size | Font size to calculate. |
Example
//echo -ag Lineheight for Consolas 10 is $lineheight(Consolas, 10)
Added in 1.9.1
$pic(filename)
Returns the filesize/imagesize of a image file.
Parameters
Parameter | Description |
filename | Image file to check. |
Properties
Property | Description |
.width | Return the image width. |
.height | Return the image height. |
.size | Return the image size. |
Example
; Print width and height of a image file. //echo -ag Image width is $pic(image.jpg).width height is $pic(image.jpg).height
Added in 1.9.0
$mouse
Returns various properties about the mouse and keys pressed during events.
See also $menu, $menutype, $menucontext, $menuicon, Menus.
Properties
Property | Description |
.lb | Returns $true if the mouse event occurred in a side-listbox otherwise $false. |
.x | Mouse X position relative to active window. |
.y | Mouse Y position relative to active window. |
.mx | Mouse X position relative to AdiIRC main window. |
.my | Mouse Y position relative to AdiIRC main window. |
.dx | Mouse X position relative to the desktop area. |
.dy | Mouse Y position relative to the desktop area. |
.key | Bitwise flag, see example. |
.cx | TODO |
.cy | TODO |
.win | Returns the name of the active window. |
Example
alias Example { ; Test $mouse.key for various values, more than one value can be true. if ($mouse.key & 1) echo left button is pressed. if ($mouse.key & 2) echo control key is pressed. if ($mouse.key & 4) echo shift key is pressed. if ($mouse.key & 8) echo alt key is pressed. if ($mouse.key & 16) echo right mouse button is pressed. if ($mouse.key & 32) echo middle mouse button is pressed. (AdiIRC only) if ($mouse.key & 64) echo x mouse button 1 is pressed. (AdiIRC only) if ($mouse.key & 128) echo x mouse button 2 is pressed. (AdiIRC only) if ($mouse.key & 256) echo alt+gr pressed. (AdiIRC only) } ; Print mouse X and Y coordinates. //echo -ag $mouse.x / $mouse.y
Added in 1.9.0
$rgb(N,N,N|N|name)
If N,N,N is defined, returns an RGB decimal color value.
if N is defined, returns a RRR,GGG,BBB value.
if name is defined, returns a system color RGB decimal value.
Parameters
Parameter | Description |
N,N,N | An RRR,GGG,BBB value. |
N | A RGB decimal value. |
name | A system color name: face, shadow, hilight, 3dlight, frame, or text. |
Switches
Switch | Description |
.hex | Returns the value in hex format. (AdiIRC only) |
Example
; Print the RGB decimal value from 123,123,123 //echo -ag RGB value is $rgb(123,123,123) ; Print the RRR,GGG,BBB value from 8092539 //echo -ag RGB decimal value is $rgb(8092539)
Regular expressions is a powerful tool to help match text using a pattern, they can be used in many places such as searching log files, searching text-buffers, highlight matching and scripting, .
See also $regex, $regsub, $regsubex, $regml, $pcre.
As of 2.9 AdiIRC has built-in support for PCRE2 expressions provided that Visual C++ 2015 x86 is installed for 32 bit AdiIRC or Visual C++ 2015 x64 is installed for 64 bit AdiIRC.
AdiIRC will automatically use PCRE2 if available, although it can be disabled by typing /setoption Misc UsePcre False, in this case AdiIRC will fallback to .NET regular expressions.
The .NET regular expression engine is different from the PCRE engine which mIRC uses, some differences are converted from PCRE to .NET while others are not possible.
Read more about PCRE2 regular expressions.
http://www.regular-expressions.info/pcre2.html
http://www.regular-expressions.info/tutorial.html
Read more about .NET regular expressions:
http://regexhero.net/reference/
https://msdn.microsoft.com/en-us/library/hs600312%28v=vs.110%29.aspx
https://msdn.microsoft.com/en-us/library/az24scfc%28v=vs.110%29.aspx
http://www.regular-expressions.info/dotnet.html
/g /G - Enables global match.
/i /I - Enables case in-sensitive match.
/S - Strips any control codes before matching ($hfind will ignore this).
/s - Enables single line match.
/m /M /c /C - Enables multi line match.
/x /X - Eliminates unescaped white space from the pattern.
/U - Enables non greedy mode. (Tries to replace greedy patterns with non greedy patterns + > +?, * -> *?)
/u - Enables UTF8 instead of ASCII regular expression.
/F - Allow/include empty capture groups.
/E /D - TODO
When PCRE support is not available, AdiIRC translate some PCRE patterns into .NET patterns.
(*UTF8)/(*UTF) -> Enables UTF8 instead of ASCII regular expression.\K is not available in .NET, use (<=abc)d instead.
These have no .NET counterpart:
code (?{…})
recursive (R), (R1), (R&name)
define (DEFINE).
List of differences between .NET and PCRE https://stackoverflow.com/questions/3417644/translate-perl-regular-expressions-to-net
Added in 1.9.0
/load -aN <filename>
/load -bcmnpqs <filename>
/load -rsuv <filename>
The /load command can be used to load any type of existing file including: aliases, popups, remote, users, and variables. Using /load on an already loaded file will update its contents while maintaining its order among other files.
Note that unlike the /reload command, /load will trigger the on LOAD and on START events.
See also /reload, /unload, on LOAD, on UNLOAD, on START.
Switches
Switch | Description |
-aN | loads an aliases file, if N is specified, load into the Nth position in the alias list. |
-b | Loads a nicklist buttons file. (AdiIRC only) |
-ps | Loads a status popup file. |
-pc | Loads a channel popup file. |
-pq | Loads a query popup file. |
-pn | Loads a nicklist popup file. |
-pm | Loads a Menubar popup file. |
-pe | Loads a channel link popup file. (AdiIRC only) |
-pi | Loads a link popup file. (AdiIRC only) |
-ru | Loads a user list file. |
-rv | Loads a variables file. |
-rsN | Loads a remote scripts file, if N is specified, load into the Nth position in the script list. |
Parameters
Parameter | Description |
<filename> | Filename to load. |
Added in 1.9.0
/reload -aN <filename>
/reload -bcmnpqs <filename>
/reload -rsuv <filename>
The /reload command can be used to reload any type of existing file including: aliases, popups, remote, users, and variables. Using /reload on an already loaded file will update its contents while maintaining its order among other files. Note that unlike the /load command, /reload will not trigger the on LOAD and on START events.
See also /load, /unload, on LOAD, on UNLOAD, on START.
Switches
Switch | Description |
-aN | loads an aliases file, if N is specified, load into the Nth position in the alias list. |
-b | Loads a nicklist buttons file. (AdiIRC only) |
-ps | Loads a status popup file. |
-pc | Loads a channel popup file. |
-pq | Loads a query popup file. |
-pn | Loads a nicklist popup file. |
-pm | Loads a Menubar popup file. |
-pe | Loads a channel link popup file. (AdiIRC only) |
-pi | Loads a link popup file. (AdiIRC only) |
-ru | Loads a user list file. |
-rv | Loads a variables file. |
-rsN | Loads a remote scripts file, if N is specified, load into the Nth position in the script list. |
Parameters
Parameter | Description |
<filename> | Filename to (re)load. |
Added in 1.9.0
/unload <-anrs> <filename>
Unloads the specified alias or remote script file.
See also /load, /reload, on LOAD, on UNLOAD, on START.
Switches
Switch | Description |
-a | Unload a alias file. |
-n | Prevents the script from having the on UNLOAD event triggered. |
-rs | Unload a remote script. |
Parameters
Parameter | Description |
<filename> | File to unload. |
Added in 1.9.0
/alias [-l] [filename] <aliasname> <command>
Add/remove/replace any single or multi line (AdiIRC only) alias.
Switches
Switch | Description |
-l | Adds a local alias only available from current script. |
Parameters
Parameter | Description |
[filename] | An optional alias filename to update, if no filename is specified it will use the first match or the first loaded alias file. |
<aliasname> | Name of the alias to add/remove/replace. |
<command> | The command(s) to be executed by the aliasname. |
Example
; This will replace the first matching alias with the new command. /alias /hello /me says hello ; To remove an existing alias: /alias /hello ; If you want to add/remove/replace a alias in an existing file /alias hello.txt /alias /me says hello
Added in 1.9.0
$script
Returns the filename for the current running script.
$script(N|filename)
Returns the filename for the Nth loaded script file. If you specify a filename, it returns $null if the file is not loaded.
Parameters
Parameter | Description |
N|filename | The filename to check, if N = 0 number of filenames, otherwise the Nth filename. |
Properties
Property | Description |
.ignore | Returns $true if the loaded script is ignored in the Script Editor, otherwise $false. (AdiIRC only) |
Example
; Print number of filename. //echo -ag $script(0) ; Print the first filename. //echo -ag $script(1) ; Check if 'example.ini' is loaded. //echo -ag $script(example.ini)
Added in 1.9.0
$scriptdir
Returns the directory of the currently executing script.
Can be used inside text without being surrounded by white spaces..
Example
; Print the script directory. //echo -ag current scriptdir is $scriptdir ; Print the script directory inside text. //echo -ag $scriptdir\somefile.ini
Added in 1.9.0
$scriptline
Returns line number in current script.
Example
; Create a alias alias Example { echo -ag Line number for this line is $scriptline } ; Call the alias /example
Added in 1.9.4
$alias(N/filename)
Returns the filename for the Nth loaded alias file or if you specify a filename, it returns $null if the file is not loaded.
Parameters
Parameter | Description |
N/filename | Nth alias or alias filename. |
Example
; Print number of alias files. //echo -ag $alias(0) ; Print first alias file. //echo -ag $alias(1) ; Check if aliases.ini is loaded. //echo -ag aliases.ini is $iif($alias(aliases.ini),loaded, not loaded)
Added in 2.4
$calias
Returns the calling alias for the current script,
alias test1 { echo -ag Calling alias is $calias noop $test2 } alias test2 { echo -ag Calling alias is still $calias noop $test3 } alias test3 { echo -ag Calling alias is still $calias }
Added in 2.7
$calias(N)
Returns the Nth calling alias in the scripting stack.
Parameters
Parameter | Description |
N | If N = 0, number of aliases in the stack, otherwise the Nth calling alias. |
Properties
Property | Description |
.alias | Returns the name of the alias. |
.fname | Returns the filename of the script calling the alias. |
.line | Returns the line number in the script calling the alias. |
.isid | Returns $true if the alias was called as a identifier, otherwise $false. |
Example
alias alias1 { alias2 } alias alias2 { noop $alias3 } alias alias3 { var %s 0 while (%s < $calias(0)) { inc %s linesep var %alias $calias(%s).alias echo -ag alias = %alias echo -ag calling filename = $calias(%s).fname echo -ag caling line = $calias(%s).line echo -ag isid = $calias(%s).isid if ($isalias(%alias)) { echo -ag alias filename = $isalias(%alias).fname echo -ag alias line = $isalias(%alias).fline echo -ag alias type = $isalias(%alias).ftype } linesep } }
Added in 1.9.0
/socklisten [-dpuEn] [bindip] <name> [port] [certificate]
Listens on the specified port for connections to that port. If a port is not specified, the port is selected randomly from the range specified in Options -> DCC Options -> Port Range.
Switches
Switch | Description |
-d | Switch indicates that you specified an ip address as the bind address. |
-p | Enables UPnP support for the listening socket, if that is available. |
-u | Enables dual stack sockets. |
-E | Creates a SSL listening socket. (AdiIRC only) |
-n | Disables the Nagle algorithm. |
Parameters
Parameter | Description |
[bindip] | Ip address to bind to. (used with -d) |
<name> | Name to give the listening connection. |
[port] | Port to listen on. |
[certificate] | the SSL certificate pfx file to use with -E, if not specified, the global client certificate is used. (AdiIRC only) |
Added in 1.8.10
/sockopen [-dentI46Cuswap] [bindip] <name> <address/hostname> <port> [certificate]
Opens a socket connection to the specified ipaddress/hostname and port.
Switches
Switch | Description |
-d | The specified IP address is the bind ip address. |
-e | Creates an SSL connection. |
-n | Disables the Nagle algorithm. |
-t | TODO |
-I | Accept invalid remote SSL/TLS certificates. (AdiIRC only, deprecated) |
-4 | Connect to Ipv4 addresses. |
-6 | Connect to Ipv6 addresses. |
-C | Indicates that client [certificate] is specified. (AdiIRC only) |
-u | Enables dual stack sockets. |
-s | Skip invalid remote SSL/TLS certificates certificates. |
-w | Display warning dialog for invalid remote SSL/TLS certificates. |
-a | Accept invalid remote SSL/TLS certificates. |
-p | Prevent remote SSL/TLS certificate caching. |
Parameters
Parameter | Description |
[bindip] | Bind ip to be used. |
<name> | Socket connection name. |
<address/hostname> | Remote ip address or hostname to connect to. |
<port> | Remote port to connect to. |
[certificate] | the SSL certificate pfx file to use with -C, if not specified, the global client certificate is used. (AdiIRC only) |
Example
alias example { ; Initiate a connection with "irc.libera.chat" on port 6669, Secured connection. /sockopen -e IRC irc.libera.chat +6697 } on *:sockopen:IRC:{ ; Send our USER and NICK irc commands. /sockwrite -n IRC USER Tester $+ $rand(1,100) Test Test:mSL Testing $+ $crlf /sockwrite -n IRC NICK Tester $+ $rand(1,100) $crlf } ; Show all receiving data in a window. on *:sockread:IRC:{ /window -de @IRC /var %x /sockread %x /aline -p @IRC $iif(%x,$v1,-) }
Added in 1.8.10
/sockclose <name>
Closes the connection with the specified name. If you specify a wildcard name, all connections that match the wildcard are closed.
Parameters
Parameter | Description |
<name> | Socket name to close. |
Added in 1.9.0
/sockread [-fn] [numbytes] <%var|&binvar>
Reads bytes from the receive buffer into the specified variable.
If you specify a %var variable, a line of text ending with a Carriage Return/LineFeed is read into %var. The $crlf are stripped off (this may result in %var being $null if the line only consisted of $crlf).
If you specify a &binvar then [numbytes] of info is read into the binary variable. If no [numbytes] is specified it defaults to 4096 bytes.
Switches
Switch | Description |
-f | Forces AdiIRC to fill the %var variable with whatever text is in the receive buffer, even if it does not end in a $crlf. |
-n | allows you to read a $crlf terminated line into a &binvar. If the incoming line does not contain a $crlf, no bytes will be read into &binvar, unless you specify the -f switch, which forces the read (same as when reading into %vars). |
Parameters
Parameter | Description |
[numbytes] | Number of bytes to read into &binvar. |
<%var|&binvar> | %var or &binvar to read the data into. |
Added in 1.8.10
/sockwrite [-tnba] <name> [numbytes] <text|%var|&binvar>
Queues data to be sent on the specified connection. AdiIRC 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.
You can use a wildcardd name to send the same information at once to all connections that match the wildcard.
If the write fails, it will set $sock().wserr to the error value, and triggers the on sockwrite event with $sockerr set.
Switches
Switch | Description |
-t | Forces AdiIRC to send anything beginning with a & as normal text instead of interpreting it as a binary variable. |
-n | Appends a $crlf to the line being sent if it is not a &binvar and if it does not already have a $crlf. |
-b | Indicates that you are specifying the numbytes value which is the number of bytes you want sent. |
-a | Disables UTF-8 encoding of characters in the range 0-255, as long as the text contains no characters > 255. |
Parameters
Parameter | Description |
<name> | Name of the connection to send to. |
[numbytes] | Number of bytes to send. (used with -b) |
<text|%var|&binvar> | Plain text, %var or &binvar to send. |
Added in 1.9.0
/sockpause [-r] <name>
Pauses/restarts a socket when reading incoming data.
Switches
Switch | Description |
-r | Restarts a socket instead of pausing. |
Parameters
Parameter | Description |
<name> | Socket to modify. |
Added in 1.9.0
/sockmark <name> [text]
Assigns temporary data to a socket to be referenced later using $sock(<name>).mark. Leaving the [text] parameter $null will clear the socket mark. The sockmark command can be used to assign the same data to multiple sockets using a wildcard pattern.
Parameters
Parameter | Description |
<name> | Socket to mark. |
[text] | Text to add to the socket mark. |
Example
; Non-functioning example, shows practical usage only on $*:text:/^!foo (\S+)$/Si:#:{ ; if ( .. validate input .. ) { sockopen sock1 www.example.com 80 sockmark sock1 $regml(1) } on *:sockopen:sock1:{ ; submit the information we got from the user sockwrite -nt $sockname GET /foobar.php?q= $+ sock($sockname).mark HTTP/1.0 sockwrite -nt $sockname Host: www.example.com sockwrite -nt $sockname $crlf } ; on *:sockread:sock1: { ; .... ; }
Added in 1.9.0
/sockrename <name> <newname>
Assigns a new name to an existing connection.
Parameters
Parameter | Description |
<name> | Socket to rename. |
<newname> | New socket name. |
Added in 1.9.0
/sockaccept [-n] <name>
Accepts the current connection to your listening port and assigns it a name to identify it.
Switches
Switch | Description |
-n | Disables the Nagle algorithm. |
Parameters
Parameter | Description |
<name> | Name to assign the connection. |
Added in 2.3
/sockudp [-bntkdu] [bindip] <name> [port] <ipaddress> <port> [numbytes] [text|%var|&binvar]
Opens a UDP connection to a remote ipaddress/port and sends a UDP packet.
Switches
Switch | Description |
-b | Indicates that you are specifying the numbytes value which is the number of bytes you want sent. |
-n | Appends a $crlf to the line being sent if it is not a &binvar and if it does not already have a $crlf. |
-t | Forces AdiIRC to send anything beginning with a & as normal text instead of interpreting it as a binary variable. |
-k | Forces the socket to stay open, so it can receive UDP data. |
-d | The specified IP address is the bind ip address. |
-u | Enables dual stack sockets. |
Parameters
Parameter | Description |
[bindip] | Bind ip to be used. |
<name> | Socket connection name. |
[port] | Bind port to be used. |
<ipaddress> | Remote ipaddress to connect to. |
<port> | Remote port to connect to. |
[numbytes] | Number of bytes to send. (used with -b) |
[text|%var|&binvar] | Text, %variable or &binvar to send. |
Example
alias gettime { ; Set a NULL byte binary variable. bset &null 1 0 ; Open a UDP connection to Time-a.nist.gov = 129.6.15.28 sockudp -k gettime 129.6.15.28 37 &null } on *:udpread:gettime: { ; Read the reply. sockread -f &time var %time $bvar(&time,1,$bvar(&time,0)) ; Convert to binary, remove spaces. var %bin $regsubex(%time, /(\d+)\s?/g, $base(\1, 10, 2, 8)) ; Get the current unix time in decimal system. var %time = $base(%bin, 2, 10) ; Print the time and close the socket. echo -ag Currnt Time/Date: $asctime($calc(%time - 2208988800), yyyy-mm-dd hh:nn:ss TT) sockclose $sockname }
Added in 1.9.0
/socklist [-tul] [name]
Lists all matching open sockets.
Switches
Switch | Description |
-t | Lists only tcp sockets. |
-u | Lists only udp sockets. |
-l | Lists only listening sockets. |
Parameters
Parameter | Description |
[name] | List socket matching name, can be a wildcard. |
Added in 1.9.0
/bindip [on|off] <ipaddress/adapter>
Bind or toggles ip address/network adapter for DCC transfers.
/bindip with no parameters shows current status.
Parameters
Parameter | Description |
on | Sets bind on. |
off | Sets bind off. |
<ipaddress/adapter>* | IpAddress or Network Adapter to bind to. |
Example
;Binds ip to 192.168.0.1 /bindip 192.168.0.1 ;Finds local ip address on Local Network Adapter and binds to it. /bindip Local Network Adapter ;Disable binding. /bindip off
Added in 1.9.0
$sock(name,[N])
Returns information about a the Nth socket connection.
Parameters
Parameter | Description |
name | Name to lookup, can be a wildcard. |
[N} | If N = 0, number of matches, otherwise the Nth match. (optionally) |
Properties
Property | Description |
.name | Name of the socket. |
.addr | Hostname the socket is connected to. |
.sent | Number of bytes sent. |
.rcvd | Number of bytes received. |
.sq | Number of bytes in send queue. |
.rq | Number of bytes in receive queue. |
.status | Status of the connection: paused/active. |
.ip | IP Addresss the socket is connected to. |
.port | Port the socket is connected to. |
.ls | Number of seconds since the socket last sent data. |
.lr | Number of seconds since the socket last received data. |
.mark | Socket mark set by /sockmark. |
.type | Socket type udp/tcp. |
.to | Number of sockets since it was opened. |
.wsmsg | Return the last socket error message. |
.wserr | Return the last socket error. |
.pause | Returns $true if socket is paused, otherwise $false. |
.ssl | Returns $true if socket is a SSL connection, otherwise $false. |
.sport | Returns the source port from the last received UDP packet. |
.saddr | Returns the source address from the last received UDP packet. |
.bindip | Returns the local ip address the socket is bound to. |
.bindport | Returns the local port the socket is bound to. |
.starttls | TODO |
.certfile | Returns the server certificate file if the socket is a listening socket, otherwise the client certificate file. (AdiIRC only) |
.upnp | Returns $true if using UPNP otherwise $false. |
Example
; Print number of sockets. //echo -ag $sock(*, 0) ; Print the first socket. //echo -ag $sock(*, 1)
Added in 1.9.0
$sockbr
Returns the number of bytes read during a on SOCKREAD event.
Example
; Open a socket connection to 'google.com' port '80'. /sockopen Example www.google.com 80 ; Listen for the on SOCKOPEN event. on *:SOCKOPEN:Example:{ ; Write a GET request. sockwrite -nt $sockname GET / HTTP/1.0 sockwrite -n $sockname } ; Listen for the on SOCKREAD event. on *:SOCKREAD:Example:{ ; Create a local variable to hold the data. var %i ; Read the data waiting into the local variable. sockread %i ; Print number of bytes read. echo -ag Read $sockbr bytes. ; Close the connection. sockclose $sockname }
Added in 1.9.0
$sockerr
Returns any error during a socket command or socket event.
Example
; Open a socket connection to 'google.com' port '80'. alias Example { /sockopen Example www.google.com 80 ; Check if there was an error. if ($sockerr) { echo -ag There was an error: $sockerr halt } } ; Listen for the on SOCKOPEN event. on *:SOCKOPEN:Example:{ ; Write a GET request. sockwrite -nt $sockname GET / HTTP/1.0 sockwrite -n $sockname ; Check if there was an error. if ($sockerr) { echo -ag There was an error: $sockerr halt } } ; Listen for the on SOCKREAD event. on *:SOCKREAD:Example:{ ; Check if there was an error. if ($sockerr) { echo -ag There was an error: $sockerr halt } ; Create a local variable to hold the data. var %i ; Read the data waiting into the local variable. sockread %i ; Print data read. echo -ag Data = %i }
Added in 1.9.0
$sockname
Returns the name of a socket during on SOCKCLOSE, on SOCKLISTEN, on SOCKOPEN, on SOCKREAD and on SOCKWRITE events.
Example
; Open a socket connection to 'google.com' port '80'. /sockopen Example www.google.com 80 ; Listen for the on SOCKOPEN event. on *:SOCKOPEN:*:{ ; Print the name of the socket. echo -ag Sockname is $sockname ; Close the socket. sockclose $sockname }
Added in 1.9.0
$bindip(N|ipaddress)
Returns information off a network adapter.
Parameters
Parameter | Description |
N|ipaddress | If N = 0, returns the total number of active network adapters else the Nth network adapter or a network adapter matching the ipaddress. |
Properties
Property | Description |
.name | Returns the name of matched network adapter. |
.ip | Returns the internal ipaddress associated with the network adapter. |
.loopback | Returns $true if the associated internal ipaddress is loopback address otherwise $false. |
Added in 1.9.0
$portfree(N,[ipaddress])
Returns $true if the specified port number is not in use, otherwise $false.
Parameters
Parameter | Description |
N | The port number to check. |
[ipaddress] | If specified, only the interface with that IP address is checked for used ports, otherwise all active interfaces are checked. An adapter name can also be used instead of an IP address. |
Example
; Check if port 4242 is free. //echo -ag Port 4242 is $iif($portfree(4242), open, not open)
Added in 1.9.3
$iptype(text)
Returns "ipv4" or "ipv6" if text is is a valid IP address format.
Parameters
Parameter | Description |
text | The text to validate. |
Properties
Property | Description |
expand - Expand a ipv6 address. | |
.compress | Compress a ipv6 address. |
Example
; Check a IPv4 address. //echo -ag 8.8.8.8 is $iptype(8.8.8.8) ; Check a IPv6 address. //echo -ag FE80:0000:0000:0000:0202:B3FF:FE1E:8329 is $iptype(FE80:0000:0000:0000:0202:B3FF:FE1E:8329)
Added in 1.9.0
on <level>:SOCKLISTEN:name:<commands>
Triggers when someone tries to connect to a port that you are listening on using /socklisten.
See also on SOCKOPEN, on SOCKCLOSE, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Listen for requests to port 4242. /socklisten adiirc 4242 ; When someone is connecting, accept the connection. on *:SOCKLISTEN:adiirc:{ /sockaccept name }
Added in 1.9.0
on <level>:SOCKOPEN:<name>:<commands>
Triggers when a /sockopen command is successful and a connection has been made.
See also on SOCKOPEN, on SOCKLISTEN, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
; Open a connection to AdiIRC.com, port 80. /sockopen adiirc adiirc.com 80 on *:SOCKOPEN:adiirc:echo -ag Connection to AdiIRC successful | sockclose adiirc
Added in 1.9.0
on <level>:SOCKWRITE:name:<commands>
Triggers when AdiIRC has finished sending all of the data that you previously queued for sending or when the socket is ready for more writing.
See also on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, on UDPREAD, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Added in 1.9.0
on <level>:SOCKREAD:name:<commands>
Triggers when there is info waiting to be read on the specified connection.
You can read this info using the /sockread command.
See also on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, on UDPREAD, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
; Open a connection to AdiIRC.com, port 80. /sockopen adiirc adiirc.com 80 ; Make a request for the index page. on *:SOCKOPEN:adiirc:{ sockwrite -n adiirc GET / HTTP/1.0 sockwrite -n adiirc Host: www.adiirc.com sockwrite -n adiirc } on *:SOCKREAD:adiirc:{ var %s sockread %s echo -ag Read line %s }
Added in 1.9.0
on <level>:SOCKCLOSE:name:<commands>
Triggers when a connection is closed by the remote connection. (not by /sockclose)
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
See also on SOCKLISTEN, on SOCKCLOSE, on SOCKREAD, on SOCKWRITE, /socklisten, /sockopen, /sockaccept, $sock, $sockbr, $sockerr, $sockname.
Example
; Open a connection to AdiIRC.com, port 80. /sockopen adiirc adiirc.com 80 ; Make a request for the index page. on *:SOCKOPEN:adiirc:{ sockwrite -n adiirc GET / HTTP/1.0 sockwrite -n adiirc Host: www.adiirc.com sockwrite -n adiirc } on *:SOCKCLOSE:adiirc:echo -ag adiirc.com closed the connection
Added in 2.3
on <level>:UDPREAD:name:<commands>
Triggers when there is info waiting to be read on the specified UDP connection.
You can read this info using the /sockread command.
See also on SOCKREAD, on SOCKOPEN, on SOCKCLOSE, on SOCKLISTEN, on SOCKWRITE, /sockudp, $sock, $sockbr, $sockerr, $sockname.
Parameters
<level> - The User Access Level for the event to trigger.
<name> - The UDP $sockname to listen to.
<commands> - The commands to be performed when the event listener's criteria is met.
Example
on *:udpread:name:{ if ($sockerr) { echo -s An error occurred while trying to read data: $sock($sockname).wsmsg | return } else { sockread %a echo -s received: %a } }
Added in 1.4.6
/bw
Sends download/upload speed to current channel or private window, if a network adapter is chosen in Options -> Sysinfo.
/sysinfo
/gfxinfo
/cpuinfo
/meminfo
/diskinfo
/audioinfo
/uptime
Added in 1.9.2
$appbits
Returns 32 on 32 bit AdiIRC and 64 bit on 64 bit AdiIRC. (Regardless of windows bits, see $osbits for that)
Deprecated see $bits
Added in 1.8.10
$audio
Returns the name first audio card detected by AdiIRC. (may not be your default audio card)
$audio(N)
Returns the name of the Nth audio card detected by AdIIRC.
If N is 0, it will return the count of how many audio cards was detected.
Parameters
Parameter | Description |
N | The Nth audio card. |
Added in 2.3
$battery
Returns $true if running on battery, otherwise returns $false.
See also $batteryp.
Added in 2.3
$batteryp
If running on battery, returns percentage left, otherwise 100.
See also $battery.
Added in 1.5
$bwdown
Returns current download bandwidth speed in human readable format on selected network adapter.
Added in 1.5
$bwdownb
Returns current download bandwidth speed in bytes on selected network adapter.
Added in 1.5
$bwname
Return network adapter name of the network adapter to monitor bandwidth, if no network adapter is defined, returns $null.
This can be chosen in Options -> Sysinfo -> Network Adapter.
Added in 1.9.2
$bwrec
Returns numbers of bytes received in human readable format on selected network adapter.
Added in 1.9.3
$bwrecb
Returns numbers of bytes received in byte format on selected network adapter.
Added in 1.9.2
$bwsent
Returns numbers of bytes sent in human readable format on selected network adapter.
Added in 1.9.3
$bwsentb
Returns numbers of bytes sent in byte format on selected network adapter.
Added in 1.5
$bwspeed
Returns the connection (LAN) speed on selected network adapter.
Added in 1.5
$bwup
Returns current upload bandwidth speed in human readable format on selected network adapter.
Added in 1.5
$bwupb
Returns current upload bandwidth speed in bytes on selected network adapter.
Added in 1.5
$cpucache
Returns cpu cache in bytes for 1 core.
Added in 1.5
$cpucount
Returns numbers of cpu's and cores.
Added in 1.5
$cpuident
Returns cpu identifier.
Added in 1.8.10
$cpuload
Returns current CPU load in percentage.
Can take a while to return a value/freeze on first use.
Properties
.cores - Returns the combined load of all CPU cores.
Added in 3.4
$cpuload(N)
Returns the current CPU load in percentage for the Nth core.
Parameters
Parameter | Description |
N | If N = 0 returns number of cores, otherwise the load for the Nth cpu core. |
Example
//echo -ag the current load for the 3rd core is $cpuload(3)
Added in 1.5
$cpumhz
Returns cpu frequency in megahertz.
Added in 1.5
$cpuname
Returns cpu name.
Added in 1.8.10
$cpuvendor
Returns cpu vendor identifier.
Added in 1.5
$diskfree
Returns total free disk space from all drives in human readable format.
Added in 1.5
$disktotal
Returns total disk space from all drives in human readable format.
Added in 1.9.2
$dotnet
Returns the .NET (dotnet) version AdiIRC is currently running on.
Added in 1.6
$gfx
Returns the name of the first graphics card found.
Might not be the default graphics card.
$gfx(N)
Returns the name of the Nth graphics card found.
Parameters
Parameter | Description |
N | If N = 0, number of graphics cards, otherwise the Nth graphics card. |
Example
; Print number of graphics cards. //echo -ag $gfx(0) ; Print the name of the first graphics cards. //echo -ag $gfx(1)
Added in 1.6
$gfxram
Returns the amount of vram in megabytes from the first graphics card found.
Might not be the default graphics card and might not return more than 4096.
gfxram(N)
Returns the amount of vram in megabytes from the Nth graphics card found.
Parameters
Parameter | Description |
N | If N = 0, number of graphics cards, otherwise the Nth graphics card. |
Example
; Print number of graphics cards. //echo -ag $gfxram(0) ; Print vram of the first graphics cards. //echo -ag $gfxram(1)
Added in 1.9.0
$lag
Returns connection lag to current active IRC server in milliseconds.
Added in 1.6
$memfree
Returns free ram in megabytes format.
Added in 1.6
$memfreep
Returns free ram in percentage format.
Added in 1.6
$memtotal
Returns total amount of installed ram in megabytes format.
Added in 1.9.0
$motherboard
Returns the motherboard manufacturer and version name.
Added in 1.9.0
$os
Returns the version number of the operating system.
The reply can be XP, 2003, 2003R2, Vista, 2008, 7, 2008R2, 8, 2012, 8.1, 2012R2, 2016, 10 0r 11.
Properties
Property | Description |
.major | Returns the os major version. (May returns wrong value in windows 11+) |
.minor | Returns the os minor version. |
.build | Returns the os build number. |
.platform | Returns the os platform. |
.type | Returns the os type. |
.spmajor | Returns the os service pack major version. |
.spminor | Returns the os service pack minor version. |
.suite | Returns the os suite. |
Added in 1.9.7
$osbits
Returns "32" on 32 bit windows, and "64" on 64 bit version of windows.
Added in 1.8.10
$osbuild
Returns the windows build number.
Added in 1.8.10
$osedition
Returns the windows edition.
Added in 1.9.7
$osidle
Returns number of seconds since last keystroke or mouse movement.
Example
/timer 1 5 echo -ag Computer has been idle for $osidle seconds
Added in 1.9.1
$osinstalldate
Returns the date windows was installed in unix timestamp format.
Added in 1.8.10
$osmajor
Returns the major windows version number.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832%28v=vs.85%29.aspx
Added in 1.8.10
$osminor
Returns the minor windows version number.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832%28v=vs.85%29.aspx
Added in 1.8.10
$osname
Returns the name of the windows version. (Windows 7, Windows 8 etc)
Added in 1.8.10
$osservicepack
Returns the windows service pack version.
Added in 1.5
$osversion
Returns the version number of the operating system.
Added in 1.8.2
$screen
Returns the name of the first screen found.
$screen(N)
Returns the name of the Nth screen found.
Parameters
Parameter | Description |
N | If N = 0, the number of screens found, otherwise the Nth screen. |
Example
; Print number of screens. //echo -ag $screen(0) ; Print the name of the first screen found. //echo -ag $screen(1)
Added in 1.8.2
$screenb
Returns the bit depth of the first screen found.
$screenb(N)
Returns the bit depth of the Nth screen found.
Parameters
Parameter | Description |
N | If N = 0, the number of screens found, otherwise the Nth screen. |
Example
; Print number of screens. //echo -ag $screenb(0) ; Print the bith depth of the first screen found. //echo -ag $screenb(1)
Added in 1.8.2
$screenh
Returns the height of the first screen found.
$screenh(N)
Returns the height of the Nth screen found.
Parameters
Parameter | Description |
N | If N = 0, the number of screens found, otherwise the Nth screen. |
Example
; Print number of screens. //echo -ag $screenh(0) ; Print the height of the first screen found. //echo -ag $screenh(1)
Added in 2.3
$screenhz
Returns the refresh rate of the first screen found.
$screenhz(N)
Returns the refresh rate of the Nth screen found.
Parameters
Parameter | Description |
N | If N = 0, the number of screens found, otherwise the Nth screen. |
Example
; Print number of screens. //echo -ag $screenhz(0) ; Print the refresh rate of the first screen found. //echo -ag $screenhz(1)
Added in 1.8.2
$screenw
Returns the width of the first screen found.
$screenw(N)
Returns the width of the Nth screen found.
Parameters
Parameter | Description |
N | If N = 0, the number of screens found, otherwise the Nth screen. |
Example
; Print number of screens. //echo -ag $screenw(0) ; Print the width of the first screen found. //echo -ag $screenw(1)
Added in 1.6
$uphours
Hours since computer was last (re)started.
Added in 1.6
$upmins
Minutes since computer was last (re)started.
Added in 1.9.6
$uptime
Returns connection time in seconds for the associated server connection.
Added in 1.9.2
$uptime(mirc|AdiIRC|server|system[, N])
Returns uptime in milliseconds for the specified item.
Parameters
Parameter | Description |
mirc|AdiIRC|server|system | Item to retrieve uptime for. |
N | Optional, if N = 1 returns same format as $duration, if N = 2 returns same format as $duration but without seconds, and if N = 3 returns seconds instead of milliseconds. |
Example
; Current connection uptime. //echo -ag Server has been connected $uptime seconds ; AdiIRC uptime. //echo -ag AdiIRC has been connected $uptime(AdiIRC, 1)
Added in 1.8.8
/var [-gnspB] <%var> [[= ]value]
Sets the value of local variable %var to the specified value.
Syntax can be either var %var = value or var %var value.
Multiple variables can be set in one line using comma as separator, var %var1 = value, %var2 = value2.
See also /set, /unset, /inc, /dec, $var.
Switches
Switch | Description |
-s | Display variable assignment value. |
-g | Creates a global variable instead. |
-n | Treat the value as plain text, even if arithmetic operators are used. |
-i | Initializes a variable only if it does not already exist as a local or global variable. |
-p | Permits value to be 2 literal double quotes and permits value to end with a single $chr(32) space. Also enables -n switch behavior. |
-B | Performs a $calcint calculation instead of regular $calc when arithmetic operators are used. (AdiIRC only) |
Parameters
Parameter | Description |
<%var> | The variable to set. |
[ [= ]value ] | Value to set the variable to. (can be a single arithmetic expression) |
Example
alias factorial { var %result = 1, %x = $1 while (%x) { var %result = %result * $v1 dec %x } return %result } ;Returns 3628800 //echo -ag $factorial(10)
Added in 1.9.0
/vars
Shows a list of all global variables and their values.
Added in 1.8.8
/set [-eklnsuNzgpB] <%var> [value]
Sets the value of %var to the specified value.
See also /var, /unset, /inc, /vars, /dec, $var, Edit Variables.
Switches
Switch | Description |
-e | Unset the variable when AdiIRC exits. |
-k | Keeps the unset time (-u) from a previous command. |
-l | Creates a local variable instead of global. |
-n | Treat the value as plain text, even if arithmetic operators are used. |
-s | Display variable assignment value. |
-uN | Unsets the variable after N amount of seconds, if N = 0 unset the variable after the script is finished. |
-z | Decreases the value of the variable by 1/ever second until zero is reached. At zero the variable will be unset. |
-i | Initializes a variable only if it does not already exist as a local or global variable. |
-g | Sets a global variable even if a local variable exists. |
-p | Permits value to be 2 literal double quotes and permits value to end with a single $chr(32) space. Also enables -n switch behavior. |
-B | Performs a $calcint calculation instead of regular $calc when arithmetic operators are used. (AdiIRC only) |
Parameters
Parameter | Description |
<%var> | The variable to set. |
[value] | Value to set the variable to. (can be a single arithmetic expression) |
Example
alias example { ; Create a variable and set a value. /set %var Countdown: ; Print the value /echo -a %var ; Set the value to 3, decrease once per second /set -zs %var 3 }
Added in 1.9.0
/unset [-slg] <%var> [%var..]
Unset local or global variables, local variables take precedence over a global variable with the same name.
Wildcards is allowed.
See also /var, /set, /inc, /dec, /vars, $var, Edit Variables.
Switches
Switch | Description |
-s | Prints unset information. |
-l | Unset local variable(s). |
-g | Unset global variable(s). |
Parameters
Parameter | Description |
<%var> | Variable to unset. |
[%var..] | Additional variables to unset. |
Example
alias example { ;Create and fill a variable with data. /set %var1 Variable test. ;Print the variable value. /echo -a %var1 ;Unset the variable. unset %var1 ;Print the variable value after unset. echo -a %var1 }
Added in 1.9.3
/unsetall
Unset and removes all variables from the variables list.
Added in 1.9.0
$var(%var,[N])
Returns the Nth matching variable name.
Searches both local and global variables, wildcards can be used.
See also /var, /set, /unset, /inc, /dec.
Parameters
Parameter | Description |
%var | Variable to match. |
[N] | If N = 0, number of matched variables (default), otherwise the Nth match. (optional) |
Properties
Property | Description |
.value | The variable value. |
.local | $true if the variable is a local variable, otherwise $false. |
.secs | Number of seconds until the variable is unset (if autounset is on). |
.unset | Number of seconds until the variable is unset (if autounset is on). |
Examples
; Create a variable. /set %Example Hello World ; Print number of variables matching '%Example*'. //echo -ag $var(%Example*, 0) ; Print the name and value from the first match. //echo -ag $var(%Example*, 1) = $var(%Example*, 1).value ; Delete the variable /unset %Example
Wildcard characters are special characters that are interpreted when comparing text.
There are three meaningful wildcard characters:
? - matches a single characterFor example the expression t*s a *?t matches the string this is a text
If & is not used alone it matches the plain text '&' character
test & matches test this or test that
test &his matches only test &his
test thi& matches only test thi&
test th&s matches only test th&s
Added in 1.9.0
/scripts [on|off]
Temporary enables/disables all scripts for this session only.
See also $scripts.
Parameters
Parameter | Description |
[on] | Enables all scripts. |
[off] | Disables all scripts. |
Added in 2.9
/scrolltext [-uNdNpNoNhelN] [window]
Scrolls the text lines in a window up or down.
See also on MSCROLL, $window.mscrollpos, $window.mscrollmax.
Switches
Switch | Description |
-uN | Scrolls N lines up. |
-dN | Scrolls N lines down. |
-pN | Scrolls N pages up. |
-oN | Scrolls N pages down. |
-h | Scrolls to home. |
-e | Scrolls to end. |
-lN | Scrolls to the Nth line. |
Parameters
Parameter | Description |
[window] | The window to scroll, if not defined, current active window is used. |
Example
; Scrolls the '#channel' window 5 lines up. /scrolltext -u5 #channel
Added in 1.9.0
/search [-enrxg] <text>
Searches active window for the specified text (same as CTRL + F).
Same as /findtext.
Switches
Switch | Description |
-e | Indicates text is a regular expression. (AdiIRC only) |
-n | Search backwards. |
-r | Use exact match. (AdiIRC only) |
-x | Reset previous search before seaching again. (AdiIRC only) |
-g | Opens the global find text dialog. (AdiIRC only) |
Parameters
Parameter | Description |
<text> | Text to search. |
Example
; Searches for 'Hello World1' /search Hello World! ; Searches for any text matching 'Hello' /search -r .*Hello.*
Added in 3.3
/sendkeys [-pw] <keys|text>
Send keys or plain text to the active window. (In a script, you can use $appactive to ensure the keys are sent to this AdiIRC instead of another App.)
Check here to see the syntax for sending keys.
Switches
Switch | Description |
-p | Send plain text instead of keys. |
-w | Wait for the keys to be processed. (does not work with -p) |
Parameters
Parameter | Description |
<keys<redpre#0>text> | Key combination or plain text to send. |
Example
; Send CTRL + t keys to the active window. /sendkeys ^t ; Send emoji to the active window. //sendkeys -p $chr(55357) $+ $chr(56832) ; Toggle caps lock. /sendkeys {CAPSLOCK} ; open the Ctrl+K colors dialog (note that it's important to use lowercase k) /sendkeys ^k ; open the Ctrl+Shift+K colors dialog /sendkeys ^K or /sendkeys ^+k ; open the options dialog. Note that upper-case 'O' doesn't work because that makes sendkeys use ctrl+shift+O instead of Ctrl+O /sendkeys %o ; note that in a script this will try to send the contents of the %o variable, so in a script use $+(%,o) or % $+ o
Added in 1.5
/server [-switches] [host/ip address/network label] [port] [password] [-additional switches..]
Connects to a new server.
/server with no parameters will (re)connect the current active server.
IPv6 addresses must be enclosed with [], e.g [xxx:xxx:xxx:xxx:xxx:xx]:port.
Switches
Switch | Description |
---|---|
-4 | Connect to ipv4 addresses. |
-6 | Connect to ipv6 addresses. |
-e | Indicates connection should be a SSL/TLS connection. |
-d | TODO |
-m | Indicates connection should happen in a new server window. |
-n | Indicates connection should happen in a new server window, but not connect. |
-p | Prevents the perform/commands from being applied. |
-f | Prevents the channellist from popping up. |
-o | Prevents the autojoining of channels from being applied. |
-c | Prevents the on CONNECT event from being triggered. |
-z | Minimizes the new server window. |
-t | Indicates connection should be a STARTTLS connection. |
-s | TODO |
-a | TODO |
-r | TODO |
-w | TODO |
-u | TODO |
-l method password | Use login method to identify nick |
Parameters
Parameter | Description |
---|---|
[host/network label] | Host to join, can be a ip address or host name, can also be a network label from the Serverlist or the default Serverlist. |
[port] | Port to use. (+port indicates connection should be a SSL/TLS connection, *port indicates a STARTTLS connection) |
[password] | The server password to use, normally used for bnc login. |
Additional switches
Switch | Description |
---|---|
[-j/-jn/-join #channel pass] | Channels to join as a comma separated list. (if -jn or -j -n is used, the channels are minimized) |
[-new/-m/] | Indicates connection should happen in a new server window. |
[-forcessl N] | Forces a specific SSL/TLS version, 0 = ssl2, 1 = ssl3, 2 = tls1.0, 3 = tls1.1, 4 = tls1.2, 5 = tls1.3 (tls1.1, tls1.2, tls1.3 is only available in the .net 4+ version) |
[-n] | Indicates connection should happen in a new server window, but not connect. |
[-z] | Minimizes the new server window. |
[-p/-pass password] | Another way to set the server password to use, normally used for bnc login. |
[-e/-ssl] | Indicates connection should be a SSL/TLS connection. |
[-t] | Indicates connection should be a STARTTLS connection. |
[-u/-user username] | The server login username to use, normally used for bnc login. |
[-nick nick] | The nick to use. |
[-an/-anick alternate nick] | Alternative nick to use. |
[-r/-real fullname] | Fullname to use. |
[-itype global/local] | Specify whether to use global or local user. Ignored since AdiIRC does not have this concept. |
[-port port] | Another way to set what port to use. |
[-i nick anick email name] | Another way to set nick, alternative nick, server username and fullname. |
[-d N] | Encoding to use on this server. |
[-encoding N] | Encoding to use on this server. |
[-cert file] | Custom SSL client certificate to use for this server. |
[-keytype global/local] | 'global' specifies to use the global SSL/TLS client certificate file, 'local' to use the custom/local certificate. |
[-key file] | Custom SSL client certificate to use for this server. |
[-4] | Connect to ipv4 addresses. |
[-6] | Connect to ipv6 addresses. |
[-g] | Prioritize ipv6 addresses. |
[-x 4|5|h|n hostname port username password] | Connect using custom Sockv4/Sockv5/http or no proxy. |
Example
; Connect irc.nordicirc.com port 6667 in a new server window with nick MyNick, alt nick MyNick_ and join channels #chan1,#chan2,#chan3. /server -m irc.nordicirc.com 6667 -nick MyNick -an MyNick_ -j #chan1,#chan2,#chan3 ; Connect a network label from the Serverlist named 'NordicIRC' /server -m NordicIRC ; Connect a network label from the default Serverlist named 'Libera.Chat' /server -m Libera.Chat
Added in 1.8.8
/serverlist [-nohr] [network]
Opens the Serverlist dialog
.
Switches
Switch | Description |
-n | Opens the new Serverlist. |
-o | Opens the old Serverlist. |
-h | Clears the Server history. |
-r | Reloads the Serverlist from the networks.ini file. |
Parameters
Parameter | Description |
[network] | The network name to select. (Only works with new Serverlist) |
In the channels tabs you can add all channels you want to join or keep as favorites.
See also /channels, /autojoin.
Opens up the add channel dialog.
Opens up the edit channel dialog.
Removes the selected channels(s) from the channels tab.
Moves the selected channel(s) higher up in the serverlist.
Moves the selected channel(s) lower down in the serverlist.
If checked, all channels marked as autojoin will be joined when the server connects.
Joining channels will start after X seconds.
Joining each channel will be delayed X seconds.
Channels not marked as autojoin will be treated as favorites, they can be tabcompleted from the Editbox.
Adding new channels can also be done by right-clicking a channel window in the Treebar/Switchbar then clicking Add Channel or by using the /channels command.
In the commands tab, you can add commands to perform when the server is connected.
Each line represents a command to perform, see Scripting Commands for more information.
The lines are evaluated as scripts, so words starting with a $ or + must be escaped using $ $+ text and % $+ text.
When checked, all the commands will be performed when the server connects, otherwise they will be ignored.
The Serverlist allows you to add your networks/servers, add your user information, network options, login options, setup channels to join and run commands when it connects.
It can be opened by pressing the CTRL + S hotkey, by typing /serverlist or by opening Server -> Serverlist in the Menubar.
Tip. All servers can be connected from Menubar -> Server -> All Servers.
See also /server, /serverlist.
In the left corner you can type the name of the network to quickly filter it into view.
Networks can be moved around by left-clicking, then mouse drag/drop the network onto another network.
You can add a networks to the favorites by right-click it and chose "Add to Favorites", you can also enable "Show only Favorites" to hide all networks not in your favorites list.
Favorites networks can also be accessed from the Server -> Favorites menu in the Menubar.
Serverlist can be saved by pressing the "Save" button or by pressing the CTRL + S hotkey.
AdiIRC will also warn you when closing the Serverlist window if there are any unsaved changes.
Enter a network name to use for this network.
You can also select a template in the dropdown which will add the correct hostname and port for most well known networks.
If enabled, the Serverlist will be shown when AdiIRC starts.
The nickname you want others to see you as.
The fullname to display when another user looks you up with /whois.
Can be left blank.
Username to use when logging on to a IRC network, if Identd is disabled, this will also be your Identd username.
Username is also used to log on to IRC bouncers or through SASL/nickserv.
Normally this can be set to the same as your Nick, can also be set to blank.
Password to use when logging on to a IRC server or a IRC bouncer.
List of alternative nicks to use when the main nick is in use.
Login Method to use when logging on to verify your nick.
The password to use to verify your nick when logging on.
Encoding to use on this network, this should almost always be Unicode (UTf-8).
IF enabled, AdiIRC will connect to this network on startup.
If enabled, AdiIRC will prioritize IPv6 addresses found in the hostname of the server when connecting.
If enabled, AdiIRC will minimize the server window when connecting.
If enabled, AdiIRC will show the name you gave this network in the Treebar/Switchbar.
When clicked, AdiIRC will connect to this network in the current open server window/tab inside AdiIRC.
When clicked, AdiIRC will connect to this network in the a new server window/tab inside AdiIRC.
The IRCv3 tab allows enabling/disabling IRCv3 features per server.
Default - Uses the global echo-message option.
On - Always uses echo-message when available.
Off - Never uses echo-message.
Default - Uses the global STS option.
On - Always uses STS when available.
Off - Never uses STS.
Default - Uses the global server-time option.
On - Always uses server-time.
Off - Never uses server-time.
Default - Uses the global SASL login error option.
On - Always disconnects on SASL login error.
Off - Never disconnects on SASL login error.
The misc tab has some additional options.
Default - Uses the Options -> Server regain nick setting.
On - Tries to regain nick if the main nick name is in use.
Off - Disables regain nick on this network,
Default - Uses the Options -> Server track users away setting.
On - Enables tracks users away status on this network.
Off - Disables track users away status on this network.
Asks the servers to set the specified user modes on connect.
If set, commands such as /ban will use this format as the default ban type on this network.
If enabled, uses global quit message settings including random quit message, otherwise uses the message entered in Quit message
The custom quit message to use on this network if Use global quit message is disabled.
In the proxy tab, you can add custom proxy settings to this specific network.
A proxy server allows you to route traffic through a different connection/ip address.
Enables or disables global proxy settings.
Sets the types of connections the proxy should be enabled for.
None - Disable proxy for all types.
Server - Enables proxy for the server connection.
DCC - Enables proxy for the DCC connection.
Both - Enables proxy for both server and DCC connections.
Sets the proxy protocol type to connect to.
Proxy server hostname to connect to.
Proxy server username to use, if any.
Proxy server password to use, if any.
Proxy server port to connect to.
In the servers tab you can add/edit/remove hostnames and ports which this network should connect to.
AdiIRC will try each hostname in order from top to bottom.
Only one hostname and one port/port range can be added per entry.
Syntax: [+|*]N-M.
+ Prefix indicate the port(s) are SSL/TLS port(s).Ports can be a range using N-M, e.g 6667-6669.
Opens up the add server dialog.
Opens up the edit server dialog.
Removes the selected server(s) from the servers tab.
Moves the selected server(s) higher up in the serverlist.
Moves the selected server(s) lower down in the serverlist.
In the SSL tab you can change various options related to connecting to networks using SSL/TLS
Set the client SSL certificate to use on this network if Use global client certificate is unchecked.
Enable/disable using the global client certificate set in Options -> Server Options.
If enabled accepts self-signed SSL certificates or certificates with invalid host names.
Auto - Automatically negotiate the best protocol. (Should always be set to Auto)
SSL2 - Force using only the SSL2 protocol.
SSL3 - Force using only the SSL3 protocol.
TLS1.0- Force using only the TLS1.0 protocol.
TLS1.1- Force using only the TLS1.1 protocol.
TLS1.2- Force using only the TLS1.2 protocol.
TLS1.3- Force using only the TLS1.3 protocol.
Enables or disables the new serverlist.
Old and new Serverlist can still be accessed with the /serverlist command.
if enabled, AdiIRC will try reconnect when remote connection is disconnected.
If enabled, AdiIRC will when resuming from sleep, try to reconnect all servers which was previously connected when going to sleep.
If enabled, AdiIRC will on exit save all open servers in the serverlist and mark them for autoconnect on next startup.
All other servers in the Serverlist will be unmarked for autoconnect.
All autojoin channels for the open servers will be cleared and all open channels will be added as autojoin in their place.
A right-click menu "Save Channel" for Treebar/Switchbar will be available to exclude/include channels from this system.
If enabled, AdiIRC will ask to enable IRCv3 echo-message tag on supported servers, outgoing messages will be hidden so only the echo'ed message is shown.
When enabled and connected to a server which supports the IRCv3 STS extension and not using SSL/TLS, AdiIRC will disconnect and reconnect using SSL/TLS. AdiIRC will continue to only connect to this server using SSL/TLS until the STS expires.
If enabled, AdiIRC will ask to enable IRCv3 server-time tag on supported servers. AdiIRC will then display the message timestamp from when the server received the message instead of when AdiIRC received it.
This can also be enabled/disabled per server in the Serverlist.
If Enabled, AdiIRC will disconnect from a server if SASL login was enabled and the authentication failed or the SASL module was removed.
If enabled, all channels in the Serverlist with Autojoin enabled will be (re)joined when the server is reconnected, otherwise only the currently open channels will be rejoined.
If enabled, closes all associated channel/private windows when the server disconnects.
If enabled, the Serverlist will automatically close when you click the Connect or Connect in a new tab buttons in the Serverlist.
Number of times to try to reconnect.
Number of seconds to wait between each reconnect try.
Default ban type to use when using /ban.
Default part message to use when using /part or closing a channel window.
Default quit message to use when using /quit or disconnecting/closing a server window.
Default quit message will be ignored if random quit message is enabled.
Default port used in /server and other places.
+port can be used for SSL/TLS, *port can be used for STARTTLS.
If enabled, a random line from the quit messages file will be used.
Quit message can be added/removed from the Menubar -> Tools -> Edit Quits.
Default quit message will be ignored.
Default character encoding to use when adding/connecting a new server.
If enabled and encoding is not UTF8, AdiIRC will try to decode the text with the chosen encoding and if it fails, fallback to decode with UTF8 instead.
If enabled, AdiIRC will automatically try to regain your primary nick.
If enabled, the Serverlist label you entered will be shown in Treebar/Switchbar/Titlebar etc instead of the network name received from the server.
If enabled, AdiIRC will periodically try to find out which users are away or not away.
Disable tracking away status for channels larger than [X] users.
On some servers, AdiIRC needs to send /who #channel periodically, doing this on large channels can cause the server to disconnect you.
Set the delay in milliseconds between each message AdiIRC sends to the server.
Sending too much data too fast can cause the server to disconnect you.
Sets the number of seconds between nick retries.
Enable or disable the Identd server.
If enabled, AdiIRC will start the identd server when connecting to a server, and stop it when connected.
If enables, shows a notice in the server window when a server wants to know your Identd nick.
When enabled, identd will reply with the Username set in the Serverlist for this request, otherwise it will reply with the Identd nick.
If there are no connections matching the identd request, the Identd nick will be replied.
The nick to reply when a server asks for your Identd nick.
The system to reply when a servers asks for your Identd nick.
The port the Identd server should listen on.
Enables or disables the Dde Server.
If enables, AdiIRC will check if another Dde server is using the same name before starting it.
The Dde service name to use.
How long to wait in milliseconds before giving up the Dde request.
If checked, opens the port specified in the /socklisten -p command using Upnp.
If checked, opens the port associated DCC port using Upnp when sending files.
If checked, opens the identd port using Upnp.
Some servers scans for open identd port and can take a while to timeout, with the port open AdiIRC can connect faster.
If enabled, AdiIRC will disconnect servers with invalid ssl certificates.
If enabled AdiIRC will ask to approve servers with invalid ssl certificates.
If enabled, AdiIRC will connect to servers with invalid ssl certificates automatically.
Clears previously accepted invalid certificates.
Path to a client ssl certificate in the pfx format
Generates a new client ssl certificate in the pfx format
Only works on Windows 10+.
Added in 1.8.8
/set [-eklnsuNzgpB] <%var> [value]
Sets the value of %var to the specified value.
See also /var, /unset, /inc, /vars, /dec, $var, Edit Variables.
Switches
Switch | Description |
-e | Unset the variable when AdiIRC exits. |
-k | Keeps the unset time (-u) from a previous command. |
-l | Creates a local variable instead of global. |
-n | Treat the value as plain text, even if arithmetic operators are used. |
-s | Display variable assignment value. |
-uN | Unsets the variable after N amount of seconds, if N = 0 unset the variable after the script is finished. |
-z | Decreases the value of the variable by 1/ever second until zero is reached. At zero the variable will be unset. |
-i | Initializes a variable only if it does not already exist as a local or global variable. |
-g | Sets a global variable even if a local variable exists. |
-p | Permits value to be 2 literal double quotes and permits value to end with a single $chr(32) space. Also enables -n switch behavior. |
-B | Performs a $calcint calculation instead of regular $calc when arithmetic operators are used. (AdiIRC only) |
Parameters
Parameter | Description |
<%var> | The variable to set. |
[value] | Value to set the variable to. (can be a single arithmetic expression) |
Example
alias example { ; Create a variable and set a value. /set %var Countdown: ; Print the value /echo -a %var ; Set the value to 3, decrease once per second /set -zs %var 3 }
Added in 1.9.3
/setconfig <section> <option> [value]
Modifies a config.ini option and tells AdiIRC to reload the config.ini file.
/setconfig with no parameters will just reload the config.ini file.
See also $readini, $adiircini.
Same as /setoption,
Parameters
Parameter | Description |
<section> | Section in the config.ini file to edit. |
<options> | Option under the section in the config.ini file to edit. |
[value] | Value to insert in the option. |
Example
; Disables timestamp in messages. /setconfig Messages UseTimestamp False ; Prints whether use timestamp is on or off. //echo -ag Timestamp is $iif($readini($adiircini, Messages, UseTimestamp) == True,on,off))
Added in 1.9.0
/setlayer <0-255> [window]
change the transparency of a given window. If no window is provided, the transparency setting will apply to the main MDI window. The setlayer works on all windows as long as the full name is provided, for example "Status Window" for the status window.
Does not work on docked MDI child windows, http://msdn.microsoft.com/en-us/library/aa984329%28VS.71%29.aspx
Parameters
Parameter | Description |
<0-255> | Alpha channel value. |
[window] | The window to apply the transparency to. |
Example
alias example { ;Create a new desktop window. /window -de @Example ;Set @example to 204/255 (%20) transparency. /setlayer 204 @Example ;A friendly message. echo @Example 20% Transparency! }
Added in 1.8.9
/setoption <section> <option> [value]
Modifies a config.ini option and tells AdiIRC to reload the config.ini file.
/setoption with no parameters will just reload the config.ini file.
See also $readini, $adiircini.
Same as /setconfig,
Parameters
Parameter | Description |
<section> | Section in the config.ini file to edit. |
<options> | Option under the section in the config.ini file to edit. |
[value] | Value to insert in the option. |
Example
; Disables timestamp in messages. /setoption Messages UseTimestamp False ; Prints whether use timestamp is on or off. //echo -ag Timestamp is $iif($readini($adiircini, Messages, UseTimestamp) == True,on,off))
Key | Description |
ALT + 1-9 | Switches window to selected number in Switchbar/Treebar order |
ALT + Z | Closes current window |
CTRL + W | Closes current window |
ALT + F4 | Closes application |
PAGEDOWN | Scrolls messages down one page |
PAGEUP | Scrolls messages up one page |
CTRL + UP | Scrolls messages up one line |
CTRL + DOWN | Scrolls messages down one line |
CTRL + Mouse wheel up | Scrolls messages up one line |
CTRL + Mouse wheel down | Scrolls messages down one line |
CTRL + END | Scrolls messages to bottom |
CTRL + HOME | Scrolls messages to top |
CTRL + SPACE | Opens contextmenu in Editbox/Topicbox/script editor (Opens the Nicklist contextmenu if the selected text is a nick in the channel) |
ALT + ENTER | Adds a newline in Editbox |
ALT + UP | Scrolls up in Editbox message history, even if the current message is multiline |
ALT + DOWN | Scrolls down in Editbox message history, even if the current message is multiline |
SHIFT + Mouse wheel up/down | Scrolls through windows in Switchbar/Treebar order |
TAB | Performes Tabcomplete on /commands, nicks, #channels, %variables and $identifiers |
CTRL + J | Opens the Media Player playlist search |
CTRL + copy text from text buffer | Copies the text and the color/font control codes |
SHIFT + copy text from text buffer | Copies the text using a rectangle |
SHIFT + starting AdiIRC | Bypasses any autoconnect servers and show the quick connect dialog |
SHIFT + TAB | Cycles through Editbox, Searchbox, Nicklist and Topicbox |
CTRL + D | Toggles window attachment (Can be used on any window including Options, Theme manager etc) |
ALT + X | Toggles window maximized status |
ALT + F1 | Opens the help window |
ALT + J | Opens the Channel Favorites |
ALT + L | Opens the Channel List |
ALT + R | Opens the Script Editor |
ALT + O | Opens the options window |
ALT + B | Opens the Address Book |
ALT + D | Opens the Alias Editor |
ALT + P | Opens the menu editor |
ALT + N | Toggles Notify list |
ALT + U | Toggles URL catcher list |
ALT + K | Focuses the Toolbar Searchbox, if enabled. |
CTRL + T | Opens new server window |
CTRL + SHIFT + T | Re opens closed channel/private windows in last closed order. (Works per server connection) |
CTRL + F | Opens text search |
CTRL + SHIFT + F | Opens global text search |
CTRL + L | Scrolls the unread line marker line into view |
CTRL + SHIFT + L | Enable/disable the marker line in current window |
CTRL + G | Hides/shows Treebar |
CTRL + H | Cycles last highlighted windows |
CTRL + S | Opens server list |
CTRL + ALT + UP | Increases window opacity (transparency) |
CTRL + ALT + DOWN | Decreases window opacity (transparency) |
CTRL + Enter | Allows you to send a message starting with "/<command>" without executing the command |
CTRL + SHIFT + R | Toggles sound on/off |
CTRL + + | Increases text size in current window |
CTRL + - | Decreases text size in current window |
CTRL + 0 | Resets text size in current window |
CTRL + B | Inserts bold tag |
CTRL + K | Inserts color tag |
CTRL + SHIFT + K | Inserts alternative color tag |
CTRL + I | Inserts italic tag |
CTRL + U | Inserts underline tag |
CTRL + O | Inserts stop all formatting tag |
CTRL + R | Inserts reverse tag |
CTRL + E | Inserts emoticon |
Mousebutton 3 | Cycles one window back (according to Switchbar/Treebar order) |
Mousebutton 4 | Cycles one window forward (according to Switchbar/Treebar order) |
ALT + LEFT | Cycles one window back (according to Switchbar/Treebar order) |
ALT + RIGHT | Cycles one window forward (according to Switchbar/Treebar order) |
CTRL + ALT + LEFT | Cycles one window back (according to Switchbar/Treebar order) including minimized windows |
CTRL + ALT + RIGHT | Cycles one window forward (according to Switchbar/Treebar order) including minimized windows |
CTRL + TAB | Cycles through open window (in recent history order) |
CTRL + SHIFT + TAB | Cycles through open windows backwards (in recent history order) |
CTRL + N | Cycles through all open channel windows |
CTRL + Q | Cycles through all open query windows |
CTRL + M | Goto next unread window |
CTRL + ALT + M | Goto next unread window with new normal messages/highlights only |
SHIFT + Left MouseClick a tab in Switchbar/Treebar | Closes the window |
CTRL + Left MouseClick a tab in Switchbar/Treebar | Minimizes the window |
CTRL + Right MouseClick anywhere in the Treebar | Opens the Treebar menu |
ESC | For channels/custom window it minimizes, for most dialogs it closes |
F1 | Shows the help window or the help file |
F2 | Toggles Monitor Panels on/off |
F5 | Reloads Logviewer/Theme Manger/Plugin Manager |
F11 | Toggle main window fullscreen |
CTRL + E | Focus filter box in Options/Serverlist |
CTRL + S | Save Options/Scripting Editor/Serverlist/Theme Manager |
SHIFT + Clicking Connect/Connect in a new window button in the Serverlist | Opens the server in a new window without connecting. |
SHIFT + UP | Move selected network up in the Serverlist (not Treebar, see Window Order). |
SHIFT + DOWN | Move selected network down in the Serverlist (not Treebar, see Window Order). |
SHIFT + Clicking the Titlebar minimize icon | Minimize AdiIRC to tray regardless of tray settings. |
CTRL + Clicking the Titlebar minimize icon | Show the /lock dialog. |
SHIFT + Right Clicking the Titlebar of a undocked window | Rolls the window up or down. |
SHIFT + Clicking quick connect "log on" button | Connects in a new server window. |
SHIFT + Clicking server history/favorites menu item | Connects in a new server window. |
ALT + Left-click main window | Moves the main window when Titlebar is disabled. |
CTRL + + | Increases the font size on current active window. |
CTRL + - | Decreases the font size on current active window. |
CTRL + 0 | Resets font size on current active window. |
CTRL + BREAK | Halts processing of scripting loops such as /while and /goto. |
As of 2.9 shortcuts can be changed in Options -> Shortcuts.
Starting with version 1.9.6, you can use the scripting event on KEYDOWN to override most of the built-in shortcuts.
Not all functions have a command, feel free to request one if you need it.
Can also be used to create new shortcuts.
Example
; Setup a keydown keyval for character 'r', you can retrieve the keyval value from the $keyval identifier. on *:KEYDOWN:*:114:{ ; Check if control key is pressed using bitwise comparison ; Control = 2 ; Shift = 4 ; Alt = 8 if ($mouse.key & 2) { ; Echo the shortcuts was pressed echo -ag Ctrl + R was pressed ; Halt any AdiIRC shortcuts halt } } ; Getting a keyval for a key. on *:KEYDOWN:*:*:{ echo -ag keyval for $keychar is $keyval }
As of 2.9 new shortcuts can be added in Options -> Shortcuts.
New shortcuts can be created using the alias syntax and the F-keys.
F1-12 and any combination using alt/shift/control is allowed.
a - Alt.
s - Shift.
c - Control
Example
alias aF3 { echo -ag I pressed ALT + F3 } alias sF3 { echo -ag I pressed SHIFT + F3 } alias cF3 { echo -ag I pressed CTRL + F3 } alias caF3 { echo -ag I pressed CTRL + ALT + F3 }
See also /globalkeys.
Here you can change built-in shortcuts and add new ones, for creating global hotkeys, see /globalkeys.
See also Shortcuts.
Double-click a shortcut in the list or click the Edit button to change the shortcut.
Click the Add button to add a new custom shortcut.
Click the Edit button or double-click a custom shortcut in the list to edit it.
Click the Remove button to remove a custom shortcut.
Add/Edit Custom Shortcut Dialog
Added in 1.9.4
/showadiirc -mnrstxoplfz [x y w h]
Manipulates the display of the main AdiIRC window.
Same as /showmirc.
Switches
Switch | Description |
-n | Minimize. |
-r | Restore (Restores to previous window state, normal or maximized). |
-s | Show. |
-t | Tray. |
-x | Maximize. |
-o | On Top. |
-p | Not On Top. |
-m | Minimize according to tray setting. |
-f | Fullscreen. (see also /fullscreen) |
-l | Lock screen, can be used wit the -ntm switches to lock the screen. (see also /lock) |
-z | Indicates [x y w h] is defined. (AdiIRC only) |
Parameters
Parameter | Description |
[x y w h] | AdiIRC main window Position and size, used with -z (AdiiRC only) |
Added in 2.7
/showmenu [-qnmcsuwadil] [window|nick] [nick] [N] [x y]
Shows the specified context-menu type for current active window or [window|nick].
By default the menu opens relative to the current active Editbox.
Switches
Switch | Description |
-q | Show the Query menu. |
-n | Show the Nicklist menu. |
-m | Shows the Menubar menu. |
-c | Shows the Channel menu. |
-s | Shows the Status menu. |
-u | Shows the specified @custom menu. |
-w | Shows the Window menu. |
-a | Shows the Menubar as a context menu. (while the context menu is open, the regular Menubar will be empty) |
-d | Indicates the [x y] positions are relative to the desktop instead of the active window. |
-i | Generates a text version of the menu which is sent through the on SIGNAL event. |
-l | Clicks the [N]th menu item. |
Parameters
Parameter | Description |
[window|nick] | Window or query nick to open the menu for. |
[nick] | The Nicklist/Query nick to open the menu for. |
[N] | The Nth menu item to click, used with -l. |
[x y] | The X and Y position to open the menu at (relative to the associated window). |
Signal
When using the -i switch the on SIGNAL event "adiirc_to_web_menu" is called, the text version of the menu is passed through $1- with the format: text,clickid,menustype\r\n
Example
; Opens the channel menu for the channel #test at x y position 42 42. /showmenu -c #test 42 42 ; Show the whole Menubar menu when clicking a /toolbar item. /showmenu -ad $toolbar(1).dx $toolbar(1).dy
Added in 1.9.4
/showmirc -mnrstxoplfz [x y w h]
Manipulates the display of the main AdiIRC window.
Same as /showadiirc,
Switches
Switch | Description |
-n | Minimize. |
-r | Restore (Restores to previous window state, normal or maximized). |
-s | Show. |
-t | Tray. |
-x | Maximize. |
-o | On Top. |
-p | Not On Top. |
-m | Minimize according to tray setting. |
-f | Fullscreen. (see also /fullscreen) |
-l | Lock screen, can be used wit the -ntm switches to lock the screen. (see also /lock) |
-z | Indicates [x y w h] is defined. (AdiIRC only) |
Parameters
Parameter | Description |
[x y w h] | AdiIRC main window Position and size, used with -z (AdiiRC only) |
Quick Start
Frequently Asked Questions
Notable AdiIRC Features
Screenshots
Changelog
Beta Changelog
Support
Translations
Scripting Identifiers
Scripting Commands
Added in 1.9.0
/signal [-n] <name> [parameters]
Trigger on SIGNAL events in all scripts that listen for signals.
Switches
Switch | Description |
-n | Makes the script trigger immediately. |
Parameters
Parameter | Description |
<name> | Signal to trigger. |
[parameters] | Parameters to send to the signal. |
Example
;Setup a listening SIGNAL event. on *:SIGNAL:testsignal:echo -a Signal was called with parameters: $1- ;Call the testsignal with parameters Hello world! /signal testsignal Hello world!
Added in 1.5
/slap <nick nick2 nick3..> [N]
Shows an slap emote on a nick.
Default slap is "Nick slaps <nick> with the power of greyskull"
You can create your own slaps and use random slaps in Tools -> Edit Slaps or manually update slaps.txt in the config folder.
$1 can be used to reference the nick(s) to slap.
Parameters
Parameter | Description |
<nick nick2 nick3..> | The nick(s) to slap into oblivion! |
[N] | Use specific line number in the slaps.txt file as the slap. |
Example
; Use default or random slap. /slap Nick ; Use default or random slap on multiple nicks. /slap Nick Nick2 Nick3 Nick4 ; Use slap in line number 11 of slaps.txt as the slap. /slap Nick 11
The slaps editor allows adding or editing or viewing custom/random slaps.
it can be opened by clicking Menubar -> Tools -> Edit Slaps or by typing /edit -l.
The editor shares characteristics with all the other editors.
See also /slap, Editor Options.
$nick or $1 can be used to reference a target nick.
To save the current slaps file to a different file, click the Menubar (inside the editor) -> File -> Save As menu item.
To load slaps from a different file, click the Menubar (inside the editor) -> File -> Load menu item.
Clicking the Menubar (inside the editor) -> Edit -> Find or pressing the CTRL + F shortcut opens the search and replace panel.
You can search or search and replace using a Regular Expression by checking the Regex checkbox.
Pressing the ESCAPE key closes the search panel.
The font of the editor can be changed by clicking the Menubar (inside the editor) -> File -> Change Font menu item.
Note: only truetype fonts can be used.
The editor colors can be changed in Options -> Colors.
Added in 1.8.3
/sleep <N> <command>
Execute a command after N seconds, can be used to delay channel joins while waiting for NickServ Auth.
Parameters
Parameter | Description |
<N> | Seconds to delay. |
<command> | Command to execute after delay. (Must start with a /) |
Example
; Delay 5 seconds, then join #channel1 and #channel2 /sleep 5 /join #channel1,#channel2
Added in 1.9.0
/sline [-arSW] <#channel> <N|nick>
Selects or de-selects lines in a channel nickname listbox. It can select either the Nth nickname in a listbox, or a specified nickname.
Switches
Switch | Description |
-a | Appends selection to current selection. |
-r | Deselects instead of selects. |
-S | Use status window. (AdiIRC only) |
-W | Allow using a channel or query window name for @name. (AdiIRC only) |
Parameters
Parameter | Description |
<#channel> | Channel where the listbox is located. |
<N|nick> | Nick or the Nth nick to select. |
Added in 1.9.0
/sockaccept [-n] <name>
Accepts the current connection to your listening port and assigns it a name to identify it.
Switches
Switch | Description |
-n | Disables the Nagle algorithm. |
Parameters
Parameter | Description |
<name> | Name to assign the connection. |
Added in 1.8.10
/sockclose <name>
Closes the connection with the specified name. If you specify a wildcard name, all connections that match the wildcard are closed.
Parameters
Parameter | Description |
<name> | Socket name to close. |
Added in 1.9.0
/socklist [-tul] [name]
Lists all matching open sockets.
Switches
Switch | Description |
-t | Lists only tcp sockets. |
-u | Lists only udp sockets. |
-l | Lists only listening sockets. |
Parameters
Parameter | Description |
[name] | List socket matching name, can be a wildcard. |
Added in 1.9.0
/socklisten [-dpuEn] [bindip] <name> [port] [certificate]
Listens on the specified port for connections to that port. If a port is not specified, the port is selected randomly from the range specified in Options -> DCC Options -> Port Range.
Switches
Switch | Description |
-d | Switch indicates that you specified an ip address as the bind address. |
-p | Enables UPnP support for the listening socket, if that is available. |
-u | Enables dual stack sockets. |
-E | Creates a SSL listening socket. (AdiIRC only) |
-n | Disables the Nagle algorithm. |
Parameters
Parameter | Description |
[bindip] | Ip address to bind to. (used with -d) |
<name> | Name to give the listening connection. |
[port] | Port to listen on. |
[certificate] | the SSL certificate pfx file to use with -E, if not specified, the global client certificate is used. (AdiIRC only) |
Added in 1.9.0
/sockmark <name> [text]
Assigns temporary data to a socket to be referenced later using $sock(<name>).mark. Leaving the [text] parameter $null will clear the socket mark. The sockmark command can be used to assign the same data to multiple sockets using a wildcard pattern.
Parameters
Parameter | Description |
<name> | Socket to mark. |
[text] | Text to add to the socket mark. |
Example
; Non-functioning example, shows practical usage only on $*:text:/^!foo (\S+)$/Si:#:{ ; if ( .. validate input .. ) { sockopen sock1 www.example.com 80 sockmark sock1 $regml(1) } on *:sockopen:sock1:{ ; submit the information we got from the user sockwrite -nt $sockname GET /foobar.php?q= $+ sock($sockname).mark HTTP/1.0 sockwrite -nt $sockname Host: www.example.com sockwrite -nt $sockname $crlf } ; on *:sockread:sock1: { ; .... ; }
Added in 1.8.10
/sockopen [-dentI46Cuswap] [bindip] <name> <address/hostname> <port> [certificate]
Opens a socket connection to the specified ipaddress/hostname and port.
Switches
Switch | Description |
-d | The specified IP address is the bind ip address. |
-e | Creates an SSL connection. |
-n | Disables the Nagle algorithm. |
-t | TODO |
-I | Accept invalid remote SSL/TLS certificates. (AdiIRC only, deprecated) |
-4 | Connect to Ipv4 addresses. |
-6 | Connect to Ipv6 addresses. |
-C | Indicates that client [certificate] is specified. (AdiIRC only) |
-u | Enables dual stack sockets. |
-s | Skip invalid remote SSL/TLS certificates certificates. |
-w | Display warning dialog for invalid remote SSL/TLS certificates. |
-a | Accept invalid remote SSL/TLS certificates. |
-p | Prevent remote SSL/TLS certificate caching. |
Parameters
Parameter | Description |
[bindip] | Bind ip to be used. |
<name> | Socket connection name. |
<address/hostname> | Remote ip address or hostname to connect to. |
<port> | Remote port to connect to. |
[certificate] | the SSL certificate pfx file to use with -C, if not specified, the global client certificate is used. (AdiIRC only) |
Example
alias example { ; Initiate a connection with "irc.libera.chat" on port 6669, Secured connection. /sockopen -e IRC irc.libera.chat +6697 } on *:sockopen:IRC:{ ; Send our USER and NICK irc commands. /sockwrite -n IRC USER Tester $+ $rand(1,100) Test Test:mSL Testing $+ $crlf /sockwrite -n IRC NICK Tester $+ $rand(1,100) $crlf } ; Show all receiving data in a window. on *:sockread:IRC:{ /window -de @IRC /var %x /sockread %x /aline -p @IRC $iif(%x,$v1,-) }
Added in 1.9.0
/sockpause [-r] <name>
Pauses/restarts a socket when reading incoming data.
Switches
Switch | Description |
-r | Restarts a socket instead of pausing. |
Parameters
Parameter | Description |
<name> | Socket to modify. |
Added in 1.9.0
/sockread [-fn] [numbytes] <%var|&binvar>
Reads bytes from the receive buffer into the specified variable.
If you specify a %var variable, a line of text ending with a Carriage Return/LineFeed is read into %var. The $crlf are stripped off (this may result in %var being $null if the line only consisted of $crlf).
If you specify a &binvar then [numbytes] of info is read into the binary variable. If no [numbytes] is specified it defaults to 4096 bytes.
Switches
Switch | Description |
-f | Forces AdiIRC to fill the %var variable with whatever text is in the receive buffer, even if it does not end in a $crlf. |
-n | allows you to read a $crlf terminated line into a &binvar. If the incoming line does not contain a $crlf, no bytes will be read into &binvar, unless you specify the -f switch, which forces the read (same as when reading into %vars). |
Parameters
Parameter | Description |
[numbytes] | Number of bytes to read into &binvar. |
<%var|&binvar> | %var or &binvar to read the data into. |
Added in 1.9.0
/sockrename <name> <newname>
Assigns a new name to an existing connection.
Parameters
Parameter | Description |
<name> | Socket to rename. |
<newname> | New socket name. |
Added in 2.3
/sockudp [-bntkdu] [bindip] <name> [port] <ipaddress> <port> [numbytes] [text|%var|&binvar]
Opens a UDP connection to a remote ipaddress/port and sends a UDP packet.
Switches
Switch | Description |
-b | Indicates that you are specifying the numbytes value which is the number of bytes you want sent. |
-n | Appends a $crlf to the line being sent if it is not a &binvar and if it does not already have a $crlf. |
-t | Forces AdiIRC to send anything beginning with a & as normal text instead of interpreting it as a binary variable. |
-k | Forces the socket to stay open, so it can receive UDP data. |
-d | The specified IP address is the bind ip address. |
-u | Enables dual stack sockets. |
Parameters
Parameter | Description |
[bindip] | Bind ip to be used. |
<name> | Socket connection name. |
[port] | Bind port to be used. |
<ipaddress> | Remote ipaddress to connect to. |
<port> | Remote port to connect to. |
[numbytes] | Number of bytes to send. (used with -b) |
[text|%var|&binvar] | Text, %variable or &binvar to send. |
Example
alias gettime { ; Set a NULL byte binary variable. bset &null 1 0 ; Open a UDP connection to Time-a.nist.gov = 129.6.15.28 sockudp -k gettime 129.6.15.28 37 &null } on *:udpread:gettime: { ; Read the reply. sockread -f &time var %time $bvar(&time,1,$bvar(&time,0)) ; Convert to binary, remove spaces. var %bin $regsubex(%time, /(\d+)\s?/g, $base(\1, 10, 2, 8)) ; Get the current unix time in decimal system. var %time = $base(%bin, 2, 10) ; Print the time and close the socket. echo -ag Currnt Time/Date: $asctime($calc(%time - 2208988800), yyyy-mm-dd hh:nn:ss TT) sockclose $sockname }
Added in 1.8.10
/sockwrite [-tnba] <name> [numbytes] <text|%var|&binvar>
Queues data to be sent on the specified connection. AdiIRC 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.
You can use a wildcardd name to send the same information at once to all connections that match the wildcard.
If the write fails, it will set $sock().wserr to the error value, and triggers the on sockwrite event with $sockerr set.
Switches
Switch | Description |
-t | Forces AdiIRC to send anything beginning with a & as normal text instead of interpreting it as a binary variable. |
-n | Appends a $crlf to the line being sent if it is not a &binvar and if it does not already have a $crlf. |
-b | Indicates that you are specifying the numbytes value which is the number of bytes you want sent. |
-a | Disables UTF-8 encoding of characters in the range 0-255, as long as the text contains no characters > 255. |
Parameters
Parameter | Description |
<name> | Name of the connection to send to. |
[numbytes] | Number of bytes to send. (used with -b) |
<text|%var|&binvar> | Plain text, %var or &binvar to send. |
Added in 1.8.5
/sop <nick> [nickN...]
Promotes nick to channel-special/protected operator on current channel. (mode #channel +a Nick)
Parameters
Parameter | Description |
<nick> | The nick to promote. |
[nickN...] | Additional nicks to promote. |
Example
;Promote 3 users. /sop Nick1 Nick2 Nick3 ;Promote 1 user. /sop Nick1
Highlight sound options is set on the highlight word in the highlight options
Enable or disable sounds.
Sounds can be temporary muted with the CTRL + R keybind.
If enabled, sounds will only play if AdiIRC is not the active window.
If enabled, AdiIRC will play new message sounds in channel/private windows even if the channel/private window has focus.
If enabled, sounds are muted until unmuted or AdiIRC is restarted.
When a server is connected, play a beep/sound or nothing.
When a server is disconnected, play a beep/sound or nothing.
When a user joins a channel, play a beep/sound or nothing.
When a user part a channel, play a beep/sound or nothing.
When a user invites you to a channel, play a beep/sound or nothing.
When a user is kicked from a channel, play a beep/sound or nothing.
When you receive a notice message, play a beep/sound or nothing.
When a user part a channel, play a beep/sound or nothing.
When you send a dcc file, play a beep/sound or nothing.
When you receive a dcc chat request, play a beep/sound or nothing.
When you receive a dcc chat message, play a beep/sound or nothing.
When your receive a private message, play a beep/sound or nothing.
When someone types a message on a channel, play a beep/sound or nothing.
When a new message arrives while you are scrolled up in the message buffer, play a beep/sound or nothing.
When a dcc transfer is completed successfully, play a beep/sound or nothing.
When a dcc transfer failed to complete successfully, play a beep/sound or nothing.
When a user in the Notify list comes online, play a beep/sound or nothing.
When a user in the Notify list goes offline, play a beep/sound or nothing.
When you receive a private message and no window with that nick is open, play a beep/sound or nothing.
If enabled, /beep and other places that uses the system beep function will play the specified file instead.
Media file to play when Use custom beep file is enabled.
Number of beeps to play if beep is enabled.
Delay in milliseconds between each beep.
Sets the default folders for various media file types used by the /splay commmand.
See also $mp3dir, $mididir, $wavedir, $sound, $mp3, /splay.
AdiIRC includes spellcheck support as of 1.9.6 beta 2014/10/25 using Nhunspell.
You can set a different language per channel/window by rightclicking the Editbox and choose Languages instead of Default Languages, the settings are saved/restored across sessions.
Rightclicking the Editbox and choose Languages then select Off disables spellchecking for the channel.
Hunspell compatible dictionaries can be found in many places, if you find one you want, you can manually install it in this folder $adiircdir\Dict\
Added in 1.9.0
_
/splay -cmpqw [filename | stop | pause | resume | seek | skip] [pos]
Plays the specified sound, which can be a .wav, .mid, or .mp3 file.
When a sound finishes playing, it triggers a sound event.
Playing mp3 files with large ID3 tags and/or album art, may not work.
See also on SONGEND, on MP3END, on WAVEEND, on MIDIEND, $filename, $sound, $mp3dir, $wavedir, $mididir, $insong , /vol, $vol.
Switches
Switch | Description |
-c | Clears the song queue. |
-m | Midi. |
-p | Mp3. |
-q | Queue song to play after current song. |
-w | Wave. |
Parameters
Parameter | Description |
[filename | stop | pause | resume | seek | skip] | File to play or operation to perform on current song. |
[pos] | If pos is defined, file will start playing at position pos. |
Example
; Match on "play a song" then play "mysong.mp3" on *:TEXT:play a song:*:splay c:\mysong.mp3
Note: The -q switch allows adding the sound to the queue instead of interrupting the currently playing sound. However each type of sound file has a different response to using/not-using the -q switch as it interacts with other filetypes.
If an MP3 is already playing, and you use "/splay filename.mp3" without using the -q switch, the current MP3 stops playing in order to play your new MP3, and when it finishes, the original MP3 does NOT play, and instead you'll hear whatever is the next file in the queue, if any.
However, if an MP3 is currently playing and you play a MIDI or WAV without using the -q switch, the new sound plays without stopping the existing MP3. While this seems strange to allow playing 3 different songs at the same time, this is important because it can allow you to hear an alert.wav immediately without waiting for the existing MP3 to finish. It's also used in scripting arcade games where you have 3 kinds of sounds playing together to complement each other. Even though the current sound is interrupted when you use /splay without the -q switch, the queue remains unaffected, and those sounds will play next.
Using the -q switch will put a sound file into the queue, even if the currently playing sound is of a different filetype. MP3 MIDI and WAV all share the same queue, so sounds will play in the order in which they were added to the queue, and the queue'ed sounds play 1 at a time, so you won't have a WAV and an MP3 coming out of the que to play at the same time, like can happen without using the -q switch.
Troubleshooting Sound: the default install of AdiIRC does not have sound enabled, so you will not hear any sound file you play until you check the "enable sounds" box in options/sounds.
By default, AdiIRC looks for sound files in the 'sounds' subfolder beneath the folder where config.ini is located. If you wish to change that location, see options/sounds/"sound folders" where you can optionally create subfolders for each type of sound file. Either as brother folders to 'sound' or subfolders beneath it.
Also, by default all your sound files will be downloaded by DCC GET into the same "downloads" subfolder where all other files get downloaded. If you wish to have them downloaded into the same folder where /splay looks for them, you will also need to go to options/DCC/"dcc get folders" and create an entry there for *.mp3 which matches the options/Sounds folder where it's looking for mp3 filetypes. If you have done this correctly, these will point to the same folder:
//echo -a $getdir(*.mp3) and $mp3dir //echo -a $getdir(*.wav) and $wavedir
//echo -a $vol(master) $vol(master).mute
In summary, the loudness of the song you hear, or whether you even hear it at all - is affected by 4 things - Whether sound is enabled in AdiIRC, the volume level the file itself was recorded at, the volume setting in the computer's speaker icon and whether the mute it set there, and whether the speaker itself is turn on and turned up.
You can also change your mute-state and the volume from within AdiIRC:
Turns mute ON so you cannot hear: /vol -vu1 Turns mute OFF so you can hear: /vol -vu2 Turn the volume to 100% max: /vol -v 65535
Added in 3.6
/sreq [+m|-m] [ask | auto | ignore]
Changes how incoming DCC SEND/SSEND requests are handled.
Shows the current incoming DCC SEND/SSEND option.
Switches
Switch | Description |
-m | TODO |
+m | TODO |
Parameters
Parameter | Description |
ask | Show a popup dialog confirming whether to accept a incoming DCC SEND/SSEND. |
auto | Automatically accept all incoming DCC SEND/SSEND requests. |
ignore | Ignore all incoming DCC SEND/SSEND requests. |
Added in 1.9.0
/statusbar [on|off]
Enables/disables Statusbar. $statusbar can be used to determine it's state.
If no parameter is defined, prints current Statusbar visibility status.
Parameters
Parameter | Description |
---|---|
[on] | Enables Statusbar. |
[off] | Disables Statusbar. |
Added in 1.9.7
/statusbar <-adrtgpoijlhnNzN> [N] <N|name> <tooltip> <@popup> [/alias] [picfile] [text]
Adds or removes custom text items/icons to the Statusbar.
Does not work in built-in items.
See also $statusbar, Statusbar.
Switches
Switch | Description |
---|---|
-a | Add a new item. |
-d | Delete item named <name> or the Nth item. |
-r | Resets all items to default. |
-t | Change the tooltip text. |
-g | Change the text. |
-p | Change the picfile/icon. |
-o | Change the associated @popup. |
-i | Insert a item at position N. |
-j | Indicates [/alias] is defined. |
-l | Change the alias. |
-w | Show a hidden item. |
-h | Hide a item. |
-nN | Indicates [picfile] is defined, N is the Nth icon index in a exe/dll file. |
-zN | Icon size to use before it's resized in Statusbar height, 1 = small, 2 = large, 3 = actual. |
Parameters
Parameter | Description |
---|---|
[N] | Used with -d and -i to delete the Nth item or insert at the Nth position. |
<N|name> | Insert a item at the Nth position or the name of the item to modify/add. |
<tooltip> | The tooltip text. |
<@popup> | Popup to associate with the item. |
[/alias] | Optional alias to execute when the item is doubleclicked. |
[picfile] | The picfile/icon to use when -n is defined. |
[text] | Optional text to add to a picfile/icon. |
Example
; Create an example menu. menu @Example { Hello World:echo -ag Hello World menu } alias example { echo -ag Hello world alias } ; Create a new statusbar item named 'example'. /statusbar -a example @example /example Example ; Update the text of the statusbar item 'example'. /statusbar -g example Example2 : Delete the statusbar item named 'example' /statusbar -d example ; Create a new statusbar item in position 4. /statusbar -ij 4 example "" @example "/example Example" "Example"
The Statusbar gives quick access to various information.
See also /statusbar, $statusbar, Statusbar Options.
The Statusbar can be hidden by clicking Menubar -> View -> Statusbar or by typing /statusbar off or by changing Options -> Windows -> Enable Statusbar.
The /statusbar command can be used to add/edit/remove any Statusbar item. To have any changes persistent, put the commands in a on START script.
The Statusbar can be moved to the top/bottom/left/right of the main window by right-clicking the Statusbar then clicking Position.
The Statusbar background/foreground colors can be set in Options -> Colors.
Note: Override Windows theme colors must be enabled.
The font can be changed in Options -> Fonts & Sizes or by using the /font command.
A background image for the Statusbar can be set in Options -> Backgrounds or by using the /background command.
See also /statusbar, $statusbar.
Enable or disable the Statusbar, can also be toggled in the Menubar -> View -> Statusbar and through the /statusbar command.
Shows or hides the Server/Channel/Query info item.
Shows or hides the nick info item.
Shows or hides the server info item.
Shows or hides the lag info item.
Shows or hides the highlight sound/mute status
See /mute for more information.
Shows or hides the media player song item.
Shows or hides the bandwidth monitor.
Shows or hides the dcc transfers progress bar.
If enabled Statusbar will expand into multiple lines to fit all Statusbar items, Media Player item will no longer function as a "right-align" item and will no longer fill up empty space.
Please check the links below, if you still need help, visit us on Libera.Chat irc network, channel #adiirc.
You can also send an email or pm on reddit.
Added in 1.9.3
/switchbar [on|off]
Enables/disables Switchbar. $switchbar can be used to determine it's state.
If no parameter is defined, prints current Switchbar visibility status.
See also Switchbar, $switchbar.
Parameters
Parameter | Description |
[on] | Enables Switchbar. |
[off] | Disables Switchbar. |
The Switchbar shows all open windows and allows switching the active window.
See also /switchbar, $switchbar, Switchbar Options.
The Switchbar can be hidden by clicking Menubar -> View -> Switchbar or by typing /switchbar off or by changing Options -> Windows -> Enable Switchbar or by right-clicking the Switchbar and then clicking Hide Switchbar.
The Switchbar can be moved to the top/bottom/left/right of the main window by right-clicking the Switchbar then clicking Position.
Menubar/Toolbar/Switchbar/Treebar can be locked so they can't be moved by right-clicking any bar and then click Lock Bars.
Locking bars also removes the header from the Monitor Panels.
Right-clicking a window in the Switchbar shows the window menu.
Pressing the SHIFT while right-clicking shows the scripted window menu instead.
The order which windows appear in the Switchbar can be changed in Options -> Windows -> Window order.
Windows can be closed by using the middle mouse button when clicking a window or by pressing SHIFT when left-clicking a window.
This can be disabled in Options -> Windows.
Windows can also be closed by right-clicking the window and select Close.
By default the text color and icon in the Switchbar will flash/blink when you are being highlighted, this can be changed in Options -> Highlights.
Tab text colors can be set in Options -> Colors.
Normal color - The text color for the active window.
Inactive color - The text color for any inactive window.
Highlights color - The text color for any window which has a highlighted message.
Message color - The text color for any window which has a new message.
System color - The text color for any window which has a new system message.
Note: The color can be reset to default by using the /amark command or by right-clicking a empty area or a separator then clicking Mark As Read or Mark Server As Read.
The Switchbar background color can be set in Options -> Colors.
Note: Override Windows theme colors must be enabled.
The window icons can be changed in Options -> Icons.
Hiding the window icons from the Switchbar can be done in the Switchbar Options.
The font can be changed in Options -> Fonts & Sizes or by using the /font command.
A background image for the Switchbar can be set in Options -> Backgrounds or by using the /background command.
A background image for the buttons can be set in Options -> Backgrounds or by using the /background command.
See also Switchbar, /switchbar.
Shows or hides the network name for this network in the status tab, if hidden, the text will be just Status
Shows or hides the nick name for this network in the status tab.
Shows or hides the window icons.
Shows or hides server windows from the Switchbar.
The separator will still be visible.
If enabled, shows tooltips when hovering a window in the Switchbar.
Custom tooltips can be set in Options -> Windows.
If enabled, hovering the Switchbar and using the mouse-wheel will change the active window, otherwise SHIFT must be pressed.
Selects how many lines should be visibile in the Switchbar.
If Auto is selected and Lock bars is on, Switchbar will fit as many tabs as possible then make new lines as needed.
If Auto is selected and Lock bars is off, Switchbar will fit as many tabs as possible then show a overflow button at the end of the Switchbar with the rest of the tabs.
This is a .NET limitation when grip style is visible.
If 1 is selected, Switchbar fill fit as many tabs as possible with a smaller minimum size.
Sets the preffered maximum size of a tab, if size is set to 0, Switchbar will make the tabs as large as possible.
Sets the proffered minimum size of a tab, if size is set to 0, Switchbar will make tabs resize to fit as good as possible.
Select the command to change the output for.
See also Sysinfo variables.
Change the output for the selected command.
The output will be evaluated and can contain identifiers.
See also Formatting text.
Select the network adapter to use for the /bw command or disable it.
Added in 1.5
/tab [-fbpnm] [[network] [#channel|nick]|N]
Activates the matching window or the window number counting from the top.
Switches
Switch | Description |
-f | Activates the next window in Switchbar/Treebar order. |
-b | Activates the previous window in Switchbar/Treebar order. |
-n | Activates the next window in recent history order. |
-p | Activates the previous window in recent order. |
-m | Includes minimized windows. |
Parameters
Parameter | Description |
[network] | $network to match. |
[#channel|nick] | Channel or nick to match. |
[N] | The Nth position. |
Example
; Activate #channel window on $network NordicIRC. /tab NordicIRC #channel ; Activate the 5th window. /tab 5
You can use the TAB key in the Editbox (and in various popup dialogs like $? $input to complete various words)
See also Options -> Editbox for various tabcomplete options including disabling it.
TAB | Completes and cycles all channel nicks, if current window is a query window, the nick of the query is used. |
/ TAB | Completes a /command including aliases from remote scripts/aliases. |
nick TAB | Completes channel nicks, query nick or your own nick. |
$ TAB | Evaluates a identifier, eg. $me TAB $chan TAB. |
% TAB | Evaluates a global variable. |
# TAB | Completes and cycles all joined channel names (and any channels in your Serverlist for the current server), if current window is a channel, the channel name is completed first. |
#chan TAB | Completes a joined channel name. |
<@|%|+>nick TAB | Completes channel nicks matching the channel prefix and/or nick. (Based on channel prefix received by the server, e.g @+) |
Set Treebar/Switchbar text and background colors per window/tab.
Enables or disables Treebar/Switchbar tab colors.
test test
testing stuff.
/marray -aTNBAV <name> [N..] <item> <value>
/marray -eTNBAV <name> [N..] <N> <item> <value>
/marray -iTNBAV <name> [N..] <N> <item> <value>
/marray -d <name> [N..] <N>
/marray -f <name>
Adds/removes/inserts/modifies items in a multi dimensional table/array.
Parameters
<name> - Name of the table to modify.
[N..] - Indicates the item should be added/inserted/deleted from sub table position N, subsequent N parameters travels further down.
<N> - The Nth item in a table or sub table to modify.
<item> - The item name.
<value> - The item value.
Switches
-a - Add a new item to a table.
-e - Edit a item in a table.
-i - Insert a new item to a table.
-d - Delete a item from a table.
-f - Free/delete a table.
-T - Indicates the type is text.
-N - Indicates the type is a number.
-B - Indicates the type is a boolean.
-A - Indicates the type is a sub table/array.
$marray(name, N, [N..])
Gets the Nth item in a table, subsequent N parameters gets the Nth item from a sub table, infinite sub depth.
Parameters
name - The outer table name.
N - The Nth item in the table.
[N..] - The Nth item in a sub table, subsequent N parameters travels further down.
Properties
.item - Gets the item name.
.value - Gets the item value.
.type - Get the item type. (0 = text, 1 = number, 2 = bool, 3 = sub table)
.json - Generate a json table from all items in the current table and all sub tables.
.ini - Generate a ini output from all items in the current table and all sub tables.
.xml - Generate a xml output from all items in the current table and all sub tables.
Example
; Add item1/value1 to the table 'table1'. //marray -a table1 item1 value1 ; Add sub table 'item2' to the table 'table1'. //marray -aA table1 item2 value2 ; Insert item3/value3 at position '1' in the table 'table1'. //marray -i table1 1 item3 value3 ; Print number of items in table 'table1'. //echo -ag Number of items in table1 is $marray(table1, 0) ; Print the first items in table 'table1'. //echo -ag First item in table1 is $marray(table1, 1).item ; Delete the first item in table 'table1'. //marray -d table1 1 ; Free the table 'table1'. //marray -f table1 ; Add a new sub table to table 'table1', //marray -aA table1 sub1 sub1 ; Add a new item to the sub table located at position '1' in table 'table1'. //marray -a table1 1 item1 value1 ; Print the first item in the table 'table1', which is a sub table. //echo -ag First item in table1 is $marray(table1, 1).item - $marray(table1, 1).type ; Print the first item in the sub table located at position '1' in table 'table1'. //echo -ag First item in sub table1 is $marray(table1, 1, 1).item ; Generates a json output of table 'table1'. // echo -ag $marray(table1).json ; Generates a ini output of table 'table1'. // echo -ag $marray(table1).ini ; Generates a xml output of sub table at position '1' in table 'table1'. // echo -ag $marray(table1, 1).xml
The Text Area is where the messages are shown.
See also Messages Options, Inline Images Options.
Selecting text then releasing the mouse will automatically copy the text to the clipboard.
This behavior can be changed in the Messages Options.
Note: for technical reasons, it's not possible to select text while scrolling.
Various things are clickable as links such as nicks, channel names and regular links.
Double-clicking a nick opens a private window with that nick, this behavior can be changed in Options -> Mouse.
Right-clicking a nick opens the scripted Nicklist menu for this nick.
Double-clicking a channel name joins that channel.
Right-clicking a channel name opens the scripted ChannelLink menu for this channel name.
Double-clicking a link opens the link in your default browser or your custom browser set in Options -> Links, it can also be set to open by single clicking.
Right-clicking a channel name opens the scripted Link menu for this link.
Double-clicking in any other area opens the Channel Editor, this behavior can be changed in Options -> Mouse.
Right-clicking in any other area opens the scripted Channel menu for the current channel.
The links colors and font weights can be changed in Options -> Fonts/Colors.
All the menus can be customized in the Menu Editor.
It is possible for the Text Area to show inline images, see Inline Images Options for more information.
Note: the Text Area is not a webbrower, it cannot show videos or html previews. it's like a notepad with colors.
The background color and all message colors can be changed in Options -> Colors.
The font can be changed in Options -> Fonts & Sizes or by using the /font command.
It can also be changed per window by right-clicking the window in the Switchbar or Treebar then clicking Change Font.
A background image for the Text Area can be set in Options -> Backgrounds or by using the /background command.
Added in 1.9.1
/themes
Opens the Theme Manager.
Themes Manager allows installing/saving/using themes.
It can be opened by clicking Menubar -> File -> Themes or by typing the command /themes in the Editbox.
Note that AdiIRC supports two different types of themes, AdiIRC Themes and the more advanced mIRC Theme Standard (MTS).
The default AdiIRC theme/colors.
The current theme/color settings which can be exported as a new theme file.
List of installed AdiIRC themes.
List of installed mIRC Theme Standard (MTS) themes, which are advanced themes for changing both colors and default text output.
Clicking a theme shows a preview of how it would look when applied.
Changes the current theme to the currently selected theme by opening the Apply Theme Dialog.
Saves the currently selected theme to a new theme file or location by opening the Save Theme Dialog.
Deletes the currently selected theme.
Opens a open file dialog to allow importing a AdiiRC theme or MTS theme into the AdiIRC theme folder.
Opens the themes forum in the browser.
Pressing the F5 key updates the Themes Manager with any changes in the Themes folder.
Right-click the theme and click Open Folder.
Added in 1.5
/time [nick]
Send a CTCP time requests to a user, you will get an reply with the local time from the user.
Time with no parameters will request current server time.
Parameters
Parameter | Description |
[nick] | The nick to send the time request to. |
Added in 1.9.0
/timers [off]
/timer[n|name] [off]
/timer[n|name] [-cdehimopr] [time] <repetitions> <interval> <code>
Creates a timer that runs <code> at an interval.
If you are connected to server when the timer is started, it defaults to being a online timer, otherwise it will be a offline timer.
An offline timer will continue to run even if the server is disconnected, while a online timer will stop the timer when disconnected.
$identifiers and %vars in the <code> are evaluated at the creation time of the timer, to evaluate during the timer tick, the $ and % must be combined like this $ $+ identifier, % $+ varname.
Switches
Switch | Description |
-c | Creates a catch-up timer. |
-d | TODO |
-e | Execute the code associated with a timer. |
-h | Create a high-resolution timer. |
-i | Dynamically associates itself with the active connection. |
-m | Treat the interval parameter as milliseconds instead of seconds. |
-o | Create a offline timer. |
-p | Pauses execution of the command. The timer continues counting down. |
-P | Pauses execution of the command and the countdown. |
-r | Resume a timer. |
Parameters
Parameter | Description |
[off] | Turns off a timer. |
[n|name] | The name or index of the timer. |
[time] | Executes the timer at the specified time in HH:MM (24 hour) format. |
<repetitions> | The number of times the timers should repeat itself. An repetition value of '0' will repeat forever. (or until DISCONNECT if it's an online timer) |
<interval> | The delay between two consecutive timer executions |
<code> | Code to be executed. |
Example
alias example { ; Create a variable and set value to 5. var %reps = 5 ; Call the timer %reps times after 1 second delay. .timer %reps 1 countdown ; Print the first count. count-down } alias -l countdown { echo -ag Count: $timer($ltimer).reps } ; Simple timer that sends a reply after 10 seconds. on *:TEXT:hi:#adiirc:{ timer 1 10 msg $chan Hello, $nick $+ ! }
//timer 1 10 echo time of execution is $!asctime and time of launch is $asctime /timerMidnite 00:00 1 0 echo -a it is now midnight! Force it to execute now: /timerMidnite -e
WARNING Do NOT place strings into the command line of a timer which someone else can control. All strings beginning with % or $ (or if they follow comma or '#') could potentially be executed.
on *:FILERCVD:*.*:{ timer 1 0 msg #channel I received $nopath($filename) from $nick ! }
By placing this in a timer, someone can send you a filename containing the word %password to find out the value of that variable, or can force you to execute identifiers you don't wish to use, or could even be harmful to you.
One solution can be to keep messages in a @Queue window, or change the above to use $unsafe( $nopath($filename) ) instead.
Added in 1.9.7
/timestamp [-fgs|a|e] [on|off|default] [windowname]
Turns on/off timestamp globally or per window.
Switches
Switch | Description |
-f | Sets the timestamp event format. |
-g | Sets the timestamp log format. |
-s | Sets timestamp status for the status window. |
-a | Sets timestamp status for the active window. |
-e | Sets timestamp status for all open windows. |
Parameters
Parameter | Description |
[on|off|default] | Set timestamp status to on, off or default. |
[windowname] | Set timestatmp status for windowname. |
Examples
; Changes the timestamp format /timestamp -f [%HH:%nn] ; Enables global timestamp /timestamp on ; Disables timestamp for #channel /timestamp off #channel
Added in 1.9.3
/tip <-ctl> <name/N> [text]
Manipulates an existing tip.
See also $tip.
Switches
Switch | Description |
-c | Close tip. |
-t | Set the tip text. |
-l | Show the last closed tip. (AdiIRC only) |
Parameters
Parameter | Description |
<name/N> | Name or Nth tip to change. |
[text] | Tip text. |
Added in 1.9.3
/tips [on|off]
Turns tips on or off.
Parameters
Parameter | Description |
[on|off] | Turns tips on or off. |
Enable or disable Tips.
Note: highlight tips is set on the highlight word in the highlight options.
If enabled, AdiIRC will show Tips using Windows Toast Notifications instead of the custom Tips.
If enabled, Tips will be hidden if a fullscreen application such as a movie or a game is active.
If enabled, Tips will be hidden if AdiIRC is focused.
If enabled, tips will be faded in/out, otherwise they will be shown/hidden instantly.
Maximum number of tips to queue/show in the same Tip window.
Show a Tip window for [X] seconds.
If set to 0, Tips will be "sticky" and have to be manually closed or the main window activated.
If set to Auto, Tips will be shown on the same monitor as the main window.
If set to Default, Tips will be shown on the default monitor.
If set to N, Tips will be shown on Nth monitor.
If enabled, shows a Tip message when someone types in a channel.
Can be enabled/disabled for individual channels through the Switchbar/Treebar menu.
If enabled, shows a Tip message when someone joins a channel.
If enabled, shows a Tip message when someone changes channel modes.
If enabled, shows a Tip message when someone quits irc.
If enabled, shows a Tip message when someone sends a notice message to the channel.
If enabled, shows a Tip message when someone parts a channel.
If enabled, shows a Tip message when someone changes channel topic.
If enabled, shows a Tip message when someone sends ctco request to the channel.
If enabled, shows a Tip message when someone kicks a user on a channel.
If enabled, shows a Tip message when someone changes nick.
If enabled, shows a Tip message when someone writes you a private message.
Can be enabled/disabled for individual nicks through the Switchbar/Treebar menu.
If enabled, shows a Tip message when someone sends you a ctcp request.
If enabled, shows a Tip message when someone sends you a notice message.
Unused.
If enabled, shows a Tip message when you connect to a server.
If enabled, shows a Tip message when a dcc send file transfer starts or stops.
If enabled, shows a Tip message when a dcc get file transfer starts or stops.
If enabled, shows a Tip message when a dcc chat session starts or stops.
If enabled, shows a Tip message when you are invited to a channel.
If enabled, shows a Tip message when you go away or come back.
If enabled, shows a Tip message when a /list request is started and stopped.
If you ever experience an issue with displaying unicode characters (which is not just an encoding issue), try enable Options -> Messages -> Use alternative text rendering.
If you need to be authed with nickserv before joining a channel, you can use the /sleep (or /timer) command in your serverlist "Run these commands on connect" field:
/msg nickserv identify <password> /sleep 3 /join #channel1,#channel2
/sleep 3, means wait 3 seconds before running the following command.
The new serverlist has this feature built-in as well as SASL support which makes this a non issue.
When you select text from the message buffer, AdiIRC will automatically copy the text to the clipboard when you release the left mouse button.
If you prefer to manually press CTRL + C, you can go to Options -> Messages and disable AutoCopy selected text to Clipboard and AutoFocus Editbox.
These options might be merged into one soon as well as a feature to ask which method to use.
If you experience problems connecting to a TLS only server, you can try the .NET 4.5 version which has support for TLS 1.1/TLS 1.2/TLS 1.3.
You can disable or change the CTCP VERSION reply using the CTCP event in a small script.
This can be used for any CTCP request.
; Disable CTCP version reply. CTCP *:VERSION:*:halt ; Reply with a custom version. CTCP *:VERSION:*:ctcpreply $nick IRC Version 42 | halt
Tips for various events can be disabled in Options -> Tips, to disable highlight tips, go to Options -> Highlights, in the listbox area select "$me", then click the "Edit" button, uncheck "Tip message" and click "Save".
Go to Options -> Highlights, in the listbox area select "$me", then click the "Edit" button, set the sound dropdown to "No sound" and click "Save".
AdiIRC supports only PFX certificates, you can convert a PEM certificate to PFX using this openssl format:
openssl pkcs12 -export -out mynick.pfx -in mynick.pem
For creating a new certificate, have a look here
To update to a beta release, just type /betaup.
There is a tiny "|" separator to the right, if you right click the Treebar and choose "Customize", you are able to drag the item to the right of that border.
Things you can try:
The default options used when connecting with /server or from Menubar -> File -> New window can be changed in Options -> Quick Connect.
Some networks tries to scan your port 113 to see if you have a Identd server running, if the port is closed or the identd server is not running, it can take a while for the scan to timeout, make sure Identd server is enabled in Options -> Server and that port 113 is open in your firewall and router. (AdiIRC does not yet support UPNP).
When "Lock Bars" is disabled (right click any Menubar/Toolbar/Switchbar/Statusbar/Treebar to enable/disable) you can left-click the header of the monitor panel or a tab and move it with the mouse, if you release the mouse in the middle of the AdiIRC main window, the monitor will become a standalone window.
The window can be docked inside AdiIRC as a regular channel window by pressing CTRL + D.
You can also undock the monitor panel into a window by right-clicking the header or tab and choose "Undock".
Added in 1.9.0
/titlebar [@window] <text>
Sets the main application Titlebar. If you specify a custom @window name, then the Titlebar for that custom window is changed.
Parameters
Parameter | Description |
[@window] | Window to change the title. |
<text> | Title text to set. |
Example
; Changes AdiIRC's titlebar to Hello world! /titlebar Hello world! ; Open a custom window. /window -e @Example ; Changes @Example Titlebar to Hello world! /titlebar @Example Hello world!
The Titlebar is at the top of the main AdiIRC window.
By default the Titlebar text is AdiIRC. It can be changed in Options -> Windows -> Main window title or using the /titlebar command.
$titlebar can be used to get the current Titlebar text.
When a window inside the main window is maximized, the window title of the current active channel/server/private window is added to the Titlebar text so it becomes Titlebar text - [Window titlebar text].
The Titlebar text for windows insides the main window can be changed in Options -> Windows -> Channel/Server/Private Titles.
/titlebar can also be used to change the Titlebar text for @custom windows.
The Titlebar can be enabled/disabled by changing Options -> Windows -> Show Titlebar or by changing the Form Border.
When the Titlebar is hidden, you can move the main window by holding the ALT key and the left mouse button while moving the mouse.
The main window icon can be changed in Options -> Icons -> Main.
Changing the main window icon also changes the Taskbar icon and Systray icon.
Other window icons can also be changed in Options -> Icons.
Added in 1.9.0
/tokenize <C> <text>
Fills the $1 $2 ... $N identifiers with tokens in <text> separated by character <c>.
Parameters
Parameter | Description |
<C> | The ASCII value to separate by. |
<text> | The text to separate. |
Example
; Separate the text "one:two:three" by ASCII value 58 (:) //tokenize 58 one:two:three | echo -a Result of $!2: $2
Token in AdiIRC scripting are lists of strings that is separated by a single unique character.
Example
The numerical representation of space char in ASCII table is 32, and 44 is for comma.
//set -e %q = which came first, the chicken or the egg? ; Will print 2, because it has a single comma "splitting" the text in two parts. //echo -ag $numtok(%q, 44) ; Will print 8, because in this case are 8 strings separated by space char. //echo -ag $numtok(%q, 32)
To help you to manipulate list of tokens, there is an extensive set of identifiers and commands.
Added in 1.9.0
$addtok(text,token,C)
Adds a token to the end of text but only if it is not already in text.
$addtok is case-insensitive, see $addtokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to add. |
C | The ASCII value to tokenize by. |
Example
; Returns a.b.c.d //echo -ag $addtok(a.b.c,d,46) ; Returns a.b.c.d //echo -ag $addtok(a.b.c.d,c,46)
Added in 1.9.0
$addtokcs(text,token,C)
Adds a token to the end of text but only if it is not already in text.
$addtokcs is case-sensitive, see $addtok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to add. |
C | The ASCII value to tokenize by. |
Example
; Returns a.b.c.D //echo -ag $addtokcs(a.b.c,D,46) ; Returns a.b.c.d //echo -ag $addtokcs(a.b.c.d,c,46)
Added in 1.9.0
$deltok(text,N-N2,C)
Deletes the Nth token from text.
N-N2 can be used to get a range of tokens, both numbers can be negative.
N- can be used to get all tokens from position N.
Parameters
Parameter | Description |
text | The text to tokenize. |
N | N2 - The range of tokens or Nth token to delete. |
C | The ASCII value to tokenize by. |
Example
; Delete the 3rd token, result is 'a.b.d' //echo -ag $deltok(a.b.c.d,3,46) ; Delete the second to third token, result is 'a.d' //echo -ag $deltok(a.b.c.d,2-3,46) ; Delete all tokens from the second to end. //echo -ag $deltok(a.b.c.d,2-,46)
Added in 1.9.0
$findtok(text,token,N,C)
Returns the position of the Nth matching token in text.
$findtok is case-insensitive, see $findtokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | The token to find. |
N | The Nth token to find. |
C | The ASCII value to tokenize by. |
Example
; Find position where token 'c' starts. //echo -ag $findtok(a.b.c.d,c,1,46)
Added in 1.9.0
$findtokcs(text,token,N,C)
Returns the position of the Nth matching token in text.
$findtokcs is case-sensitive, see $findtok for case-insensitive version.
Parameters
text - The text to tokenize.
token - The token to find.
N - The Nth token to find.
C - The ASCII value to tokenize by.
Example
; Find position where token 'C' starts. //echo -ag $findtokcs(a.b.C.d,c,1,46)
Added in 1.9.0
$gettok(text,N,C)
Returns the Nth token in text.
Same as $token.
N-N2 can be used to get a range of tokens, both numbers can be negative.
N- can be used to get all tokens from position N.
Parameters
Parameter | Description |
text | The text to tokenize. |
N | The Nth token to get. |
C | The ASCII value to tokenize by. |
Example
; Print the 3rd token in 'a.b.c.d.e'. //echo -ag $gettok(a.b.c.d.e,3,46) ; Print the second to forth token in 'a.b.c.d.e'. //echo -ag $gettok(a.b.c.d.e,2-4,46) ; Print all tokens from the second position. //echo -ag $gettok(a.b.c.d.e,2-,46)
Added in 1.9.0
$instok(text,token,N,C)
Inserts token into the Nth position in text, even if it already exists in text.
N can be a negative value.
Parameters
Parameter | Description |
text | Text to add the token to. |
token | Token to insert. |
N | The Nth position to insert at. |
C | The ASCII value to tokenize by. |
Example
; Insert token 'c' at token position '3'. //echo -ag $instok(a.b.d,c,3,46)
Added in 1.9.0
$istok(text,token,C)
Returns $true if token exists in text, otherwise returns $false.
$istok is case-insensitive, see $istokcs for a case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | The token to check. |
C | The ASCII value to tokenize by. |
Example
; Check if 'b' is a token in 'a.b.c.d' //echo -ag $istok(a.b.c.d, b, 46)
Added in 1.9.0
$istokcs(text,token,C)
Returns $true if token exists in text, otherwise returns $false.
$istokcs is case-sensitive, see $istok for a case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | The token to check. |
C | The ASCII value to tokenize by. |
Example
; Check if 'B' is a token in 'a.B.c.d' //echo -ag $istokcs(a.B.c.d, B, 46)
Added in 1.9.0
$matchtok(text,string,N,C)
Returns tokens that contain the specified string.
$matchtok is case-insensitive, see $matchtokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
string | Search string. |
N | If N is 0, returns number of matches, otherwise returns the Nth match. |
C | The ASCII value to tokenize by. |
Example
; Returns number of matches //echo -ag $matchtok(one two three, e, 0, 32) ; Returns the second match //echo -ag $matchtok(one two three, e, 2, 32)
Added in 1.9.0
$matchtokcs(text,string,N,C)
Returns tokens that contain the specified string.
$matchtokcs is case-sensitive, see $matchtok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
string | Search string. |
N | If N is 0, returns number of matches, otherwise returns the Nth match. |
C | The ASCII value to tokenize by. |
Example
; Returns number of matches //echo -ag $matchtokcs(onE two thrEe, E, 0, 32) ; Returns the second match //echo -ag $matchtokcs(onE two thrEe, E, 2, 32)
Added in 1.9.0
$numtok(text,C)
Returns number of tokens in text.
Parameters
Parameter | Description |
text | The text to tokenize. |
C | The ASCII value to tokenize by. |
Example
; Print number of tokens in text //echo -ag $numtok(a.b.c.d.e, 46)
Added in 1.9.0
$puttok(text,token,N,C)
Overwrites the Nth token in text with a new token.
N-N2 can be used to get a range of tokens, both numbers can be negative.
N- can be used to get all tokens from position N.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to put. |
N | The Nth token to replace. |
C | The ASCII value to tokenize by. |
Example
; Replace the second token with 'e'. //echo -ag $puttok(a.b.c.d,e,2,46) ; Print the second to third token to 'e'. //echo -ag $puttok(a.b.c.d,e,2-3,46) ; Replace all tokens from position 2 to 'e'. //echo -ag $puttok(a.b.c.d,e,2-,46)
Added in 1.9.0
$remtok(text,token,N,C)
Removes the Nth matching token from text.
$remtok is case-insensitive, see $remtokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to remove. |
N | If N = 0, all matching tokens, otherwise the Nth token. |
C | The ASCII value to tokenize by. |
Example
; Remove the first 'b' token. //echo -ag $remtok(a.b.c.d,b,1,46) ; Remove all 'b' tokens. //echo -ag $remtok(a.b.b.b,b,0,46)
Added in 1.9.0
$remtokcs(text,token,N,C)
Removes the Nth matching token from text.
$remtokcs is case-sensitive, see $remtok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to remove. |
N | If N = 0, all matching tokens, otherwise the Nth token. |
C | The ASCII value to tokenize by. |
Example
; Remove the first 'B' token. //echo -ag $remtokcs(a.b.B.c.d,B,1,46) ; Remove all 'B' tokens. //echo -ag $remtokcs(a.b.B.B,b,0,46)
Added in 1.9.0
$reptok(text,token,new,[N],C)
Replaces the Nth matching token in text with a new token.
$reptok is case-insensitive, see $reptokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to match. |
new | New token to replace with. |
[N] | If N = 0, all matching tokens, otherwise the Nth match. (Optional, default is 1) |
C | The ASCII value to tokenize by. |
Example
; Replace the first token matching 'b' with 'e' //echo -ag $reptok(a.b.c.d,b,e,1,46) ; Replace all tokens matching 'b' with 'e' //echo -ag $reptok(b.b.b.c,b,e,0,46)
Added in 1.9.0
$reptokcs(text,token,new,[N],C)
Replaces the Nth matching token in text with a new token.
$reptokcs is case-sensitive, see $reptok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
token | Token to match. |
new | New token to replace with. |
[N] | If N = 0, all matching tokens, otherwise the Nth match. (Optional, default is 1) |
C | The ASCII value to tokenize by. |
Example
; Replace the first token matching 'B' with 'E' //echo -ag $reptokcs(a.B.b.c.d,B,E,1,46) ; Replace all tokens matching 'B' with 'e' //echo -ag $reptokcs(B.B.B.b,B,e,0,46)
Added in 1.9.0
$sorttok(text,C,ncra)
Sorts the tokens in text.
$sorttok is case-insensitive, see $sorttokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
C | The ASCII value to tokenize by. |
ncra | n = numeric sort, c = channel nick prefix sort, r = reverse sort, a = alphanumeric sort. (Default is an alphabetic sort) |
Example
; Sort the tokens alphanumeric //echo -ag $sorttok(e.d.c.b.a,46) ; Sort the tokens numeric, reversed //echo -ag $sorttok(1.3.5.2.4,46,nr)
Added in 1.9.0
$sorttokcs(text,C,ncra)
Sorts the tokens in text.
$sorttokcs is case-sensitive, see $sorttok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
C | The ASCII value to tokenize by. |
ncra | n = numeric sort, c = channel nick prefix sort, r = reverse sort, a = alphanumeric sort. (Default is an alphabetic sort) |
Example
; Sort the tokens alphanumeric //echo -ag $sorttokcs(e.D.c.b.a,46)
Added in 1.9.0
$wildtok(text,wildstring,N,C)
Returns the Nth token that matches the wildcard string.
$wildtok is case-insensitive, see $wildtokcs for case-sensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
wildstring | String to search. |
N | If N = 0, return number of matching tokens, otherwise the Nth token. |
C | The ASCII value to tokenize by. |
Example
; Prints the number of matches from the wildstring 't*'. //echo -ag $wildtok(one two three, t*, 0, 32) ; Prints the first match from the wildstring 't*e'. //echo -ag $wildtok(one two three, t*e, 1, 32)
Added in 1.9.0
$wildtokcs(text,wildstring,N,C)
Returns the Nth token that matches the wildcard string.
$wildtokcs is case-sensitive, see $wildtok for case-insensitive version.
Parameters
Parameter | Description |
text | The text to tokenize. |
wildstring | String to search. |
N | If N = 0, return number of matching tokens, otherwise the Nth token. |
C | The ASCII value to tokenize by. |
Example
; Prints the number of matches from the wildstring 'T*'. //echo -ag $wildtokcs(one two Three, T*, 0, 32) ; Prints the first match from the wildstring 'T*e'. //echo -ag $wildtokcs(one two Three, T*e, 1, 32)
Added in 1.9.0
/tokenize <C> <text>
Fills the $1 $2 ... $N identifiers with tokens in <text> separated by character <c>.
Parameters
Parameter | Description |
<C> | The ASCII value to separate by. |
<text> | The text to separate. |
Example
; Separate the text "one:two:three" by ASCII value 58 (:) //tokenize 58 one:two:three | echo -a Result of $!2: $2
Added in 1.9.0
$*
This is a special identifier which can be used to loop a script line for each token in $1-.
Example
; Create a loopme alias. alias loopme { echo -ag Current token is $* } ; Call the loopme alias. /loopme a b c d e f g
Added in 1.9.1
/toolbar [on|off] [-aidmsxkNnNzNebwhyNurctplof[sld]gN] [N] <name/N> <tooltip> <picfile|@> [x y w h] [/alias] [popfile|@]
Allows modifying/adding/removing Toolbar buttons.
Switches
Switch | Description |
-a | Add button. |
-i | Insert button at position [N]. |
-d | Deletes the Nth button or <name>. |
-m | Moves button <name/N> to position [N]. |
-s | Add separator. |
-x | TODO |
-kN | Check or uncheck the Nth button or <name>, 0 = check, 1 = uncheck. |
-nN | icon index in picfile. |
-zN | Icon size, 1 = small, 2 = large, 3 = actual. |
-e | Enable button [N] or <name>. |
-b | Disable button [N] or <name>. |
-w | Show button [N] or <name> |
-h | Hide button [N] or <name> |
-yN | TODO |
-u | Update display immediately. |
-r | Resets all buttons to default. |
-c | Clear all buttons. |
-t | Update tooltip. |
-p | Update picfile. |
-l | Update alias. |
-o | Update popupfile. |
-f | TODO |
-gN | Sets the button alignment, 0 = left, 1 = right. (AdiIRC only) |
Parameters
Parameter | Description |
[on|off] | Enables/Disables Toolbar, use $toolbar to determine Toolbar status. |
[N] | Button position to modify. |
<name/N> | Name or position of button to modify. |
<tooltip> | Tooltip for the button. |
<picfile|@> | Icon/Image file to use for the button or pic window name. |
[x y w h] | Position and size of the image/bitmap to use. (not used for icons) |
[/alias] | Alias command to add to the button. |
[popfile|@] | popfile = TODO, @name pic window name. |
Example
; Add a button. /toolbar -a mybutton "My button tooltip" "c:\icons\myicon.png" "/mycommand" ; Change the icon. /toolbar -p mybutton "c:\icons\myicon2.png" ; Change the alias. /toolbar -l mybutton /mycommand2 ; Remove a button. /toolbar -d mybutton ; Add a separator. /toolbar -as myseparator
Default buttons
Button | Description |
tsb1 | Disconnected |
tsb26 | Connecting |
tsb27 | Connected |
tsb2 | Serverlist |
tsb3 | Options |
tsb4 | Dcc Transfer monitor panel |
tsb5 | Separator |
tsb6 | Cascade |
tsb7 | Tile Horizontal |
tsb8 | Tile Vertical |
tsb9 | Separator |
tsb10 | Open Winamp |
tsb11 | Media Mlayer previous song |
tsb12 | Media Player play song |
tsb13 | Media Player pause song |
tsb14 | Media Player stop song |
tsb15 | Media Player next song |
tsb16 | Now playing |
tsb17 | Separator |
tsb18 | Search box |
tsb19 | Choose search engine |
tsb20 | Separator right aligned |
tsb21 | Memory usage |
tsb22 | Cpu usage |
tsb23 | Channellist |
tsb28 | Script Editor |
tsv24 | Dcc Transfer Progress |
tsb25 | Clock |
The toolbar allows performing various actions based on clicking icons.
Note: right-clicking some icons gives quick access to more features such as server history/favorites and channel favorites.
The Toolbar can be hidden by clicking Menubar -> View -> Toolbar or by typing /toolbar off or by changing Options -> Windows -> Enable Toolbar or by right-clicking the Toolbar and then clicking Hide Toolbar.
The /toolbar command can be used to add/edit/remove any toolbar icon. To have any changes persistent, put the commands in a on START script.
There is also a graphical drag/drop editor for the built-in icons which can be accessed by right-clicking in the Toolbar and clicking Customize.
Media player icons are only visible when the media player is set to Winamp/Media Monkey/iTunes or Spotify.
The default icons can be changed in Options -> Icons.
The Toolbar can be moved to the top/bottom/left/right of the main window by right-clicking the Toolbar then clicking Position.
Menubar/Toolbar/Switchbar/Treebar can be locked so they can't be moved by right-clicking any bar and then click Lock Bars.
Locking bars also removes the header from the Monitor Panels.
The Toolbar background color can be set in Options -> Colors.
Note: Override Windows theme colors must be enabled.
The font can be changed in Options -> Fonts & Sizes or by using the /font command.
A background image for the Toolbar can be set in Options -> Backgrounds or by using the /background command.
Added in 1.5
/topic [-r] <#channel> [newtopic]
Changes the topic for a channel that you are on.
If no newtopic is defined, current topic is retrieved.
Switches
Switch | Description |
-r | Reset/remove topic. |
Parameters
Parameter | Description |
<#channel> | Channel to change the topic. |
[newtopic] | Topic to set. |
Examole
; Set a new topic on #mychannel. /topic #5676 mychannel This is a new topic ; Remove the topic in #mychnnel. /topic -r #mychannel
Added in 1.9.1
/topicbox [-dhostabNeNfNpvck] [window] [text|color]
Sets Topicbox visibility or visibility style and/or fills the Topicbox of the current or specified window with the specified text.
Switches
Switch | Description |
-d | Use default visibility option. |
-h | Show Topicbox as one line, expandable on click. |
-o | Hide Topicbox |
-s | Set current Topicbox option as default for all Topicboxes. |
-t | Show Topicbox multiline sticky. |
-a | Use the Topicbox from the current active window. |
-bN | Set selection start to position N. |
-eN | Set selection end to position N. |
-fN | If N = 1/[$null] sets focus to the Topicbox and makes sure the window is not minimized and active. |
-p | Append a white-space after the text. |
-v | Prevents the Topicbox contents from being changed. |
-c | Sets the Topicbox text color. |
-k | Sets the Topicbox background color. |
Parameters
Parameter | Description |
[window] | Window to change the Topicbox. |
[text|color] | Text to set or color to set with -c and -k switches. |
Example
; Show Topicbox as one line on #channel. /topicbox -h #channel ; Hide Topicbox on #channel. /topicbox -o #channel ; Set the Topicbox text for #channel. /topicbox #channel Test Topic
The Topicbox shows the current topic on the channel, it can also be used to change the topic if you are a channel operator.
See also /topicbox, $topicbox.
The Topicbox is by default non sticky, it expands into the necessary number of lines when you click it, and collapses into a single line when the focus is removed.
Sticky mode makes the Topicbox always show the necessary number of lines.
Sticky mode can be changed globally in Options -> Windows -> Topicbox and per channel by right-clicking the Topicbox and select Show Sticky or through the /topicbox command.
Clicking Set as default will change the global mode as ell.
The Topicbox can be disabled globally in Options -> Windows -> Topicbox and per channel by right-clicking the Topicbox and select Off or through the /topicbox command.
Clicking Set as default will change the global mode as ell.
To edit the channel topic from the Topicbox right-click the Topicbox and click Unlock, this puts the Topicbox in a edit mode and you can type/copy/paste and so on.
While editing the topic, the text will act as a real time preview when entering control codes.
Note, some networks/channels doesn't allow control codes in topics and will remove them.
The colors can be changed in Options -> Colors -> Topicbox.
The font can be changed in Options -> Fonts or through the /font command.
It's possible to add padding around the Topicbox in Options -> Windows -> Topicbox padding.
It's possible to change colors per channel using the /topicbox command.
Pressing CTRL + Space opens the Topicbox right-click menu.
Nicks, channel names and url links are clickable/right-clickable/double-clickable and will perform the same actions as clicking them in the text area.
When typing or pasting characters not available in the specified font, they will appear as empty squares for Windows versions below 10.
AdiIRC supports multiple languages.
Since our translation platform was shutdown, contributing translations can only be done through github for now, they can be found at https://github.com/AdiIRC/Translations.
When a new version of AdiIRC is released, all the translation changes is compiled and added to the installer, as well as the download list below.
You can contact us to request a update to the download list if you want to test something.
It is not necessary in most cases to test the width of a text, most user interface elements will dynamically resize itself to fit the text.
A GUI to install translations is being considered.
Automated update of translations is being considered.
Last updated: January 15, 2019
Language | Links |
---|---|
Danish/da-DK By Per Amundsen & CC |
Download - Source |
German/de-DE By Cthulhux |
Download - Source |
Polish/pl-PL By VRMonk |
Download - Source |
Brazilian/pt-BR By pereba |
Download - Source |
If enabled, tray icon is always visible.
If enabled, AdiIRC icon is always hidden from the taskbar
If enabled, you only need to click the tray icon once to restore/minimize AdiIRC, else you have to doubleclick.
If enabled, AdiIRC will minimize to tray instead of to the taskbar.
If enabled, AdiIRC will minimize to tray instead of closing, when the close button is clicked.
Added in 1.9.3
/treebar [on|off]
Enables/disables Treebar. $treebar can be used to determine it's state.
If no parameter is defined, prints current Treebar visibility status.
Parameters
Parameter | Description |
[on] | Enables Treebar. |
[off] | Disables Treebar. |
The Treebar shows all open windows and allows switching the active window.
See also /treebar, $treebar, Treebar Options.
The Treebar can be hidden by clicking Menubar -> View -> Treebar or by typing /treebar off or by right-clicking the Treebar and then clicking Hide Treebar or by pressing the CTRL + G shortcut.
The Treebar can be moved to the top/bottom/left/right of the main window by drag/dropping the Treebar header.
Menubar/Toolbar/Switchbar/Treebar can be locked so they can't be moved by right-clicking any bar and then click Lock Bars.
Locking bars also removes the header from the Monitor Panels.
Right-clicking a window in the Treebar shows the window menu.
Pressing the SHIFT while right-clicking shows the scripted window menu instead.
This can be inverted by right-clicking a empty area in the Treebar, then clicking Show Menu and selecting Window.
The order which windows appear in the Treebar can be changed in Options -> Windows -> Window order.
Windows can be closed by using the middle mouse button when clicking a window or by pressing SHIFT when left-clicking a window.
This can be disabled in Options -> Windows.
Windows can also be closed by right-clicking the window and select Close.
By default the text color and icon in the Treebar will flash/blink when you are being highlighted, this can be changed in Options -> Highlights.
Tab text colors can be set in Options -> Colors.
Normal color - The text color for the active window.
Inactive color - The text color for any inactive window.
Highlights color - The text color for any window which has a highlighted message.
Message color - The text color for any window which has a new message.
System color - The text color for any window which has a new system message.
Note: The color can be reset to default by using the /amark command or by right-clicking a empty area then clicking Mark As Read or Mark Server As Read.
The Treebar background color can be set in Options -> Colors.
Note: Override Windows theme colors must be enabled.
The window icons can be changed in Options -> Icons.
Hiding the window icons from the Treebar can be done in the Treebar Options.
Folders groups windows of the same type into separate folders. This can be enabled/disabled by right-clicking an empty are then clicking the Use Folders menu item. Can also be changed in the Treebar Options.
The window count can be enabled/disabled by right-clicking an empty area and selecting Show Count.
The folder icon can be changed in Options -> Icons.
Since the Treebar is a Monitor Panel it has the same features including the option to be autohidden, this can be done by clicking the autohide icon in the Treebar header.
Since the Treebar is a Monitor Panel it has the same features including the option to be locked and excluded when toggling Monitor Panel on/off, this can be done by clicking the lock icon in the Treebar header.
Since the Treebar is a Monitor Panel it has the same features including the option to be undocked as a separate window, this can be done by clicking the arrow menu in the Treebar header and selecting Undock.
While undocked, it can be added as a window inside AdiIRC by pressing the shortcut CTRL + D or by right-clicking the Titlebar and uncheck Show on Desktop.
To dock it again right-click the Treebar window in the Titlebar and select Dock.
The font can be changed in Options -> Fonts & Sizes or by using the /font command.
A background image for the Treebar can be set in Options -> Backgrounds or by using the /background command.
If set to "All", all notify nicks will be visible in the Treebar, if set to "Online", only online notify nicks will be visible, otherwise no nicks will be visible.
See also /notify, $notify, Notify Options.
If set to "Off", no close icon will be visible.
If set to "On hovering", a close icon will be visible when hovering a Treebar node associated with a window.
If set to "Always", all Treebar nodes associated with a window will have a close icon.
If set to "Active", The current selected Treebar node associated with a window will have a close icon.
If set to Normal, displays a tree hierarchy with custom icons.
If set to Flat, displays a flat list with custom icons.
If set to Lines, displays a tree hierarchy with connecting lines and fixed plus/minus icons.
The icon can be changed from Options -> Icons.
Sets the number of pixel between each node in the Treebar. (Divied by 2)
If enabled, prefix/channel mode characters (@%+) will now be drawn in the Treebar Nicklist.
If enabled, your prefix/channel mode color will follow the global prefix/channel mode color instead of "Your" color.
Enabled:
@Nick
Disabled:
@Nick
If enabled, the Treebar Nicklist will be collapsed for all channels except the active channel.
Enables or disables the Treebar Nicklist.
Enables or disables the vertical scrollbar.
Enables or disables the horizontal scrollbar.
If enabled, the parent channel and network folders are expanded when a window gets focus, otherwise the folders stays collapsed.
Enables or disables the Treebar folder groups.
Can also be enabled/disabled from the Treebar right click menu.
Enables or disables the Treebar folder groups count.
Can also be enabled/disabled from the Treebar right click menu.
Enables or disables the window icons in the Treebar.
Window icon can be changed in Options -> Icons.
If enabled, right clicking a window in Treebar will show the system menu, otherwise it will show the scripted window menu.
Enabled:
Disabled:
If enabled, hovering the Treebar and using the mouse-wheel will change the active window, otherwise SHIFT must be pressed.
Shows the current nick on the Server node.
Shows the current network name on the Server node.
Enables or disables the arrow icons in the Treebar.
When enabled, the Window menu instead of the Treebar menu will be showed when right-clicking a window even if the click was in a blank area.
Pressing CTRL while clicking overrides this and always shows the Treebar menu.
If enabled, shows tooltips when hovering a window in the Treebar.
Custom tooltips can be set in Options -> Windows or through the /titlebar command.
If enabled, and a Treebar network node is collapsed, it will show new message/highlight color (and unread count if enabled) for any associated channel/private window on the network node.
If enabled, shows the window (ALT+1-9) shortcut number in the text for the first 9 windows.
If enabled, other Treebar server nodes except the one belonging to the current active window will be collapsed.
Enables or disables the Treebar unread messages count.
Can also be enabled/disabled from the Treebar right click menu.
If enabled, will only show actual messages (excluding system messages such as join/part etc) in the unread messages count.
If enabled, messages below the current scrollbar position will be marked as unread.
h2- Show keyboard shortcuts
Enables or disabling showing the window keyboard shortcut (ALT+N) on the Treebar node.
Added in 1.8.10
/txt2bin <ascii text>
Converts a ASCII text to binary.
See also /bin2txt.
Parameters
Parameter | Description |
<ascii text> | ASCII text to convert. |
Example
;Will show 0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100. /txt2bin Hello World ;Convert back to Hello world. /bin2txt 0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100
Added in 1.9.7
/ulist [<|>] <level>
Lists the users which have the specified access levels.
Parameters
Parameter | Description |
[<|>] | Lower than or greater than level. |
<level> | Levels to list. |
Example
; Lists all users with access level lower than 10 /ulist <10 ; Lists all users with access level greater than 5 /ulist >5 ; Lists all users with access level 4 /ulist 4
Added in 1.5
/unban <nick/address>
Removes a ban on <nick/address> from current channel.
Same as /ban -r [nick/address]
Parameters
Parameter | Description |
<nick/address> | The nick or address to remove. |
Example
;Remove ban on Nick /unban Nick ;Remove ban on Nick*!*@* /unban Nick!*@*
Added in 1.5
/unignore <nick/address>
Removes ignore on a user or mask.
Same as /ignore -r [nick/address]
Parameters
Parameter | Description |
<nick/address> | The nick or address to remove. |
Example
; Remove ignore on Nick. /unignore Nick ; Remove ignore on Nick*!*@*. /unignore Nick!*@*
Added in 1.9.0
/unload <-anrs> <filename>
Unloads the specified alias or remote script file.
See also /load, /reload, on LOAD, on UNLOAD, on START.
Switches
Switch | Description |
-a | Unload a alias file. |
-n | Prevents the script from having the on UNLOAD event triggered. |
-rs | Unload a remote script. |
Parameters
Parameter | Description |
<filename> | File to unload. |
Added in 1.8.10
/unnotify <nick>
Removes a nick from the notify list, equal to /notify -r <nick>.
Parameters
Parameter | Description |
<nick> | Nick to remove. |
Added in 1.9.0
/unset [-slg] <%var> [%var..]
Unset local or global variables, local variables take precedence over a global variable with the same name.
Wildcards is allowed.
See also /var, /set, /inc, /dec, /vars, $var, Edit Variables.
Switches
Switch | Description |
-s | Prints unset information. |
-l | Unset local variable(s). |
-g | Unset global variable(s). |
Parameters
Parameter | Description |
<%var> | Variable to unset. |
[%var..] | Additional variables to unset. |
Example
alias example { ;Create and fill a variable with data. /set %var1 Variable test. ;Print the variable value. /echo -a %var1 ;Unset the variable. unset %var1 ;Print the variable value after unset. echo -a %var1 }
Added in 1.9.3
/unsetall
Unset and removes all variables from the variables list.
Added in 1.5
/update
Opens the update dialog and checks if there is newer version of AdiIRC.
Added in 2.4
/updatenl
Updates the Nicklist immediately during a on KICK/on PART/on QUIT event, instead of after the event.
Example
on *:PART:#:echo -ag # Number of users on # before = $chan(#,0) | updatenl | echo -ag # Number of users on # after = $chan(#,0)
Added in 2.3
/url [on|off|show|hide|-ranilsw] [N|address]
Enable/disable/show/hide the URL catcher monitor or open a URL.
Switches
Switch | Description |
-a | TODO |
-n | Open the Nth URL or address in a new window instead of new tab. |
-r | Remove the Nth URL from the list. |
-i | TODO |
-l | TODO |
-s | TODO |
-w | Shows the link warning box if enabled. (AdiIRC only) |
Parameters
Parameter | Description |
[on|off] | Enables or disables the URL catcher monitor. |
[show|hide] | Shows or hides the URL catcher monitor. |
[N|address] | The Nth URL or a address to open. |
Example
; Open 'www.adiirc.com'. /url www.adiirc.com ; Open 'www.adiirc.com' in a new window. /url -n www.adiirc.com
Added in 1.9.7
/usernick <usernick>
Changes your usernick/ident on current connection.
If connected from the serverlist, the serverlist is updated, else quick connect is updated.
Parameters
Parameter | Description |
<usernick> | The new usernick. |
Example
/usernick Obiwan
The users editor allows adding or editing or viewing user access levels.
User access levels can be used in Scripting Events to determine who can trigger the events.
The editor can be opened by clicking Menubar -> Tools -> Edit Users or by typing /edit -u.
The editor shares characteristics with all the other editors.
See also /auser, /guser, /iuser, /ruser, $clevel, $dlevel, $ulevel, Editor Options.
The format of a user level is level<colon><nick/mask>.
To save the current users file to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.
To load users from a different ini file, click the Menubar (inside the editor) -> File -> Load menu item or use the /load command.
When loading users using the /load, /reload or /unload command, the users editor will be automatically updated with the new users.
Clicking the Menubar (inside the editor) -> Edit -> Find or pressing the CTRL + F shortcut opens the search and replace panel.
You can search or search and replace using a Regular Expression by checking the Regex checkbox.
Pressing the ESCAPE key closes the search panel.
If a users file was modified outside of the editor, it can be reloaded by clicking the Menubar (inside the editor) -> File -> Reload menu item or by pressing the F5 shortcut or by typing /reload.
If users has been changed while the editor was open, pressing the Refresh button will update the editor.
Note: this removes any unsaved changes.
The font of the editor can be changed by clicking the Menubar (inside the editor) -> File -> Change Font menu item.
Note: only truetype fonts can be used.
The editor colors can be changed in Options -> Colors.
Added in 2.2
/uwho [nick] [nick]
Performs a /whois on the specified nickname to look up their server information and then displays it in the Whois section of the Address book.
Parameters
Parameter | Description |
[nick] | The nick to look up. |
[nick] | On some servers nick needs to be specified twice to get all the information. |
Example
; Perform a whois lookup on the nick 'nick'. /uwho nick
Added in 1.8.8
/var [-gnspB] <%var> [[= ]value]
Sets the value of local variable %var to the specified value.
Syntax can be either var %var = value or var %var value.
Multiple variables can be set in one line using comma as separator, var %var1 = value, %var2 = value2.
See also /set, /unset, /inc, /dec, $var.
Switches
Switch | Description |
-s | Display variable assignment value. |
-g | Creates a global variable instead. |
-n | Treat the value as plain text, even if arithmetic operators are used. |
-i | Initializes a variable only if it does not already exist as a local or global variable. |
-p | Permits value to be 2 literal double quotes and permits value to end with a single $chr(32) space. Also enables -n switch behavior. |
-B | Performs a $calcint calculation instead of regular $calc when arithmetic operators are used. (AdiIRC only) |
Parameters
Parameter | Description |
<%var> | The variable to set. |
[ [= ]value ] | Value to set the variable to. (can be a single arithmetic expression) |
Example
alias factorial { var %result = 1, %x = $1 while (%x) { var %result = %result * $v1 dec %x } return %result } ;Returns 3628800 //echo -ag $factorial(10)
The variables editor allows adding or editing or viewing global scripting variables.
it can be opened by clicking Menubar -> Tools -> Edit Variables or by typing /edit -v.
The editor shares characteristics with all the other editors.
See also /set, /unset, /vars, $var, Editor Options.
The format of a variable is %name<whitespace><text>.
To save the current variables file to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.
To load variables from a different ini file, click the Menubar (inside the editor) -> File -> Load menu item or use the /load command.
When loading variables using the /load, /reload or /unload command, the variables editor will be automatically updated with the new variables.
Clicking the Menubar (inside the editor) -> Edit -> Find or pressing the CTRL + F shortcut opens the search and replace panel.
You can search or search and replace using a Regular Expression by checking the Regex checkbox.
Pressing the ESCAPE key closes the search panel.
If a variables file was modified outside of the editor, it can be reloaded by clicking the Menubar (inside the editor) -> File -> Reload menu item or by pressing the F5 shortcut or by typing /reload.
If variables has been changed while the editor was open, pressing the Refresh button will update the editor.
Note: this removes any unsaved changes.
The font of the editor can be changed by clicking the Menubar (inside the editor) -> File -> Change Font menu item.
Note: only truetype fonts can be used.
The editor colors can be changed in Options -> Colors.
Added in 1.9.0
/vars
Shows a list of all global variables and their values.
Added in 1.9.0
/viewlog [-nN] [filename]
Displays a log file in the Logs Viewer.
If no filename is defined, current window's logfile will be used.
Same as /logview.
Switches
Switch | Description |
-nN | Scroll to the Nth line in the log file. |
Parameters
Parameter | Description |
<filename> | Log file to view. |
Added in 4.0
/vmsg [#channel] <message>
Sends a private message to all voiced users in a channel.
If channel is not defined, current channel will be used.
You must be a voiced user to use this command.
See also /describe, /me, /ame, /msg, /nmsg, /notice, /onotice, /vnotice.
Parameters
Parameter | Description |
[#channel] | Channel where the voiced users are located. |
<message> | Messages to send. |
Example
; Sends "Hello voiced users" to all voiced users on #channel. /vmsg #channel Hello voiced users
Added in 4.0
/vnotice [#channel] <message>
Sends a notice message to all voiced users in a channel.
If channel is not defined, current channel will be used.
You must be a voiced user to use this command.
See also /describe, /me, /ame, /msg, /nmsg, /omsg, /notice, /vmsg.
Parameters
Parameter | Description |
[#channel] | Channel where the voiced users are located. |
<message> | Messages to send. |
Example
; Sends "Hello voiced users" to all voiced users on #channel. /vnotice #channel Hello voiced users
Added in 1.5
/voice <nick> [nickN...]
Promotes nick to voiced on current channel. (mode #channel +v Nick)
Parameters
Parameter | Description |
<nick> | The nick to promote. |
[nickN...] | Additional nicks to promote. |
Example
;Promote 3 users. /voice Nick1 Nick2 Nick3 ;Promote 1 user. /voice Nick1
Added in 1.9.0
/vol -mpuNvw [volume]
Sets the wave, midi, mp3 player volume or the system master volume.
Switches
Switch | Description |
-m | Sets the Midi player volume. |
-p | Sets the Mp3 player volume. |
-uN | Sets mute setting; 1 = on, 2 = off. |
-v | Sets the system master volume. |
-w | Sets the Wave player volume. |
Parameters
Parameter | Description |
[volume] | Volume. (0 to 65535) |
Examples
; Turn on mute for the system master volume. /vol -vu1 ; Turn off mute for the system master volume. /vol -vu1
Added in 1.5
/wdown
Tells media player to turn volume down.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
/showmenu -i - Generate textual representation of a menu, use with adiirc_to_web_menu SIGNAL.
/showmenu -l - Click the Nth menu.
/drawsave -B &binvar - Converts bitmap into a base64 encoded PNG string and stores it into the &binvar.
/mouse @window event mouse.x mouse.y mouse.key
events:
None = 0, Mouse = 1, SIngleClick = 2, MiddleClick = 3, DoubleClick = 4, DoubleMiddleclick = 5, UpClick = 6, UpMiddleClick = 7, RightClick = 8, DoubleRightClick = 9, ListBoxClick = 10, Leave = 11, Drop = 12, WheelUp = 13, WheelDown = 14, Resize = 15, Minimize = 16, Maximize = 17, Restore = 18
$commands - Generates list of built-in commands and aliases found in scripts/plugins, used with adiirc_to_web_scriptschanged SIGNAL.
$window().backgroundlayout - Gets background layout for this window.
$line().nickcolumn - Gets the line with the nickcolumn character intact.
$line(-N) - Use negative values to get lines from the end.
adiirc_to_web_menu - text,clickid,menustype\r\n
adiirc_to_web_scriptschanged - null
adiirc_to_web_addwindow - cid #channel/@name/nick/Status Window
adiirc_to_web_removewindow - cid #channel/@name/nick/Status Window
adiirc_to_web_updatewindow - cid #channel/@name/nick/Status Window
adiirc_to_web_titlechanged - cid #channel/@name/nick/Status Window
adiirc_to_web_textadded - cid #channel/@name/nick/Status Window
adiirc_to_web_addtool - cid name (cid can be -1)
adiirc_to_web_removetool - cid name (cid can be -1)
adiirc_to_web_picwinpaint - @name
Added in 1.9.0
/window [-aAbBcCde[N]fg[N]hHij[N]k[N]l[N]mMn[N]opq[N]rRsST[N]uvw[N]xz] [-tN,..,N] [+bdeflLmnstx] <@name> [rgb|[x y [w h]]] [/command] [popup.txt] [font [size]] [iconfile [N]]
Creates or manipulates a custom window with a Topicbox/Editbox/Text area/Listbox depending on the parameters used, see Custom Windows for more information.
If -p is specified, a picture window is created which can be custom drawn using various commands/identifiers, see Picture Windows for more information.
Option Switches
Switch | Description |
---|---|
-a | Set as the active window. |
-b | TODO |
-B | Prevent window from using an internal border. |
-c | Close window. |
-C | Center window. |
-d | Create desktop window instead of child. |
-e[N] | Enable Editbox; 0 = single, 1 = multi, 2 = auto, 3 = default. |
-f | Makes the w h the required width and height of the text display area. (instead of the window size) |
-g[N] | Sets/removes window button color, 0 = normal color, 1 = message color, 2 = highlight color, 3 = system color (3 is (AdiIRC only)). |
-h | Hide window. |
-H | Enables auto-hide for a side-listbox. |
-i | Dynamically associate with whatever happens to be the active connection. |
-j[N] | Sets buffer size to N lines. |
-k[N] | Hides the @ prefix in the window name, 0 = hide prefix, 1 = show prefix. |
-l[N] | Add listbox, if N is specified then a side-listbox N characters wide is created. |
-m | Enable line marker in the window. |
-M | TODO |
-n[N] | Minimize window ([N] = TODO) |
-o | Sets the windows as the top most window. (used with -d) |
-p | Creates a picture windows. |
-q[N] | If N is 0 hides the nick column, if N is 1 shows the nick column. (AdiIRC only) |
-Q[N] | If N is 0 disables "Show on Desktop", if N is 1 enables "Show on Desktop". (AdiIRC only) |
-r | Restore window. |
-R | TODO |
-s | Sort the main window, whether text or listbox. (only listbox for now) |
-S | Sort the side-listbox. |
-A | Indicates the [rgb] parameter is defined, sets the forms transparency key to [rgb]. (AdiIRC only) |
-T[N] | Enable Topicbox; 0 = Show, 1 = Show Sticky, 2 = Off, 3 = default. (AdiIRC only) |
-u | Remove ontop setting of a desktop window. |
-v | Close window when associated status window is closed. |
-w[N] | Show/hide window from Treebar or Switchbar; 0 = hide from both, 1 = show in Switchbar, 2 = show in Treebar, 3 = show in both |
-x | Maximize window |
-z[N] | if N = 1, places window button at end of Switchbar/Treebar, if N = 0, restores original place. (Default is 1) |
-Z | Reset the window icon to default. |
Tab Switches
Switch | Description |
---|---|
-tN,..,N | TODO |
Appearance Switches
These causes graphical glitches for MDI windows because .net MDI does not like windows without proper borders.
Switch | Description |
---|---|
+b | Border. |
+d | No border. |
+e | 3d Edge. |
+f | Dialog frame. |
+l | Tool window. |
+L | Tool window. (hide from taskbar) |
+n | Minimize box. |
+s | Sizeable. |
+t | Titlebar. |
+x | Maximize box. |
Parameters
Parameter | Description |
---|---|
<@name> | Window name. |
[rgb] | The $rgb value used with the -t parameter. |
x y [w h] | Left top [width height] - position and size of window. (A -1 value for any of the parameters means use default (or existing) value). |
/command | Default command. |
popup.txt | Popup filename, must be plane text file. TODO |
font [size] | Font name [font size]. |
iconfile [N] | Sets a custom Titlebar icon for the window. (N = TODO) |
Example
alias example1 { ; Create a desktop + picture window, Coordinates: (250,250), size 300x300. /window -dep @Example 250 250 300 300 ; Color it with the control code color 3. (default is green) /drawfill @Example 3 3 1 1 100 100 ; Draw text "Hello world!". /drawtext @Example 1 Arial 30 50 100 Hello World! ; Close the window. /window -c @Example }
If enabled, AdiIRC will maximize the first server window added on start.
If enabled, AdiIRC will minimize channel/server/private/tool/custom/panel windows when pressing the close button.
If enabled, AdiIRC will save and restore the size and position of the main window.
If enabled, AdiIRC will save and restore channel/server/private/tool/custom/panel windows.
If enabled, removes saved windows from the config file which has not been in use for more than a month or year.
Enable or disable the Titlebar of the main window.
Disabling the Titlebar will remove the window borders.
Disabling the Titlebar can interfere with things such as auto-hide Taskbar.
If enabled, when you receive a private message and there is no matching private window, AdiIRC will open one.
If enabled, closes the Searchbox when pressing CTRL + F otherwise focus the Searchbox.
Also applies to the Script Editor Searchbox.
Enable or disable the Menubar.
If disabled, pressing the ALT key will show it temporary.
See also /menubar.
If enabled, shows the current active windows icon in the Menubar.
If enabled, shows the minimize/restore/close control icons in the Menubar.
Enable or disable the Toolbar.
Can also be enabled/disabled from the Menubar -> View -> Toolbar.
See also /toolbar.
If enabled, new server and channel windows be minimized by default, otherwise they will be focused.
Can also be changed per server and per channel in the Serverlist.
If enabled, new private windows will be minimized by default, otherwise they will be focused.
Enable or disable the Switchbar.
Can also be enabled/disabled from the Menubar -> View -> Switchbar.
See also /switchbar.
If enabled, when typing a /msg message and the target window doesn't exists, AdiIRC will open one.
If enabled, middle mouse clicking or pressing SHIFT while left clicking a window in the Treebar/Switchbar.
If enabled, clicking the selected window in the Treebar/Switchbar will hide it and activate the next window.
If enabled, all new (not saved) windows will be opened on the desktop.
Changes the main window border style, changing it to none will remove the entire border.
Removing borders can interfere with things such as auto-hide Taskbar.
Changes the window border style for undocked windows (windows with "Show On Desktop" enabled), changing it to none will remove the entire border.
Sets the main AdiIRC window transparency.
Sets the transparency to use for channel/private/server/tool windows shown on the desktop.
If set to off, auto tiling will be disabled.
If set to Tile horizontal, AdiIRC will automatically tile windows horizontally.
If set to Tile vertical, AdiIRC will automatically tile windows vertically.
If set to Cascade, AdiIRC will automatically cascade windows.
If set to Arrange, AdiIRC will automatically arrange windows.
Sets the left/right/top/bottom padding to use for the Topicbox.
Sets the left/right/top/bottom padding to use for the Editbox.
Sets the text to show in the main AdiIRC window Titlebar.
Set the text to be shown in channel window Titlebar.
Set the text to be shown in server window Titlebar.
Set the text to be shown in private window Titlebar.
Sets the text to be shown in Switchbar/Treebar tooltips for channel windows, if no text is specified, the window title is used.
Sets the text to be shown in Switchbar/Treebar tooltips for server windows, if no text is specified, the window title is used.
Sets the text to be shown in Switchbar/Treebar tooltips for private windows, if no text is specified, the window title is used.
Sort channel/private windows in the Switchbar/Treebar alphabetically or as they appear.
Sort server/tools windows in the Switchbar/Treebar alphabetically or as they appear.
Sort server windows by connection status, all connected servers have higher priority in the Switchbar/Treebar than disconnected servers.
Give certain window types or window names higher priority in the Treebar/Switchbar (so they are displayed before other windows).
Typing a channel name will make that channel window come before other channel windows on that network.
Typing a nick name will make that private window come before other private windows on that network.
Typing a network name will make that server window come before other server windows.
Can be a wildcard.
If enabled the Topicbox will automatically be hidden when the mouse is not inside the Topicbox area.
Sets the number of milliseconds to wait before hiding the Topicbox when the mouse leaves the Topicbox area.
If set to "Show", will show a one line Topicbox in channel windows.
If set to "Show Sticky", will show Topicbox expanded to fit the topic in channel windows.
If set to off, Topicbox will be hidden.
Codeweavers Crssover has a bottle for AdiIRC which installs all the necessary dependencies for .NET 4.5, seems to work pretty good on both macOS and Linux.
Installing AdiIRC in Wine on 64 bit Ubuntu/Debian and macOS.
Wine is a Windows compatibility layer which allows you to run many Windows programs on Linux/macOS.
Winetricks is a script to help you install various Windows components and programs.
AdiIRC does NOT work in mono.
It should work on other Linux distributions as well, as long as a recent Wine version is installed.
On Ubuntu/Debian Type:
apt-get install wine cabextract
If the wine version in your Ubuntu/Debian repository is old, you can get the latest version from https://wiki.winehq.org/Ubuntu.
On macOS type:
# If homebrew is not installed, type /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" # Then install Wine through homebrew brew install wine
Wine does not work well with running 64 bit .NET applications, so you must create a 32 bit wine folder.
Type:
WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg
Type:
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks chmod +x winetricks
If you downloaded the 32 bit .NET 4.5 version of AdiIRC, type:
WINEPREFIX=~/.wine32 ./winetricks dotnet45
If you downloaded the 32 bit .NET 2.0 version of AdiIRC, type:
WINEPREFIX=~/.wine32 ./winetricks dotnet20
After .NET is installed, you should be able to run AdiIRC by typing:
WINEPREFIX=~/.wine32 wine AdiIRC.exe
It's possible to skin Wine/Windows programs to look more native in a Linux environment, check https://askubuntu.com/questions/219791/improve-gui-appearance-of-wine-applications/756781 for examples.
There has been some success running Wine headless using xvfb through screen.
WINEARCH=win32 WINEPREFIX=~/.wine32 screen xvfb-run wine AdiIRC.exe
If you have glitches when selecting text in the text area, try changing the message font to another font, preferably a monospaced font.
Added in 1.5
/wjump <position>
Tells media player to jump to position in the playlist.
Only works with iTunes/MediaMonkey/Winamp.
Parameters
Parameter | Description |
<position> | Numeric position to jump to. |
Added in 1.5
/wnext
Tells media player to play next song.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.5
/wpause
Tells media player to pause a song.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.5
/wplay
Tells media player to start playing a song.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.5
/wprev
Tells media player to play previous song.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.9.0
/write [-cidnaiNmN l<line> s<text> w<wildcard> r</regex/>] <filename> [text]
Writes lines to a text file.
Switches
Switch | Description |
-c | Clears the entire file before writing to it. |
-i | Inserts the text at a given line instead of replacing it. |
-d | Deletes the given or last line. |
-n | Prevent adding $crlf at the end of the text. |
-a | Appends the text to an existing line. |
-lN | Line number for the line to write/modify/delete. |
-sN | Operates on a line that matches the scanned <text>. |
-wN | Operates on a line that matches the scanned <wildcard> pattern. |
-r | same as -w - but uses a regular expression match. |
-mN | changes how $crlf are written to the end of a file, where N = 0 is the default behavior, N = 1 adds $crlf to end of file if it is not already there before writing a line, and N = 2 never adds $crlf to end of file before writing a line. |
Parameters
Parameter | Description |
<line> | The line number to find. |
<text> | The text to scan. |
<wildcard> | Wildcard pattern to match. |
</regex/> | Regular expression pattern to match. |
<filename> | The file name to manipulate. |
[text] | The text to be written to the file. |
Example
alias example { ; Create a file and add a few lines of text to it. /write Example.txt this is a cool line /write Example.txt hello there! /write Example.txt text files are cool ; Locate the line that starts with "hello" and insert the following text before it. /write -is"Hello" Example.txt This will become line 2! ; Delete line 1. /write -dl1 Example.txt }
Added in 1.9.0
/writeini [-nz] <inifile> <section> <item> <value>
Switches
Switch | Description |
-n | Forces AdiIRC to write to an INI file, even if it's bigger then 64k (obsolete) |
-z | Allow writing empty <value>. |
Parameters
Parameter | Description |
<inifile> | The file to write to. |
<section> | The section to write. |
<item> | The item to write. |
<value> | The value to write. |
Example
;Write a few items to a file. /writeini abb.ini abbreviations lol Laughing Out Loud /writeini abb.ini abbreviations rofl Rolling On the Floor, Laughing ;Print a line from abb.ini. //echo -a $readini(abb.ini, n, abbreviations, lol)
Added in 1.5
/wsearch <search term>
Searches through media player playlist for search term and prints result.
Only works with iTunes/MediaMonkey/Winamp.
Parameters
Parameter | Description |
<search term> | Search term to find. |
Added in 1.5
/wseekf
Tells media player to seek forward in a song.
Only works with iTunes/MediaMonkey/Winamp/foobar2000.
Added in 1.5
/wseekr
Tells media player to seek reverse in a song.
Only works with iTunes/MediaMonkey/Winamp/foobar2000.
Added in 1.5
/wselect <search term>
Plays first hit from a search through media player playlist for search term.
Only works with iTunes/MediaMonkey/Winamp.
Parameters
Parameter | Description |
<search term> | Search term to find and play. |
Added in 1.5
/wstop
Tells media player to stop playing a song.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 1.5
/wup
Tells media player to turn volume up.
Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.
Added in 2.9
/zip [-oculN] <name> <source> <target>
Zips a file or folder into a zip file or unzips a zip file into a folder.
See also $zip, $ziperr, on ZIP, on UNZIP.
Only available with .NET 4.5+
Switches
Switch | Description |
-o | Overwrites the target zip file if it exists or overwrites existing files in the target unzip folder. |
-c | Aborts the zip/unzip operation. |
-u | Unzip instead of zip. |
-lN | Use compression method N, 0 = no compression, 1 = fastest compression, 2 = optimal compression. |
-i | Prints the open zip operations, if combined with -u prints the open unzip operations. |
Parameters
Parameter | Description |
<name> | Name of the zip/unzip operation. |
<source> | The source file or folder to zip or the source zip file to unzip. |
<target> | The target zip file to zip to, or the target folder to unzip to. |
Example
; Zip the entire adiirc folder into 'adiirc.zip' //zip name $qt($adiircdir) adiirc.zip ; Print the zip result when then zip operation is finished. on *:ZIP:name:echo -ag zipped $zip($zip).src into $zip($zip).dest status: $iif($ziperr,fail,ok)
There are several ways to connect to a IRC Bouncers such as ZNC
The first Username and Password fields should match the username and password provided by your ZNC provider.
Alternatively you can use username:password in the Password field and set the Username field to anything you want.
Set the Nick, Fullname and Alternative nicks to whatever you want.
Check the /server wiki for a complete overview of command parameters. Two quick example:
/server -m you.znc.net:5708 -p login:password
/server -m you.znc.net:+5708 -p login:password
To connect using SSL, add + to port prefix or use the parameter -ssl.
Ps: for no specified parameters like nick (-i), username (-u), realname (-r), etc, AdiIRC will use the default values set in /quickconnect.
on *:start: { server you.znc.net:5708 -p login:password }
Check the XNC playback script.
There are several ways to connect to a IRC Bouncers such as ZNC
The "Username" and "Password" field should match the username and password provided by your ZNC provider.
Set the Nick, Fullname and Alternative nicks to whatever you want.
Check the /server wiki for a complete overview of command parameters. Two quick example:
/server -m you.znc.net:5708 -p login:password
/server -m you.znc.net:+5708 -p login:password
To connect using SSL, add + to port prefix or use the parameter -ssl.
Ps: for no specified parameters like nick (-i), username (-u), realname (-r), etc, AdiIRC will use the default values set in /quickconnect.
on *:start: { server you.znc.net:5708 -p login:password }