{{>toc}} h1. 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 Operators|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
h2. 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. | h2. 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) [[Scripting_Wildcards|Wildcard]] Matching [[Scripting_Wildcards|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 [[Scripting_Wildcards|wildcard]] string %x matches %y. True, if [[Scripting_Wildcards|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. | h2. 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 | h2. 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) | h2. 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. | h2. Other Operators |_.Syntax |_.Name |_.Result | |=. *%x isurl* |^. Is a url |^. True, if %x is a url. | h2. 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: