Index by title

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.

See also /abook, /uwho.

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)
.email 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.

Same as $auto, see also /aop.


$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.

Same as $aop, see also /aop.


$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.

Arithmetic Operators.

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

(AdiIRC only) = $calc is accurate to any integer value up within the range [1-2^96,-1+2^96], but returns result of 0 exponent is 96 or greater. If result of multiply or add is >= 2^96, that intermediate operation has the result of zero. Accuracy of the fraction to the right of the decimal is limited by the size of the number to the left.

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.

Arithmetic Operators.

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.

See also /dcc, $get, $send.

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.

See also /creq, $sreq, /sreq.

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.

See also $ticks, $hticks.


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.

See also /dns, on DNS.

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.

See also $editbox, /editbox.

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

$email

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.

See also $isfile $isdir.

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.

See also /enable, /disable.

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.

See also $hmatch, $hregex.

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

table(ktable). |*Parameter*|*Description*| | text | Text to hash. | | B | Number of bits to use. (min 2, max 32) |

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.

See also $hotp, $totp.

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.

See also $hfind, $hregex.

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.

See also $totp, $hmac.

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.

See also $hfind, $hmatch.

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.

See also $ticks, $ctimems.


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.

See also $right, $mid.

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.

See also $left, $right.

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.

See also $msgtags, /echo.

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.

See also on NICK, /nick.

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.
.email 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.

See also /play, $play,


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)

result: public key is 9096966601866802454683190856290401982846740225771867061600052568524959430855875148034766550337128449963518566421940946368033643297332206037516752463116368229254753990477791648737943826345055751194771858378452414281379237175301877700199154665816026591638021196652764283978525694745846158272612738555767737982450470691841483186

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.

See also $rand, $r.

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.

See also $left, $mid.

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.

See also /scon, /scid, $scon.

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.

See also /scon, /scid, $scid.

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.
.email 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.

See also /sreq, $creq, /creq.

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.

See also $hticks, $ctimems.


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.

See also $ticks, $ctimems.


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.

See also /titlebar, 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.

See also /toolbar, Toolbar.


$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.

See also $hotp, $hmac.

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.

See also Treebar, /treebar.


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.

See also /uwho, $abook.

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.

AddEdit channel dialog

Channel

Name of the channel.

Password

Password of the channel, if any.

Join on connect

When checked, the channel will be joined when the server connects, otherwise it will be treated as a channel favorite.

Minimize on join

When checked, the channel window will be minimized when joined.


AddEdit Control Address

Add or edit a auto-op/auto-voice address.

Address

Hostname/address to auto op/auto voice.

Channels

Comma separated list of channels to auto op/auto voice on.

Network

$network name to auto op/auto voice on.


Add/Edit Shortcut Dialog

Command

Command to use when pressing the shortcut.

CTRL

Use Control key as a modifier for the shortcut.

SHIFT

Use Shift key as a modifier for the shortcut.

ALT

Use Alt key as a modifier for the shortcut.

Key

Key to use for this shortcut.


Add/Edit favorite channels

Channel

The channel name for the favorite items.

Password

The channel password if any.

Descriptions

A description/note for the channel.

Folder

The folder to associate this channel with.

Networks

The network(s) to associate the channel with.

Minimize on join

If checked, the channel will joined in the background and not get focus.

Join on connect

if enabled, the channel will be joined on connect if the Enable join on connect options ie enabled.


Add/Edit Highlight Dialog

Highlight

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.

Match on

Search the Message and/or the Nickname for matching word(s).

Case sensitive

If enabled, only exact matches will trigger.

Regex

If enabled, the highlight word(s) can be a regular expression

Sound

When highlight word(s) is matched, play a beep, a sound file or nothing.

Color

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.

Flash message [X] times

When highlight word(s) is matched, flashes the main window in the Taskbar [X] times.

Tip message for [X] seconds

When highlight word(s) is matched, shows a Tip message for [X] seconds.

Network or Server address

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.

Channel(s)

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.

Nick or Address (nick!user@host)

If filled, will only match messages written by the specified nickname or address.

Multiple nicks can be added using comma, wildcards is allowed.

Message

The Tip message to show when highlight word(s) is matched.

The Tip message will be evaluated and can contain identifiers.

Run command

When highlight word(s) is matched, run a scripting command.

The command will be evaluated and can contain identifiers.


Add/Edit Ignore Dialog

Address

The nick or address to ignore.

Ignore Options

If no specific ignore option is enabled, all options are ignored.

Private

Ignore private messages from the nick/address.

Channel

Ignore channel messages from the nick/address.

Notice

Ignore notice messages from the nick/address.

Ctcp

Ignore ctcp requests from the nick/address.

DCC

Ignore DCC requests from the nick/address.

Invite

Ignore channel invites from the nick/address.

Codes

Ignore control codes from the nick/address.

Tips

Ignore Tips from the nick/address.

Highlight

Ignore Highlights from the nick/address.

Inline Images

Ignore Inline Images from the nick/address.

Emoticons

Ignore Emoticons from the nick/address.

Exclude

Exclude this nick/address from being ignored.

Remove in [X] secs

Remove this ignore after [X] seconds.

Network name or Server address.

Limit this ignore rule to the specified network name or server address.

Channel(s)

Limit this ignore rule to the specified channel(s).

Separate with comma ",".

Can be a wildcard,

Note

Add a note.

Only on messages matching

Limit this ignore to messages matching the specified text. (Can be a wildcard)

Case sensitive

If enabled, the message match is done using case sensitivity.

Regex

If enabled, performs a Regular expression on the message instead of wildcard.


Add/Edit Nickcolor Dialog

Nick color

Color to use for coloring the match.

The last dropdown item allows you to select any color you want.

Use random color

If enabled, the match will be colored using a random nick color.

Ignored for your own messages, set a fixed color instead.

Method

Match on messages, Nicklist or both.

Nick or address

Match the nick or address.

$me can be used to refer to your current nick.

No address

Match user with no address in the $ial yet.

Channel modes

Match users with the specified channel modes.

Any mode

Match users with any channel mode.

No mode

Match users with no channel mode.

Away

Match only users who are marked as away.

User levels

Match users with the specified user levels.

Idle time [X] mins

Match users who has been idle for more than [X] minutes

Address Book

If checked, match a nick in the Address Book.

Ignore

If checked, match a nick in the ignore list.

Notify

If checked, match a nick in the notify list.

Op

If checked, match a nick in the Auto-op list.

Voice

If checked, match a nick in the Auto-Voice list.

Network or Server address

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.

Channel(s)

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

Icon

Path to a image file to use as icon for this match.

Nick or Address

The nick or address to match.

$me can be used to refer to your current nick.

No address

Match user with no address in the $ial yet.

Channel modes

Channel modes to match, e.g to match all channel ops *@* can be used.

Any mode

Match a user with any channel mode(s).

No mode

Match a user with no channel mode(s).

Away

Match only users who are marked as away.

User levels

User levels to match.

Idle time

Only match users who has been idle for [x] minutes.

Address Book

If checked, match a nick in the Address Book.

Ignore

If checked, match a nick in the ignore list.

Notify

If checked, match a nick in the notify list.

Op

If checked, match a nick in the Auto-op list.

Voice

If checked, match a nick in the Auto-Voice list.

Network or Server address

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.

Channel(s)

If filled, will only match if the nick is on the matched channel name.

Multiple channels can be added using comma, wildcards is allowed.


AddEdit Notify Dialog

Nickname

Nickname to add to the Notify list.

Network

If specified, only get notified when user comes online/offline on this network.

Note

Add a small note to the Nickname.

Online sound

When user comes online, play a beep, sound or nothing,

Offline sound

When user comes offline, play a beep, sound or nothing,

Use default sounds

If enabled, online/offline sound options set in [[Options_Dialog|Options}} -> Sounds will be used instead.

Perform /whois

If enabled, AdiIRC will perform /whois on a nickname when it comes online.


AddEdit server dialog

Hostname

The hostname you want to connect to.

Usually something like irc.network.com.

Port

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.

Description

A small description to use for this server. (Optional)

Password

If multiple servers have different passwords on this network, a separate password can be set here. This password will override the global network password.

Enable SSL

If checked or if port is defined starting with a +, AdiIRC will try connect to this server using SSL/TLS.

Enable STARTTLS

If checked or if port is defined starting with a *, AdiIRC will try connect to this server using STARTTLS.


AddEdit Shortcut Dialog

Name

Name of the shortcut to edit.

CTRL

Use Control key as a modifier for the shortcut.

SHIFT

Use Shift key as a modifier for the shortcut.

ALT

Use Alt key as a modifier for the shortcut.

Key

Key to use for this shortcut.

If key is set to None, the shortcut is unset.


Add/Edit Tab Color Dialog

Tab Color

Color to use for this tab/window.

Background

Background color to use for this tab/window.

Method

Whether to apply the rule to the Treebarl, Switchbar or both.

Use random color

Use a random color for the tab/window.

Windows matching

Wildcard pattern for matching window names.

Network name or server address

Only apply the rule for windows on the matching network name or server address.

Can be a comma separate list.


Addressbook

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.


Addressbook Control

Allows performing auto-op, auto-voice and protect on matching hostnames/addresses on specific channels/networks.

See also /aop, /avoice, /protect, $aop, $avoice, $protect.

Enable

Enables or disabled auto-op/auto-voice.

Op dropdown

Select the auto-op list.

Voice dropdown

Select auto-voice list.

Protect dropdown

Select protect list.

Add

Add a new hostname/address to the selected auto list.

Add/Edit Address

Edit

Edit a hostname/address in the selected auto list.

Add/Edit Address

Delete

Delete a hostname/address from the selected auto list.

Up

Move the selected hostname/addresses up in the selected auto list.

Down

Move the selected hostname/addresses down in the selected auto list.

Sort

Sort the hostname/addresses in the selected auto list alphabetically.


Addressbook Users

Add/Edit/Delete users in the address book.

See also /abook, /uwho, $abook.

Nick

The users nickname.

Name

The users name.

Email

The users email address.

Clicking the Email button opens the email address in the default mail program.

Websites

The users website address.

Clicking the Visib button opens the website address in the default browser program.

Address

The users hostname/address.

Notes

Notes about the user.

Adding a user

Type the users nickname, then press the Add button.

Deleting a user

Select the user in the Nick dropdown, then press the Delete button.

Adding a image

Click the Browse and select a image file to use for this user.

Whois

Performs a /whois lookup for the nick on the current active IRC server and displays the result in the Whois tab.


Addressbook Whois

Performs whois and ctcp actions on a nickname and displays the result.

See also /uwho.

Whois

Click the Whois button to perform a /whois command on the entered nickname.

Add to users

Click the Add button to add the nickname to address book users.

Find user

Click the Find button will search and select the nickname in the address book users.

Name

Displays the Realname/Fullname of the user found in the whois request.

Address

Displays the hostname/address of the user found in the whois request.

Channels

Displays the channel the user is joined found in the whois request.

Clicking the Copy button will copy the channels to the clipboard.

Login time

Displays the login time of the user found in the whois request.

Idle time

Displays the idle time of the user found in the whois request.

Away Info

Displays the away info of the user found in the whois request.

Server Info

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.

Status

Displays the user status found in the whois request.

Ctcp reply

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

Aliases Editor

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.

Defaults

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.

Aliases format

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
  ...
}

Saving aliases to a different ini file

To save the current aliases file to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.

Loading aliases from a different ini file

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.

Search/replace text

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 brackets

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.

Reloading a aliases file

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.

Reset aliases

Clicking the reset button resets the current select aliases file to the default aliases.

Jumping to a specific alias

The Alias menu item in the Menubar (inside the editor) can be used to jump to a specific alias in the current alias file.

Font

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.

Colors

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


Apply Theme Dialog

The dialog allows selecting which parts of the theme to apply to your current settings.

Apply colors

Applies the theme colors to your colors settings.

Apply prefix

Applies the theme user/emote/system/ctcp message prefix settings.

Apply fonts

Applies the theme fonts settings.

Apply emoticons

Applies the theme emoticons settings.

NB, all current emoticons are removed.

Applies sounds

Applies the theme sounds settings.

Apply nick colors

Applies the theme nick color settings.

Apply backgrounds

Applies the theme background image settings.

Apply icons

Applies the theme icon settings.

Apply nicklist icons

Applies the theme nicklist icon settings.

NB, all current nicklist settings are removed.

Apply scripts

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!

Arithmetic operators

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

Auto join channels

There are several ways to auto join channels.

Favorites

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.

Serverlist

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.

Quick Connect

When connected through Quick Connect, auto joining channels can be added in Options -> Quick Connect or in the Quick Connect dialog.

/server command

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

Away Options

Options for the built-in away system.

See also /away, /back.

Enable Away

Enables or disabled the built-in away system.

Automatically set back when typing

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.

Automatically set away after [X] minutes idle

Will mark you as away if you haven't sent a message to the server in [X] minutes.

Settings for [network]

"Other Networks" settings will apply to all networks except networks without the "Use global settings" checkbox enabled.

Use global settings

If checked, the network will use global away settings, otherwise it will use custom settings.

Change nick to [X]

Changes your nick to [X] when you are marked as away.

Notify you are away in channels

Sends your away message to channels when you go away.

Notify you are away in private messages

Sends your away message to nicks who message you while you are away.

Notify you are away in highlighted messages

Sends your away message to nicks who highlights you while you are away.

Away message

Away message.

Away message will be evaluated and can contain identifiers.

Run commands on /away

List of /commands to run when you are marked as away.

Commands will be evaluated and can contain identifiers.

Disable away in channel/private windows

All "Notify you are away" messages will not be sent to channels or users in this list.

Notify you are back in channels

Sends your back message to channels when you come back.

Run commands on /back

List of /commands to run when you are marked as back.

Commands will be evaluated and can contain identifiers.

Back message

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

Backgrounds Options

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.

Main

Sets the background image for the MDI area (the area behind the window shown when a docked window is unmaximized)

Channel

Sets the background image for the textarea for Status/Channel/Query/Chat windows. (somewhat misleading name).

Menubar

Sets the background image for the Menubar.

Toolbar

Sets the background image for the Toolbar.

Toolbar Buttons

Sets the background image for all Treebar buttons which is not a picture window.

Switchbar

Sets the background image for the Switchbar.

Switchbar buttons

Sets the background image for all Switchbar buttons.

Treebar

Sets the background image for the Treebar.

Disabled for now.

Nicklist

Sets the background image for all Nicklist's except custom window.

Statusbar

Sets the background image for the Statusbar.

Use (fake) transparent windows

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.

Use (fake) transparent main window

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.

Use (fake) transparent nicklist

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

Blowfish Encryption

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/

How to install

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.

Larger than 56 byte keys

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.

Script Changes

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.

Troubleshoot

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.

OpenSSL 1.1.X Files

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

OpenSSL 1.0.X Files (Deprecated)

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.

Channel Editor

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.

Topic

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.

Banlist

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)

Excepts

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)

Invites

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)

Only ops set Topic

Toggles the channel mode that allows or disallows setting topic if you are not a channel operator.

No external messages

Toggles the channel mode that allows or disallows sending a message to the channel if they are not on the channel.

Invite Only

Toggles the channel mode that allows or disallows joining the channel only when invited to it.

Moderated

Toggles the channel mode that allows or disallows sending a message to the channel without the user having the +v voice flag.

Key

Toggles the channel mode that only allows joining the channel if the user knows the password.

Limit to [x] users

Toggles the channel mode that set the maximum number of users allowed in the channel.

Private

Toggles the channel mode that set the channel as private which hides it from the channel list.

Secret

Toggles the channel mode that set the channel as private which hides it from the channel list. (more secret than than private)


Channel List

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.

Opening the Channel List

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.

