Sunday, March 23, 2008

Hotlinks

Hotlinks

When you move your mouse in a window over text that is a website or email address, or a nickname of a certain type, the mouse pointer changes to a finger indicating that you can click, double-click, or right-click on that text to perform certain functions.

If you double-click on on a website address, mIRC will open up your web browser to visit that website.

You can also hold down the shift-key and double-click on email addresses to open your email program. The shift-key is required because of the huge number of addresses on IRC which look like emails but aren't.

If you're in a channel window and you move the mouse over text that is a nickname on that channel, you can double-click on it for the usual double-click behaviour, or right-click on it to open the nickname list popup menu. If you single-click on the nickname, the cursor in the listbox is scrolled to that nickname.

You can also double-click on text that is a channel name in any window to join that channel.

If you move the mouse over text that is a nickname in your Notify list, you can also click your right mouse button to pop up the notify popup menu.

Note: This behaviour depends on the Hotlink setting in the Other dialog.

Voice Commands

Voice Commands

If you have Speech Recognition software installed, mIRC can be made to listen to voice commands through scripting.

/vcmd -lc
This turns voice command listening on or off, or you can temporarily turn off listening by specifying sleep.

The -c switch clears the commands list.

The -l switch lists the commands in your commands list.

Note: Your SR software may have very large speech files or dictionaries which could make it slow to load/unload and/or process your speech.

/vcadd
This adds voice commands to the commands list.

Commands should consist of at least two words and should be sufficiently distinct from other commands to make it easier for your SR software to match the words you speak to commands in your commands list.

Note: Adding or removing commands can be done on the fly, however if your SR software is slow at updating the commands list, it could cause short pauses in mIRC.

/vcrem
This removes commands from the commands list.

$vcmdver
Returns the version of your installed SR software, or $null if not installed.

$vcmdstat
Returns 0 if not available, 1 if currently off, 2 if ignoring commands, 3 if listening for a command.

$vcmd(N)
Returns the Nth item in your commands list.

The on VCMD event
If the SR software matches a word you've spoken to a word in your commands list, it triggers the on VCMD event:

on 1:VCMD::<*/#/?/@>:/echo 3 Recognized: $1-

Example Script

alias vctest {
if ($vcmdver == $null) halt
vcmd -c on
vcadd connect Dalnet, connect Efnet, connect Undernet, connect IRCnet
vcadd Part Channel, Disconnect, List Commands, Moo Cow
}

on 1:vcmd:connect*:*:server $2
on 1:vcmd:part channel:*:if ($active ischan) part $active
on 1:vcmd:disconnect:*:quit
on 1:vcmd:list commands:*:vcmd -l
on 1:vcmd:moo cow:*:splay moo.wav
on 1:vcmd:*:*:echo You said: $1-

Agents

Agents

mIRC supports Microsoft Agent either through scripting or through the Agents section in the options dialog. An agent is an animated character that can speak text and perform actions.

You can find links to related websites and resources, as well as download information, on the mIRC website.

Agent commands

The following commands allow you to manipulate agents, to make them speak, play animations, and more.

/gload <-h>
You must use /gload to load an agent before you can use it.

The name you give an agent is the name you will use to refer to it in all of the other commands and identifiers.

You can load an agent either by specifying its filename, if you know it, or by loading the Nth installed agent on your system, or by specifying default, which will load the default agent for your system.

If you specify the -h switch, mIRC will hide the agent whenever mIRC is minimized. You can also use the -h switch with the other agent commands to prevent them from popping the agent when mIRC is minimized and has the -h setting.

Note: You can't load more than one of the same agent. You can however load as many different agents as you want.

/gunload
This unloads the specified agent. The name is the name you gave your agent when you loaded it with /gload, not the filename of the agent.

/gshow [x y]
This shows an agent in its most recent or default position, or at the specified x y position.

/ghide
This hides an agent.

/gmove [speed]
This moves an agent to the and position on your screen. If a speed isn't specified, it uses a default speed. If you specify a speed of 0, it moves instantly to the new position.

/gsize
This resizes an agent to the specified width and height.

/gtalk -kwlu >
This makes an agent speak the specified text.

If you want the agent to think the text in a balloon without speaking it, you can use the -k switch.

If you want the agent to play a wave sound file, you can use the -w switch, and specify a wave filename. You should also specify text after the filename, the agent will show it in a ballon while playing the wave sound.

The -l switch applies the lexicon settings in the lexicon dialog to the text.

The -u switch applies the speech settings in the speech options dialog.

/gplay [timeout]
This makes an agent play one of its animations.

You can either specify the name anim of an animation, if you know it, or ask it to play the Nth animation.

Some animations are looping animations, which repeat continuously, and prevent an agent from doing anything else until you /gstop the agent. The [timeout] value allows you to specify a timeout for an animation after which it is automatically stopped, and the agent will then perform any remaining queued requests. If you don't specify a timeout value, the default is 5 seconds. If no play or talk requests are pending, the looping animation continues beyond the timeout until there are.

/gpoint
This makes an agent point towards the specified screen position.

/gstop -c [talk play]
This stops an agent from doing what it's currently doing, and removes all queued requests for the agent.

If you wish to only stop the current action, you can use the -c switch.

If you wish to stop only talk or only play requests, you can specify talk or play.

/gopts -bieqnh

This sets various options relating to how the agent behaves.

The -b switch turns balloons on or off. You can also make ballons size to fit the text being spoken, pace to display text word by word as it is being spoken, and hide to hide the balloons when no text is being spoken.

The -i switch turns idle effects on or off.

The -e switch turns sound effects on or off.

The -n switch allows you to set a language id, where langid is the hex id value.

The -h switch turns the auto-hide feature on or off (see /gload for more info).

/gqreq
By default mIRC queues all requests and plays them one after the other to ensure that even if you use multiple agents at the same time, all messages will be heard, and all agents will act in the order that you requested. You can turn queuing on/off on the fly.

Agent Identifiers

The following identifiers allow you to access information about an agent that is currently loaded.

$agentver
Returns the version of the Agent installed on your system, 0 if not installed.

$agentstat
Returns 1 if Agent is ready, or 0 if busy/speaking.

$agentname
Returns the name of the agent in an on AGENT event.

$agent(N).char
Returns the filename of the Nth available agent installed on your system.

If you specify 0, returns total number of installed agents.

$agent(name)
Returns information about a currently loaded agent.

Properties: name, fname, visible, x, y, w, h, ow, oh, speed, pitch, idle, effects, active, langid, balloon, hide

name the name you gave to this agent
fname the filename of the agent or default
visible returns $true or $false
x,y,w,h left/top position, width/height.
ow, oh original width/height
speed speaking speed
pitch speaking pitch
idle if idle behaviour is on or off
effects if sound effects are on or off
active if this agent is active/topmost

