mIRC FAQ 20 supplement for mIRC 3.8 by residue
-----------------------------------------------------------------------
See mIRC FAQ 21 (pending release), the mIRC Help file and versions.txt
for other excellent resources.

Among mIRC 3.8's many new features are built-in dns lookup, 
a revised system for saving .ini sections, ON CHAT and ON SERV events
for dcc chat and fileserver windows, a feature rich /play command, 
a built-in finger server, a reorganized setup dialog, long filename 
support for 32bit mIRC, tab key support to cycle through nicks that 
have recently messaged you, and new tabbed folders in the options menu.


DNS lookup
----------
mIRC can now resolve the IP address and the host name if given a nickname,
IP address, or host name. If a "." is included in the name to be resolved 
mIRC will interpret it is as an address and attempt to resolve it. Otherwise,
mIRC will treat it as a nickname and perform a whois to determine the address
before proceeding with the lookup.

Proper syntax is /dns <nick/address>

ie.   /dns residue
      This will return the IP (numeric) and the domain host name
      of the nick residue in the status window.
      *** Looking up 205.198.116.30
      *** Resolved 205.198.116.30 to dial11.bway.net	

      /dns lewwid.nbnet.nb.ca
      *** Looking up lewwid.nbnet.nb.ca
      *** Resolved lewwid.nbnet.nb.ca to 156.34.57.57
      
      /dns 198.161.220.180
      *** Looking up 198.161.220.180
      *** Resolved 198.161.220.180 to megasoft.tic.ab.ca


Saving ini sections
-------------------
*BACKUP* *BACKUP* *BACKUP* *BACKUP* *BACKUP* *BACKUP* *BACKUP* *BACKUP* 

*Note* The /add command from previous versions is no longer supported.

Users of earlier versions of mIRC may have experienced cases of 
disappearing entries from their alias, popup, and remote sections. To
alleviate the problem it is now strongly recommended that you save your
aliases, popups, and remote information in separate .ini files. This
is particularly recommended for those with large .ini files.

To do this manually you first need to make a backup of your current .ini.
The next step is to load mIRC with your current ini and then use the save
buttons in the alias, popup, and remote sections (5 total) to save the 
sections to different files.

An alternative method of saving to separate .ini files is to use the new /save command.
proper syntax is /save -<a|p|u|c|e> <file.ini> 
where a=aliases, p=popups, u=users, c=commands, e=events

To save the aliases to a file you might type /save -a c:\mirc\aliases.ini
Only one of the five switches may be used at a time with the /save command.
Sections can also be loaded using the /load command in the same fashion.

After the sections are saved in 5 separate .ini files you need to close mIRC 
and then load mirc.ini in to a text editor, such as DOS edit, notepad, or wordpad.
Carefully remove the following sections from your .ini file:

[mPopup]
[qPopup]
[lPopup]
[Aliases]
[Users]
[Commands]
[Events]

This can be a tricky step for some users since you are erasing the sections that you
,presumably, have just saved in to separate files so make sure you have a backup copy.

Towards the end of your mirc.ini you should see something equivalent to the following:

[Files]
aliases=c:\mirc\aliases.ini
popups=c:\mirc\popups.ini
users=c:\mirc\users.ini
commands=c:\mirc\commands.ini
events=c:\mirc\events.ini

mIRC will still use your original .ini file for setup type info so it will  
still be loaded upon startup, upon which it will call the other .ini files.


ON CHAT and ON SERVER
---------------------
These have been frequently requested features that have finally been implemented
in mIRC 3.8. They work in the same manner as ON TEXT to scan the DCC CHAT and FSERVE
windows.

i.e.  1:ON CHAT:hello:/msg =$nick This beats lag :)
      note the use of = in front of the $nick to send the message to the dcc window


/play command
-------------
The /play command has been restructured to provide users with additional control 
via swiches. Text files are queued in the order of the /play requests unless the
the priority -p switch is used. mIRC will default to the mirc.exe directory if 
the specified file is not found in the path.