Getting the Channel List

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.

Filtering

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.

Join Channels

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.

Add to Favorites List

To add channel to the Favorites List, right-click the Channel in the Channel List and click the Add to Favorites menu item.

Save Channel List to file

To save the Channel List to a file click the Save button.

Changing Channel List font

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.

See also $color, $ocolor.

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)

Colors Options

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.

Override Windows theme colors

When enabled, Menubar/Toolbar/Switchbar/Statusbar/Monitor Panels colors will be used, otherwise the default Windows theme colors will be used.

Use extended colors for events

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.

Dark Mode

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.


Scripting Commands


Command line arguments

-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:

General

  1. Binary 64 bits version available;
  2. Undo works in editbox after evaluating;
  3. Auto update and install new version at a click;
  4. Portable by essence, where you run the bin it saves the config, don't need any extra config to make it portable;
  5. Built in spell checker;
  6. Native support for emoticons on chat and scripts;
  7. Global editbox history;
  8. Tabcomplete by recent nicks;
  9. Track users away status;
  10. Encoding options on the fly per network;
  11. Native Now Playing info support for most popular media players;
  12. Tired of 0-15 colors limit? AdiIRC can use unlimited RGB colors. More info at Formatting_text;
  13. Built in away system for more control;
  14. Random slaps, quits and now playing;
  15. Powerful Plugins api;
  16. Save and restore open servers and channels;
  17. Built in System Info (CPU,GPU,Bandwidth,MEM,DISK,AUDIO,OS,etc) commands and identifiers;
  18. Auto regain nick on re-connection;
  19. Config to change browser to open links;
  20. Possibility to open links by single click;
  21. No limit to scripts support on Highlight Message field;
  22. Easy to turn off CTCP or to customize the reply, even for version. Check ctcp and ctcpreply;
  23. Check for irc:// links association on startup;
  24. Possibility to keep channels open on part;
  25. Always on top shortcut (default is alt+a);
  26. It supports system codecs installed to play virtually any songs format in /splay and related commands;
  27. Random nick colors on messages, nicklist or both;
  28. Auto backup to important files like config.ini, vars, commands, servers, etc, avoiding any data loss on BSOD and general crashes so common in other clients. A very relevant feature.

MSL (mIRC Scripting Language)

  1. It can handle consecutive spaces. Check $msgx, $rawmsgx, /fakeraw and /rawx;
  2. Two or more On Text events matching same rule in same script file? no problem, AdiIRC will match them all. Valid for any kind/amount of events!
  3. On KeyDown/KeyUp events works in any window, making possible to override default hotkeys;
  4. Var size unlimited, don't need to appeal to bvars for most scripts;
  5. Faster scripting engine, benchmark both client to compare;
  6. Expanding the MSL language with extra identifiers/commands/operators/events and parameters;
  7. Multiples and simultaneous sounds in scripts? Sure, it supports named command similar to /timer function to invoke a new player instance, ie /splayNAME [parameters];
  8. In addition to /remote [on|off] it has /scripts [on|off] to toggle Scripts entirely;
  9. Possibility to halt and customize any client text output. Check the event ON CLIENTTEXT.

GUI (Graphical User Interface)

  1. Statusbar;
  2. Themes manager;
  3. Improved search bar with support for regular expressions (regex);
  4. Unread messages counter on treebar windows;
  5. Customizable nick list buttons;
  6. Custom colors and style for links;
  7. Treebar nicklist;
  8. Server list manager with support to connect more than one network at once on startup;
  9. Parsed Nicklist Tooltips;
  10. Toggle main window border;
  11. Topicbox;
  12. Friendly themes colors customize;
  13. Custom icons everywhere, to any kind of window;
  14. Custom fonts everywhere;
  15. Quick connect popup, check /quickconnect;
  16. Fully customizable window titles, not limited to /titlebar;
  17. Several monitoring panels (channel messages, url catcher, pm, highlights, notices, notify list, dcc transfers, etc);
  18. Toggle the auto focus editbox (selected text in chat area keeps selected);
  19. Toggle Menubar icon visibility;
  20. Toggle buffer scrollbars visibility;
  21. Custom colors and font in tray Tips;
  22. Toggle mute to events sounds;
  23. Fake transparent windows (uses desktop wallpaper as background);
  24. Search field on /options;
  25. Dockable interface to any side of screen;
  26. Optional Nick Column (right aligned nick with draggable divider);
  27. A more friendly scripts editor;
  28. Most GUI elements are DPI-aware;
  29. GUI translation support. Check out how to collaborate in www.getlocalization.com/AdiIRC/.

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

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.

Deprecated files

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.

Config folders

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.

Manually editing Config Files

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.


Config File Colors

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

Contact

Email

info@adiirc.com

IRC

irc://irc.libera.chat/#adiirc (my nick is kr0n)

Reddit

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.

See also $creq, /sreq, $sreq.

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

Dark Mode

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.

Notes

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.

TODO

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.

Maybe?

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.


Dcc Get Folders Dialog

Save dcc file transfers matched by file extensions to a specific folder.

File extensions

File extensions to match.

Use ; or , as separator for adding multiple file extensions.

Regex

Indicates the file extension is a regular expression pattern instead.

Folder

Folder to save the files.

Sort files by nickname

If enabled files will be sorted by a separate sub-folder for each nickname inside Folder.

Open with

On successful file transfer, open the file with a program.

Run command

On successful file transfer, run a command with the filename as a parameter.

The command will be evaluated and can contain identifiers.


Dcc Options

Direct Client to Client options.

See also /dcc.

Dcc Get

Default download dir

The default download folder to use when receiving a file.

Use fast get

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)

Show progress in taskbar

If enabled, AdiIRC will display progress bar in app icon in Taskbar for dcc file transfers.

Prevent sleep during 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.

Buffer

The number of bytes to buffer when reading from the socket. (4096 is the most compatible)

Dcc Send

Use fast send

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)

Use passive send

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.

Portrange start

Start of the portrange to use for sending dcc files, this is not used for receiving files.

Portrange end

End of the portrange to use for sending dcc files, this is not used for receiving files.

Bind to adapter or IP address

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.

Prioritize IPv6

If "Bind to adapter or IP address" is enabled, AdiIRC will use the IPv6 address if found.

Dcc Get Folders

List of folders to save dcc file transfers matched by file type/extensions.

Dcc Get Folders Dialog

Dcc Ignore Method

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.

Turn ignore back on in [X] mins

If enabled, Dcc Ignore method will be turned back on to the previous method after [X] minutes when you set it to Disable.

Ignore all transfers

If enabled, all SEND/SSEND requests will be ignored.

Auto accept

Auto accept transfers

If enabled, AdiIRC will automatically accept dcc file transfers from any users. (Not recommended)

Auto accept transfers only from host

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.

If file exists

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.

Ignore all chats

If enabled, all dcc chats will be ignored.

Auto accept chats

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

Dialog Items

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.

See also /enable, $group.

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.

See also $dns, on DNS.

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.

Downloads

Stable Release

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

Beta Release

64 Bit 🡇 32 Bit 🡇
AdiIRC 2.8 Beta Portable x64.zip AdiIRC 2.8 Beta Portable x86.zip
BETA

See also /betaup command.

Legacy Release

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

Linux/Mac

AdiIRC works very well with Wine 1.5 or higher and Wine Staging or winebottler, see Wiki install guide.

Misc

Archive

All previous public AdiIRC releases are available to download in links bellow.

Release notes

Integrity

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

Virus Disclaimer

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.

 

Back to Top


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!

Editbox

The Editbox is where you type messages to channels and users, it can also be used to type commands.

See also Editbox Options.

Typing Commands

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.

Spellcheck

Editbox supports spellchecking, see Spellcheck for a installation guide.

History

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.

Clear history

History can be cleared using the /clear command with the -h parameter or by using the Editbox right-click menu.

Tabcomplete

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.

Customization

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.

Using scripts to extend Editbox features

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.

Using plugins to extend Editbox features

Check the plugin api for the IEditbox interface and the Editbox tutorial.

Tips

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.

Auto replacing text

This script can auto replace text while typing, it also has a user interface.

Known issues

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 Options

Editbox is the control/box where your type messages.

See also /editbox, $editbox, on TABCOMP.

Editbox

Use up/down keys to cycle history

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.

Disable script evaluation in Editbox

If enabled, typing $identifier<tab> and //commands will not be evaluated in the Editbox.

Show paste & submit menu item

Enabled/disables the Paste & Submit menu item in the Editbox right-click menu.

Autocomplete code tags

If enabled, typing "'(<[{*`~_- will enclose the selected text with the appropriate tags.

Confirm when pasting more than [X] lines of text

Shows a warning when pasting more then [X] lines of text to a single line Editbox.

Spellcheck color

Sets the colors to use when spellchecking is enabled and underlining misspelled words.

Lines

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.

Minimum Lines

Sets the minimum number of lines to use when Editbox Lines is set to Automatic, it will still expand on larger text.

History

Use global Editbox history

If enabled, Editbox up/down history will be the same for each window, otherwise each window has it's own up/down history.

Save and restore history

If enabled, Editbox history will be saved and restored across sessions.

Max history

Set the maximum number of Editbox history to save.

Tab Complete

Use tabcomplete

Enables or disable the tabcomplete feature.

Note disables on TABCOMP as well.

Tabcomplete variables

Enables or disables tabcompleting saved %variables.

Cycle nicks on empty tabcomplete

Enables or disables cycling all nicks when performing a tabcomplete on a white space or empty Editbox.

Tabcomplete order

Sets the order to cycle Tabcomplete nicks. A-Z = alphabetically, Last spoke order = in the order a nick last spoke on the current channel.

Include joins

When a nick joins, it's included when cycling Tabcomplete regardless if that nick ever spoke.

Tabcomplete prefix for any word except the first

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.

Tabcomplete prefix for 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.

Tabcomplete suffix for any word except the first

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.

Tabcomplete suffix for 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.


Editor Options

There are various options in the Editor which affects various features.

Initialization warning

If enabled, loading new scripts in the Script Editor}} which contains a [[on START or on LOAD event will ask to execute these events.

Ask To Save Files

If enabled, AdiIRC will ask before closing a editor if there are unsaved changes.

Monitor File Changes.

if enabled, AdiIRC will monitor all loaded vars/users/menu/aliases/script files for file changes and ask for confirmation before reloading them.

Backup Files On Save

If enabled, AdiIRC will first write to a temporary file the copy the temporary file over the target file.

Indent Format On Exit

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
  }
}

Find Selection

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.

Cycle search results

if enabled, AdiIRC will continue searching from the top when there are no new matches in the search panel, otherwise it stops searching.

Line Numbers

Enables or disables the line numbers panel in the editor.

Identifier Warning

If enabled, AdiIRC will show a scripting error/warning when a identifier is used which doesn't exist.

See also $~.

Always On Top

If enabled, the editor will always be on top of other windows.

Show On Desktop

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 External Editor

Set a external program/editor to open the file with when clicking the sidebar file menu -> Open in External Editor.

Show Scripts List.

Enables or disables the sidebar file list. The list can also be accessed from the Menubar (inside the editor) -> View.

Show Top Panel

Enables or disables the Top panel underneath the Menubar (inside the editor).

Word wrap

Enables or disables word wrapping in the editor.

Use smooth scrolling

Enables or disables smooth scrolling in the editor.

Close Icon

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.

Listen

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

Emoticons Options

For colored emoji support, check this plugin.

Tip. Options -> Messages -> Pixel spacing makes lines bigger, emoticons will also resize to be bigger.

Use Emoticons

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.

Use animated gifs

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.

Case insensitive

If enabled, text and TEXT will both be replaced with the same icon, otherwise they could have different icons.

Only replace whole words

If enabled, emoticons inside links and words will not be replaced.

Stretch height to match line height

If enabled, emoticons will be stretched to match the real line height when Pixel Spacing is used.

Use regex to match a pattern

If enabled, allows using a custom Regular Expression to match the emoticons trigger.

Regex

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).

Adding emoticons through scripting

Use /setoption Emoticons Emoticon_<matchtext> <filename>.

\ and = characters must be escaped with a \ character.

Disable emoticons for channel/private windows

Channels or users windows excluded from showing emoticons.

Per server settings can be added using network:#channel syntax.

Always use emoticons for channel/private windows

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.

Ignoring images from specific users

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.

See also /disable, $group.

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.

Events Options

Tip. It's possible to change individual events per channel in Switchbar/Treebar
right-click menu -> Events.

See also $eventtarget.

Joins

When a user joins a channel, show the message in the channel, in the status window or hide it.

Modes

When a user changes channel modes, show the message in the channel, in the status window or hide it.

Part

When a user leaves a channel, show the message in the channel, in the status window or hide it.

Topics

When a user changes a channel topic, show the message in the channel, in the status window or hide it.

Quits

When a user quits irc, show the message in the channel, in the status window or hide it.

Nicks

When a user changes nick, show the message in the channel, in the status window or hide it.

Kicks

When a user is kicked from a channel, show the message in the channel, in the status window or hide it.

Names

When typing /names #channel, show the messages in the channel, in the status window or hide it.

Away

When typing /away, show the message in the channel, in the status window or hide it.

Invites

When a user invites you to a channel, show the message in the active window or the status window.

Whois

When typing /whois nick, show the message in the active window or the status window.

Errors

When you receive a error message from the irc server, show the message in the active window or the status window.

Private

When you receive a private message from a user and have no window, show the message in the active window or the status window.

Wallops

When you receive a wallops message from a user, show the message in the active window or the status window.

Notices

When you receive a notice message from a user, show the message in the active window or the status window.

Ctcps

When you receive a ctcp message from a user, show the message in the active window or the status window.

Server Notices

When you receive a notice message from a server, show the message in the active window or the status window.

Motd

When you receive Message Of The Day messages from a server, show the message in the active window or the status window.

Ping/Pong

Show or hide Ping/Pong messages in the status window.

Usermodes

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.

Base 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

Extra Colors

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

FAQ/FSS

(Frequently Said Statements)

I can't see emoji/some symbols

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.

How do I auth/identify before I join

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.

Why doesn't Ctrl-C work

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.

TLS isn't working on a server!

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.

How do I change my version reply

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

How do I disable the popups/notifications

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".

How do I disable highlight sounds

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".

How do I use CERTFP, PEM files, etc with AdiIRC.

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.

I want to use the beta!

To update to a beta release, just type /betaup.

How do I add toolbar items aligned to the right

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.

My BNC/ZNC starts up so slow on AdiIRC!

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.

How do I make it so /server connects with ...

The default options used when connecting with /server or from Menubar -> File -> New window can be changed in Options -> Quick Connect.

Why is 'connecting' slow on some networks

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).

How do I move the monitors to their own window

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".

How do I autojoin several channels

Use , inbetween the channels.

Does AdiIRC have a systray icon

Yes, check Options -> Tray Icon.

Can I use AdiIRC without .NET

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

Does AdiIRC support DCC

Yes, both chat and file transfers

There is so many other IRC clients, why wasting time writing another

I mainly do this for fun and learning more about .NET/C# and IRC in general. -- kr0n

I found a bug, what do I do

Check https://dev.adiirc.com/projects/adiirc/issues and see if its been reported. If not, report it!

I got this great idea, can you implement it

Check https://dev.adiirc.com/projects/adiirc/issues and see if someone suggested it. If not, suggest it!

What does "Adi" stands for

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

Is AdiIRC open source or can I get the source

AdiIRC is freeware, but not open source.

There is a system in place in case of bus factor.

Can I use AdiIRC on macOs/Linux

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.

Will you port AdiIRC to my mobile OS

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

How do I change message fonts

Message fonts can be changed in Options -> Fonts.

Why does task manager show high memory usage for AdiIRC

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.