langid language id of system
balloon current setting: on off size pace hide
hide returns auto-hide setting

$agent(name,N)
Returns information on animations and queued lines for an agent.

Properties: anim, line

anim returns the names of the animations available for this agent.
If you specify N, returns the name of the Nth animation.
If you specify 0, returns the total number of animations.

line returns the list of lines currently queued for talking for this character.

If you specify N, returns the Nth line.
If you specify 0, returns total number queued lines.

Tags in spoken text
You can use tags in in /gtalk which may be recognized by the text-to-speech engine, these are a few:

\spd=n\ set speed of spoken text
\pit=n\ set pitch of spoken text
\vol=n\ set volume of spoken text
\chr="text"\ where text is normal, monotone, or whisper
\ctx="text"\ where text is address, email, unknown
\emp\ emphasize next word

\pau=n\ pause speech nnn milliseconds
\rst\ reset settings to default

$notags(text)
Removes the above tags from text. Only tags that are valid and correctly written as above are removed.

Variables

Variables

Variables are temporary storage areas to which you can assign values which you can use later in your scripts.

If a variable is referred to and it doesnt exist, it returns the value $null. The $null value can be used in comparisons in if-then-else statements to control branching etc.

The following commands allow you to create and set the values of variables.

/set [-snzuN] <%var> [value]

This sets the value of %var to the specified value.

If you specify the -uN switch, %var is unset after N seconds, assuming it is not set again by another script. If you specify a zero for N, the variable is unset when the script finishes.

The -z switch decreases %var until it reaches zero and then unsets it.
The -n switch makes it treat value as plain text.

/unset [-s] <%var>
This unsets and removes the specified variables from the variables list. If you specify a variable with wildcard characters then all matching variables will be removed.

/unset %test*

This will remove all variables beginning with the word %test.

You can also set/unset dynamic variables using [] brackets:

vartest {
set %a [ $+ b ] 1
set %a [ $+ c ] 2
set %a [ $+ d ] 3

echo ab = %ab
echo ac = %ac
echo ad = %ad

unset %a [ $+ b ] %a [ $+ c ] %a [ $+ d ]
}

/unsetall
This unsets and removes all variables from the variables list.

/inc [-cszuN] <%var> [value]
This increases the value of %var by value.

If you specify the -uN switch, %var is increased by the value once and then %var is unset N seconds later, assuming it is not set again by another script.

The -c switch increases %var once per second.

The -z switch decreases %var until it reaches zero and then unsets it.

/dec [-cszuN] <%var> [value]
This decreases the value of %var by value.

If you specify the -uN switch, %var is decreased by the value once and then %var is unset N seconds later, assuming it is not set again by another script.

The -c switch decreases %var once per second.

The -z switch decreases %var until it reaches zero and then unsets it.

You can also use the equal sign to assign values to variables:

%i = 5
%xyzi = 3.14159
%count = $1

And you can perform the following operations on variables when using the equal sign:

%x = 5 + 1
%x = 5 - %y
%x = %x * 2
%x = %z / $2
%x = $1 % 3
%x = 2 ^ %w

You can only perform a single operation in an assignment at this time.

You can also use the $calc() identifier which allows you to perform complex calculations.

//echo 1 $calc(3.14159 * (2 ^ %x % 3) - ($ticks / (10000 + 1)))

For floating point numbers you can also use the $round(N,D) and $int(N) identifiers to handle precision of the decimal digits. The number of decimals is currently limited to 5 digits.

Local Variables
Local variables are variables that exist only for the duration of the script in which they are created and can only be accessed from within that script. They can be created with the /var command:

/var %x

This creates the local variable %x in the current routine and can only be referenced from inside this routine.

/var %x = hello

This creates a local variable %x and assigns it the value hello.

You can create multiple local variables by separating them with commas:

/var %x = hello, %y, %z = $me

loop {
var %x = 1
:next
echo item %x
inc %x
if (%x < 10) goto next
}

Note: You can use /var -s to make a variable show the result when a value is set.

Identifiers

$var(%var,N)
Returns the Nth matching variable name.

Properties: value, local

You can use a wildcard in the variable name.

If N = 0, returns total number of matching variable names.

Note: This searches both local and global variables.

Popups

Popups

mIRC allows you to create custom popup menus for the status window, query/chat windows, channel windows, the channel nickname listbox, and main menubar. To create these you must know how to use IRC commands, how to create Aliases, and how to use Identifiers and Variables.

If you click the right mouse-button in a window, the popup menu for that window will appear and you can select menu-items which you have defined to perform certain tasks, such as opping a user or joining a channel.

Examples
Popup menu definitions use the format:

:

Get Help:/join #irchelp

The words before the ":" colon are the name of the menuitem. The words after the ":" colon are the commands that are to be performed. In this case, the menuitem you would see is "Get Help". The command that would be performed if you select this menuitem would be "/join #irchelp", as if you had typed it.

The format of the commands follows precisely the same as those in normal aliases. See the Aliases section to learn about aliases.

To create a Submenu, use a "." fullstop.

Join a Channel
.Get IRC help!:/join #irchelp
.Visit the folks at #friendly:/join #friendly
.Who shall we join?:/join $?

In this case, the name of the submenu is "Join a Channel". All the commands following it beginning with a "." are part of this submenu.

To create menus within a submenu, you just add more fullstops:

Channels
.Help
..irchelp:/join #irchelp
..mIRC:/join #mirc
..newbies:/join #newbies

.Other Channels
..Visit #friendly:/join #friendly
..Wibble Wobble:/join #wibble
.Join?:/join #$$?="Enter a channel name:"

To separate menuitems, you can use a single "-" dash on a line by itself.

whois ?:/whois $?
-
Misc
.Edit Temp:/run notepad.exe temp.txt
.say?: /say $?
.action?:/me $?
Names
.#irchelp: /names #irchelp
.#friendly: /names #friendly
.names ?:/names $?
-
channel list:/list
-
Join a Channel
.Get IRC help!:/join #irchelp
.Visit the folks at #friendly:/join #friendly

.Who shall we join?:/join $?

To use the popup menu for a channel nickname listbox, you need to select a nickname before the menu will pop up. Here is a simple nickname listbox popup menu:

Who Is?:/whois $1
-
Modes
.Op:/mode # +o $1
.Deop:/mode # -o $1
.Kick, Ban:/kick # $1 | /ban $1
-
DCC Send:/dcc send $1
DCC Chat:/dcc chat $1
-
Slap!:/me slaps $1 around a bit with a large trout
Query:/query $1 Hey you! hello? are you there...?