/play [-cp q# m# rl# t#] [channel/nick] <filename> [delay] 

[delay] is in milliseconds
-c    forces mIRC to interpret the lines as commands
-p    causes mIRC to place the file at the beginning of the queue to be played
-t[section] this will play the specified section from the text file
            play stops at the header of the next section	

When files are played using the two switched below the files must contain the number
of lines in the file in the first line.
-r    mIRC will select a random line from the file to be played
-l#   mIRC will play # lines from the file

The following switches may only be used in a remote event to prevent flooding
-q#   limits the number of files that may be queued to #. files added above the 
            limit will not be played
-m#   limits the number of files that may be played to a single user or channel

i.e.
/play -cp c:\misc\users.txt #ircnewbies 1000
/play thelp c:\misc\help.txt 1000
      the text file might look like
      [help]
      .
      .
      .
      [help2]
      .
      .
/play -r jokes.txt 100
/play -l10 poem.txt 1500
/play -pq3m1 help.txt 1000


Finger server
-------------
The new finger server will allow people to finger you. It requires that you first set 
up a finger.txt file. First, create a finger.txt file with named sections.
There should be a default section as well as a section for the userid to be fingered.
      ex.
      [default]
      .
      .
      .

      [residue]
      .
      .
      .
mIRC will first look for a userid to match the one being fingered. If one is not found it
will display the information listed under the [default] section.

After you have created a finger.txt file, go to misc|options|servers to enable the finger
server and specify a path to the file.


Cycling [Tab] nicks
-------------------
This is one of my favorite features. mIRC will store the last five nicks that message you
and allow you to press the [Tab] key to cycle through them so you can message individuals
without having to type /msg nickname each time. It works in any window.


Long filenames
--------------
An option will appear in the 32bit version of mIRC called "fill spaces" in DCC|send.
It is suggested that this option always be turned on. When DCC'ing to clients that do not 
support spaces in the filename but do support long filenames, the "fill spaces" option 
will allow you to properly DCC by filling the spaces in with underscores.

This is a long filename --> This_is_a_long_filename

When DCC'ing between two clients that do support long filenames and spaces, such as two 
Windows95 clients runnning mirc32.exe, the option need not be turned on.


/write command
--------------
mIRC now has a /write command that will write lines to a text file. This could potentially
be useful for logging or capturing events.

usage: /write [-cid l#] <filename> [text]

-c    the file is cleared before text is written to the file
-l#   this will specify the line number to be overwritten to in the text file
      otherwise, text will be appended to the end of the text file
-i    when used in conjunction with the #l switch, text will be inserted instead of 
      overwritting the line
-d    when used in conjunction with the #l switch, the text on the line will be deleted
 

ie. 
/write -il3 c:\info.txt This text will be inserted in to the 3rd line of the file
/write -dl16 c:\info.txt
1:ON PART:#:/write part.txt $nick at $address left $chan at $time


Other Changes
-------------
Location of mirc.ini - mIRC will no longer create a mirc.ini in c:\windows. Instead, the .ini
                       will be placed in the same directory as the .exe file. However, if 
                       a pre-existing mirc.ini is already located in c:\windows mIRC will 
                       use that file.

Revised Options dialog - Khaled has added a routine to display tabbed folders ala Windows95.
                         It should be easier to find various options now. The Options dialog
                         will also remember the last viewed folder for future access.

Topic info - mIRC will display the topic, who set the topic, and what time it was set in the 
             status window when you join a channel.

Can't join channel reason - mIRC will tell you why you can't join a channel by displaying the 
                            reason in the status window.
                            #nyc can't join channel (it's invite only)
                            #mIRC can't join channel (you're banned!)

Show queries in active window - this is another long sought after feature. if you don't want 
                                mIRC to open a query window when someone messages you then go 
                                to misc|options|irc switches and make show queries active. 
                                you will also need to disable use dedicated query window if 
                                it's enabled. the show queries in active window works well 
                                with the cycling [Tab] nicks.

Show modes in status windows - this is probably going to be a popular option for those who
                               are sick the numerous mode changes. go to mirc|options|irc 
                               switches to enable it.

Show invites in active channel - this option is available under misc|options|irc switches
                                 When enabled, this option will show invites in the active 
                                 channel window instead of in the status window.

Rejoin when kicked option - in older versions, when this option was enabled under 
                            misc|options|irc swtiches, mIRC would close the channel window.
                            in mIRC 3.8, if you have rejoin channel when kicked turned on the 
                            window will stay open while it attempts to rejoin. if you can't 
                            rejoin then the window will close.

Option to auto-resume existing files - located under dcc|options, this will allow
                                       you to resume dcc of a file that already exists
                                       without prompting you for confirmation.

Flush nicks - this is particularly useful in the perform section when you need to erase 
              particular nick levels or all nicks. mIRC will check to see if the nicks are on 
              your channels and will erase all nicks that are not on your channels.
              usage: /flush [levels]
              if no levels are specified all nicks will be cleared from the userlist.

Ignore in DCC|options dialog - you can now ignore dcc chat and dcc send requests from the 
                               dialog. /sreq [ask|auto|ignore] and /creq [ask|auto|ignore] 
                               will also work from the edit box. auto accepting dcc sends is 
                               a VERY bad idea.

Enhanced /finger command - mIRC will interpret a "." in the parameter to be fingered as an 
                           address. otherwise, mIRC will assume it is a nickname and perform 
                           a whois to determine the address. this is similar to the DNS lookup.

Revised /whois info - the format of the mIRC whois info has been changed
                 ex. DrmWEaver is philw@megasoft.tic.ab.ca * Phillip White
                     DrmWEaver on @#mIRC @#unix @#root @#FreeBSD @#ca-ops 
                     DrmWEaver using aahz.magic.mb.ca [204.112.14.82] *irc.magic.ca* Hub Server
                     DrmWEaver is away: Here, but away 'n' stuff.
                     DrmWEaver is an IRC Operator
                     DrmWEaver End of /WHOIS list.

increased command line buffer - the number of commands that mIRC will store from the command 
                                line of a window has been increased from 20 to 30. press 
                                <ctrl>+up/down arrow to scroll through the previous commands

Shift & Control Function key definitions - besides being able to define aliases to function 
                                           keys mIRC 3.8 will now let you define shift and 
                                           control function key combinations. this effectively 
                                           triples the number of assignments previously 
                                           available.
                         i.e. /F1 /msg #mirc The mIRC 3.72 Homepage: http://huizen.dds.nl/~mirc/							
                              /cF3 /ctcp #twilight_zone version
                              /sF1 /say I am $me $+ . Today is $day $+ , $date $+ . I am 
                                    currently at $host connecting to $server $+ .

"me" remote prefix - remotes can now be prefixed with "me" to limit access to another client 
                     of yours with the same address, such as a bot.
                     ex. me:1:ON JOIN:#:/msg $chan I am $me $+ 's bot
                     The "me" prefix will not work with an ON TEXT event.

URL command options - you can now turn the url catcher on or off from the command line as well.
                      usage: /url [on|off|close]

Tooltip delay - under misc|options|extras is a tooltip edit box to specify a delay in 
                milliseconds.

Beep messages - under mirc|options|irc swtiches "Beep on window message" has been split in to 
                "Beep on channel message" and Beep on query message."

Server/channel/nick from command line - you can specify a server, channels, and nicks from the 
                                        command line
                                 ex. //irc.law.emory.edu:6667/#mirc,#irchelp -residue,res_away

ON SNOTICE event - assuming your nick mode is +s, you can use ON SNOTICE to react to server 
                   messages. this option is probably most useful to irc ops.
                   ex. 1:ON SNOTICE:Client connecting:!

Added /speak <text> command - this feature uses the Monolog program (must be on your system)
                              to speak text. 
                              ex. /speak You have been on IRC way too long

Enlarged remote window dialog - you get the picture (a bigger one)

Right click to make active - right clicking on an inactive window will make it the active 
                             window.



A Few Bug Fixes
---------------
$! now works again
DCC send and get windows auto-close option working again
notify bug fixed 
/echo 5 bug fixed
a more complete list of fixes can be found in the versions.txt file included in the 
mirc38.zip file

Thanks
------
khaled - for mIRC and all the neat little toys in 3.8
zx9 - for explaining a method of saving the .ini sections 
      and providing a simple conversion program
nnicki - proofing, suggestions and support :-
all the others for checking it over