Does AdiIRC support OTR

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)

Why are some windows/channels shown on the desktop

Pressing CTRL + D toggles "Show on desktop".

"Shown on desktop" status is also saved across sessions.

How to upgrade/downgrade AdiIRC

  1. Download the (portable) version you want from https://www.adiirc.com/download.php.
  2. Type /paths -r to open the AdiIRC folder where AdiIRC.exe is.
  3. Close AdiIRC.
  4. Copy the downloaded file into the AdiIRC folder and replace the old AdiIRC.exe with the new one.

This can be done to go from stable to beta, or from 32 bit to 64 and visa versa, no other steps needed.

How to backup the config folder

Type /paths -o or go to Menubar -> Tools -> Config Files to open the config folder, copy it anywhere.

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 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.

Log folder using a lot of space

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.

How can I temporary disable auto connect when AdiIRC starts

Press the SHIFT key while clicking the AdiIRC icon/shortcut.

Missing Nicklist on Twitch

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

How to ignore a message containing specific word(s)

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.

Can I distribute custom AdiIRC installers/portable versions to my users?

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.

How do I sort/re-order windows in the Treebar/Switchbar?

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.

Can I drag items in the Treebar/Switchbar?

No, use Window Order.

How to add new autojoin channels?

See Autojoin channels.

Can i change the MDI Window Titlebar colors or hide them?

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.

Can I make a Donation?

Please donate to your favorite local charity instead, it's much appreciated, thanks.

How do I hide channel join/part and other events?

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 is the next beta or stable build released?

When it's ready.

Cant I contribute to the wiki?

Sure make Contact with your redmine username to get access.


Channel favorites Dialog

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 menu

Favorites channels can be easily accessed using the Menubar menu.

Pop up favorites on connect

If enabled the favorites dialog is shown during connect.

Enable join on connect

If enabled, all channels marked as Join on connect will be joined when connecting.

Add/Edit favorite channels

Add/Edit Favorites


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
}

 

Features

There are some notable AdiIRC features.

 

 

1 - Nick Column

Back to Top


Nick Column in action

Nick Column feature automatically right-aligns the nicks in messages buffer area.

Nick Column options

The column can be customized in several ways: Auto expand, width, visible, hidden, locked and color.

See also /nickcolumn && /window -qN.

 

2 - Search Options

Back to Top


Options search filter

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.

 

3 - Advanced Highlights

Back to Top


Highlights options

Highlights options in AdiIRC allows great control of when/who/what to highlight.

See also Highlights Options.

Edit Highlight 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 interface

Ignore highlights from bad users and specific channels, a must have feature.

Highlight Alert notice example

 

4 - System Information

Back to Top


System Information customization

Information about your system hardware is integrated into AdiIRC and fully customizable for quick sharing.

See also Sysinfo Options.

Statusbar bandwidth monitoring

Statusbar bandwidth monitoring widget

 

5 - Colors

Back to Top


Full colors list

Extensive colors customization for almost any aspect of GUI interface.

See also Colors Options.

Colors context menu

Context menu makes it easy to copy/paste/reset colors.

Colors output example

Support for RGB colors over IRC.

See also Formatting text.

 

6 - Highlight matching lines when hovering nicks

Back to Top


Highlight nick messages lines

Excellent feature to highlight messages by the same nick. The colors are customizable.

 

7 - Custom Fonts Everywhere

Back to Top


All fonts options

Menubar? Editbox? Statusbar? Messages? Every element has it's own custom font option.

See also Fonts Options, /font.

 

8 - Awesome Editbox

Back to Top


Editbox options

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.

 

9 - Links Control

Back to Top


Links options

Links warning popup

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.

 

10 - Events Control

Back to Top


Global Events Control options

Global, Options -> Events.

Treebar per channel Events Control <=> Events Control per channel

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.

 

11 - Auto Update

Back to Top


Check for updates options

New update notification

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.

 

12 - Nick Colors

Back to Top


Nick Colors options

Nick Colors examples

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 on nicklist

Random nick colors applied to nicklist.

 

13 - Spell Checker

Back to Top


Spell Checker

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.

 

14 - Powerful Server List Manager

Back to Top


Powerful Server List Manager

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.

 

15 - Now Playing Info

Back to Top


Now Playing Info supported players

Now Playing Info for popular players is integrated in AdiIRC.

See also Media Player Options, /np && On SONG event.

Now Playing Info statusbar widget

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.

Now Playing Info output example

Channel action output example.

Now Playing Info output tags customization

Output is totally customizable by identifiers tags.

Now Playing Info toolbar control buttons

Toolbar control buttons for supported players.

Now Playing Info playlist search

Playlist search in supported players for quick changing music.

 

16 - Nicklist Control

Back to Top


Nicklist options

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.

 

17 - Scripting Nicklist Tooltip

Back to Top


Nicklist Tooltip example

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 options

Nicklist tooltip field to customize content. All Scripting Identifiers are available.

 

18 - Nicklist Buttons

Back to Top


Nicklist Buttons overview

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.

 

19 - Custom Icons Everywhere

Back to Top


Icons options

Network favicon

Most icons in AdiIRC can be customized.

Network website icon can be fetched if enabled.

See also Icons Options, /icon.

Nicklist icons options

Several rules to set custom nicklist icons.

Custom toolbar icons

Custom toolbar icons? sure.

See also /toolbar.

Custom menu icons

Custom menu icons? why not!

See also $menuicon.

Custom statusbar icons

Custom statusbar icons? Absolutely yes!

See also /statusbar.

Treebar custom icons

Treebar custom icons.

Nicklist custom icons

Nicklist custom icons.

 

20 - Full Featured Statusbar

Statusbar toggle options

Statusbar customized by scripting

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.

 

21 - Custom Menu Items on Menubar

Back to Top


Custom menu items on menubar

Customizing Menubar in AdiIRC is quite simple by scripting.

For more info see /menubar, $menubar.

 

22 - Menu Editor

Back to Top


AdiIRC menu editor

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.

 

23 - Emoticons Draw

Back to Top


Emoticons images

Custom emoticons images turns your irc much more fun. =)

For more info see Emoticons Options, $emoticons, $imagechar.

 

24 - Monitoring Panels

Back to Top


Monitoring Panels options

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.

Monitoring Panels demonstration

Rearranging panels by drag and drop.

 

25 - Themes Manager

Back to Top


Themes manager previews

Themes manager for easy preview, load and save. Including latest MTS revision themes support.

See also /themes.

Export/save theme interface

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

Load theme interface.

 

26 - Scripting Engine

Back to Top


Scripts Editor

Editor search panel

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.

 

27 - Background Images

Back to Top


Background image options

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.

 

28 - Away Control

Back to Top


Away options

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.

 

29 - Logging

Back to Top


Logging

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.

 

30 - Logs Manager

Back to Top


Logs Manager

Complete logs manager and viewer is integrated on AdiIRC.

See also Logs Dialog, /viewlog, /log, /logs, /logview, /paths -l, $log, $logdir, $logstamp, $logstampfmt.

 

31 - DCC Transfers

Back to Top


DCC options

Full featured DCC tranfers with native SSL support!

DCC transfers panel

DCC transfer context menu

All transfer together in a panel.

See also Dcc Options, /dcc, $dccignore, $dccport.

 

32 - Hotkeys For All Tastes

Back to Top


AdiIRC Shortcuts

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.

 

 

More Screenshots 🡆

 


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.*

Find Text Dialog

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.

See also /findtext, /search.

Window

Searches only windows matching the specified window name.

Search for

The text to search for.

Exact Match

If checked, searches for case-sensitive match.

Regex

If checked, searches using a regular expression pattern.

Search Server Windows.

If checked, searches all open server windows.

Search Channel Windows.

If checked, searches all open channel windows.

Search Private Windows.

If checked, searches all open private windows.

Search Custom Windows.

If checked, searches all open @custom windows.

View

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 

Fonts & Size Options

See also /font.

Messages

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.

Editbox

Sets the font and size to use for the Editbox.

Only Truetype fonts can be used.

Topicbox

Sets the font and size to use for the Topicbox.

Only Truetype fonts can be used.

Server Monitor

Sets the font and size to use for the Server Monitor panel.

Channel Monitor

Sets the font and size to use for the Channel Monitor panel.

Monitor

Sets the font and size to use for the Other Monitor panesl.

Nicklist

Sets the font and size to use for the Nicklist.

Switchbar

Sets the font and size to use for the Switchbar.

Only Truetype fonts can be used.

Treebar

Sets the font and size to use for the Treebar.

Tips

Sets the font and size to use for Tips messages.

Menubar

Sets the font and size to use for the Menubar.

Only Truetype fonts can be used.

Statusbar

Sets the font and size to use for the Statusbar.

Toolbar

Sets the font and size to use for the Toolbar.

Only Truetype fonts can be used.

Edit Scripts

Sets the font and size to use Script Editor.

Only Truetype fonts can be used.

ChannelList

Sets the font and size to use for the Channel List datagrid.

Nicklist font weight

Font weight for Prefix

Select the font weight to use for drawing the prefix/channel mode characters (@%+).

Font weight for Your

Select the font weight to use for drawing your own nick.

Font weight for ChanOwner

Select the font weight to use for drawing channel owners (&).

Font weight for ChanAdmin

Select the font weight to use for drawing channel admins (!).

Font weight for ChanOps

Select the font weight to use for drawing channel operators (@).

Font weight for HalfOps

Select the font weight to use for drawing channel half operators (%).

Font weight for Voice

Select the font weight to use for drawing channel users with voice (+).

Font weight for Normal

Select the font weight to use for normal channel users.

Treebar font weight

Font weight Server

Select font weight to use for server windows.

Font weight Channel

Select font weight to use for channel windows.

Font weight Private

Select font weight to use for private windows.

Font weight Tool

Select font weight to use for tool windows such as /rawlog and monitor panels.

Font weight Notify

Select font weight to use for Notify list nicks in Treebar.

Font weight Folder

Select font weight to use for folders.

Font weight for Prefix

if Treebar Nicklist is enabled, select the font weight to use for drawing the prefix/channel mode characters (@%+).

Font weight for Your

if Treebar Nicklist is enabled, select the font weight to use for drawing your own nick.

Font weight for ChanOwner

if Treebar Nicklist is enabled, select the font weight to use for drawing channel owners (&).

Font weight for ChanAdmin

if Treebar Nicklist is enabled, select the font weight to use for drawing channel admins (!).

Font weight for ChanOps

if Treebar Nicklist is enabled, select the font weight to use for drawing channel operators (@).

Font weight for HalfOps

if Treebar Nicklist is enabled, select the font weight to use for drawing channel half operators (%).

Font weight for Voice

if Treebar Nicklist is enabled, select the font weight to use for drawing channel users with voice (+).

Font weight for Normal

if Treebar Nicklist is enabled, select the font weight to use for normal channel users.

Links font weight

Select the font weight to use for regular and/or channel name links.

See also Options -> 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
}

Formatting text

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.

Color Character

Colors blocks of text.

ASCII character $chr(3)

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

Bold Character

Makes the block use a bold font.

ASCII character $chr(2)

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

Italic Character

Makes the block use a italic font.

ASCII character $chr(29)

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

Underline Character

Makes the block use a underline font.

ASCII character $chr(31)

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

Strikethrough Character

Makes the block use a strikethrough font.

ASCII character $chr(30)

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

Stop Character

Stops all color and font formatting.

ASCII character $chr(15)

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

Alternative Color Character

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

Reverse Character

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.

ANSI escape codes

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.

In Options

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.


General Options

Start with windows

Makes AdiIRC auto start when windows is started.

Start minimized

Makes AdiIRC start in a minimized state, due to various reasons, the main window is shown briefly before it minimizes.

Allow only one copy of AdiIRC running.

If enabled, only one copy of AdiIRC.exe in the current folder is allowed to run.

AdiIRC.exe in other folders is ignored.

AdiIRC is always on top of other windows.

Puts AdiIRC on top of all other windows on your desktop.

See also /showadiirc.

Disable CTCP reply

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

Keep channels open on part

Keeps the channel windows open whenever you part or are parted from a channel.

Keep channels open on kick

Keeps the channel windows open whenever you are kicked from a channel.

Rejoin channels on kick

Automatically rejoins a channel if you are kicked.

Rejoin channels on reconnect

Automatically rejoins all opens channels when reconnecting a server.

Confirm closing while connected to server

When enabled, a popup dialog to confirm is shown to confirm closing AdiIRC is one or more servers is connected.

Confirm disconnecting when clicking connect icon

When enabled, a popup dialog to confirm is shown when clicking the (dis)connect icon in the Treebar, if the current server is connected.

Confirm closing server windows

When enabled, a popup dialog to confirm is shown when closing a server window.

Confirm closing channel windows

When enabled, a popup dialog to confirm is shown when closing a channel window.

Confirm closing private windows

When enabled, a popup dialog to confirm is shown when closing a private window.

Associate AdiIRC with irc:// links

Set's AdiIRC as the default irc client when clicking irc:// ircs:// irc6:// ircs6:// xdcc:// links.

Check association on startup

Checks if AdiIRC is the default irc client on startup and set's it default if it's not.

Hide channel key

Hides the channel key from the Titlebar and Statusbar.

Lock bars

If enabled, locks all Toolbars and Monitor Panels preventing them from being moved. It also hides the Monitor Panel headers.

Disable Channel Edit controls when not opped

If enabled, controls in the Channel Editor is disabled when not opped in the channel, otherwise the controls are always enabled.

When opening irc:// links, always

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.

Check for updates

Allows AdiIRC to check for new versions Never/Daily/Weekly/Monthly.

See also /update.

Include beta versions

Allows AdiIRC to check for beta versions as well as regular versions.

Beta versions is usually safe to install.

See also /betaup.

Global shortcut to hide/show main window

Also called bosskey.

Sets a keybind to hide/show main AdiIRC regardles if it has focus or not.

Choose Language

Sets the language of AdiIRC, see http://adiirc.com/translations/ for more info.

Border size

Sets the border size around the text area, Topicbox, Editbox and nicklist.

Join channels when invited

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
  }
}

Ignore channels

List of channels to ignore when Join channel when invited is enabled.

Can be a wildcard.


Getting Involved

If you want to help make AdiIRC better, here is some things you can do.

Learn to make and share scripts

Users are always looking for new cool scripts or help creating scripts.

Learn to make and share plugins

Plugins are much more powerful than scripts and have the entire .NET framework behind it.

Create and share color themes

There is a lot of options for customizing AdiIRC, sharing a color theme/options is a great way to let other users get started.

Translating

Help translate AdiIRC into your native language, it doesn't have to be perfect, See Translations.

Writing Documentation/Guides

Creating guides to follow or documenting some specific behavior can be very helpful for other users. (Ask for wiki access if needed)

Find and report bugs

Reporting and fixing bugs is very important and helps everybody.

Suggest new features

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.

Help other users

Hang around #adiirc on irc.libera.chat or the forum to help answer questions.

Donations

If you want to donate, please donate to your favorite local charity instead, it's much appreciated, thanks.


Getting Started

Installing AdiIRC

Quick connect

TODO

What is IRC?

IRC stands for Internet Relay Chat, and it's a protocol that enables communications with other people over the internet.

How does it work?

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.

Learn about IRC

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.

Highlights Options

See also /highlight, $highlight.

Use highlight

Enables or disables the highlight system.

Only messages triggers highlight, not notices/wallops or other types.

Highlight entire line

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

Enable notice alert

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)

Flash icons

Enable or disable flashing of icons in Treebar/Switchbar.

Flash text

Enable or disable flashing of text in Treebar/Switchbar.

Enable sounds

Enables or disables sounds/beeps for all highlight words.

Only play sounds if AdiIRC is not focused