If you want to create a popup menu item which performs several commands, you can use the { } brackets. See the Aliases section for more information on how to use these.

Cookie {
if ($1 == $me) echo I give myself a cookie!
else echo I give $1 a cookie!
}

The above menitem can be used in the channel nicknames listbox. The $1 refers to the nickname of the user you have selected in the listbox. In this case, it checks to see if I've selected my own nickname, and if so displays the first message, otherwise it displays the second message.

The popup menus for the Query/Chat and the MenuBar work the same way as the channel listbox popup menu.

Identifiers and Variables
Variables or identifiers that are a part of a the title of a menu definition are evaluated each time the popup appears. This allows you to create popup menus that vary in appearance. If an entire menu item evaluates to $null, it is not displayed.

Remote Scripts
You can place menu definitions in your remote scripts by using the menu prefix.

menu status {
Server
.Links:/links
.Lusers:/lusers
.Motd:/motd

.Time:/time
}

This definition would add a submenu to your status window popup menu.

You can also specify channel, query, nicklist, and menubar as the menu name, and this will add menuitems to your current popup menus for each of these windows.

menu nicklist {
Slap
.Haddock:/me prods $1 with a haddock
}

This definition would add a submenu to your channel nickname listbox popup menu.

You can also specify popup menus for custom windows by specifying the custom window name.

menu @test {
dclick:/echo double-click!
}

The dclick item allows you to specify a command that will be performed when you double-click in a custom window listbox. You can also refer to $1 which holds the line number of the line that was double-clicked.

You can also specify multiple window names for a menu, eg.:

menu @dogs,@cats,@goats {
dclick: /echo double-click in $active
close: window -c $active
}

You can use the $menu identifier to refer to the menu that is about to pop up or that is assocaited with the script being performed. This allows you to modify the form of the popup based on whether it's a query, channel, etc. popup menu:

menu query,nicklist {
$iif($menu == nicklist,Op):/mode # +o $$1
}

Menu Styles
You can place a check mark or create a disabled menu item by using the $style(N) identifier, where N = 1 for checked, N = 2 for disabled, and N = 3 for both. The $style(N) identifier must be the first word in the menu definition.

menu status {
$iif($server == $null,$style(2)) Server Info
.Motd:/motd
.Time:/time
}

The above definition creates a submenu in your status window popup which is only enabled when you are connected to an IRC server.

$submenu($id($1))
This identifier allows you to dynamically create a list of menu items, and can only be called from a popup menu definition.

It calls $id($1), where $id() is the name of your identifer, 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.

menu status {
Animal
.$submenu($animal($1))
}

alias animal {
if ($1 == begin) return -
if ($1 == 1) return Cow:echo Cow
if ($1 == 2) return Llama:echo Llama
if ($1 == 3) return Emu:echo Emu
if ($1 == end) return -
}

The begin and end values are sent to check if the item should be enclosed in separators.

Note: You can't use this to create nested submenus, it will only build one single submenu.

Aliases2

Aliases

Error handling

Script errors can be caught by adding an :error goto point to your script. When an error occurs, the script will jump to :error and continue running. $error returns the error message.

You can reset the error with /reseterror. If you don't reset the error, it will propagate backwards to any calling aliases until an :error is found and will halt the script as usual.

While Loops
Repeats a loop containing a set of commands while the expression in brackets is true.

var %i = 1
while (%i <= 10) {
echo 2 %i
inc %i
}

The expression in brackets uses the same format as an if-then-else statement.

Multiple while loops can be embedded. You can use /break to break out of the current loop, and /continue to jump to the beginning of the loop.

The Return command
The /return command halts a currently executing script and allows the calling routine to continue processing.

You can also optionally specify a return value which will be stored in the $result identifier. The $result can then be used in the calling routine.

/return [value]

The Halt command
The /halt command halts a script and prevents any further processing. You can use this in remote scripts to prevent mIRC from replying to normal ctcp messages, or in aliases to halt an alias, and any calling aliases, completely.

Identifiers and Variables

An Identifier returns the value of a built-in mIRC variable. For example, $time would return the current time. Whenever mIRC finds an identifier in your command, it replaces it with the current value of that identifier.

For a list of identifiers, see the Identifiers section.

Variables are identifiers whose values you can create and change yourself and use later in your scripts.

For more information on variables, see the Variables section.

Custom Identifiers
A custom identifier is just an alias which returns a value, and you can use that aliases name with an identifier prefix.

For example, create an /add alias such as:

add {
%x = $1 + $2
return %x
}

And then use it in a command:

//echo Total is: $add(1,2)

You can supply as many parameters as you want, ie. $add(1,2,...,N).

You can also use the $prop identifier to refer to your own custom properties:

add {

%x = $1 + $2
if ($prop == negative) return $calc(-1 * %x)
return %x
}

//echo Total is: $add(1,2).negative

Note: Built-in identifiers of the same name have priority.

Remote Scripts
You can add aliases to remote scripts by using the alias prefix and then entering your alias as usual.

alias add {
%x = $1 + $2
return %x
}

This is the same custom identifier as above, except it uses the alias prefix.


If you specify the -l switch in the alias definition, the alias becomes accessible only by commands in the same script and invisible to the command line and other scripts.

alias -l add {
%x = $1 + $2
return %x
}

Function Key support
You can redefine function keys to perform certain commands, just like aliases. For example:

/F1 /say Hello!
/sF2 /query $1
/cF3 /ctcp $1 version

The s and c prefixes for Shift key and Control key respectively.

Note: A function key will behave differently depending on the window in which it is used. For example, when using it in a query window the $1 parameter refers to the selected users nickname. If you're on a channel and the nickname listbox is active then the function key will work on the selected nicknames. If the listbox is not active, the function key will just work on the channel.

Command prefixes
If you are executing a command from the command line ie. by typing it into an editbox, you can force mIRC to evaluate identifiers in that command by prefixing it with two // instead of one /. For example:

/echo My nickname is $me

Would print out "My nickname is $me" and would not evaluate the $me.

//echo My nickname is $me

Would print out "My nickname is Pengy" if your nickname was Pengy.

If you want to force a command to perform quietly ie. without printing out any information, then you can prefix it with a "." fullstop. For example:

/ignore somenick

Would print out information telling you that you are now igoring "somenick". If you don't want this information to be displayed, then you can use:

/.ignore somenick

If you want to perform a command without it being processed as an alias, you can prefix it with a ! exclamation mark.

Comments
You can add comments to your scripts by using the ; semi-colon at the start of a line, or /* and */ to enclose text.

;This is a comment


/*

This is a comment

*/

You can place comments anywhere in a script, they are ignored during processing.

The $& identifier
This identifier allows you to break up a single line into multiple lines which are combined when the script is performed, so you can edit long commands more easily:

longline {
echo This is an example of a long $&
line that has been split into multiple lines $&
to make it easier to edit
}

Aliases1

Aliases

mIRC allows you to create aliases and scripts to speed up your IRC session or to perform repetitive functions more easily. To create aliases you must know some IRC commands.

Aliases can be called from the command line, from other aliases, and from popup and remote scripts. An alias cannot call itself recursively mainly because this seems to cause more problems for users than it solves.

Examples

The following examples show you how to create aliases that perform simple functions.

/gb /join #gb

If you now type /gb this is the same as typing /join #gb.

/j /join $1

We have now added a parameter string. If we type /j #gb this is the same as typing /join #gb. The $1 refers to the first parameter in the line that you supply.

/yell /me $2 $1

If you now type /yell There! Hello the action command will be /me Hello There! The number after $ specifies the number of the parameter in the string that you entered.

/jj /join $?

The question mark indicates that you should be asked to fill in this parameter. The parameter you supply will be inserted in the line at that point. So if you type /jj a dialog will pop up asking you for the channel you want to join. If you enter #gb then the final command will be /join #gb.

/jj /join #$1

the # sign indicates that the parameter you specify should be prefixed with a hash indicating that it is a channel.

/jj /join $?="Enter channel to join:"

This does the same thing but now the dialog will have the "Enter channel to join:" line displayed inside it.

/aw /away $?="Enter away message:" | /say $!

This is similar to the line above except for the addition of the $! parameter. This refers to the text you just typed into the parameter box. ie. the away message. This saves you having to type the same message twice.

/give /me gives $$1 a $$2

The double $$ means that this command will only be executed if a parameter is specified. If you specify only one parameter in the above command it will not be executed. You can also do $$?1 or $?1 which means try to fill this value with parameter one if it exists. If parameter one doesnt exist, ask for it. In the first case the parameter is necessary for the command to be executed, in the second case it isn't.

/slap /me slaps $1 around with $2-

The $2- indicates that everything following and including parameter 2 should be appended to the command line. if you type /slap Sheepy a large trout the final line will be /me slaps Sheepy around with a large trout.

You can also specify $2-5 which means use only parameters 2 to 5.

/laugh /me laughs at $1's joke

Anything appended to a $ parameter is appended to the final parameter. So if in the above example we type /laugh mimi the final command would be /me laughs at mimi's joke.

/silly /say Hel $+ lo th $+ ere $+ !

Parameters are normally separated by a space. To make mIRC combine parameters you can use the $+ identifier. The above line will say Hello there!.

/p /part #

The # sign refers to the channel you are currently on. So if you are on channel #blah, and you type /p then mIRC replaces the # sign with #blah, and the final command is /part #blah.

/op /mode # +o $1

To op someone you can now just type /op goat instead of the whole /mode command.

/dop /mode # -ooo $1 $2 $3

You can now deop three users by typing /dop goat mike bongo.

For multiple commands you should use a | character (the shifted character usually under the \ key). So to write an alias that kicks and bans someone:

/dkb /kick # $1 | /mode # +b $1

The [ ] evaluation brackets
If you want greater control over the order of evaluation of identifiers, you can use the [ ] brackets. Identifiers within these brackets will be evaluated first, from left to right. You can nest brackets.

/say % [ $+ [ $1 ] ]

You can also force a previously evaluated identifier to be re-evaluated by using extra [ ] brackets.

/set %x %y
/set %y Hiya!
/echo [ [ %x ] ]

The { } brackets
You can create multi-line scripts by using the { } brackets. This allows you to create an alias which performs several commands.

/poem {
/msg $1 The Wendigo, the Wendigo,
/msg $1 It's eyes are ice and indigo...
}

The If-then-else statement

You can use if-then-else statements to decide which parts of your script executes based on the evaluation of a comparison.

/number {
if ($1 == 1) echo One
elseif ($1 == 2) echo Two
else echo Unknown number!
}

This creates an alias which tests if the parameter you supplied is the number 1 or the number 2.

For more information, see the if-then-else section.

The Goto command
The /goto command allows you to jump from one point in a script to another point.

/number {
if ($1 == 1) goto one
elseif ($1 == 2) goto two
else goto unknown
:one
echo One
halt
:two
echo Two
halt
:unknown
echo Unknown number!
halt
}

Using a goto incorrectly could lead to an infinite loop. You can break out of a currently running script by pressing Control+Break.

Note: I didn't prefix the above commands with the / command prefix. This is because the command prefix is really only needed when entering a command on the command line. In scripts, all lines are assumed to start with a command, so you don't need to use the / command prefix.

Basic IRC Commands

Basic IRC Commands

IRC commands allow you to perform specific functions on IRC, such as maintaining control of a channel and the users on it. The following list of basic IRC commands should help you get started. There are also Other Commands you can look at later.

General Commands

/JOIN #channel
Joins the specified channel.

example: /join #irchelp

This will make you join the #irchelp channel. Once on a channel, anything you type will be seen by all the users on this channel. The #irchelp channel is very useful, so say hello and then ask any questions you want. If the channel you specified doesn't exist, a channel with that name will be created for you.

Some channels may also have keys ie. a password, which you need to specify when using the /join command.
example: /join #irchelp trout

This will make you join the #irchelp channel using "trout" as the password.

/PART #channel
Leaves a channel.

example: /part #irchelp