If enabled, highlight sounds will only be played when AdiIRC is not focused/the active window, otherwise they will always play.

Play in active windows

If enabled, AdiIRC will play highlight sounds in channel/private windows even if the window has focus.

Enable tips

Enables or disables Tip messages for all highlight words.

Ignore highlights if more than [X] nicks are highlighted

If enabled, highlights will not be triggered on messages which includes more than [X] nicks in the current channel.

Animate Trayicon on Highlights

The # in the trayicon will flash/blink between white and black when you are highlighted.

Animate Trayicon on Private Message

The # in the trayicon will flash/blink between white and black when you receive a private message.

Animate Trayicon on Channel Message

The # in the trayicon will flash/blink between white and black when a channel receives a message.

Whois on Highlights

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.

Whois on Private Message

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.

Flash main window/taskbar on Highlights

Enables or disables flashing main window in the Taskbar when you are highlighted for all highlight words.

Flash main window/taskbar on Private Message

Enables or disables flashing main window in the Taskbar when you receive a private message.

Flash main window/taskbar on Channel Message

Enables or disables flashing main window in the Taskbar when someone types a message on a channel.

Highlight list

Add/Edit Highlight Dialog

Ignore highlights from channel/private windows

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

Icons Options

See also /icon.

Main

Set the icon to use for the main AdiIRC window, this icon will also be shown in Taskbar.

Server

Set the icon to use for Server/Status windows.

Channel

Set the icon to use for Channel windows.

Private

Set the icon to use for Private windows.

Tool

Set the icon to use for Tools windows, such as Rawlog and Monitor Panels.

Custom

Set the icon to use for @Custom windows created with /window.

Folder

Set the icon to use for Treebar folders.

Notify

Set the icon to use for the Notify list nicks in Treebar.

Monitor Panels

Set the icon to use for undocked Monitor Panel windows in Treebar.

Highlight

Sets the icon to use in Treebar when highlighted.

Treebar arrow down

Sets the icon to use when a Treebar folder is expanded.

Treebar arrow right

Sets the icon to use when a Treebar folder is collapsed.

Scroll to bottom arrow

Sets the icon to use when Options -> Messages -> Show scroll icon when scrolled up is enabled.

Line marker

Sets the icon to show when Options -> Messages -> Show line marker icon when scrolled up is enabled.

Toolbar Connected

Set the Toolbar icon to use for the connected button.

Toolbar Connecting

Set the Toolbar icon to use for the connecting button.

Toolbar Disconnected

Set the Toolbar icon to use for the disconnected button.

Toolbar Serverlist

Set the Toolbar icon to use for the open Serverlist button.

Toolbar Options

Set the Toolbar icon to use for the open Options button.

Toolbar Dcc

Set the Toolbar icon to use for the toggle DCC transfers Monitor Panel button.

Toolbar Cascade

Set the Toolbar icon to use for the cascade button.

Toolbar Tile Horizontal

Set the Toolbar icon to use for the tile horizontal button.

Toolbar Tile Vertical

Set the Toolbar icon to use for the tile vertical button.

Toolbar Winamp

Set the Toolbar icon to use for the Open Winamp button.

Toolbar Previous

Set the Toolbar icon to use for the Media Player play previous song button.

Toolbar Play

Set the Toolbar icon to use for the Media Player play song button.

Toolbar Pause

Set the Toolbar icon to use for the Media Player pause song button.

Toolbar Stop

Set the Toolbar icon to use for the Media Player stop song button.

Toolbar Next

Set the Toolbar icon to use for the Media Player play next song button.

Toolbar Now Playing

Set the Toolbar icon to use for the Media Player show current playing song button.

Toolbar Channel List

Set the Toolbar icon to use for the open Channel List button.

Toolbar Scripts Editor

Set the Toolbar icon to use for the open Script Editor button.

Get favicon from server website

When enabled, AdiIRC will try to find the favicon for each connected server and use it as window icon.

Enable Nicklist icons

Enable or disable Nicklist icons.

Nicklist icons list

Add/Edit Nicklist icon Dialog


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 *!*@*

Ignore Options

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 Ignore

Enable or disable Ignore.

Ignore list

Add/Edit Ignore Dialog


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.

Inline Images

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.

Use inline images

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.

Use animate gifs

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.

Use proxy

If enabled, the proxy associated with the current server or the global proxy server will be used when downloading images.

Max file size

Changes the maximum file/image size to download.

Max file cache size

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.

Max number of lines

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.

Clear Cache

Removes all inline images in all windows and deletes all the files in the inline image cache folder.

Use Windows temp folder

Use the windows temp folder as cache folder instead of a custom folder.

Download from links with matching wildcard/regex patterns

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.

Disable inline images for channel/private windows

Channels or users windows excluded from downloading images.

Per server settings can be added using network:#channel syntax.

Always inline images for channel/private windows

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.

Ignoring images from specific users

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

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.

Currently supported

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)


IRC Channels

The official #adiirc channel is now on Libera.Chat.
But AdiIRC does have some notable unofficial channels or other related channels on other networks
h3. Official/Officially Owned Channels

Unofficial Channels

Don't ask to ask.

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.

Client Bugs / Issues

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!

Connect to Libera.Chat through TOR

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.

Links Options

Open links in Default browser

When enabled, opens all clicked links in your default browser.

Open links in custom browser

When enabled, opens all clicked links with the specified program using the link as a parameter.

Use custom link color

When enabled uses the link color set in Options -> Colors to make regular links stand out.

Use custom link font style

When enabled uses the font style set in Options -> Fonts to make regular links stand out.

Use custom channel link color

When enabled uses the link color set in Options -> Colors to make channel names stand out.

Use custom channel link font style

When enabled uses the font style set in Options -> Fonts to make channel names stand out.

Open links with single click

When enabled, opens all clicked links with just a single click instead of double click.

Show warning when opening a link

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

Logging Options

See also /log.

Log Channels

When enabled, logs all channel windows.

Log Private Chat

When enabled, logs all private windows.

Log Servers

When enabled, logs all server windows.

Log hidden events

When enabled, logs all events hidden by Events Options.

Edit logs in Default Editor

Opens log files for editing in the default editor.

Edit logs in Custom Editor

Opens log files for editing in the specified custom editor.

Make separate folder for each server

When enabled, will create a sub folder with the network name and save the logfile there.

Strip mIRC tags

When enabled, Removes all control codes from the message before logging.

Use Timestamp

When enabled, adds a timestamp with the specified Timeformat to the message before logging.

Use server-time when available

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.

Use line colors

When enabled, the line colors used for the message will be added to the log.

Log Nickcolumn character

When enabled, the Nickcolumn character used to separate timestamp/nick from the message will be saved and correctly restored.

Log link character

When enabled, the link character used to style links in a message will be saved and correctly restored.

Log session start/close

When enabled, session start and close date will be logged to the logfile.

Lock files

When enabled, all logfiles in use are locked until the associated window is closed.

LogFolder

The Folder to save the log files.

Timeformat

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.

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.

Rotated filename

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.

Restore last [X] messages in private windows

If enabled, the last [X] messages from the log files will be restored when a private window is opened.

Restore last [X] messages in channel windows

If enabled, the last [X] messages from the log files will be restored when a channel window is opened.

Separate logs

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.

Trim logs at [X] kb

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.

Split log files at [X] kb

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.

Remove log files older than [x] days

When enabled, all log files not modified since [x] days ago will be removed when AdiIRC exits.

Disable logging for channel/private windows

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.

Always log channel/private windows

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.

Log Events

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.

Messages

Log regular messages.

Joins

Log when a user joins a channel.

Modes

Log when a user changes channel modes.

Parts

Log when a user leaves a channel.

Topics

Log when a user changes a channel topic.

Quits

Log when a user quits irc.

Ctcps

Log when a user sends a ctcp request.

Kicks

Log when a user is kicked from a channel.

Nicks

Log when a user changes nick.


Login methods

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

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.

Folder

The folder to search which by default is the Log folder set in Options -> Logging -> Log Folder.

Serach subfolders

If enabled, all subfolders in the Folder is searched as well.

FileName

The filename pattern to match, either a wildcard or a regular expression if Regex is checked.

Search for

The pattern to search for, either a wildcard or a regular expression if Regex is checked.

Exact match

When enabled, searches using a case-sensitive match.

View

Opens the log file in the Logs Viewer.

Edit

Opens the log in the custom external editor. (Notepad by default, can be changed in Script Editor -< Options -> Set External Editor)

Merge

Merges the selected log files into one big file and optionally delete the original files.

Renamed

Rename the log file.

Delete

Deletes the selected log files.

Opening the folder where the logfile resides.

Right-click the logfile and click Open Folder.

Save/Restore items

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.

Clear saved items

Right-click the Folder/FileName/Search for dropdown and click Clear All.

Cycle between matches

Pressing LEFT or RIGHT in the Logs Viewer cycles between the file matches.


Logs viewer dialog

The logs viewer allows you to view log files with the original colors (if enabled).

Opening log viewer.

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.

Searching 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.

Reload the log file.

The log file can re-read by pressing the F5 key or by right-clicking then clicking the Reload menu item.

Edit log file.

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.

Opening the folder where the log file resides.

To open the folder where the log files resides, right-click then clicking the Open Folder menu item.

Saving a copy of the log file

To save a copy of the log file, right-click then clicking the Save As menu item.

Cycle between matches

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 client

AdiIRC current release v4.4 Changelog

 

Download Now   Features

 

About

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.

Documentation

 


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.

Matchtarget

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.
@ - Defines custom window location.
? - Defines query location.
# - Defines channel location.
* - Defines any window location.
! - TODO
~ - Defines a monitor panel/rawlog location. (~Rawlog, ~Transfers can also be used to match a single window) (AdiIRC Only)
%var - A variable containing a window, a list of windows is also acceptable.

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.

Matchtext

A <matchtext> is a text pattern that AdiIRC will use to compare with something during a scripting event.

Wild characters

The matchtext can contain wild characters:

* - matches any text
? - matches any single letter
& - matches any single word

See 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

Regex text pattern

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 evaluation

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

Media Player Options

Now playing message

Message to show when typing /np.

The message will be evaluated and can contain identifiers.

Action

If checked, the Now playing message will be sent as an action.

Now playing message2

Message to show when typing /np nick.

The message will be evaluated and can contain identifiers.

Action2

If checked, the Now playing message2 will be sent as an action.

Use random now playing messages

If enabled, /np will use a random message from the Tools -> Edit Now playing list.

Choose Media Player

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.

Path to winamp

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.

Path to PlayList

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.

Max playlist search outoput

If Choose Media Player is set to Winamp, the max number of results to show when searching the Winamp playlist.

Media Player Variables

iTunes, Winamp and MediaMonkey

$fulltitle = [artist - title]
$song = [artist - title]
$player = [current media player]
$artist = [artist]
$title = [title]
$album = [album]
$year = [year]
$comment = [comment]
$track = [tracknumber]
$genre = [the genre]
$length = [length of the song XX:XX]
$duration = [duration of the song in milliseconds]
$percentp = [percent of song played]
$percentl = [percent left of song played]
$progress = [text progress bar **---]
$left = [whats left of the song XX:XX]
$bitrate = [mpeg bitrate]
$size = [file size]
$mversion = [mpeg version]
$layer = [mpeg layer]
$mode = [mpeg channel mode]
$frequency = [mpeg frequency]
$position = [position in playlist]
$volume = [volume in percent]
$volumeb = [text volume bar **---]
$volumep = [volume in percent]
$totaltracks = [total tracks on playlist]
$playcount = [total times the track have been played]
$rating = [track rating **---]
$songfile = [Full file path to the song played]

Other players

$fulltitle = [artist - title]
$song = [artist - title]
$player = [current media player]

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

Menubar Control

The menubar gives access to most AdiIRC features.

See also /menubar, $menubar.

Hiding the menubar

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.

Modifying the menubar

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.

Modifying the Commands menubar

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.

Menubar position

The Menubar can be moved to the top/bottom/left/right of the main window by right-clicking the menubar then clicking Position.

Window icon

Showing/hiding window icon can be set in Options -> Windows -> Show icon in-Menubar.

Window control icons

Showing/hiding window control icons (minimize/maximize/restore) can be set in Options -> Windows -> Show window icons in Menubar.

Locking bars

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.

Colors

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.

Font

The font can be changed in Options -> Fonts & Sizes or by using the /font command.

Background image

A background image for the Menubar can be set in Options -> Backgrounds or by using the /background command.


Menu Editor

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.

Defaults

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.

Status section

Edit the Server Windows right-click menu.

Channel section

Edit the Channel Windows right-click menu.

Query section

Edit the Private Windows right-click menu.

Nicklist section

Edit the Nicklist right-click menu.

Menubar section

Edit the Menubar Commands menu.

Channel Link section

Edit the Text Area #channel link right-click menu.

Link section

Edit the Text Area link/url right-click menu.

Saving menus to a different ini file

To save the current menu items to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.

Loading menus from a different ini file

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.

Search/replace text

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 brackets

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.

Reloading a menu ini file

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.

Reset a menu section to default

Clicking the reset button resets the current selected menu section to the default menus for that section.

Testing menus

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.

Font

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.

Colors

The editor colors can be changed in Options -> Colors.


Messages Options

Use timestamp

Enables or disables the timestamp for messages.

See also /timestamp, $timestamp.

Format

The timestamp format to use.

See also $timestampfmt.

Message prefix System

The prefix to use for system messages.

See also $prefixsys.

Message prefix Ctcp

The prefix to use for ctcp messages.

See also $prefixctcp.

Message prefix User

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.

Message prefix Emote

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.

Highlight matching lines when hovering nicks

If enabled, all lines containing the hovering nick will be highlighted.

Scroll messages when typing

If enabled, typing in the Editbox will scroll the message buffer to bottom if the buffer is scrolled up.

Make certain part of messages bold

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

Automatically copy selected text to Clipboard

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.

Show now talking/rejoined channel messages

If enabled, AdiIRC will show a message "Now talking in #channel" when joining a channel, and "Rejoining...", "Rejoined #channel" when rejoining channels.

Show day changed message

If enabled, AdiIRC will show a "Day changed to X" message in all open windows at midnight.

Strip mIRC tags (colors/bold/italic/underline)

If enabled, removes control codes from incoming messages.

See also $strip.

Strip mIRC tags in Topicbox

If enabled, removes control codes from the Topicbox.

See also $strip.

Use unread line marker

If enabled, shows a vertical line in the message buffer indicating new messages since you last focused the window.

Use small unread line marker

If enabled, the unread line marker will be shown between two messages with no extra spaces around it.

Show empty line at bottom

If enabled, always shows a empty line at the bottom of the message buffer.

ignore nicks for consecutive messages

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.

ignore timestamp for consecutive messages

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.

Ignore timestamp for consecutive times

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.

Show scroll icon when scrolled up

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.

Show line marker icon when scrolled up

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.

Show Scrollbar

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.

Show lines between messages

If enabled. shows horizontal lines between the messages in the message buffer.

Use alternative text rendering

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.

Split long channel/private messages

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 with [X] pixels

Indent wrapped lines in the message buffer with [X] pixels.

Max buffer [X] lines

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.

Line marker size

Sets the unread line marker size in pixels.

Spacing

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.

Pixel spacing

Sets the number of pixels between each message in the message buffer.

By making lines bigger, emoticons will also resize to be bigger.

Left border

Sets the left border for the message buffer in pixels.

Bottom border

Sets the bottom border for the message buffer in pixels.

Mouse wheel scrolls [X] lines

Sets the number of lines the mouse wheel scrolls inside the message buffer.

Join, Parts, Quits

Show short joins, parts and quits

If enabled, join/part/quit messages are shown using a shorter format without the channel name.

Show user addresses in joins, parts and quits

If enabled users ident@address is shown in join/part/quit messages.

Only show events from users active in the last [X] minutes

if enabled, join, part, quit, nick messages will only be shown from users who have spoken in the last [X] minutes (default 10).

Nick Column

Use nick column

Enable or disable the message buffer nick column.

See also /nickcolumn.

Enabled:

Disabled:

Expand nick column on long nicks

If enabled, nick column will automatically resize itself to fit long nicks.

It will not compress itself again.

Use separate left of divider background color

If enabled, the left side of the nick column will be drawn using the Nick column left background color set in Options -> Colors.

Nick column divider

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.

Nick column width

Set default nick column width.

If changed, will reset all column width in all windows.

Nick column divider width

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.

Tooltips

Show Tooltips

If enabled, hovering a nick in the Text Area will show the specified Tooltip text.

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

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.

Add/Remove a Monitor Panel

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.

Show/Hide Monitor Panels

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.

Moving a monitor panel

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.

Detach a monitor panel into a window

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.

Attach a monitor window into a panel

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.

Pinning

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.

Treebar

Shows the Treebar.

Server messages

Monitors server/status messages for all servers.

Channel messages

Monitors channel messages for all channels on all servers.

Private messages

Monitors private messages for all private chats on all servers.

Notices

Monitors notice messages on all servers.

Highlights

Monitors highlighted messages on all servers.

Notify

Shows the Notify list.

URL catcher

Monitors URL's/links found in any message on all servers.

DCC Transfers

Shows the DCC transfers list.

Nicklist

Shows a global Nicklist which always shows the Nicklist for the current active channel window.


Monitor Panels Options

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.

Monitor Channels

Enable or disable the channel messages monitor

Monitor Servers

Enable or disable the server messages monitor

Monitor Private

Enable or disable the private messages monitor

Monitor Notice

Enable or disable the notice messages monitor

Monitor Highlights

Enable or disable the highlights monitor

Monitor Urls

Enable or disable the url monitor

Save and restore Private

If enabled, private monitor messages will be saved on exit and loaded on start.

Save and restore Notice

If enabled, notice monitor messages will be saved on exit and loaded on start.

Save and restore Highlights

If enabled, highlight monitor messages will be saved on exit and loaded on start.

Save and restore Urls

If enabled, url monitor messages will be saved on exit and loaded on start.

Ignore duplicate lines

If enabled, duplicate lines will be excluded from the monitor panels.

Exclude active window

If enabled, channel/query messages on current active window will be excluded from the monitor panels.

Prioritize top to bottom 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.

Show Scrollbar

Shows or hides the scrollbars in Monitor Panels (excluding Server/Channel monitor panels).

Channel buffer

Maximum size of the channel monitor buffer.

Server buffer

Maximum size of the server monitor buffer.

Private buffer

Maximum size of the private monitor buffer.

Notice buffer

Maximum size of the notice monitor buffer.

Highlights buffer

Maximum size of the highlights monitor buffer.

Url buffer

Maximum size of the url monitor buffer.

Timestamp format

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 nickcolumn for server messages.

Show or hide the nickcolumn in server messages monitor.

Show timestamp for server messages

Show or hide the timestamp in server messages monitor.

Show network for server messages

Show or hide the network name in server messages monitor.

Show day changed message for servers

Shows or hides the day changed message for the Server Messages Monitor Panel

Show day changed message for channels

Shows or hides the day changed message for the Channel Messages Monitor Panel

Show nickcolumn for channel messages.

Show or hide the nickcolumn in channel messages monitor.

Show timestamp for channel messages

Show or hide the timestamp in channel messages monitor.

Show network for channel messages

Show or hide the network name in channel messages monitor.

Don't monitor these channel/private windows

Disable all kinds of monitoring of channels and nicks in this list.

network:channel can be used to exclude channels on specific networks.

Show/Hide Messages

When a user types a message, show or hide the message in the channel monitor.

Show/Hide Joins

When a user joins a channel, show or hide the message in the channel monitor.

Show/Hide Modes

When a user changes channel modes, show or hide the message in the channel monitor.

Show/Hide Parts

When a user leaves a channel, show or hide the message in the channel monitor.

Show/Hide Topics

When a user changes a channel topic, show or hide the message in the channel monitor.

Show/Hide Quits

When a user quits irc, show or hide the message in the channel monitor.

Show/Hide Ctcp

When a user sends a ctcp request, show or hide the message in the channel monitor.

Show/Hide Kicks

When a user is kicked from a channel, show or hide the message in the channel monitor.

Show/Hide Nicks

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
}

Mouse Options

The commands is evaluated as a script.

Server

Sets the command to run when double-clicking in a server window.

Private

Sets the command to run when double-clicking in a private window.

Channel

Sets the command to run when double-clicking in a channel window.

Nicklist

Sets the command to run when double-clicking a nick in the Nicklist.

Notify list

Sets the command to run when double-clicking a nick in the Notify list.

Message

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

Drag/drop commands

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 Themes

"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.

Installing a MTS theme

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.

How it works

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.

Available Events in the engine

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.

Available options in the engine

Option Description
Name The name of the theme.
Author The name or nickname of the theme's author.
Email 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

Available variables in the engine

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.

Getting themes

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.

See also /amark, /markall.

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

Nicklist Buttons Editor

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.

Nicklist Buttons format

The format of a nicklist button is <text><colon><command>.

If using multiline commands, the format becomes:

<text><colon>{
  /command1
  /command2
  ...
}

Saving nicklist buttons to a different ini file

To save the current nicklist buttons file to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.

Loading nicklist buttons from a different ini file

To load nicklist buttons from a different ini file, click the Menubar (inside the editor) -> File -> Load menu item.

Search/replace text

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.

Refreshing a nicklist buttons file

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.

Font

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.

Colors

The editor colors can be changed in Options -> Colors.


Nicklist Options

See also /nicklist.

Allow selecting multiple nicks without pressing CTRL/SHIFT

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.

Strip status prefix

If enabled, prefix/channel mode characters (@%+) will not be drawn in the Nicklist.

Your prefix follows status color

If enabled, your prefix/channel mode color will follow the global prefix/channel mode color instead of "Your" color.

Enabled:
@Nick

Disabled:
@Nick

Show Nicklist buttons

Enables or disables the Nicklist buttons.

Buttons can be changed from Menubar -> Tools -> Edit Nicklist Buttons.

Autohide

If enabled, Nicklist will automatically hide it self when the mouse leaves and show it self when the mouse enters.

Delay autohide for [X] ms

Sets the number of milliseconds to wait before hiding the Nicklist when the mouse leaves the Nicklist area.

Use custom prefix colors

If enabled, prefix/channel modes will be drawn in the colors set in Options -> Colors.

Enabled:
@Nick

Disabled:
@Nick

Show Tooltips

If enabled, hovering a nick in the Nicklist will show a Tooltip Text.

Lock Nicklist

If enabled, Nicklist will be locked to avoid accidental resize.

Show Scrollbar

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.

Prioritize Nicklist height

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.

Show user count

If enabled, will show the number of channel operators and total users at the top of the Nicklist.

User count text

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.

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.

Position

Moves the Nicklist left, right or turns if off.

This options can be changed per channel in the Treebar/Switchbar window menu.

Size

Set the nicklist size.

When changed, all custom Nicklist sizes will be reset.

Sort By

Sort the Nicklist by prefix/channel mode or alphabetically.

Pixel spacing

Adds or reduces the space between each nick in the Nicklist.


Nick Colors Options

See also /cnick.

Use random nick colors

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.

Use extended color list

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.

Color based on hostname

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.

Method

Enable nickcolors for messages, Nicklist or both.

Enable nick colors

Enable or disable nick colors.

Color entire line

Enabled:
[42:42] <Nick2> Writing some text

Disabled:
[42:42] <Nick2> Writing some text

Color nicks in messages

If enabled, matching channel nicks in messages will be shown using their nick color.

Nick color list

Add/Edit Nickcolor Dialog

Nick color priority

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

Notify Options

See also /notify, $notify,

Enable Notify

Enables or disables Notify

Notify list

Add/Edit Notify Dialog

Show address

If enabled, shows the ident/hostname of the nick logging on if supported by the server.

Show time

If enabled, shows the time the nick has been online if supported by the server.


Now Playing Editor

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.

Now Playing format

$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.

Saving now playing to a different file

To save the current now playing file to a different file, click the Menubar (inside the editor) -> File -> Save As menu item.

Loading now playing from a different file

To load now playing from a different file, click the Menubar (inside the editor) -> File -> Load menu item.

Search/replace text

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.

Font

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.

Colors

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.

See also on TEXT, 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 *: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.

See also on OPEN, $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

; 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.

See also $dns, /dns.

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.

See also on PART, /join.

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.

See also /kick, $knick.

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.

See also on JOIN, /part.

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.

See also /signal, $signal.

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 ^

See also $editbox, /editbox.

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.

See also /topic, $topic.

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!*@*

Options Dialog

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.

Search options

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":

Save Options

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.

Reset Options

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.

Help

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.

Options Tabs


Dialogs


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

Plugins

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

Plugins Dialog

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.

Install plugin

Click the Install new button, select the plugin dll file, press OK.

Load plugin

To load a unloaded plugin, select it in the plugins list, then press the Load button or double-click with the mouse.

Unload plugin

To unload a loaded plugin, select it in the plugins list, then press the Unload button. (A restart of AdiIRC is required)

Get plugins

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.


Proxy Options

See also /proxy.

Connection

Enables/disables proxy for Server connections, Dcc connections or both.

Protocol

Set the proxy protocol to connect to.

Hostname

Set the proxy hostname to connect to.

Username

Set the proxy username used to log in to the proxy (if login is required).

Password

Set the proxy password used to log in to the proxy (if login is required).

Port

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.


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.

Nick

Then nick you want to others to see you as.

Alternative

An alternative nick in case the primary nick is in use.

Username

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.

Fullname

The fullname to display when another user looks you up with /whois.

Can be left blank.

Server Name

The host/server name of the server you want to connect to.

Usually something like irc.network.com.

Port

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.

Is SSL

Check this box If the port you want to connect to is using SSL/TLS

Password (if required)

Password to use for logging on to ZNC or other servers which requires password.

Should be blank in most cases.

Join Channel(s)

List of channels to join when connecting to this server. (Channel passwords can be entered with a space, #chan1 password)

Server List

Opens the Serverlist.

Don't show this box again

If enabled, quick connect will not be shown when AdiIRC starts.

Connecting

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.

Quick Connect Options

See also /quickconnect.

Nick

The default nick to use when connecting through quick connect dialog or a blank server.

Alternative

The default alternative nick to use when connecting through quick connect dialog or a blank server.

Username

The default username/ident to use when connecting through quick connect dialog or a blank server.

Fullname

The default fullname to use when connecting through quick connect dialog or a blank server.

Host

The default host to connect to through quick connect dialog or a blank server.

Port

The default port to connect to through quick connect dialog or a blank server.

Use +port for SSL/TLS and *port for STARTTLS.

Password

The password to use when connecting to a bouncer or password enabled server.

Join these channels on connect

List of channels to join when connecting through quick connect dialog or a blank server.

Run these commands on connect

List of commands to join when connecting through quick connect dialog or a blank server.

Enable Quick Connect

Enables or disables the quick connect dialog on startup.

Update Quick Connect settings when connecting a server

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 ChannelList on empty connect

Show the channel list automatically when connecting a server without any autojoin channels.

Show ChannelList on /list

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!

Quits Editor

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.

Quits format

Identifiers in the message is evaluated.

Saving quits to a different file

To save the current quits file to a different file, click the Menubar (inside the editor) -> File -> Save As menu item.

Loading quits from a different file

To load quits from a different file, click the Menubar (inside the editor) -> File -> Load menu item.

Search/replace text

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.

Font

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.

Colors

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.

Rawlog Dialog

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.

Debug tab

The debug tab in the right listbox shows AdiIRC debug data.

Server tabs

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.

Save Rawlog

The data from a tab can be saved to a file by clicking the Save button.

Clear Rawlog

To clear the data from a tab click the Clear button.

Search Rawlog

The Rawlog can be searched by clicking the Search button or by pressing CTRL + F.

Attach/Detach Rawlog

Rawlog can be attached to become a regular MDI window or detached to become a desktop window by pressing CTRL + D.

Rawlog Treebar priority

To make Rawlog the first visible window in the Treebar/Switchbar, add Rawlog at the top of Options -> Windows Options -> Window Order.

Timestamps

Timestamps can be added/removed using /rawlog with the -t parameter or -d parameter, the setting is saved.

Listbox width

The Listbos can be resized by dragging the border between the Listbox and the Text Area, the width is saved.

Debug information in memory

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.

Automatically save debug tab data to file

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.

See also $dns, on DNS.

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

SASL support is Built into the new Serverlist and into the /server command as of 1.9.9.

To enable SASL in the Serverlist:

  1. Set the Login Method to "SASL (username + password)".
  2. Set the "Username" to your nickserv nick.
  3. Set the "Password" to your nickserv password.

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.


Save Theme Dialog

All fields are optional.

Name

Author name.

Version

Theme version.

Website

Author website.

Email

Author email.

Description

Theme description.

Save colors

Save color settings to the theme.

Save prefix

Save the user/emote/system/ctcp message prefix settings to the theme.

Save fonts

Save the fonts settings to the theme.

Save emoticons

Save the emoticons to the theme. (The emoticons files are embedded as base64 strings)

Save sounds

Save the sounds settings to the theme. (The audio files are embedded as base64 strings)

Save nick colors

Saves the nick color settings to the theme.

Save backgrounds

Saves the background image settings to the theme. (The background files are embedded as base64 strings)

Save icons

Saves the icon settings to the theme. (The icon files are embedded as base64 strings)

Save nicklist icons

Saves the nicklist icon settings to the theme. (The icon files are embedded as base64 strings)

Compress theme

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.

Save scripts

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.

See also /scon, $scon, $scid.

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.

See also /scid, $scon, $scid.

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.

Screenshots

See the Themes forum and the Screenshots sharing thread.


Script Editor

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.

Script formats

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
  ...
}

Saving a script to a different ini file

To save the current script file to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.

Loading a script from a different ini file

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.

Search/replace text

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 brackets

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.

Reloading a script file

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.

Jumping to a specific alias in a script

The Alias menu item in the Menubar (inside the editor) can be used to jump to a specific alias in the current script file.

Adding TODO items

The TODO menu item in the Menubar (inside the editor) allows adding and viewing and quickly jumping to a TODO item in the script.

Ignoring a 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.

Script Files Order

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.

Font

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.

Colors

The editor colors can be changed in Options -> Colors.


Scripting

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:

Example scripts

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
}

mIRC scripting compatibility

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.

Submitting scripting bug reports

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.

More information

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

Known issues

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.


Binary Variables

/bread

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
}

/bwrite

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
}

/bset

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
}

/bunset

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.

/bcopy

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 
}

/breplace

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
}

/btrunc

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
}

$bvar

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)

$bfind

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)


Com Support

/comopen

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)

/comclose

Added in 1.9.4

/comclose <name>

Closes the specified COM connection.

Parameters

Parameter Description
<name> Connection name.

/comlist

Added in 1.9.4

/comlist

Lists all open COM connection.

/comreg

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.

$com

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.

$comcall

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.

$comerr

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.

$comval

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].


Scripting Commands

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.

System information Commands

Output from these are set in Options -> Sysinfo and are merely convenient aliases.

/sysinfo
/gfxinfo
/cpuinfo
/meminfo
/diskinfo
/audioinfo
/uptime
/bw

Missing Commands

/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

Command prefixes

/! 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

Evaluate identifiers from Editbox

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>.

Creating a new command

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