/LIST [#channel] [-MIN #] [-MAX #]
Lists currently available channels. You can also tell mIRC to show only channels with a minimum and a maximum number of people. If you specify a #channel then mIRC will only list information for that channel. If you specify wildcards, eg. *love* then mIRC will list all channels that contain the word love in them.

example: /list
example: /list -min 5 -max 20
example: /list #mirc
example: /list *love*

/ME message
Tells the current channel or query about what you are doing.

/QUERY nickname message
Opens a query window to this user and sends them a private message.

/MSG nickname message
Sends a private message to this user without opening a query window.

/NOTICE nickname message
Sends a private message to this user without opening a query window

for either you or them.

/WHOIS nickname
Shows information about someone.

/NICK nickname
Changes your nickname to a new nickname.

/QUIT [reason]
Disconnects you from IRC and will give the optional message as the reason for your departure. (this message only appears to people who are on the same channels as you).

example: /quit That's all folks!

/AWAY [away message]
Leaves a message explaining that you are not currently paying attention to IRC. Whenever someone sends you a MSG or does a WHOIS on you, they automatically see whatever message you set. Using AWAY with no parameters marks you as no longer being away.

example: /away off to get something to eat, back in a moment!

/TOPIC #channel newtopic
Changes the topic for the channel.

example: /topic #friendly Oh what a beautiful day!

/INVITE nickname #channel
Invites another user to a channel.

Channel and User Commands
If you have Op status, the following commands give you control over both a channel and the users on it.

/KICK #channel nickname
Kicks named user off a given channel.

example: /kick #gb Ed

/MODE #channel|nickname [[+|-]modechars [parameters]]
This is a powerful command that gives channel operators control of a channel and the users on it.

Channel modes
------------------------
ModeChar Effects on channels
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
b ban somebody, in "nick!user@host" form
i channel is invite-only
l channel is limited, users allowed max
m channel is moderated, (only chanops can talk)

n external /MSGs to channel are not allowed
o makes a channel operator
p channel is private
s channel is secret
t topic limited, only chanops may change it
k set secret key for a channel

User modes
-------------------
ModeChar Effects on nicknames
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
i makes you invisible to anybody that does
not know the exact spelling of your nickname
o IRC-operator status, can only be set

by IRC-ops with OPER
s receive server notices
v gives a user a voice on a moderated channel

Here a few examples of the MODE command:
To give someone Op status: /mode #channelname +o nickname

Giving someone Op status means giving them control over the channel and the users on it. Give this out sparingly and to people you trust.

To op several people: /mode #channelname +ooo nick1 nick2 nick3

To de-op someone: /mode #channelname -o nickname

To ban someone: /mode #channelname +b nickname (or user address)

example: /mode #animals +b Jiminy
example: /mode #tree +b joe@bloggs.edu

To Unban someone: /mode #channelname -b nickname (or user address)

example: /mode #gb -b Ed

To Make a channel invite only: /mode #channelname +i

You must now invite a user for them to be able to join your channel.

There many more commands but this list should help you get started. To learn more about IRC commands you should download an IRC FAQ.

Changing Colors

Changing Colors

mIRC uses black text on a white background by default because this allows colored text to appear clearly and crisply. However, if you find the color scheme too bright, or if you want something a bit more fun, you can change the text and background, as well as other specific types of text eg. your own messages, to other colors.

To change the color settings, select the Colors dialog from the Tools Menu. It will popup up and show you the different types of messages in their current color settings.

To change the color of an item, just click on it and you'll see it's name appear in the listbox at the bottom. Then click on any of the colored squares, and you'll see the color of the text for that item change accordingly.

To change the background color, just click on the background itself and select a color as usual. You can also click on the background of the editbox and the listbox to change their colors as well.

If you don't like the changes you've made you can either click cancel or you can click the reset button which will reset the colors back to the default mIRC colors.

To customize the color of one of the color boxes, just click your right mouse button on it and a custom color dialog will pop up allowing you to choose a new color for it.

Once you've finished making changes, click on the Ok button, and hey presto you should now feel a bit more colorful!

mIRC also allows you to interactively change the color, as well as the appearance, of text as you type. You can find out how to do this in the Control Codes section. However remember that other people might have a background color that's different from yours, so what appears clearly on your background color might be hard to read on someone else's.

Sending and Receiving Files

Sending and Receiving Files

The ability to Send and Receive files is one of the most useful features of mIRC since it allows you to share all kinds of information with other people on IRC.

Warning: If you've never shared files before, please read the Accepting Files on IRC section so as to be aware of the dangers of accepting files from others before you start.

On IRC, a method called DCC Send and DCC Get is used to connect directly to another IRC client to Send and Get files, instead of going through the IRC network. The IRC network is used only to initiate the DCC Send request.

DCC Send
DCC Send allows you to send a file to another user. You can do this by clicking on the DCC Send toolbar button to open the DCC Send dialog. You can then enter the nickname of the user, select the file you want to send, and click on the Send button.

mIRC will then tell the user that you want to send them a file. The user then has to accept your send request, at which point the file transfer will begin.

Packet Size
The packet size is the number of bytes that mIRC will send to another client in one packet. The minimum is 512, the maximum is 8192.

If you check minimize then the dcc send window(s) will be minimized automatically.

Fill Spaces
The fill spaces option replaces spaces in long filenames with an underscore character. For more information read this.

Fast Send
Turning on this option should speed up your DCC sessions. You can also change this setting with the /fsend [on|off] command.

Note: DCC Send needs to use your IP address to initiate a connection with another client. If you are having trouble initiating a connection then your IP address might be wrong. See the Local Info section for more information.

DCC Get
Whenever someone tries to DCC Send a file to you, mIRC pops up the DCC Get and asks you if you want to accept the file. If you choose to accept the file, mIRC will ask the sender to begin the file transfer, at which point you should begin receiving the file.

DCC Resume
This feature allows you to resume DCC transfers that failed to complete.

If a user tries to send you a file that already exists in your get directory then you will be shown a warning that the file exists. You then have the option to either overwrite, resume, or rename the file.

If you select overwrite then the whole file will be downloaded from the beginning and any existing file of the same name will be erased.

If you select resume then mIRC will attempt to negotiate a transfer resume to get the remaining part of the file. It will append this to the portion of the file you already have.

The mIRC DCC Resume Protocol is described here if you need to know how it works.

DCC Options
You can also find other DCC related settings in the DCC dialog which can affect how file transfers behave.

The /dcc send command
The /dcc send command can also be used to initiate a DCC Send to the specified nickname. The format of the command is:

/dcc send -cl [file2] ... [fileN]

If you specify more than one filename, multiple dcc send sessions to the specified user are initiated.

If you specify a wildcard filename, then the DCC Send dialog will display files matching the wildcard.

The -c switch makes the dcc window close automatically once the transfer has finished.

The -l switch limits the transfer rate to the max cps limit specified in the DCC Fileserver.

Note: If you want to connect to someone else's DCC Server you can specify an IP Address and port instead of the nickname, eg. /dcc send ipaddress:port

Chatting Privately

Chatting Privately

As well as being able to chat on public channels, mIRC also allows you to chat privately with someone.

If you're on a channel, and you see someone you'd like to chat with, you can double-click on their nickname in the nickname listbox and a private query window will open up. You can then start chatting privately to them through the query window. Alternatively, you can click your right mouse button in the nickname listbox and a popup menu will appear with various options, one of which will be to open a private query window to the person selected in the nickname listbox.

If you're not on a channel, you can type the command /query nickname, where nickname is the person you want to chat with. Press the enter key, and a query window will open up and you can start chatting privately, assuming of course that the person is on IRC. You can find out if a person is on IRC by using the /whois nickname command.

There is another way to chat privately called DCC Chat. This method is more secure and usually faster because it doesn't rely on the IRC Server to relay your messages. Instead it connects directly to the other person's IRC Client. However it does need to use the IRC Server to initiate the chat session.

To DCC Chat someone, you can click on the Chat button in the toolbar, and a DCC Chat dialog will pop up. Enter the person's nickname, and click on the Chat button, and if the person accepts your DCC Chat request, you will be able to start talking to them privately.

If a user sends you a chat request, a chat dialog will pop up asking you whether you want to accept their chat request. You can then accept or decline. You can find out more about DCC Chat related settings in the DCC Section.

The /dcc chat command is another way of initiating a dcc chat, where nickname is the user you with whom want to dcc chat.

Note: DCC Chat needs to use your IP address to initiate a connection with another client. If you are having trouble initiating a connection then your IP address might be wrong. See the Local Info section for more information.

Joining A Channel

Joining A Channel

Once you've connected to an IRC Server, you can join a channel to talk to other people. There are several ways to join a channel, each is explained below.

The Favorites Folder
The easiest way to join a channel is to use the favorites folder which holds a list of your favourite channels. mIRC automatically pops up this folder the moment you connect to an IRC Server. You can join one of the listed channels by selecting it and clicking the Join button.

You can also view the favorites folder by clicking on the favorites folder button in the toolbar.

The Channels List
Another way to join a channel is to retrieve the list of currently active channels by using the List Channels dialog. You can view the List Channels dialog by clicking on the List Channels button in the toolbar.

To retrieve the entire channels list, you can click on the Get List button. The list can be quite long, often thousands of channels, so it can take several minutes to retrieve it. mIRC will save this list once you have retrieved it, so if you wish to view it again later you can just click on the Apply button. However, if you want an updated list you will need to retrieve it again.

If you click your right mouse button in the channels list window, a popup menu with various options will appear.

Note: You can also specify a filename for the channels list which can be useful if you regularly visit different IRC networks.

The /join Command
The format of the /join command, which is an IRC Command, is /join #channel where #channel is the name of the channel you want to join. So if you wanted to join channel #mIRC, you would type /join #mIRC and press enter, and a moment later the #mIRC window will open indicating that you have joined it.

Creating a new channel
You can create a new channel if it doesn't already exist just by joining it. So, let's say you want to create a channel called #bubbles, you would just type /join #bubbles, and if it doesn't exist it will be created for you. If it does exist, you will just join it as usual.

Talking on a channel
You can talk to other people by typing in a message and pressing the enter key. Your message will be sent to the channel and everyone on the channel will see it. A good first message is just to say hello with a smiley face :)