Custom Windows

/window

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
}

/titlebar

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.

See also $titlebar, Titlebar.

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!

/renwin

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

/aline

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
}

/aline

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

/rline

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
}

/cline

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
}

/sline

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.

Custom Window's Menus

Scripting Menus

$window

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.

$line

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)

$fline

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)

$sline

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


Dialogs

/dialog

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

/did

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

/didtok

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

$did

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)

$didwm

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)

$didreg

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)

$didtok

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.

on DIALOG

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.


DLL Support

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.

Parameters

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.

Returns

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.

Keeping a DLL Loaded after a call

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;

Struct parameters

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.

Unloading a DLL

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.


Scripting Event Options

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.

Scripting Events

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.

on RAW
on CTCP
on ADMIN
on ACTION
on ACTIVE
on APPACTIVE
on BAN
on CHAR
on CHAT
on CHGIAL
on CLIENTTEXT*
on CLOSE
on CLOSING
on CONNECT
on CONNECTFAIL
on CTCPREPLY
on DARKMODECHANGED
on DEADMIN
on DEHELP
on DEOP
on DEOWNER
on DEVOICE
on DIALOG
on DISCONNECT
on DOWNLOAD
on DNS
on ERROR
on EXIT
on FILERCVD
on FILESENT
on GETFAIL
on HELP
on HOTLINK
on INPUT
on INVITE
on JOIN
on KEYDOWN
on KEYUP
on KICK
on LOAD
on LOGON
on MIDIEND
on MODE
on MP3END
on MSCROLL
on NICK
on NOTICE
on NOTIFY
on OP
on OPEN
on OPTIONS
on OWNER
on PARSELINE
on PART
on PING
on PLAYEND
on PONG
on QUIT
on RAWMODE
on RESUME
on SENDFAIL
on SERVERMODE
on SERVEROP
on SIGNAL
on SNOTICE
on SOCKCLOSE
on SOCKLISTEN
on SOCKOPEN
on SOCKREAD
on SOCKWRITE
on SONG
on SONGEND
on START
on SUSPEND
on TABCOMP
on TEXT
on TOPIC
on UDPREAD
on UNBAN
on UNLOAD
on UNOTIFY
on UNZIP
on USERMODE
on VOICE
on WALLOPS
on WAVEEND
on ZIP

 

See also $event, $eventtarget, $matchkey, $halted, $stripped, $ulevel, $clevel.

Missing events

AGENT
CHATOPEN
DCCSERVER
NOSOUND
VCMD
SERV
SERVCLOSE
SERVOPEN


File/Folder Handling

/fopen

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
}

/fclose

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
}

/flist

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

/fseek

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.

/write

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
}

/filter

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
}

/loadbuf

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)

/savebuf

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.

/copy

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

/rename

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" 

/remove

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

/rmdir

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" 

/mkdir

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" 

/paths

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.

/run

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

$crc

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.

$exists

Added in 1.9.0

$exists(file|dir)

Returns $true if a file or dir exists otherwise $false.

See also $isfile $isdir.

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

$file

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

$finddir

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-)

$findfile

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-)

$getdir

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)

$isdir

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

$isfile

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

$lines

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>

$logdir

Added in 1.8.10

$logdir

Returns the Logs directory set in Options -> Logging -> Log folder.

$longfn

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
}

$shortfn

{{include($shortfn}}

$mircexe

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

$adiircexe

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

$mircini

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

$adiircini

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

$mircdir

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

$adiircdir

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

$scriptdir

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

$mkfn

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)

$mklogfn

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.

$mknickfn

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)

$msfile

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)

$nofile

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)

$nopath

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)

$read

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*)

$readn

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

$sdir

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)

$sfile

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)

$sysdir

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)

$fopen

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

$fread

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)

$fgetc

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

$feof

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

$ferr

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


Hash Tables

/hmake

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)

/hfree

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*
}

/hadd

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)

/hdel

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
}

/hload

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.

/hsave

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)

/hdec

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
}

/hinc

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
}

$hget

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

table(ktable). |*Parameter*|*Description*| | text | Text to hash. | | B | Number of bits to use. (min 2, max 32) |

$hfind

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.

See also $hmatch, $hregex.

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

$hmatch

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.

See also $hfind, $hregex.

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


Scripting Identifiers

Click on a identifier to read more about it.

Identifiers in bold is AdiIRC only.

Missing Identifiers

$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


INI Files

/writeini

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)

/saveini

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.

/remini

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

/flushini

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)

$ini

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)

$readini

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)

$initopic

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)


Scripting Menus

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.

Menu prefix

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
}

Target multiple menus

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
}

Menu hierarchy

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
}

Separator

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
}

Merging menu items

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- lines inside menus

$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.

Adding top menus

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 { }"

Mouse events

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.
}

Menu styles

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
}

Menu icons

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
}

Dynamic sub menus

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 -
}

Now Playing

/np

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.

/vol

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

/wdown

Added in 1.5

/wdown

Tells media player to turn volume down.

Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.

/wjump

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.

/wnext

Added in 1.5

/wnext

Tells media player to play next song.

Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.

/wpause

Added in 1.5

/wpause

Tells media player to pause a song.

Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.

/wplay

Added in 1.5

/wplay

Tells media player to start playing a song.

Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.

/wprev

Added in 1.5

/wprev

Tells media player to play previous song.

Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.

/wsearch

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.

/wseekf

Added in 1.5

/wseekf

Tells media player to seek forward in a song.

Only works with iTunes/MediaMonkey/Winamp/foobar2000.

/wseekr

Added in 1.5

/wseekr

Tells media player to seek reverse in a song.

Only works with iTunes/MediaMonkey/Winamp/foobar2000.

/wselect

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.

/wstop

Added in 1.5

/wstop

Tells media player to stop playing a song.

Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.

/wup

Added in 1.5

/wup

Tells media player to turn volume up.

Only works with iTunes/MediaMonkey/Winamp/Spotify/foobar2000.

$album

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.

$bitrate

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.

$comment

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.

$frequency

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.

$fulltitle

Added in 1.8.10

$fulltitle

Returns the full title of the currently playing song, usually in $artist - $title format.

$layer

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.

$length

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.

$percentl

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.

$percentp

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.

$playcount

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.

$player

Added in 1.8.10

$player

Returns the current selected media player.

$position

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.

$progress

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.

$rating

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.

$size

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.

$song

Added in 1.8.10

$song

Returns the full title of the currently playing song, usually in $artist - $title format.

$songfile

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.

$title

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.

$totaltracks

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.

$track

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.

$volume

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.

$volumeb

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.

$volumep

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.

$year

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.


Scripting Operators

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

Math Comparison Operators

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.

String Comparison Operators

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.

Lexicographical String Comparison Operators

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

Channel-related Operators

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)

List-related Operators

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.

Other Operators

Syntax Name Result
%x isurl
Is a url
True, if %x is a url.

Valid isurl links

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:


Picture Windows

/window

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
}

/titlebar

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.

See also $titlebar, Titlebar.

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!

/renwin

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

/drawcopy

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.

/drawdot

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.

/drawfill

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

/drawline

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.

/drawpic

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.

/drawrect

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.

/drawreplace

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.

/drawrot

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.

/drawsave

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

/drawscroll

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.

/drawtext

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
}

/drawsize

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.

$window

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.

$width

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)

$height

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)

$click

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-
}

$inellipse

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.

$inrect

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.

$inroundrect

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.

$inpoly

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.

$onpoly

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.

$getdot

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)

$lineheight

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)

$pic

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

$mouse

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

$rgb

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

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.

Regular Expressions Engines

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

Modifiers

/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

Differences between .NET and PCRE

When PCRE support is not available, AdiIRC translate some PCRE patterns into .NET patterns.

(*UTF8)/(*UTF) -> Enables UTF8 instead of ASCII regular expression.
(?R) -> .*
(?2) -> .*
(?1) -> .*
++ -> +
[:alnum:] -> a-zA-Z0-9
[:alpha:] -> a-zA-Z
[:ascii:] -> \x00-\x7F
[:blank:] -> \s\t
[:cntrl:] -> \x00-\x1F\x7F
[:digit:] -> 0-9
[:graph:] -> \x21-\x7E
[:lower:] -> a-z
[:print:] -> \x20-\x7E
[:punct:] -> !"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~
[:space:] -> \s\t\r\n\v\f
[:upper:] -> A-Z
[:word:] - > A-Za-z0-9_
[:xdigit:] -> A-Fa-f0-9
\cc -> \x003
\co -> \x00F
\cb -> \x002
\x\{([A-Fa-f0-9]{1,4})\} -> \uXXXX
\Q \E tries to escapes all characters in between

\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


Scripts

/load

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.

/reload

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.

/unload

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.

/alias

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

$script

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)

$scriptdir

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

$scriptline

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

$alias

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)

$calias

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
  }
}


Sockets

/socklisten

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)

/sockopen

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,-)
}

/sockclose

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.

/sockread

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.

/sockwrite

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.

/sockpause

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.

/sockmark

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: {
;    ....
; }

/sockrename

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.

/sockaccept

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.

/sockudp

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
}

/socklist

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.

/bindip

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

$sock

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)

$sockbr

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
}

$sockerr

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
}

$sockname

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
}

$bindip

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.

$portfree

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)

$iptype

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)

on SOCKLISTEN

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
}

on SOCKOPEN

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

on SOCKWRITE

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.

on SOCKREAD

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
}

on SOCKCLOSE

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

on UDPREAD

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
  }
}


System Information

/bw

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.

Others

/sysinfo
/gfxinfo
/cpuinfo
/meminfo
/diskinfo
/audioinfo
/uptime

$appbits

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

$audio

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.

$battery

Added in 2.3

$battery

Returns $true if running on battery, otherwise returns $false.

See also $batteryp.

$batteryp

Added in 2.3

$batteryp

If running on battery, returns percentage left, otherwise 100.

See also $battery.

$bwdown

Added in 1.5

$bwdown

Returns current download bandwidth speed in human readable format on selected network adapter.

$bwdownb

Added in 1.5

$bwdownb

Returns current download bandwidth speed in bytes on selected network adapter.

$bwname

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.

$bwrec

Added in 1.9.2

$bwrec

Returns numbers of bytes received in human readable format on selected network adapter.

$bwrecb

Added in 1.9.3

$bwrecb

Returns numbers of bytes received in byte format on selected network adapter.

$bwsent

Added in 1.9.2

$bwsent

Returns numbers of bytes sent in human readable format on selected network adapter.

$bwsentb

Added in 1.9.3

$bwsentb

Returns numbers of bytes sent in byte format on selected network adapter.

$bwspeed

Added in 1.5

$bwspeed

Returns the connection (LAN) speed on selected network adapter.

$bwup

Added in 1.5

$bwup

Returns current upload bandwidth speed in human readable format on selected network adapter.

$bwupb

Added in 1.5

$bwupb

Returns current upload bandwidth speed in bytes on selected network adapter.

$cpucache

Added in 1.5

$cpucache

Returns cpu cache in bytes for 1 core.

$cpucount

Added in 1.5

$cpucount

Returns numbers of cpu's and cores.

$cpuident

Added in 1.5

$cpuident

Returns cpu identifier.

$cpuload

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)

$cpumhz

Added in 1.5

$cpumhz

Returns cpu frequency in megahertz.

$cpuname

Added in 1.5

$cpuname

Returns cpu name.

$cpuvendor

Added in 1.8.10

$cpuvendor

Returns cpu vendor identifier.

$diskfree

Added in 1.5

$diskfree

Returns total free disk space from all drives in human readable format.

$disktotal

Added in 1.5

$disktotal

Returns total disk space from all drives in human readable format.

$dotnet

Added in 1.9.2

$dotnet

Returns the .NET (dotnet) version AdiIRC is currently running on.

$gfx

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)

$gfxram

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)

$lag

Added in 1.9.0

$lag

Returns connection lag to current active IRC server in milliseconds.

$memfree

Added in 1.6

$memfree

Returns free ram in megabytes format.

$memfreep

Added in 1.6

$memfreep

Returns free ram in percentage format.

$memtotal

Added in 1.6

$memtotal

Returns total amount of installed ram in megabytes format.

$motherboard

Added in 1.9.0

$motherboard

Returns the motherboard manufacturer and version name.

$os

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.

$osbits

Added in 1.9.7

$osbits

Returns "32" on 32 bit windows, and "64" on 64 bit version of windows.

$osbuild

Added in 1.8.10

$osbuild

Returns the windows build number.

$osedition

Added in 1.8.10

$osedition

Returns the windows edition.

$osidle

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

$osinstalldate

Added in 1.9.1

$osinstalldate

Returns the date windows was installed in unix timestamp format.

$osmajor

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

$osminor

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

$osname

Added in 1.8.10

$osname

Returns the name of the windows version. (Windows 7, Windows 8 etc)

$osservicepack

Added in 1.8.10

$osservicepack

Returns the windows service pack version.

$osversion

Added in 1.5

$osversion

Returns the version number of the operating system.

$screen

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)

$screenb

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)

$screenh

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)

$screenhz

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)

$screenw

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)

$uphours

Added in 1.6

$uphours

Hours since computer was last (re)started.

$upmins

Added in 1.6

$upmins

Minutes since computer was last (re)started.

$uptime

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)


Variables

/var

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)

/vars

Added in 1.9.0

/vars

Shows a list of all global variables and their values.

/set

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
}

/unset

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
}

/unsetall

Added in 1.9.3

/unsetall

Unset and removes all variables from the variables list.

$var

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


Wildcards

Wildcard characters are special characters that are interpreted when comparing text.

There are three meaningful wildcard characters:

? - matches a single character
* - matches everything (including nothing)
& - matches a whole word if used alone

For 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)

Serverlist Channels

In the channels tabs you can add all channels you want to join or keep as favorites.

See also /channels, /autojoin.

Add

Opens up the add channel dialog.

Edit

Opens up the edit channel dialog.

Remove

Removes the selected channels(s) from the channels tab.

Up

Moves the selected channel(s) higher up in the serverlist.

Down

Moves the selected channel(s) lower down in the serverlist.

Enable autojoin

If checked, all channels marked as autojoin will be joined when the server connects.

Delay X seconds

Joining channels will start after X seconds.

Delay between joins

Joining each channel will be delayed X seconds.

Favorites

Channels not marked as autojoin will be treated as favorites, they can be tabcompleted from the Editbox.

Adding channels

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.


Serverlist Commands

In the commands tab, you can add commands to perform when the server is connected.

See also /perform, /sleep.

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.

Run these commands on connect

When checked, all the commands will be performed when the server connects, otherwise they will be ignored.


Serverlist

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.

Search/Filter Networks

In the left corner you can type the name of the network to quickly filter it into view.

Move networks up/down

Networks can be moved around by left-clicking, then mouse drag/drop the network onto another network.

Favorites

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.

Save serverlist

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.

Add new network

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.

Show serverlist on startup

If enabled, the Serverlist will be shown when AdiIRC starts.

Options


Serverlist General

Nick

The nickname you want others to see you as.

Fullname

The fullname to display when another user looks you up with /whois.

Can be left blank.

Username

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

Password to use when logging on to a IRC server or a IRC bouncer.

Alternative nicks

List of alternative nicks to use when the main nick is in use.

Login Method

Login Method to use when logging on to verify your nick.

Login Password

The password to use to verify your nick when logging on.

Encoding

Encoding to use on this network, this should almost always be Unicode (UTf-8).

Connect to this network on startup

IF enabled, AdiIRC will connect to this network on startup.

Prioritize IPv6

If enabled, AdiIRC will prioritize IPv6 addresses found in the hostname of the server when connecting.

Minimize the server window

If enabled, AdiIRC will minimize the server window when connecting.

Use this label as the network name

If enabled, AdiIRC will show the name you gave this network in the Treebar/Switchbar.

Connect

When clicked, AdiIRC will connect to this network in the current open server window/tab inside AdiIRC.

Connect in a new window

When clicked, AdiIRC will connect to this network in the a new server window/tab inside AdiIRC.


Serverlist IRCv3

The IRCv3 tab allows enabling/disabling IRCv3 features per server.

Use echo-message when available

Default - Uses the global echo-message option.
On - Always uses echo-message when available.
Off - Never uses echo-message.

Use STS when available

Default - Uses the global STS option.
On - Always uses STS when available.
Off - Never uses STS.

Use server-time when available

Default - Uses the global server-time option.
On - Always uses server-time.
Off - Never uses server-time.

Disconnect on SASL login error

Default - Uses the global SASL login error option.
On - Always disconnects on SASL login error.
Off - Never disconnects on SASL login error.


Serverlist Misc

The misc tab has some additional options.

Try to regain nick

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,

Track users away status

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.

User mode

Asks the servers to set the specified user modes on connect.

Default ban type

If set, commands such as /ban will use this format as the default ban type on this network.

Use global quit message

If enabled, uses global quit message settings including random quit message, otherwise uses the message entered in Quit message

Quit message

The custom quit message to use on this network if Use global quit message is disabled.


Serverlist Proxy

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.

Use global proxy settings

Enables or disables global proxy settings.

Connection

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.

Protocol

Sets the proxy protocol type to connect to.

Hostname

Proxy server hostname to connect to.

Username

Proxy server username to use, if any.

Password

Proxy server password to use, if any.

Port

Proxy server port to connect to.


Serverlist Servers

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.

Ports

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.

Add

Opens up the add server dialog.

Edit

Opens up the edit server dialog.

Remove

Removes the selected server(s) from the servers tab.

Up

Moves the selected server(s) higher up in the serverlist.

Down

Moves the selected server(s) lower down in the serverlist.


Serverlist SSL

In the SSL tab you can change various options related to connecting to networks using SSL/TLS

Client certificate

Set the client SSL certificate to use on this network if Use global client certificate is unchecked.

Use global client certificate

Enable/disable using the global client certificate set in Options -> Server Options.

Accept invalid SSL certificate

If enabled accepts self-signed SSL certificates or certificates with invalid host names.

SSL protocol

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.


Server Options

Server

Use new Serverlist

Enables or disables the new serverlist.

Old and new Serverlist can still be accessed with the /serverlist command.

Reconnect on server disconnect

if enabled, AdiIRC will try reconnect when remote connection is disconnected.

Reconnect on resume from sleep

If enabled, AdiIRC will when resuming from sleep, try to reconnect all servers which was previously connected when going to sleep.

Save open servers on exit and autoconnect them on next restart

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.

Use echo-message when available

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.

Use STS when available

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.

Use server-time when available.

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.

Disconnect on SASL login error

If Enabled, AdiIRC will disconnect from a server if SASL login was enabled and the authentication failed or the SASL module was removed.

Always rejoin auto channel

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.

Close channel/private windows on disconnect

If enabled, closes all associated channel/private windows when the server disconnects.

Close Serverlist when clicking Connect

If enabled, the Serverlist will automatically close when you click the Connect or Connect in a new tab buttons in the Serverlist.

Retry [X] times

Number of times to try to reconnect.

Wait [X] seconds before retrying

Number of seconds to wait between each reconnect try.

Default ban type

Default ban type to use when using /ban.

Default Part Message

Default part message to use when using /part or closing a channel window.

Default Quit message

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

Default port used in /server and other places.

+port can be used for SSL/TLS, *port can be used for STARTTLS.

Use random quit message

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 Encoding

Default character encoding to use when adding/connecting a new server.

Use UTF8 Fallback

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.

Try to regain nick

If enabled, AdiIRC will automatically try to regain your primary nick.

Use serverlist group labels as network name

If enabled, the Serverlist label you entered will be shown in Treebar/Switchbar/Titlebar etc instead of the network name received from the server.

Track users away status

If enabled, AdiIRC will periodically try to find out which users are away or not away.

Only track away on channels smaller than [X] users

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.

Send delay [X] ms

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.

Regain nick every [X] seconds

Sets the number of seconds between nick retries.

Identd

Use Identd

Enable or disable the Identd server.

Enable only when connecting

If enabled, AdiIRC will start the identd server when connecting to a server, and stop it when connected.

Show Identd requests

If enables, shows a notice in the server window when a server wants to know your Identd nick.

Use username as ident 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.

Ident Nick

The nick to reply when a server asks for your Identd nick.

System

The system to reply when a servers asks for your Identd nick.

Ident Port

The port the Identd server should listen on.

Dde

Enable Dde Server

Enables or disables the Dde Server.

Check if Service Name is in use

If enables, AdiIRC will check if another Dde server is using the same name before starting it.

Service Name

The Dde service name to use.

Dde Delay [X] ms

How long to wait in milliseconds before giving up the Dde request.

Upnp

Ip address

If checked, opens the port specified in the /socklisten -p command using Upnp.

DCC Connections

If checked, opens the port associated DCC port using Upnp when sending files.

Identd server

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.

Certificates

Skip connections with invalid certificates

If enabled, AdiIRC will disconnect servers with invalid ssl certificates.

Display invalid certificates for approval

If enabled AdiIRC will ask to approve servers with invalid ssl certificates.

Automatically accept invalid certificates

If enabled, AdiIRC will connect to servers with invalid ssl certificates automatically.

Clear approved certificate cache

Clears previously accepted invalid certificates.

Client Certificate File

Path to a client ssl certificate in the pfx format

Create new certificate

Generates a new client ssl certificate in the pfx format

Only works on Windows 10+.

Create New Certificate Dialog


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))

Shortcuts

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.

Override built-in shortcuts

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 }

Creating new shortcuts

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.


Shortcuts Options

Here you can change built-in shortcuts and add new ones, for creating global hotkeys, see /globalkeys.

See also Shortcuts.

Shortcuts

Edit

Double-click a shortcut in the list or click the Edit button to change the shortcut.

Add/Edit Shortcut Dialog

Custom shortcuts

Add

Click the Add button to add a new custom shortcut.

Edit

Click the Edit button or double-click a custom shortcut in the list to edit it.

Remove

Click the Remove button to remove a custom shortcut.

Add/Edit shortcut dialog

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)

Latest release

4.4 (2023/08/28 UTC)

Resources

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

Slaps Editor

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.

Slaps format

$nick or $1 can be used to reference a target nick.

Saving slaps to a different file

To save the current slaps file to a different file, click the Menubar (inside the editor) -> File -> Save As menu item.

Loading slaps from a different file

To load slaps from a different file, click the Menubar (inside the editor) -> File -> Load menu item.

Search/replace text

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.

Font

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.

Colors

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

Sounds Options

Highlight sound options is set on the highlight word in the highlight options

Enable sounds

Enable or disable sounds.

Sounds can be temporary muted with the CTRL + R keybind.

Only play if AdiIRC is not focused.

If enabled, sounds will only play if AdiIRC is not the active window.

Play message sounds in active window

If enabled, AdiIRC will play new message sounds in channel/private windows even if the channel/private window has focus.

Temporary mute sounds

If enabled, sounds are muted until unmuted or AdiIRC is restarted.

On Event Connect

When a server is connected, play a beep/sound or nothing.

On Event Disconnect

When a server is disconnected, play a beep/sound or nothing.

On Event Join

When a user joins a channel, play a beep/sound or nothing.

On Event Part

When a user part a channel, play a beep/sound or nothing.

On Event Invites

When a user invites you to a channel, play a beep/sound or nothing.

On Event Kick

When a user is kicked from a channel, play a beep/sound or nothing.

On Event Notice

When you receive a notice message, play a beep/sound or nothing.

On Event Part

When a user part a channel, play a beep/sound or nothing.

On Event Dcc Send

When you send a dcc file, play a beep/sound or nothing.

On Event Dcc Chat

When you receive a dcc chat request, play a beep/sound or nothing.

On Event Dcc Chat Message

When you receive a dcc chat message, play a beep/sound or nothing.

On Event Private Message

When your receive a private message, play a beep/sound or nothing.

On Event Channel Message

When someone types a message on a channel, play a beep/sound or nothing.

On Event Buffer

When a new message arrives while you are scrolled up in the message buffer, play a beep/sound or nothing.

On Event Dcc Success

When a dcc transfer is completed successfully, play a beep/sound or nothing.

On Event Dcc Fail

When a dcc transfer failed to complete successfully, play a beep/sound or nothing.

On Event Notify Online

When a user in the Notify list comes online, play a beep/sound or nothing.

On Event Notify Offline

When a user in the Notify list goes offline, play a beep/sound or nothing.

On Event Open Private Window

When you receive a private message and no window with that nick is open, play a beep/sound or nothing.

Beeps

Use custom beep file

If enabled, /beep and other places that uses the system beep function will play the specified file instead.

Beep file

Media file to play when Use custom beep file is enabled.

Beeps

Number of beeps to play if beep is enabled.

Delay

Delay in milliseconds between each beep.

Sound Folders

Sets the default folders for various media file types used by the /splay commmand.

See also $mp3dir, $mididir, $wavedir, $sound, $mp3, /splay.


Spellcheck

AdiIRC includes spellcheck support as of 1.9.6 beta 2014/10/25 using Nhunspell.

Steps to enable spellcheck:

  1. Rightclick the Editbox and select the Check Spelling menu, this will install the necessary dll's.
  2. Restart AdiIRC.
  3. Rightclick the Editbox and choose Default Languages -> Add Dictionaries, download the dictionaries you want to install.
  4. Rightclick the Editbox and choose Default Languages -> Language you want to use.

Different languages per channel

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.

Disable spellchecking per channel

Rightclicking the Editbox and choose Languages then select Off disables spellchecking for the channel.

Downloadable Dictionaries:

Manually installing dictionaries.

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

If you STILL cannot hear sounds, be aware that AdiIRC uses the master sound settings for the computer, so if the volume level is turned down, or mute is enabled then you won't hear anything. To troubleshoot, paste the next comand into an editbox. The first number is the loudness on a scale of 0 to 65535, with 65535 being 100%. If the 2nd word is $true then your computer itself has the sounds muted.
//echo -a $vol(master) $vol(master).mute

If the volume is too low or is muted, you can use your computer's speaker icon near the bottom pc taskbar's clock to change the volume or to un-mute it. If you STILL cannot hear the sound, make sure your speakers themselves are turned on and have the volume turned up too.

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.

See also $sreq, /creq, $creq.

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" 

Statusbar Control

The Statusbar gives quick access to various information.

See also /statusbar, $statusbar, Statusbar Options.

Hiding the Statusbar

The Statusbar can be hidden by clicking Menubar -> View -> Statusbar or by typing /statusbar off or by changing Options -> Windows -> Enable Statusbar.

Modifying the 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.

Statusbar position

The Statusbar can be moved to the top/bottom/left/right of the main window by right-clicking the Statusbar then clicking Position.

Colors

The Statusbar background/foreground colors can be set in Options -> Colors.

Note: Override Windows theme colors must be enabled.

Font

The font can be changed in Options -> Fonts & Sizes or by using the /font command.

Background image

A background image for the Statusbar can be set in Options -> Backgrounds or by using the /background command.


Statusbar Options

See also /statusbar, $statusbar.

Enable Statusbar

Enable or disable the Statusbar, can also be toggled in the Menubar -> View -> Statusbar and through the /statusbar command.

Show Info

Shows or hides the Server/Channel/Query info item.

Show Nick

Shows or hides the nick info item.

Show Server

Shows or hides the server info item.

Show Lag

Shows or hides the lag info item.

Show highlight sound status

Shows or hides the highlight sound/mute status

See /mute for more information.

Show Media Player song

Shows or hides the media player song item.

Show Bandwidth usage

Shows or hides the bandwidth monitor.

Show DCC Transfers

Shows or hides the dcc transfers progress bar.

Expand to multiple lines

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.


Support

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.

Switchbar

The Switchbar shows all open windows and allows switching the active window.

See also /switchbar, $switchbar, Switchbar Options.

Hiding the Switchbar

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.

Switchbar position

The Switchbar can be moved to the top/bottom/left/right of the main window by right-clicking the Switchbar then clicking Position.

Locking bars

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.

Window Menu

Right-clicking a window in the Switchbar shows the window menu.

Pressing the SHIFT while right-clicking shows the scripted window menu instead.

Window Order

The order which windows appear in the Switchbar can be changed in Options -> Windows -> Window order.

Closing Windows

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.

Flashing Windows

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.

Window colors

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.

Background Color

The Switchbar background color can be set in Options -> Colors.

Note: Override Windows theme colors must be enabled.

Window Icons

The window icons can be changed in Options -> Icons.

Hiding the window icons from the Switchbar can be done in the Switchbar Options.

Font

The font can be changed in Options -> Fonts & Sizes or by using the /font command.

Background image

A background image for the Switchbar can be set in Options -> Backgrounds or by using the /background command.

Button Background Image

A background image for the buttons can be set in Options -> Backgrounds or by using the /background command.


Switchbar Options

See also Switchbar, /switchbar.

Show network name

Shows or hides the network name for this network in the status tab, if hidden, the text will be just Status

Show nick name

Shows or hides the nick name for this network in the status tab.

Show Icons

Shows or hides the window icons.

Show Servers

Shows or hides server windows from the Switchbar.

The separator will still be visible.

Show tooltips

If enabled, shows tooltips when hovering a window in the Switchbar.

Custom tooltips can be set in Options -> Windows.

Scroll mouse-wheel to change windows

If enabled, hovering the Switchbar and using the mouse-wheel will change the active window, otherwise SHIFT must be pressed.

Lines

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.

Size

Sets the preffered maximum size of a tab, if size is set to 0, Switchbar will make the tabs as large as possible.

Minimum Size

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.


Sysinfo Options

Change settings for

Select the command to change the output for.

See also Sysinfo variables.

Output

Change the output for the selected command.

The output will be evaluated and can contain identifiers.

See also Formatting text.

Choose Network Adapter

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

Tabcomplete

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 @+)

Tab Colors Options

Set Treebar/Switchbar text and background colors per window/tab.

Use tab colors

Enables or disables Treebar/Switchbar tab colors.

Tab color list

Add/Edit TabColor Dialog


test test


Test123

testing stuff.


Test42



Test42


Getting Started

User Interface

Scripting

And More...


Multidimensional arrays

/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

Text Area

The Text Area is where the messages are shown.

See also Messages Options, Inline Images Options.

Copying Text

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.

Clickable Links

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.

Inline Images

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.

Colors

The background color and all message colors can be changed in Options -> Colors.

Font

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.

Background image

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

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).

Default

The default AdiIRC theme/colors.

Current

The current theme/color settings which can be exported as a new theme file.

AdiIRC Themes

List of installed AdiIRC themes.

MTS Themes

List of installed mIRC Theme Standard (MTS) themes, which are advanced themes for changing both colors and default text output.

Preview

Clicking a theme shows a preview of how it would look when applied.

Use theme

Changes the current theme to the currently selected theme by opening the Apply Theme Dialog.

Save as file

Saves the currently selected theme to a new theme file or location by opening the Save Theme Dialog.

Delete

Deletes the currently selected theme.

Install new

Opens a open file dialog to allow importing a AdiiRC theme or MTS theme into the AdiIRC theme folder.

Get more themes

Opens the themes forum in the browser.

Reload themes folder

Pressing the F5 key updates the Themes Manager with any changes in the Themes folder.

Opening the folder where the theme resides.

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.

Tips Options

See also /tips, $tips.

Enable tips

Enable or disable Tips.

Note: highlight tips is set on the highlight word in the highlight options.