The listbox on the side of the channel window lists all of the people who are currently on that channel. If you click your right mouse button in the listbox, a popup menu with various options will appear.

Popup menus are actually used everywhere in mIRC, you can even click your right mouse button in the status window, or in the channel window itself, and a different popup menu will appear. These popup menus are configurable, you can change them in the Popups dialog to perform whatever functions you require.

Leaving a channel
You can leave a channel by clicking it's window's close button, or you can use the /part command, which is another IRC command similar to /join. The format of the /part command is /part #channel where #channel is the name of the channel you want to leave. If you type /part without a channel name and press enter, you will part the current channel.

Hint: you can click the top left corner button/icon in any window in mIRC to view the System menu which contains useful features.

Connecting to a Server

Connecting to a Server

Connecting to an IRC server is the first step to chatting on IRC and is done through the Connect dialog, which pops up automatically when you first run mIRC.

Once you enter a few basic pieces of information about yourself, you can select an IRC Server from the servers list and then click on the Connect button. You'll know you've connected when the IRC server shows you it's Message Of The Day, which contains information about that server. At that point you'll be able to Join a channel to start chatting.

Basic information
The following information is required before you can connect to a server.

Full Name
You can enter your real name here, however note that whatever you enter can be seen by other people on IRC. Most people usually enter a witty one-liner or comment.

Email Address
You must enter a full email address eg. khaled@mirc.com.

Nickname and Alternative
Your nickname is the name by which people will know you on IRC. Remember that there are many hundreds of thousands of people on IRC, so it's possible that someone might already be using the nickname you've chosen. If that's the case, you should try to pick a different, more unique, nickname. You can enter an alternative nickname as well in case someone is using your first nickname. If both nicknames are in use, mIRC inserts "/nick" into the edit box so that all you have to do is enter a new nickname and press enter.

Invisible Mode
If you turn on the invisible mode switch, people will not be able to find you on IRC unless they already know your nickname, or if you join a channel or talk to them privately.

IRC Servers
The IRC server that you choose is the most important factor in determining how quickly and easily you connect, so if it's taking a long time to connect to one IRC Server, choose a different one and try connecting again.

Note: If you're having problems connecting to an IRC Server, see the Connection Problems section.

You can manage your list of IRC servers by using the add, edit, and delete buttons. Each IRC server consists of the following information:

Description
This can be any text you want and serves only as a description.

Address
This is the IRC server address eg. irc.dal.net

Port Number
This is usually 6667. If the server allows connections on different ports, you can enter them all separated by commas eg. 6667,6668,6669 and mIRC will pick one randomly each time it connects to the server.

Group Name
This allows you to group servers together when they are sorted with the Sort button.

Password
This is rarely required, so you should not have to enter anything here unless you have been specifically told to do so.

Hint: If you click your right mouse button on the Options toolbar button, a popup menu appears that allows you to quickly connect to an IRC server.

New Server Window

The new server window option allows you to connect to more than one IRC server at the same time. Just check the new server window checkbox, and click the connect button. The checkbox setting isn't remembered, so it will be turned off the next time you open the connect dialog.

To open a new server window without connecting to a server, you can check the new server window checkbox and then press the OK button.

Hint: You can click your right mouse button on the connect toolbar button to display a popup menu listing your most recently accessed IRC servers. If you press the shift key while selecting a server in the popup menu it will open in a new server window.

mIRC Commands 2

/exit
Close down mIRC and exit.

/filter [-asdfkwxnpriocteubglLz] [n-n2] [c s] [alias]
This command scans lines of text in a window or file and if any of them contain matchtext, they are written out to another window or file which you can then use.

The infile can be a filename or a window name (custom or normal). The outfile can be a filename or a custom window name. You should specify the -fw switches if the names are ambiguous eg.

/filter -ff in.txt out.txt *mirc*

This indicates that both are filenames, and:

/filter -wf #in.txt #out.txt *help*

indicates that the first is actually a window name, and the second is a filename.

The -a switch sorts filtered lines by calling the optional [alias]. The alias is passed two lines in $1 and $2, it must compare these and return -1, 0, or 1 to indicate relative sort order of these lines to each other.

The -x switch excludes matching lines.
The -n switch prefixes lines with a line number.
The -s switch makes the status window the infile.
The -d switch makes the single message window the infile.
The -p switch wraps the text output in a custom window.
The -r switch specifies the range of lines n to n2 for filtering.
The -b switch strips BURK codes when matching text.
The -g switch indicates that matchtext is a regular expression.

The -z switch retains line colors when filtering between custom windows.

The -k switch indicates that you have specified an as the output instead of a window name. The alias will be called with the result of each filtered line.

The -i switch indicates that you have provided a [dialog id] custom dialog control as the input.
The -o switch indicates that you have provided a [dialog id] custom dialog control as the output.

The -c switch clears the output window/file before writing to it.

The -t switch sorts the output based on [c s], column C using character S as the columns separator
The -e specifies a descending sort, and -u a numeric sort.

The -l switch filters from the side-listbox in the first window, and -L filters to the side-listbox in the second window.

You can filter blank lines by specifying $crlf for the matchtext.

This command also fills the $filtered identifier with the number of matches found, if any.

Note: If the input and output are the same window/file, mIRC will process the request correctly.

/findtext -n
This searches active window for the specified text (same as Control+F).

/flash [-wbrN] [window]
This flashes the specified mIRC window/icon with text in the titlebar but only if mIRC is not the active application.

The -b switch makes mIRC beep every second.
The -w switch makes mIRC play the Flash sound specified in the Event Beeps section.

The -rN switch makes mIRC repeat the flash only N times.

/flushini
Flushes the specified INI file to the hard disk. INI files are cached in memory, so you may want to do this to make sure that your INI is updated properly.

/font [-asgbdz|window]
This allows you to change the font for the current window. If no parameters are specified, the font dialog pops up, otherwise the specified parameters are used. You can make the font bold by using the -b switch.

The -a switch applies the setting to the active window, -s to the status window, and -g to the finger window.

The -d switch makes the font the default for that type of window, eg. for all channels, or all chats.

The -z switch clears all font settings and sets all windows to the specified font. If no font is specified, all windows are set to default font settings.

Note: If you use a negative number for the font size, it will match the size of fonts in the font dialog.

/fullname
Changes the full name in the connect dialog.

/help [keyword]
Brings up the section in the mIRC help file which matches the specified keyword.