Use Windows Toast Notifications

If enabled, AdiIRC will show Tips using Windows Toast Notifications instead of the custom Tips.

Hide tips when fullscreen application is active

If enabled, Tips will be hidden if a fullscreen application such as a movie or a game is active.

Only show if AdiIRC is not focused

If enabled, Tips will be hidden if AdiIRC is focused.

Animate tips

If enabled, tips will be faded in/out, otherwise they will be shown/hidden instantly.

Queue [X] tips

Maximum number of tips to queue/show in the same Tip window.

Show for [X] secs

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.

Show on monitor [N]

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.

Channel tips Message

If enabled, shows a Tip message when someone types in a channel.

Can be enabled/disabled for individual channels through the Switchbar/Treebar menu.

Channel tips Join

If enabled, shows a Tip message when someone joins a channel.

Channel tips Mode

If enabled, shows a Tip message when someone changes channel modes.

Channel tips Quit

If enabled, shows a Tip message when someone quits irc.

Channel tips Notice

If enabled, shows a Tip message when someone sends a notice message to the channel.

Channel tips Part

If enabled, shows a Tip message when someone parts a channel.

Channel tips Topic

If enabled, shows a Tip message when someone changes channel topic.

Channel tips Ctcp

If enabled, shows a Tip message when someone sends ctco request to the channel.

Channel tips Kick

If enabled, shows a Tip message when someone kicks a user on a channel.

Channel tips Nick

If enabled, shows a Tip message when someone changes nick.

Private tips Message

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.

Private tips Ctcp

If enabled, shows a Tip message when someone sends you a ctcp request.

Private tips Notice

If enabled, shows a Tip message when someone sends you a notice message.

Private tips Nick

Unused.

Other tips Connect

If enabled, shows a Tip message when you connect to a server.

Other tips Dcc Send

If enabled, shows a Tip message when a dcc send file transfer starts or stops.

Other tips Dcc Get

If enabled, shows a Tip message when a dcc get file transfer starts or stops.

Other tips Dcc Chat

If enabled, shows a Tip message when a dcc chat session starts or stops.

Other tips Invite

If enabled, shows a Tip message when you are invited to a channel.

Other tips Away

If enabled, shows a Tip message when you go away or come back.

Other tips List

If enabled, shows a Tip message when a /list request is started and stopped.


Tips

Unicode/Font fallback

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.

Auth before joining a channel

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.

Copy text from message buffer

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.

Problem connecting to TLS servers

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.

Disable or changing CTCP VERSION reply

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

Disable notification popups/tips

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".

Disable highlight sound/beep

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".

Client certificates

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

Update to a beta release

To update to a beta release, just type /betaup.

Align a Toolbar item to the right

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.

Speed up bnc buffer

Things you can try:

How to change the default options used when connecting with /server

The default options used when connecting with /server or from Menubar -> File -> New window can be changed in Options -> Quick Connect.

Slow logon

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).

Undocking monitor panels into a window

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.

See also $titlebar, Titlebar.

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!

Titlebar Control

The Titlebar is at the top of the main AdiIRC window.

Changing Titlebar text

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.

Hiding Titlebar

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.

Changing Titlebar icon

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 Manipulation

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.

 

$addtok

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)

$addtokcs

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)

$deltok

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)

$findtok

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)

$findtokcs

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)

$gettok

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)

$instok

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)

$istok

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)

$istokcs

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)

$matchtok

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)

$matchtokcs

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)

$numtok

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)

$puttok

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)

$remtok

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)

$remtokcs

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)

$reptok

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)

$reptokcs

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)

$sorttok

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)

$sorttokcs

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)

$wildtok

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)

$wildtokcs

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)

Tokenize

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.

See also $toolbar, Toolbar.

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

Toolbar

The toolbar allows performing various actions based on clicking icons.

See also /toolbar, $toolbar.

Note: right-clicking some icons gives quick access to more features such as server history/favorites and channel favorites.

Hiding the Toolbar

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.

Modifying the 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

Media player icons are only visible when the media player is set to Winamp/Media Monkey/iTunes or Spotify.

Default icons

The default icons can be changed in Options -> Icons.

Toolbar position

The Toolbar can be moved to the top/bottom/left/right of the main window by right-clicking the Toolbar then clicking Position.

Locking bars

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.

Colors

The Toolbar background color can be set in Options -> Colors.

Note: Override Windows theme colors must be enabled.

Font

The font can be changed in Options -> Fonts & Sizes or by using the /font command.

Background image

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

Topicbox

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.

Display mode "Show"

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.

Display mode "Sticky"

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.

Display mode "Off"

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.

Editing the channel Topic

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.

Customization

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.

Tips

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.

Known issues

When typing or pasting characters not available in the specified font, they will appear as empty squares for Windows versions below 10.


Translations

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.

How to install

  1. Create a subfolder inside your AdiIRC installation path with the same name as the locale, e.g en-US for English da-DK for Danish pt-BR for Brazilian Portuguese etc.
  2. Download the translation in the Downloads section below.
  3. Unzip the translation.
  4. Copy the AdiIRC.resources.dll file to the local folder you created earlier. e.g C:\AdiIRC\da-DK\AdiIRC.resources.dll
  5. Go to Options -> General -> Choose Language, and select the locale in the dropdown box
  6. Restart AdiIRC to use the new language.

A GUI to install translations is being considered.

Update a translation

  1. Close AdiIRC.
  2. Download the updated translation in the Downloads section below.
  3. Unsipz the translation.
  4. Copy the AdiIRC.resources.dll to the locale folder and overwrite the previous one, e.g C:\AdiIRC\da-DK\AdiIRC.resources.dll
  5. Start AdiIRC.

Automated update of translations is being considered.

Downloads

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

AdiIRC on Get Localization

 


Tray Icon Options

Always show in tray

If enabled, tray icon is always visible.

Hide window in taskbar

If enabled, AdiIRC icon is always hidden from the taskbar

Use single click to restore

If enabled, you only need to click the tray icon once to restore/minimize AdiIRC, else you have to doubleclick.

Send to tray on minimize

If enabled, AdiIRC will minimize to tray instead of to the taskbar.

Send to tray when pressing X (close button)

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.

See also Treebar, $treebar.

Parameters

Parameter Description
[on] Enables Treebar.
[off] Disables Treebar.

Treebar

The Treebar shows all open windows and allows switching the active window.

See also /treebar, $treebar, Treebar Options.

Hiding the Treebar

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.

Treebar position

The Treebar can be moved to the top/bottom/left/right of the main window by drag/dropping the Treebar header.

Locking bars

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.

Window Menu

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.

Window Order

The order which windows appear in the Treebar can be changed in Options -> Windows -> Window order.

Closing Windows

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.

Flashing Windows

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.

Window colors

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.

Background Color

The Treebar background color can be set in Options -> Colors.

Note: Override Windows theme colors must be enabled.

Window Icons

The window icons can be changed in Options -> Icons.

Hiding the window icons from the Treebar can be done in the Treebar Options.

Folders

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.

Autohide Treebar

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.

Lock Treebar

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.

Docking/Undocking Treebar

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.

Font

The font can be changed in Options -> Fonts & Sizes or by using the /font command.

Background image

A background image for the Treebar can be set in Options -> Backgrounds or by using the /background command.


Treebar Options

See also Treebar, /treebar.

Notify List

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.

Close Icon

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.

Show

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.

Spacing

Sets the number of pixel between each node in the Treebar. (Divied by 2)

Strip status prefix

If enabled, prefix/channel mode characters (@%+) will now be drawn in the Treebar Nicklist.

Your prefix follows status color

If enabled, your prefix/channel mode color will follow the global prefix/channel mode color instead of "Your" color.

Enabled:
@Nick

Disabled:
@Nick

Nicklist follows selected channel

If enabled, the Treebar Nicklist will be collapsed for all channels except the active channel.

Show Nicklist

Enables or disables the Treebar Nicklist.

Show top to bottom scrollbar

Enables or disables the vertical scrollbar.

Show left to right scrollbar

Enables or disables the horizontal scrollbar.

Expand folders on window focus

If enabled, the parent channel and network folders are expanded when a window gets focus, otherwise the folders stays collapsed.

Use Folders

Enables or disables the Treebar folder groups.

Can also be enabled/disabled from the Treebar right click menu.

Show Count

Enables or disables the Treebar folder groups count.

Can also be enabled/disabled from the Treebar right click menu.

Show window icons

Enables or disables the window icons in the Treebar.

Window icon can be changed in Options -> Icons.

Use system menu

If enabled, right clicking a window in Treebar will show the system menu, otherwise it will show the scripted window menu.

Enabled:

Disabled:

Scroll mouse-wheel to change windows

If enabled, hovering the Treebar and using the mouse-wheel will change the active window, otherwise SHIFT must be pressed.

Show nick name

Shows the current nick on the Server node.

Show network name

Shows the current network name on the Server node.

Show arrow icons

Enables or disables the arrow icons in the Treebar.

Use full width right click

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.

Show tooltips

If enabled, shows tooltips when hovering a window in the Treebar.

Custom tooltips can be set in Options -> Windows or through the /titlebar command.

Show highlights on collapsed networks

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.

Show keyboard shortcuts

If enabled, shows the window (ALT+1-9) shortcut number in the text for the first 9 windows.

Collapse other servers except active

If enabled, other Treebar server nodes except the one belonging to the current active window will be collapsed.

Show unread count

Enables or disables the Treebar unread messages count.

Can also be enabled/disabled from the Treebar right click menu.

Only show unread messages count

If enabled, will only show actual messages (excluding system messages such as join/part etc) in the unread messages count.

Show unread messages based on scroll position

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

Users Editor

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.

User level format

The format of a user level is level<colon><nick/mask>.

Saving users to a different ini file

To save the current users file to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.

Loading users from a different ini file

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.

Search/replace text

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.

Reloading a users file

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.

Refreshing a users file

If users has been changed while the editor was open, pressing the Refresh button will update the editor.

Note: this removes any unsaved changes.

Font

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.

Colors

The editor colors can be changed in Options -> Colors.


User interface map


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.

See also /whois, /abook.

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)

Variables Editor

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.

Variables format

The format of a variable is %name<whitespace><text>.

Saving variables to a different ini file

To save the current variables file to a different ini file, click the Menubar (inside the editor) -> File -> Save As menu item.

Loading variables from a different ini file

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.

Search/replace text

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.

Reloading a variables file

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.

Refreshing a variables file

If variables has been changed while the editor was open, pressing the Refresh button will update the editor.

Note: this removes any unsaved changes.

Font

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.

Colors

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.


Webirc

Commands

/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

Identifiers

$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.

Signals

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
}

Windows Options

Start AdiIRC with maximized windows

If enabled, AdiIRC will maximize the first server window added on start.

Minimize windows when pressing X (close button)

If enabled, AdiIRC will minimize channel/server/private/tool/custom/panel windows when pressing the close button.

Save and restore main window size/position

If enabled, AdiIRC will save and restore the size and position of the main window.

Save and restore window size/position

If enabled, AdiIRC will save and restore channel/server/private/tool/custom/panel windows.

Remove unused saved windows

If enabled, removes saved windows from the config file which has not been in use for more than a month or year.

Show Titlebar

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.

Open new window on private message

If enabled, when you receive a private message and there is no matching private window, AdiIRC will open one.

Toggle Searchbox with CTRL + F

If enabled, closes the Searchbox when pressing CTRL + F otherwise focus the Searchbox.

Also applies to the Script Editor Searchbox.

Enable Menubar

Enable or disable the Menubar.

If disabled, pressing the ALT key will show it temporary.

See also /menubar.

Show icon in Menubar

If enabled, shows the current active windows icon in the Menubar.

Show window icons in Menubar

If enabled, shows the minimize/restore/close control icons in the Menubar.

Enable Toolbar

Enable or disable the Toolbar.

Can also be enabled/disabled from the Menubar -> View -> Toolbar.

See also /toolbar.

Minimize server/channel windows

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.

Minimize private windows

If enabled, new private windows will be minimized by default, otherwise they will be focused.

Enable Switchbar

Enable or disable the Switchbar.

Can also be enabled/disabled from the Menubar -> View -> Switchbar.

See also /switchbar.

Open new window on /msg

If enabled, when typing a /msg message and the target window doesn't exists, AdiIRC will open one.

Allow closing windows with middle mouse click/shift click

If enabled, middle mouse clicking or pressing SHIFT while left clicking a window in the Treebar/Switchbar.

Hide the selected window when activated twice

If enabled, clicking the selected window in the Treebar/Switchbar will hide it and activate the next window.

Open new windows on Desktop

If enabled, all new (not saved) windows will be opened on the desktop.

Form Border

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.

Undocked window Border

Changes the window border style for undocked windows (windows with "Show On Desktop" enabled), changing it to none will remove the entire border.

Window Transparency

Sets the main AdiIRC window transparency.

Undocked Transparency

Sets the transparency to use for channel/private/server/tool windows shown on the desktop.

Auto tile

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.

Topicbox padding

Sets the left/right/top/bottom padding to use for the Topicbox.

Editbox padding

Sets the left/right/top/bottom padding to use for the Editbox.

Main window title

Sets the text to show in the main AdiIRC window Titlebar.

Channel Titles

Set the text to be shown in channel window Titlebar.

Server Titles

Set the text to be shown in server window Titlebar.

Private Titles

Set the text to be shown in private window Titlebar.

Channel tooltip

Sets the text to be shown in Switchbar/Treebar tooltips for channel windows, if no text is specified, the window title is used.

Server tooltip

Sets the text to be shown in Switchbar/Treebar tooltips for server windows, if no text is specified, the window title is used.

Private tooltip

Sets the text to be shown in Switchbar/Treebar tooltips for private windows, if no text is specified, the window title is used.

Window Order

Sort channel/private windows

Sort channel/private windows in the Switchbar/Treebar alphabetically or as they appear.

Sort server windows

Sort server/tools windows in the Switchbar/Treebar alphabetically or as they appear.

Sort server windows by connection status

Sort server windows by connection status, all connected servers have higher priority in the Switchbar/Treebar than disconnected servers.

Window order priority

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.

Topicbox

Autohide

If enabled the Topicbox will automatically be hidden when the mouse is not inside the Topicbox area.

Delay autohide for [X] ms

Sets the number of milliseconds to wait before hiding the Topicbox when the mouse leaves the Topicbox area.

Topicbox

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.


Crossover

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.

Wine

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.

Install Wine

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

Create a 32 bit Wine prefix

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

Download Winetricks

Type:

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks

Install .NET using 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

Run AdiIRC with Wine

After .NET is installed, you should be able to run AdiIRC by typing:

WINEPREFIX=~/.wine32 wine AdiIRC.exe

Wine themes

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.

Headless wine

There has been some success running Wine headless using xvfb through screen.

WINEARCH=win32 WINEPREFIX=~/.wine32 screen xvfb-run wine AdiIRC.exe

Glitched text selection

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)

ZNC

There are several ways to connect to a IRC Bouncers such as ZNC

Connecting using the Server list

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.

Connecting by direct command

Check the /server wiki for a complete overview of command parameters. Two quick example:

  1. Non SSL:
    /server -m you.znc.net:5708 -p login:password
  2. SSL:
    /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.

Connecting by script

on *:start: {
  server you.znc.net:5708 -p login:password
}

ZNC playback

Check the XNC playback script.


ZNC

There are several ways to connect to a IRC Bouncers such as ZNC

Connecting using the Server list

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.

Connecting by direct command

Check the /server wiki for a complete overview of command parameters. Two quick example:

  1. Non SSL:
    /server -m you.znc.net:5708 -p login:password
  2. SSL:
    /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.

Connecting by script

on *:start: {
  server you.znc.net:5708 -p login:password
}