/hop [-cn] [#channel] [message]
Parts the current channel and joins a new one. If no new channel is specified, it parts and rejoins the current channel without closing the window.

The -c switch cycles the specified channel by parting and rejoining it.

The -n switch minimizes the channel window.

/join [-inx] <#channel>
This is a standard IRC command for joining a channel.

The -i switch makes you join the channel to which you were last invited.
The -n and -x switches minimize/maximize the channel window when you join it.

/linesep [-s|window]
Prints the line separator selected in the Options dialog in the specified window.

/links [-nx]
Retrieves the servers to which your current server is linked.

The -n and -x switches minimize/maximize the window when it opens.

/load <-a|-pscqnm|-ruvsN>
Loads the specified alias, popup, or script.

/load -a aliases.ini loads an aliases file

/load -ps status.ini loads a status window popup
/load -pc status.ini loads a channel popup
/load -pq status.ini loads a query popup
/load -pn status.ini loads a nickname list popup
/load -pm status.ini loads a menubar popup

/load -ru users.ini loads a users file
/load -rv vars.ini loads a variables file
/load -rs script.ini loads a scripts file

If you try to load a file that is already loaded, it's contents are updated and it's position in the alias/script processing order is maintained.

You can also use the /reload command with the same parameters to reload a file without triggering the on start/load events in the script being loaded.

If you specify the N with /load -rsN, this loads/reloads the script into the Nth position in the script list.

Note: You can only load one section at a time.

/loadbuf [lines] [-pirsgleopcnmNt]
Loads the specified number of lines from the end of the file of filename into the specified window.

/loadbuf 20 @test info.txt

This loads the last 20 lines of info.txt into custom window @test.

/loadbuf 10-40 @test info.txt

This loads lines 10 to 40 of info.txt into custom window @test.

The -p switch forces lines of text to wrap when added to the window.
The -i switch makes sure that lines are indented if they wrap.

The -r switch clears the contents of the output window.
The -s and -g switches apply the command to the status and finger windows respectively.
The -l switch applies the command to the side-listbox in a custom window.
The -e switch evaluates variables and identifiers in the line being read.
The -cN switch specifies the default color for lines.

The -n switch logs the loaded text to a log file, if logging is enabled for that window. The -m switch indicates that the text is already time-stamped.

The -t switch loads the text under the [topic] section in an INI or plain text file.

The -o switch indicates that you have specified [dialog id] parameters instead of a window name in order to load text into a custom dialog control.

/localinfo -uh [host ip]
Looks up and sets your local info settings. The -u switch performs a /userhost lookup, the -h switch does a normal lookup. If you wish, you can also set the local info manually by specifying the host and ip values.

/log [-f filename]
Turns logging on and off for a window, if you specify a filename the logs file dialog is not popped up.

/mdi -act
Allows you to arrange icons, and cascade/tile windows.

/mkdir
Creates the specified directory.

/nick
Changes your nickname.

/omsg [#channel]
This and the /onotice command sends the specified message to all channel ops on a channel. You must be a channel operator to use these commands. If the #channel isn't specified, then the current channel is used.

mIRC Commands 1

The following commands are mostly unique to mIRC, though some are only modifications or extensions of standard IRC commands.

Note: To view the full list of commands see the Search dialog.

/ajinvite [on | off]
Turns auto-join on invite on or off.

/alias [filename]
Adds, removes, replaces aliases; it is limited to single line aliases and will not affect mutiple line definitions.

/alias /moo /me moos!

This will replace the first matching alias with the new command. To remove an existing aliases:

/alias /moo

To add an alias to a specific alias file, you would use:

/alias moo.txt /moo /me moos!

If you don't specify a filename, it defaults to using the first filename in which the alias exists, or if it doesn't exist then it uses the first loaded aliases file.

/amsg
This and the /ame command send the specifed message or action to all open channel windows.

/anick
Changes your alternate nickname.

/background [-aemsgdluhcfnrtpx] [window] [filename]
Changes the background picture setting for a window. This can also be changed via a windows System Menu.

-a = active window
-m = main mIRC window
-s = status window
-g = finger window
-d = single message window

-e = set as default

-cfnrtp = center, fill, normal, stretch, tile, photo

-l = toolbar
-u = toolbar buttons

-h = switchbar

You can right-click in the toolbar/switchbar to pop up a menu for changing these settings. Toolbar buttons can use RGB Color 255,0,255 for transparency, the BMP must be of the same form as that in mIRC resources. It should be a 16 or 256 color BMP.

-x = no background picture

Note: The window name should only be specified if none of the window switches are specified. The filename does not need to be specified if you are only changing the display method.

/ban [-kruN] [#channel] [type]
Bans someone from the current channel using their address. To do this, it first does a /userhost on the user, which gives it the user's address, and then it does a /mode # +b .

If you specify the -k switch, mIRC performs a ban/kick combination on the nickname.

If you specify the -uN switch, mIRC pauses N seconds before removing the ban.

If you specify the -r switch, /ban removes the ban of the specified type for that nickname, eg. /ban -r nick 2

If you do not specify a ban type, then mIRC uses the whole nick!*user@host to do the ban. If you are banning an IP address then a wild card replaces the last number of the IP address. If you are on the channel then the #channel specification is not necessary.

If you specify a wildcard address it is used as-is, if you specify a full address then the type mask is applied to it.

For a list of ban types see the $mask identifier.

Note: This command uses the IAL maintained by mIRC.

/beep
Beeps a number of times with a delay.

/channel [#channel]
Pops up the channel central window for the channel window you're currently in. You can also specify a #channel name to open the channel central for a channel you've already joined but which isn't the active window.

/clear [-sghlc] [windowname]
Clears the buffer of the current window. If you specify a window name, that window's buffer will be cleared.

The -s switch clears the status window.

The -g switch clears the finger window.
The -l switch clears the side-listbox in a custom window.
The -c switch clears the click history in a picture window.
The -h switch clears the editbox command history for a window.

/clearall [-snqmtgu]
Clears the buffers of the specified windows, where s = status, n = channel, q = query, m = message window, t = chat, g = finger, u = custom.

If no switches are specified all windows are cleared.

/clipboard [-an]
Copies the specified text to the clipboard. The -a switch makes it append the text to any existing text in the clipboard. The -n switch appends a $crlf to the text.

/close [-icfgms@] [nick1] ... [nickN]
Closes all windows of the specified type and the specified nicknames. If no nicknames are given, all windows of the specified type are closed. The type of window is denoted by c for chat, f for fserve, g for get, i for inactive dcc windows, m for message (query), s for send, and @ for custom windows.

You can specify the Nth window for -cfgs by appending a number, eg. /close -s4 nick, would close the 4th open dcc send to nick.

You can also use a wildcard as the window name and all matching windows will be closed.

/color [-lrs]
Allows you to change the color settings for items in the Colors dialog.

The -l switch reloads the color settings from the mirc.ini file.

The -r switch resets the Nth color in the 16 color palette to its default RGB value, with /color -r . To change the color of the Nth color in the 16 color palette to a new value, you can use /color

To change the color of a text item in the color dialog, you can specify the name of the item, eg. Normal text, along with a new palette index.

The -s switch changes the active scheme, with /color -s

/copy -ao
Copies a file to another filename or directory. You can also use wildcards for the source filename, and a directory name for the destination. The -o switch overwrites a file if it exists. The -a switch appends the first file to the second one.

/creq [+m|-m] [ask | auto | ignore]
This is the command line equivalent of setting the DCC Chat request radio buttons in the dcc options dialog (see /sreq below). The +m|-m switch turns the minimize setting on|off.

/ctcpreply [message]
Sends a reply to a ctcp query.

/ctcpreply goat HELP no help available.

/debug [-cinpt] [N] [on | off | @window | filename] [identifier]
Outputs raw server messages, both incoming and outgoing, to a debug.log file, or a custom @window.

/debug -n @moo, opens a custom @window minimized
/debug -c off, turns off debugging and closes the associated custom @window
/debug -pt, wraps or timestamps messages
/debug N @moo, uses color N for messages

The -i switch calls the specified identifier before a debug line is logged. The return value of the identifier is used as the debug line.

The $debug identifier returns the name of debug file or @window.

Note: /debug works independently for each server connection.

/describe
Sends an action to the specified nickname or channel, the same as the /me command, except that /me is used while in a query or channel window so you don't need to specify the target when using it.

/disconnect
Forces a disconnect from a server. This is different from the /quit command which sends a quit message to the server and waits for the server to disconnect you.

/dll [data]
This allows you to call routines in a DLL designed to work with mIRC.

/dns [-ch] [nick|address]
Resolves an address. If mIRC sees a "." in the name you specify it assumes it's an address and tries to resolve it. Otherwise it assumes it's a nickname and performs a /userhost to find the user's address and then resolves it. If you specify an IP address, it looks up the host name.

You can queue multiple /dns requests, and you can view the current queue by using /dns with no parameters.

The -c switch clears all currently queued DNS requests, except for the one currently in progress.

The -h switch forces /dns to treat the parameter as a hostname.

Note: Due to way the DNS lookup works, any DNS related functions currently in progress eg. connecting to a server, must be resolved before subsequent requests. This means that if a prior DNS is having problems resolving, subsequent DNSs have to wait until it times out before they can be resolved.

/dqwindow [on|off|show|hide|min]
Manipulates the single message window.

/ebeeps [on | off]

Enables or disables the sounds in the Sounds dialog.

/echo [color] [-cdeghiNtsaqlbfnmr] [color name] [#channel|[=]nick]
Prints text in the specified window using the specified color (0 to 15).

/echo 3 #mIRC Testing

would print "Testing" in the color green in channel window #mIRC, assuming it's already open.

If a channel/nickname isn't specified, the -s switch echos to the status window, the -d switch echos to the single message window, and the -a switch echos to the currently active window.

The -e switch encloses the line in line separators.
The -iN switch indents the wrapped line by N characters.
The -h switch forces lines to hard-wrap so resizing the window doesn't change the line.
The -t switch prefixes the line with a timestamp if global time stamping is on or timestamping is on for that window.
The -q switch makes it not display the text if called from an alias using the . prefix.
The -l switch makes it apply the highlight settings to the line that's displayed.

The -bf switches make it apply the beep/flash settings in the window it is echoing to.
The -n switch prevents the echo from hiliting the window switchbar icon.
The -m switch indicates that the line should be treated as a user message, not an event.
The -g switch prevents the line from being logged to the log file.
The -r switch applies the strip settings in the messages dialog.
The -c switch uses the specified color name from the colors dialog.

Note: This text is only displayed in your own window, it isn't sent to the server, no one else can see it.

/editbox [-safnop|[=]window]
Fills the editbox of the current window with the specified text.

The -s switch specifies the Status window.
The -a switch specified the Active window.
The -f switch sets the focus to the editbox.
The -p switch indicates that a space should be appended to text.
The -n switch fills the editbox and presses the enter key in the editbox.

The -o switch applies the command to the second editbox in a channel window.

To specify a dcc chat window, prefix the nickname with an = equal sign.

/emailaddr


Changes the email address in the Connect dialog.