Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info.

Frequently Asked Questions about mIRC

From Higher Intellect Vintage Wiki
Revision as of 18:55, 22 July 2020 by Netfreak (talk | contribs) (Created page with "<pre> [filler] Frequently Asked Questions about mIRC. [icon] Latest mIRC version: 4.52 July 6th, 1996 The mIRC FAQ - version 27 revision 0...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
 [filler]   Frequently Asked Questions about mIRC.
  [icon]
            Latest mIRC version: 4.52 July 6th, 1996
            The mIRC FAQ - version 27 revision 0
            Last FAQ Update: July 31st, 1996

                                   [line]

 [filler]   This FAQ attempts to answer the most frequently asked questions
            about the Winsock IRC client mIRC, developed by Khaled
            Mardam-Bey. This FAQ wont answer general IRC questions since
            lots of info is already available on that. I'm not the author
            of mIRC but I've spent quite some time beta testing it. Over
            the last few months, I've come to love mIRC for its small size
            and useful tools... in particular, the popup menus and the
            Remote section are really great! ...Thanks Khaled, for an
            excellent proggie !

            This FAQ as well as mIRC is still a work in progress! Most
            subjects in this file were prompted by questions in the Usenet
            newsgroups alt.irc and alt.irc.questions. Please continue to
            post your questions there (and answers as well), as those
            newsgroups are my “learning place” as well. ;-) Also feel free
            to provide additional information or corrections for the FAQ. I
            don't have all the answers either!

            The first part (Sections 1 - 6) of this file is the actual FAQ.
            The last part (Sections 7 + 8) consists of a tutorial or
            reference manual for mIRC’s “programming” features. If you want
            to learn the 'what and how' of creating Aliases, Popups and
            Remote Commands and Events in mIRC, check out the last part of
            this file. I can highly recommend these sections to you all!

            Thanks to all the people who voluntarily contributed to this
            FAQ. In particular Mookies and Bryan for making additional
            parts and html-ing. Shorty, Keyman and Qasimtoep, thanks for
            fixing a lot of spelling and grammar bugs!

            You can e-mail me with FAQ related remarks at: [email protected]
            Questions about mIRC are best asked in the Usenet newsgroup
            alt.irc.questions
            As usual, direct all mIRC bug reports to Khaled at:
            [email protected]

            If you have further questions about mIRC, please visit the IRC
            channel #mIRC on EFnet, Undernet or Dalnet. BUT, if you ask a
            question that is really well handled by this or other FAQ's,
            then please accept that you be pointed back to such files.

            The latest info on mIRC will always be found on the mIRC Home
            and FAQ www pages or one of the mirror sites at:
            http://www.mirc.co.uk/ (London, United Kingdom)
            http://sunsite.nijenrode.nl/software/mirc/ (Nijenrode, The
            Netherlands)
            http://www.geopages.com/Colosseum/1822/ (Beverly Hills,
            California)
            http://www2.axi.net/mirc/ (St. George, Utah)

            Copyrights - You are allowed to provide and distribute the mIRC
            FAQ -as is- by or on any medium as long as you make it
            available for free. You are not allowed to change anything in
            the file or charge any amount of money for your services. If
            you want to copy only certain parts for whatever use, make sure
            to mention my name and the FAQ as the source of information
            with every single quote whenever you publish it. Copyrights
            1995, 1996 Tjerk Vonck [email protected]
            ----------------------------------------------------------------

            0 Table of Contents

            * SECTION 1: WHAT IS mIRC?
            * SECTION 2: LATEST NEWS ON mIRC.
            * SECTION 3: WHAT DO YOU NEED TO RUN mIRC AND WHERE TO GET IT.
            * SECTION 4: SHORT INTRODUCTION TO IRC.
            * SECTION 5: SOME SHORT NOTES AND TIPS ON mIRC.
            * SECTION 6: FEATURES, TIPS and ANSWERS to QUESTIONS.

               * 6-1 : How do I run the 32-bit mIRC on win 3.1 or WFW311 ?
               * 6-2 : How do I run the 32-bit mIRC on Windows95 ?
               * 6-3 : How do I solve the "Can't Resolve Local Host Name"
                 error ?
               * 6-4 : How do I solve the "Unable to resolve IRC server
                 name" error ?
               * 6-5 : How do I solve the "Not enough user parameters"
                 error?
               * 6-6 : How do I solve the "You haven't registered" error ?
               * 6-7 : Why am I unidentified and what does it matter ?
               * 6-8 : I can't get mIRC to DCC send or initiate a DCC chat
                 !
               * 6-9 : I can't get mIRC to DCC get!
               * 6-10: How do I Copy and Paste ?
               * 6-11: How do I get colored text in mIRC ?
               * 6-12: How can I customize the fonts used in mIRC ?
               * 6-13: How can I see mIRC's 3-D dialog boxes ?
               * 6-14: How do I specify people correctly in the auto-op,
                 protect and ignore lists ?
               * 6-15: How can I make mIRC react to Remote Commands ?
               * 6-16: How can I make mIRC react to Events ?
               * 6-17: How do I specify my friend Bill correctly in the
                 User list with an access level of 2 ?
               * 6-18: I get disconnected after the /LIST command.
               * 6-19: Running multiple copies of mIRC.
               * 6-20: How do I make myself invisible to other users ?
               * 6-21: How does the new sound command in mIRC work ?
               * 6-22: How does the WWW support in mIRC work ?
               * 6-23: What is the built-in finger server for ?
               * 6-24: How can I easily serve my collection of shareware to
                 others, using mIRC ?
               * 6-25: How do I use mIRC's built in support for Text To
                 Speech by Monologue ?
               * 6-26 : What is a Firewall ? How can I use it ?
               * 6-27 : How do I use mIRC's built in DDE support ?

            * SECTION 7: SOME NOTES ON 'PROGRAMMING' in mIRC.

               * 7-1 : The Aliases section.
                    o 7-1-1 Creating Aliases.
                    o 7-1-2 String definitions.
                    o 7-1-3 Identifiers.
               * 7-2 : The Popups section.
               * 7-3 : The Remote section.
                    o 7-3-1 Remote Users.
                    o 7-3-2 Remote Commands.
                    o 7-3-3 The Remote Events.
                    o 7-3-4 Various flags you can use in front of Command
                      or Event lines.
                    o 7-3-5 Variables.
                    o 7-3-6 Remote Raw processing
               * 7-4 : Advanced use of commands; Scripting.

            * SECTION 8: SOME SAMPLE MIRC SETTINGS (aliases, popups,
            Remote, etc.).
            ----------------------------------------------------------------

            1 What is mIRC?

            mIRC is a shareware IRC Chat client for Windows. It is
            developed by and is copyrighted by Khaled Mardam-Bey. For those
            of you new to the Internet, IRC stands for Internet Relay Chat.
            The IRC network is a virtual meeting place where people from
            all over the world can meet and talk (well, type). On IRC you
            meet others on "channels" (rooms, virtual places, usually with
            a certain topic of conversation) to talk in groups, or
            privately. There is no restriction to the number of people that
            can participate in a given discussion, or the number of
            channels that can be formed on IRC. As a user you run a
            "client" program like mIRC which connects to a "server" in an
            IRC network. All servers are interconnected and pass messages
            from user to user over the IRC network. One server can be
            connected to several other servers and up to hundreds of
            clients. If you need more information on IRC go to mIRC's www
            Homepages where a lot of additional information is given.
            mIRC attempts to provide a user-friendly interface for use with
            the IRC network. It has a lot of features some of which are :
            * A powerful dynamic /help command.
            * Netscape, Mosaic and MS Internet Explorer support .... surf
            the www waves !!
            * An 'off you go' Toolbar.... and even Tooltips !
            * A user programmable menu bar.
            * A Remote CTCP Commands handler.
            * A simple but smart Events handler.
            * Colored text to ease reading.
            * A handful of options.
            * Uncluttered display.
            * Simple, fully configurable aliases.
            * Configurable popup menus.
            * DCC Send/Get/Chat.
            * Full configurable fonts.
            * Built in Ident server.
            * Finger client.
            * A simple but powerful File server.
            * Programmable Function keys.

            The various parts of the program have been designed with the
            aim of simplifying and speeding up your IRC sessions. mIRC is
            made to be very configurable... there are a lot of simple
            switches you can use to personalize mIRC to your needs. And
            unlike a lot of other IRC programs mIRC still gets more and
            more mature every new version. You can define your own commands
            and implement your personal reactions to commands others give
            to your client. This all does not make mIRC a bot program, and
            it doesnÂ’t even support IRCii scripting and possibly a large
            number of other things... But it has much of the same
            functionality, thanks to the Remote Commands and Events and
            various other features... and what do you need a war script
            for, anyway? I think mIRC will help you to focus on the main
            point ; IRC is for Chatting ....

            Return to the table of contents.

            ----------------------------------------------------------------

            2 Latest News on mIRC... (What is new in version 4.52)

            While not planned at all, Khaled decided to pick up mIRC at the
            point where he took some time off, and he develops on, full
            speed ahead. The previous version 4.5 had some small problems
            that were quickly addressed in this bugfix release version
            4.52. As of today (July 29) no major bugs have turned up in
            version 4.52 and it prooves to be a very stable release. In
            version 4.5+ a lot of code changes have been made. You'll
            easily notice the speed improvements in updating windows and
            channel names lists. And you'll see a lot of added features,
            options and tools.

            Please note that the EFnet IRC servers are going to use the new
            IRCD 2.9.1 server version, which unfortunately has some
            differences in the communication with IRC clients. This can
            especially affect the /list output. The changes will be
            addressed to in a new mIRC version as soon as the server
            changes are completed.

            Bugfixes include the UTC bug that unfortunately got into the
            4.5 version just before release. Flaws in some commands needed
            to be fixed (esp. in the play command) and the install proggy
            is improved. By popular request also lots of new identifiers
            are added to the 4.52 version.

            mIRC is now shareware! After working on mIRC for over 18 months
            Khaled decided to release new versions of mIRC as shareware.
            This will allow him to go on developping and supporting mIRC
            with the same spirit and enthousiasm as he did over the past.
            Your registration of mIRC will guarantee the existance of
            mIRC's www pages for help, hints and support and further
            development of mIRC, its help files and the FAQ. :-)
            Registrations are valid for all future shareware versions of
            mIRC.

            It is impossible to point you to all changes in mIRC. They are
            as well as possible reflected in this new FAQ but for a full
            list of changes please read the versions.txt included with
            mIRC. As you might have noticed already, mIRC now comes in
            separate 16 and 32 bit issues. Also a setup program is included
            which allows you to install mIRC totally hassle free, in a
            directory of your choice. It creates backups of old versions,
            validates the self-extracting files to make sure they're not
            corrupted, and it adds icons to the program manager for you.

            A new and original feature is found in the new mIRCLink proggy
            included in the mIRC distribution. It is a helper application
            that allows you to join channels from the World Wide Web by a
            single mouse click. It even supports connections to other
            servers and password protected channels. Check the examples on
            the mIRC www pages and learn how to make your own mIRCLinks on
            your homepage!

            mIRC now supports Drag-and-Drop of files onto channel windows,
            the channel names list, query/chat and notify windows. You can
            easily define the action mIRC should take with each filetype
            you drop, in the Drag-Drop tab in the File/Options/ dialog.
            Related is the new ON FILERCVD event that allows you to launch
            helper applications to view, play or show files you downloaded
            from IRC.

            To facilitate users on relatively slow modem connections the
            list of channels is now saved to a file "channels.txt" in the
            mIRC directory. The channels list dialog now has "Apply" and
            "Get List" buttons. If "Get List" is pressed then a fresh list
            is read from the server, if "Apply" is pressed then the latest
            list you downloaded is used to search for channels etc. The
            list routines are also adapted to work properly on the new
            Undernet servers. Also in the future mIRC will stay on top of
            the Undernet protocol changes as good as possible.

            On top of this all, finally the long expected scripting
            language is implemented. You can create if, elseif, else, loops
            and all kinds of smart and conditional command lines. Lots of
            identifiers are added to provide you with fast and smart ways
            to program your own actions on virtually all you can imagine.
            Also a Tools/Remote/Raw section is added that allows you to
            watch and process almost all server<>client traffic in any way
            you want. You can overrule all mIRC's default behaviour on a
            very low level now. But use it with care ?

            Other Fixes, Changes and Improvements in version 4.5

            Again, this is only a short and compressed list to give you
            some idea about the massive amount of work done on this new
            version. If you're interested in a full list please read the
            versions.txt file and scan the mIRC help file.

            * The UTC bug is fixed. It caused clients to suddenly crash
            over improper UTC requests.
            * An invalid ctcp replies wont cause a gpf anymore.
            * A buggie in the /play command is fixed. It made certain lines
            to be played endlessly.
            * The COMMAND topic in DDE is made to work better with certain
            types of poked commands.
            * A buggie in the Popup menus (when using { } brackets to
            enclose commands in different level menu items) is fixed.
            * Several identifiers are added. Among then you'll find the
            $address, $logdir, $getdir, $wavedir, $mircdir, $lf, $cr, $lof,
            $pos, $send, $get, $mask, $nopath, $replace and $remove. Have
            fun with them!
            * Several Events are added like ON CHATOPEN, CHATCLOSE,
            SERVOPEN, SERVCLOSE events.

            Fixes, Changes and Improvements in version 4.5

            * You can now use [ and ] evaluation brackets to control the
            order of evaluation of identifiers. This will also affect your
            use of these characters in your aliases and remotes in normal
            text; they wont always display the way they did before :-)
            * You can now use server addresses in User list in remote. This
            allowes you to discriminate server specific messages a lot
            better. Server- and IRC Ops will find this very handy to filter
            and automatically process server messages.
            * A MDI options dialog is added to the Window menu which allows
            you to specify for each type of window if you want it opened as
            a stand-alone window on the desktop or, as usual, in mIRC. The
            stand-alone windows can be set to 'always on top' too.
            * Window structures are now fully dynamically allocated so
            there is no limit on the number of windows which can be opened.
            This also speeds up processing quite a bit.
            * A /titlebar command is added which allows you to change the
            text in the titlebar on the fly.
            * The DCC File Send dialog, the DCC Send/Get transfer windows
            and the DCC routines themselves are improved a lot in speed and
            interface.
            * The wildcard routine now allows ? character to match any
            single character, the * is used as normal to match multiple
            characters. This affects matching text in ON TEXT, etc. as well
            as user addresses.
            * mIRC now allows multiple channels in a remote event
            definition and you can use variables in the text and channel
            definition of an event definition and as the name of a remote
            event!
            * The pipe command :> in remotes is no longer needed to
            activate the standard replied to ctcp commands. To stop a
            standard ctcp reply a new /halt command is created.
            * Added two new events; ON FILESENT and ON FILERCVD, which can
            be used to start helper applications to view pics, play sounds,
            display texts or whatever else you can come up with. Also an ON
            BAN event is added. This will ease up keeping you and your
            friends unbanned from your channel(s).
            * Writing to, and reading from, your own customized .ini files
            is now facilitated by a new /writeini command and an $readini
            identifier.

            Return to the table of contents.

            ----------------------------------------------------------------

            3 What do I need to run mIRC ? Where do I get it ?How to
            register ?

            Besides running MS-Windows you need to have an Internet account
            and a properly installed Winsock. If you can use FTP, E-mail,
            News or other Internet programs from within Windows already,
            you can safely assume you have a both. If you do not have a
            properly working winsock installed on your PC you should
            install one first. Information on Winsocks can be retrieved
            from your provider or found in The Windows Internet Guide by
            Michael Jason Mezaros or on Win95.com

            Although mIRC is not spread by advanced distribution schemes of
            primary and mirror FTP sites, it is available from hundreds of
            places all over the world. Some of the major ones are :
            UK: ftp.demon.co.uk
            USA: ftp.oakland.edu
            USA: cs-ftp.bu.edu
            FI: ftp.funet.fi
            USA: papa.indstate.edu
            USA: ftp.undernet.org
            USA: ftp.winsite.com
            USA: ftp.windows95.org

            The most up-to-date list of places where you can get mIRC is
            the Where to get mIRC page on the mIRC Homepages... You could
            also join the IRC channel #mIRC to get the latest version or to
            ask all remaining questions... (But: be very sure this FAQ
            doesn't answer your question)

            mIRC is a shareware program. This means you can download mIRC
            for free and give it a try. This system of distributing
            programs as shareware shows the spirit of the Internet. If
            during or after the 30 days evalution period you decide to
            continue to use mIRC, you're asked to pay a small registration
            fee. The mIRC help file and these www pages give you all
            information needed to register mIRC.

            Return to the table of contents.

            ----------------------------------------------------------------

            4 Short Introduction to IRC.

            (Read more in the IRC Intro file available on the mIRC www
            pages)

            What is IRC - IRC stands for "Internet Relay Chat". It was
            originally written by Jarkko Oikarinen in 1988. Since starting
            in Finland, it has been used in over 60 countries around the
            world. It was designed as a replacement for the "talk" program
            but has become much, much more than that. IRC is a multi-user
            chat system, where people meet on "channels" to talk in groups,
            or privately. There is no restriction to the number of people
            that can participate in a given discussion, or the number of
            channels that can be formed on IRC. All servers are
            interconnected and pass messages from user to user over the IRC
            network. One server can be connected to several other servers
            and up to hundreds of clients. Several larger and smaller IRC
            networks exist.

            On IRC several people can join the same channel and see each
            other. Depending on its topic and time of the day a channel can
            be VERY crowded. Channels can also be quite chaotic, or calm.
            Channels can be open to everyone but also closed and private
            and only open to friends. On the large IRC networks (EFnet) as
            many as 3000 channels can exist, on smaller networks there will
            be fewer channels. Channels on IRC are dynamic in the sense
            that anyone can create a new channel, and a channel disappears
            when the last person on it leaves.

            Language - The most widely understood and spoken language on
            IRC is English. However, as IRC is used in many different
            countries, English is by no means the only language. If you
            want to speak some language other than English, (for example
            with your friends), go to a separate channel and set the topic
            to indicate that. Similarly, you should check the topic when
            you join a channel to see if there are any restrictions about
            language. On a non-restricted channel, please speak a language
            everybody can understand. If you want to do otherwise, change
            channels and set the topic accordingly.

            Greeting - It is not necessary to greet everybody on a channel
            personally. Usually one "Hello!" or equivalent is enough. Also,
            don't expect everybody to greet you back. On a channel with 20
            people that would mean one screenful of hellos. It makes sense
            not to greet everyone, in order not to be rude to the rest of
            the channel. If you must say hello to somebody you know, do it
            with a private message. The same applies to good-byes. Also
            note that using your client's facilities to automatically say
            hello or good-bye to people is extremely poor etiquette. Nobody
            wants to receive autogreets. They are not only obviously
            automatic, but while you may think you are being polite, you
            are actually conveying yourself as insincere. If some body
            wants to be autogreeted when they join a channel, they will
            autogreet themselves.

            Behaviour - Remember, people on IRC form their opinions about
            you only by your actions, writings and comments, so think
            before you type. If you use offensive words, you'll be frowned
            upon. Do not "dump" (send large amounts of unwanted
            information) to a channel or user. This is likely to get you
            kicked off the channel or killed from IRC. Dumping causes
            network "burps", causing connections to go down because servers
            cannot handle the large amount of traffic. Other prohibited
            actions include:
            * Harassing another user. Harassment is defined as behavior
            towards another user with the purpose of annoying them.
            * Annoying a channel with constant beeping. (Therefore most
            clients cannot beep at all)
            * Any behavior reducing the functionality of IRC as a CHAT
            medium.

            How to join IRC - The first time you run mIRC you have to fill
            in some information about yourself (your real name, email
            address, nickname, IP address and Local Host name) under
            File/Setup/IRC_Servers and Local_Info, as well as the IRC
            server with which you want to connect. It's usually best to
            connect to a geographically close server. When you're new to
            IRC just pick a server from the prefab list. On IRC you are
            known to others by a nickname. You are free to choose any
            nickname you like, up to 9 characters long. Do not use spaces
            and avoid unusual ASCII characters in your nickname. It is
            possible you find people that use the same nickname and you may
            be asked to switch nicknames to avoid confusion.

            Getting started - To join conversations, send private messages,
            and to handle and control mIRC you need to learn some simple
            commands. All commands start with a forward slash, the "/".
            Anything that does not begin with "/" is assumed to be a
            message to someone and will be sent to your current channel, or
            to the person you are chatting with in a private chat (see
            below). A list with the most used commands on IRC is given in
            the mIRC help file.

            Finding your way on IRC - To join a channel, type /join
            #channelname. Try "/join #irchelp" or "/join #mirc" to give it
            a try... That's it! Once you get to the channel, you will see
            people talking. It will probably look like this:

                 {John} Hello Pat, are you new to IRC too ?
                 {Jake} I dont agree there :-(
                 {East-r} Can sb give me that too ?? I couldnt find it
                 before
                 * East-r smiles
                 {Pat} Nope, I just have a simple question... I think...

            Note that you will often come in during the *middle* of a
            conversation. Unless you're familiar with the channel you may
            want to sit and watch it for a minute or two to see what the
            conversation is about. Often the channel name (for instance,
            #Twilight_Zone) has nothing to do with what conversation goes
            on on the channel (#Twilight_Zone does *not* have discussion
            about the TV show "Twilight Zone"). So if you join #baseball,
            don't be surprised if you hear about the SuperBowl picks or
            even the Rock-n-Roll Hall of Fame Museum! To start talking,
            just type! And when you're done saying what you have to say,
            just hit the [return] key. You can start with something simple
            like "hello!". You don't have to type hello! because IRC will
            insert before all of your channel messages. In the channel's
            title bar you will see the channel's name and perhaps its
            topic. If you choose to leave a channel, just type /part
            #channelname

            In the channel window that opens once you join a channel you'll
            see an alphabetical list of people that are on the channel on
            the right side of the window. Some of them have a @ in front of
            their name to point out they are the channel operators. A
            Channel Operator is someone who has control over a specific
            channel. A Channel Operator can also decide if control is
            shared or not. The first person to join the channel
            automatically receives Channel Operator status. Channel
            operators are the 'rulers' of a particular channel. This means
            they can kick you out of their channel for any reason. If you
            don't like this, you complain to them or start your own channel
            and become a channel operator there yourself.

            Read the help - As soon as you joined your first channels and
            spent some time on IRC you will see there are a lot more
            commands and possibilities for you to discover on IRC. You
            might want to read the full version of this IRC Intro on the
            mIRC www pages. Almost all specific capabilities of mIRC are
            explained in the help file that came with the package. You just
            have to do the reading. :-)

            Return to the table of contents.

            ----------------------------------------------------------------

            5 Some short Notes and Tips on mIRC.

            1. Besides that all font changes can be done from the
            System-menu/Font item found in every channel and query window,
            a /font command is also available to access the font settings
            for every window. (Did you ever use the System-menu ? Its the
            menu under that little horizontal bar in every top left corner
            of ANY window in mIRC and windows. You can also use it to save
            or clear the text in a text buffer as well as to save the
            window size and position on your screen!)

            2. The Channels List dialog has improved a lot. Full Channel
            Name and Topic search is supported in an easily understood
            dialog and you can now make mIRC filter away all unwanted
            channels by simply setting search and suppress keys. Parents
            can easily filter away offensive channel list items and
            password protect their filtering ! But if you need better
            kid-safety dont rely on mIRC and check out Kidlink IRC,
            Netnanny or Cyberpatrol.

            3. This file and several other files introducing IRC are
            available from the mIRC www pages in text, write, html and
            windows help file format. Especially files in the help file
            format (.hlp) can be accessed easily from within mIRC by
            placing them in the mirc directory. mIRC's dynamic help menu
            will detect them and make them available by simple mouse
            clicks.

            4. If you lost all your right mouse click popup menu's after a
            version upgrade of mIRC you should check out the
            Tools/Popups/'Popups file:' settings !! Didn't you forget to
            update this line ?? Does it actually point to a valid file with
            popup menu settings ?? Does it point to your old mirc.ini file
            in c:\windows or to the new popups.ini file in the mIRC
            directory ?? The same goes for aliases and remote settings that
            might not be set to use your aliases.ini and remote.ini files.

            5. The /uwho command provides you with an improved interface
            with information on the person. You can store and fetch user
            info and addresses and view all kinds of ctcp information in
            it.

            6. The help menu has been made dynamic to display all .hlp
            files in mIRC's directory, as well as the readme.txt,
            versions.txt, and update.txt files, for quick access. Also
            internal aliases are added that match the help filenames, so if
            you have the file "ircintro.hlp" in mIRC's directory you can
            type /ircintro ! (like /help ) You can add whatever help files
            you like to mIRC's help menu! Besides the mIRC FAQ, the IRC
            Intro file is also available in windows help file format from
            the mIRC www pages.

            Return to the table of contents.

            ----------------------------------------------------------------

            6 FEATURES, TIPS and ANSWERS to QUESTIONS.

            6-1 How do I run the 32-bit mIRC on Win 3.1 or WFW 3.11 ?

            To be able to run 32-bit programs on Win 3.1 or WFW 3.11, you
            need to install the win32s 32-bit extentions. Not all 32-bit
            programs can function on this small 32-bit base, but mIRC can
            !! Make sure you have installed a recent version of these
            extentions. Mind you, I dont suggest running the 32 bit mIRC on
            win 3.1x is better, but if you already have the 32 bit
            extentions it wont harm you at all.

            Contrary to what I thought earlier, you don't need to have a
            32-bit WINSOCK installed. mIRC will work fine on the Microsoft
            TCP/IP-32 winsock which is 32-bit (but doesn't have modem
            support as far as I know); also, using the popular Trumpet
            winsock (-at this moment- only available in a 16-bit version)
            will work. (DONT misunderstand... I'm talking about win 3.xx
            only here!)

            On WFW 3.11, problems can occur with the win32s extensions due
            to versions older or newer than the win32s version 1.30 used
            with the compiling of mIRC32. Problems with the win32s
            extensions can cause mIRC32 to crash on startup or give all
            kinds of strange behaviour on startup. It's best to use the
            1.30 version of win32s. Also, if you experienced the problem
            that your toolbar buttons in mirc32 turned black you might have
            to download the new win32s version 1.30 revision 166 or later
            and install it. Microsoft or NCSA

            Return to the table of contents.

            ----------------------------------------------------------------

            6-2 How do I run the 32-bit mIRC on Windows95 ?

            On Windows95 no problems running mirc32.exe have to be
            expected. If you can't manage to get it running you might have
            a 16-bit winsock. Contrary to the case with Win3.xx, you CAN'T
            run mirc32.exe on Windows95 with a 16-bit winsock ! The most
            common error message then is "Error: Cant resolve local host
            name". So, if you have problems running the mirc32.exe, while
            the 16-bit mirc.exe works fine, MAKE SURE that you use a 32-bit
            winsock. The in Windows95 built in winsock is 32-bit. The
            famous Trumpet winsock is NOT 32-bit !! (Trumpet recently
            released a beta of a 32 bit winsock. mIRC is not tested on this
            program)

            If you are using Windows 95 and a 16-bit winsock like Trumpet,
            Spry, Chameleon, etc., there is a known communication problem
            between 32-bit programs running in the 32 bit protected system
            and the 16-bit subsystem with the winsock in it. Your 16 bit
            winsock, like all 16-bit applications, runs in a 16-bit
            subsystem under Windows95. Under Windows 95, 16-bit
            winsock.dlls don't have access to the 32-bit protected system
            and vice versa, so 32-bit applications can't use the winsock's
            TCP/IP services. You must install a 32-bit winsock.dll to solve
            this. Preferrably the native Windows 95 TCP/IP(winsock)
            support.

            To use the 32-bit version of mIRC, you must install the 32-bit
            stack and dialer that are a part of the Windows 95
            installation. The dialer then needs to be configured to access
            your Internet Service Provider. At windows95.com you can get
            detailed information for configuring your Windows 95 TCP/IP
            software to access the Internet. Netcom has provided their own
            dialer FAQ.

            Return to the table of contents.

            ----------------------------------------------------------------

            6-3 How do I solve the "Can't Resolve Host Name" error?

            (If you are using Windows95 first find out if you're trying to
            run mIRC32.exe with a 16-bit winsock. You need a 32-bit winsock
            to run the mirc32.exe. If you have a 16-bit winsock use the
            16-bit mirc.exe. Read section 6-2.)

            In the File/Setup/Local_Info dialog box, mIRC attempts to guess
            your IP address. But if you don't have an actual IP address
            (such as with TIA, Twinsock, SLiRP, or some other SLIP
            emulator), or if your stack is strange or there is some network
            oddity, it might not fill these in correctly.

            To correct this, uncheck "On connect, always get IP Address and
            Local Host" and manually enter your IP number. Also fill in the
            'Local Host' by hand. If using TIA, Twinsock, SLiRP, etc.,
            simply enter _your provider's_ local host name and IP, not your
            own. (Your provider's IP is not 192.0.2.1 or anything like
            that! That's a dummy IP used by these emulators. If you don't
            know your provider's local host name and IP, ask!)

            Another possibility is to make mIRC use the Quick IP method
            instead of the normal one, but this will fail if your local
            settings in win.ini or registry file are not ok.

            It's also possible that mIRC cannot complete the reverse look
            up it tries and gives the "Can't resolve host name" error when
            your IP name is not properly configured in your providers DNS.
            In that case you should ask your provider to assign a IP name
            to your IP Number to solve the problem. For your provider
            setting up the IP name on the DNS is not that hard, and doesn't
            take much time.

            Also setting the Ident server to active might help !! (See
            section 6-7)
            In section 8 I'll give all my settings,... that might help
            also.
            (Note: You must be disconnected from any IRC server before
            changing these settings.)

            Return to the table of contents.

            ----------------------------------------------------------------

            6-4 How do I solve the "Unable to resolve IRC server name"
            error ?

            If you cant get mIRC connected to one particular IRC server and
            you get this error you should first give another server a
            try... If you can connect to any other server you should check
            if you didnt make a typo in the setup of your initial server
            address. (File/Setup/IRC_servers/Edit)

            If you get this error with whatever IRC server address you try,
            it is very likely your providers DNS (Domain Name Server) is
            down, malfunctioning or very slow. Especially if mIRC always
            worked flawlessly for you. Besides waiting or giving your
            providers helpdesk a phone call you cant get this fixed.

            mIRC needs a DNS to translate (resolve) the IRC servers' IP
            Address you specified, into an IP Number. (Like the IP
            irc.law.emory.edu resolves to the IP Number 170.140.50.195 )
            (To see this give the command "/dns irc.law.emory.com" in mIRC)
            You could bypass the need for the DNS lookup by specifying the
            IP Number in your server setup instead of the IP Address for
            every server.

            Under File/Setup/IRC_Servers/Add or Edit server, specify your
            IRC servers like :
            Description : irc.law.emory.edu (Emory University)
            IRC Server : 170.140.50.195
            Port : 6667

            If nothing helps you of course could also have a rotten or
            miss-configured winsock?

            Return to the table of contents.

            ----------------------------------------------------------------

            6-5 How do I solve the "Not enough user parameters" error?

            You will get a "Not enough user parameters" from mIRC if you
            try to connect to a server but you didn't have the local host
            filled in, or had it filled in incorrectly. Check your entry
            under 'File/Setup/Local_Info/Local Host.Â’ Also check to see if
            you supplied mIRC with a valid E-Mail address under
            'File/Setup/IRC_Servers/E-Mail:'. (See section 8, too.)

            Note: The e-mail address is used internally by mIRC and cannot
            be seen by others when they do a /whois on you. Some have
            noticed the "email:" field in the User Central dialog (/uwho
            command). This field is made up of your or the other person's
            [email protected] (your username plus your local host name)... in many
            cases you'll notice that it doesn't reflect the actual e-mail
            address. It has nothing to do with
            'File/Setup/IRC_Servers/E-Mail:'. Enter the correct address
            there!!

            Return to the table of contents.

            ----------------------------------------------------------------

            6-6 How do I solve the "You haven't registered" error?

            Oh.. and I get ping time-outs about 10 seconds after I connect

            (Note: mIRC is freeware and you can't even register it .. This
            is a server message to you..)

            If you receive this message and/or you get disconnected that
            quickly, your Local Host name and/or IP number might be wrong,
            or not filled in at all. Look under 'File/Setup/Local_Info/',
            and check if the local host is correct and if the IP address
            (number) is filled in automatically... An easy way to solve a
            wrong IP Address is setting the 'On connect, always get' "IP
            Address" and "Local Host" to "ON" and restarting mIRC.

            If this doesn't help you could be trying to connect to a
            NON-public server!! Try another server to check this...

            Return to the table of contents.

            ----------------------------------------------------------------

            6-7 Why am I unidentified and what does it matter ?

            An ident server normally is maintained by the Unix machine of
            your network provider... It is a kind of nameserver that
            guarantees your Identity. Since most standalone windows
            machines are not correctly backed up by an ident service, such
            a server is built into mIRC. IRC servers can do an Ident
            request to your Ident server and then expect a standardized
            kind of answer. More and more IRC servers require you to be
            identified in some way, and they will disconnect you if you're
            not identified ! Also if you don't react, or do so in the wrong
            way, they can decide to disconnect you.... You can check if
            you're properly identified by doing a /whois on yourself. The
            first line in the reply should NOT contain a ~ (tilde). If you
            have a ~ in it try activating the Ident server.

            mIRC's built in Ident server can be switched to active under
            File/Setup/Identd. Set it to :
            User ID: (The part before the @ in your E-mail address
            normally)
            System: UNIX (ALWAYS fill in UNIX !! not dos, win or *whatever*
            else !!)
            Listen on port: 113 (The standard ident port number)

            A problem that TIA and similar SLIP emulator users will
            experience is that, despite checking the Ident Server to
            active, mIRC will never reply to an Ident query. This is
            because with TIA it never gets the ident request. The slip
            emulator won't pass through the Ident request from the IRC
            server to mIRC... That just means you'll be seen as
            [email protected]machine.net which is not the end of the world,
            unless you happen to be using a server that requires an Ident
            reply and disconnects you... This can't be solved by mIRC or
            any other client..... You will need to find another server OR
            get your provider to set up proper identing...

            Return to the table of contents.

            ----------------------------------------------------------------

            6-8 I can't get mIRC to DCC send or initiate a DCC chat!
            Getting files works fine..

            (read the paragraph that may apply to you..)

            In almost all cases that DCC sending and chatting mess up, the
            initiating party causes the troubles. In all cases where DCC
            Send or Chat stops functioning (suddenly) or never worked at
            all, this is caused by wrong Local Host and/or IP Address
            settings at the senders side. (The Local Host and IP Address
            settings are found in the File/Setup/Local_Info menu.)
            Typically in the case that your IP Address is not correctly
            set, the other party will get your dcc message and then try to
            confirm and connect to your incorrect IP Address. Of course,
            this doesn't work and you both sit there waiting. You will see
            the "Waiting for acknowledgement..." for ever while the other
            person -did- acknowledge correctly. You have a wrong setup, not
            the other person. This normally is a very simple to solve
            problem. Also if you cant get files from another person ask
            him/her to check the IP Address settings in his/her IRC client.

            A good cure to solve these DCC problems is to start with this :

            1) Disconnect from your IRC server.
            2) Clear the current text in the Local Host and IP Address
            boxes under File/Setup in the Local_Info dialog.
            3) Select both 'On connect, Always get' Local Host and IP
            Address options in the Local_Info dialog.
            4) Set IP method to Normal.
            5) Leave the Local_Info dialog and the File/Setup menu both
            with 'OK'.
            6) Reconnect to your IRC server.

            If this doesnt work experiment with the 'On connect' ..
            settings... !! For instance, try to set your Local Host address
            by hand and let mIRC look for only the IP Address on each
            startup. If you still cant get it to work try to use the Quick
            IP method instead of the default Normal one. The Quick one
            looks up the address locally from your machine instead of from
            your providers Domain Name Server. Read more about these cases
            in the mIRC help file !!

            * Everybody... Check your time-out settings!
            Make sure that your time-out values in DCC/Options are set
            large enough!! "Get/Chat Dialog time out after" and "Send/Get
            Transfer time out after" are recommended to be set to at least
            60 and 120, respectively.

            * In case you never ever managed to get sending files or
            initiating a DCC Chat to work, not even after studying all
            these hints, it might be that your provider blocks these DCC
            connections by the kind of internet access they give you. Known
            to give problems are TIA, Twinsock, Slipknot and SLiRP. Also
            the use of a firewall by your provider will block DCC
            connections.

            * If you use TIA or Twinsock or Slipknot ...
            If you use TIA (The Internet Adapter) or Twinsock, at this
            point you cannot use DCC send or initiate DCC chat (with any
            IRC client, not just mIRC). You may want to try SLiRP or vTCP.
            SLIRP was the first SLIP emulator to allow DCC sending and
            initiating DCC chat. (As you know DCC get should always work
            fine, whatever connection you have. Besides firewall blocking
            you that is.) Virtual TCP is tested and proofed to allow DCC
            sending and chatting. More info
            http://blitzen.canberra.edu.au/slirp and
            http://www.infoexpress.com/vtcp.html

            * If you use SLiRP ...
            With SLiRP (currently running 0.95j) set File/Setup/Local_Info/
            'always get local host' on connect to Active, IP Address should
            be the fake IP used for SLiRP (10.0.2.15 usually). Then DCC
            Send, Chat, and everything else should work perfectly fine,
            even on Windows95 with the Dial-Up Networking. (thanks Dave!)

            * If you have Dynamic IP...
            If you have dynamic IP (your IP address is different each time
            you log on), make sure that "On connect, always get:" in the
            File/Setup/Local_Info dialog is set to get the Local Host and
            IP Address. If these were already set to ON make sure the
            correct 'local host' name and 'IP Address' are found by mIRC...
            on some winsocks this is rather tricky... If you have a
            non-compliant stack, mIRC may not be able to correctly find
            your local host (domain name) and IP. With dynamic IP
            addressing you are in trouble then !! DCC file sending and
            initiating a DCC Chat (contrary to file getting and accepting a
            DCC Chat) requires that mIRC knows your correct IP number. Even
            without an IP number at all, mIRC will work as far as normal
            chatting is concerned, but won't allow DCC file sending or
            initiating a DCC Chat.

            * If you have Static IP...
            If you have a non-compliant stack, mIRC may not be able to
            correctly find your local host (domain name) and IP. In the
            File/Setup/Local_Info dialog, uncheck the options to "Always
            get the 'Local Host' and 'IP Address" and manually enter your
            correct Local Host and IP.

            * A known Windows95 bug causes a lot of people to report that
            mIRC (and any other IRC program) gets/finds the old (now wrong)
            Local Host name and/or IP Address after switching Internet
            provider. This blocks their capability of DCC Sending files and
            Initiating DCC Chats. If, for some reason, no matter what you
            do, mIRC picks the user ID (Local Host name) from the Internet
            Service Provider that you no longer wish to use this is fixable
            by editing the registry. If you open Regedit and look at
            MyComputer \HKEY_LOCAL_MACHINE \System \CurrentControlSet
            \Services \VxD \MSTCP you will see the Domain and NameServer
            fields from your old provider. These fields will persist even
            if you uninstall Dial-Up Networking and re-install and go
            through the TCP/IP settings again ! The best way to solve the
            described problem is going to
            Start/Settings/Control_Panel/Network/ double click on TCPIP/
            select DNS_Configuration/ and set the HOST field to the
            hostname (ID) you have on your new provider.

            * If you use Windows95 mIRC allows you to send long file names
            with spaces in them, but other IRC programs very often cant
            handle this. This might cause your transfers to fail. You might
            want to select mIRC's option to fill (up) spaces in such a long
            file name by an underscore.

            * Some people experience DCC File Send problems with mIRC on a
            windows system with Norton Desktop installed. mIRC then
            suddenly shuts down completely (sometimes with an error
            message) as soon as you try to select a file to send. The
            problem is that Norton Desktop's feature called 'File Assist'
            conflicts with mIRC's DCC Send dialog. If you shut off File
            Assist entirely it will allow DCC transfers fine. Even just
            disabling the "3D look and feel" in the File Assist options
            menu helps already.

            * Another program known to give DCC Send problems is a software
            package called Long File Names by View software. It is
            something you might be running in the background and you might
            never think of it as the cause of your troubles. The problem is
            that when you use the DCC Send option in mIRC, the dialog that
            pops-up doesnt allow you to select files so you can't send
            anything. Selecting files is blocked by LFN and if you disable
            the LFN software all your DCC problems will be solved.

            Return to the table of contents.

            ----------------------------------------------------------------

            6-9 I can't get mIRC to DCC get!

            Oh, I use Twinsock or Internet in a BOX or Netcom's
            NetCruiser...

            If you cant get files by DCC from somebody -he/she- might very
            well (almost certainly) have the problem described above in
            section 6-8. Especially if you can get files from others fine.
            Ask the sending party to check his IP Address settings. It
            sounds stupid but also full harddisks block getting files very
            effectively !
            Some people also get the error "unable to create socket" on
            IBOX. If this happens, try to connect again (choose
            File/Connect). This sometimes works.

            (Make sure your DCC/Options/Time-outs are set large enough!!)

            Return to the table of contents.

            ----------------------------------------------------------------

            6-10 How do I use Copy and Paste?

            In channel, query and DCC chat windows mIRC uses a nice
            select-and-copy-in-one-move feature. Copying text in those
            windows is done automatically as soon as you release the mouse
            button you used to select the text with. Just highlight the
            text and release. Isn't that a nice feature? Use ctrl-v to
            paste the copied text.

            The normal Windows' "Copy" menu is not just left out due to
            ignorance, but is due to the use of colored text in the
            graphical windows in mIRC. Windows does not support colored
            text in standard text boxes, and Khaled had to write all text
            box/windows routines himself! :-) And since using cut or paste
            in a channel, query or chat window makes no sense anyway, he
            was able to invent and implement this feature.

            All text shown in mIRC outside the channel windows (in
            settings, menu's, dialogs and on the edit box line) can be
            copied, cut and pasted normally using the ctrl-c, ctrl-x and
            ctrl-v key combinations.

            Return to the table of contents.

            ----------------------------------------------------------------

            6-11 How do I get colored text in mIRC?

            mIRC has a nice feature that displays normal text, highlighted
            text, actions, and server messages in different colors (black,
            brown, purple, and green respectively).

            To see the colored text, make sure that
            File/Options/Extras/'Windows colors' is -NOT- selected. In this
            case, all of Windows' colors (as set in the Control Panel) are
            used in mIRC except for the channel background color. (You can
            imagine what otherwise would have happened with purple lines on
            a purple background, eh?) If you set this option to "Windows
            colors" instead, mIRC will use all of Windows' colors, but you
            will lose the multi-colored text for actions, etc.
            Also make sure to set File/Options/IRC_Switches/'Actions are
            purple' to active.

            Return to the table of contents.

            ----------------------------------------------------------------

            6-12 How can I customize the fonts used in mIRC ?

            From mIRC 3.9 on the Misc/Fonts menu is dis-continued. All font
            settings can be done from the windows' System Menu's (those
            menu's under that little horizontal bar in every top left
            corner of ANY window in mIRC and windows) or the /font command.

            Use /font or select the 'Font' option in the System menu and a
            fonts selection dialog will pop up. Here you can choose
            whatever fonts are available on your machine. This could be New
            Times Roman, Arial, MS Sans Serif,..... whatever you like. You
            can also set the font size and set it to bold. (italic is
            available but disabled for most fonts at the moment) The
            settings you set here will be saved as the default for the
            window you are in.

            Return to the table of contents.

            ----------------------------------------------------------------

            6-13 How do I get mIRC to use 3-D dialog boxes?

            mIRC versions 3.51 and above automatically use 3D dialog
            interfaces. All you have to do is provide the proper ctl3d
            DLL(s). The dialog boxes will take on a nice gray color with a
            nice slightly "chiseled" appearance. The normal channel windows
            and or text wont be affected by this 3D look....

            To see the 3-D dialog boxes in mIRC16, you first have to make
            sure that you have the file CTL3DV2.DLL correctly installed.
            CTL3DV2.DLL was not originally included in Windows or Windows
            for Workgroups 3.11, so you may not have a copy. Check your
            windows\system directory. For proper installation, you should
            have only one copy of this file, the newest one, on your
            system, in the system directory. (Having multiple copies of the
            ctl3dv2.dll will mess up the behaviour of this dll !! Check
            your ENTIRE harddisk !!)

            You can FTP the file from:
            ftp://bitsy.mit.edu/pub/dos/alpha-beta/techinfo/ctl3dv2.dll

            In mIRC32 you need the CTL3D32.DLL. It has to be in the
            c:\windows\system directory. Again make sure to have only ONE
            copy of this DLL on your entire Harddisk ....
            On windows95 make sure to have version 2.26 or later of this
            DLL !! Also WFW311 people can use this one. (You can see the
            version by using the EXPLORER, select the file, right click,
            select properties, version.)

            Return to the table of contents.

            ----------------------------------------------------------------

            6-14 How do I specify people correctly in the auto-op, protect
            and ignore lists?

            In the Auto-op, Protect and Ignore sections under
            File/Options/Control/.

            This set of 3 lists provides you with the most basic channel
            maintnance possible in mIRC. If you need better, smarter, but
            also more difficult to understand functions you should check
            out mIRC's 'remote' capabilities. [see section 7 of this FAQ]
            For starters these options will do fine I think.

            The full address format of a person on IRC is
            [email protected]
            Lets assume that Bill responds to a "/whois bill" with:
            Bill is [email protected] * Billy A Lot Of Names Gates
            Bill @#mIRC
            Bill irc.server.company.com (A superb company)
            Bill 56 seconds idle
            Bill End of /WHOIS list.

            If you don't care about channel takeovers and other annoying
            things, you can just specify the nick of the person you want to
            auto-op, ignore or protect. If you want to be sure you 'op' ,
            ignore and protect the right person for ever, specify them by
            their address if possible.

            In that case, Bill would be best referred to by
            [email protected]

            You could also use *[email protected]*.company.com if he works on several
            machines with different nick's.... To add a user to the lists
            use the /auto, /ignore or /protect command (like /auto
            *[email protected]*.company.com), or add a user by simply typing him into
            the specific edit box. Make sure to switch the functions to
            active by the checkbox under File/Options/Control totally right
            of the function markers of the edit box. Or use the commands
            /auto [on|off], /ignore [on|off] or /protect {on|off] on the
            command line.

            You can make the auto-op, ignore and protect more specific by
            specifying some parameters.

            The auto-op and protect can be set to make people operator
            and/or protect them only on certain channels if you want. In
            that case just specify the channel names. like
            /auto {nickname|address} [#channel1,#channel2,...] and
            /protect {nickname} [#channel1,#channel2,...] (protect only
            works with nicks!)
            If you dont specify one or more channel names mIRC will op and
            protect the person on all channels where you're operator.

            The ignore can be set to ignore only certain actions from a
            person. mIRC distinguises between private messages, text in
            channels, notices send to you, ctcp commands and invitations.
            From the command line you can use: /ignore [-pcnti]
            {nickname|address} [type] where p = private, c = channel, n =
            notice, t = ctcp, i = invite. (more parameters discussed in the
            help file!) In the ignore section an ignore will look like
            [email protected],private,channel,notice,ctcp,invite. If
            you dont specify any of these additional parameters mIRC will
            just ignore somebody totally.

            Return to the table of contents.

            ----------------------------------------------------------------

            6-15 How can I make mIRC react to Remote Commands?

            Use the Tools/Remote/Commands section.....

            mIRC can react to CTCP commands given by remote users. You can
            customize your responses to CTCP commands and offer files:
            features that usually require scripting but here are handled by
            the Tools/Remote/Commands section. It is this section in mIRC
            that can handle OPME, KICK, MYLEVEL, or XDCC SEND commands for
            you, if you configure it well. Setting up the remote section is
            not an easy task, but the way it works guarantees full freedom
            to make it do what you want it to do.

            As soon as your mIRC receives a CTCP command from somebody
            else, it checks if that command is defined and if so, it
            matches the required user level against the level of the remote
            user. If the remote user has a suitable user level his command
            is executed... All commands given to you have to have the
            format '/CTCP {yournick} {command} {parameter(s)}'. If a
            command is defined on several levels, the highest ranked one is
            executed. See the help file included in the mIRC39.zip package
            for detailed instructions and read the tutorial in section 7 of
            this FAQ.

            Return to the table of contents.

            ----------------------------------------------------------------

            6-16: How can I make mIRC react to Events?

            Use the Tools/Remote/Events section.....

            EVENTS are all things happening on channels or in private
            conversations on IRC. People joining, leaving, getting opped,
            deopped, greeting you, even plain talking all are EVENTS...

            You can configure mIRC to react however you like to almost
            anything that can happen in IRC. See the mIRC help file for
            further instructions and read the tutorial in section 7 at the
            end of this FAQ.

            Return to the table of contents.

            ----------------------------------------------------------------

            6-17 How do I specify my friend Bill correctly in the Users
            list with an access level of 2?

            (In the Tools/Remote/Users section..)

            You can add your friend Bill with access level 2 to the Users
            list in two ways:

            1. Specifying the nick -- "2:bill"
            OR by...
            2. Specifying the address -- "2:[email protected]"

            Of course, specifying the address is the safer option.
            Wildcards are supported, such as
            "2:*[email protected]". In which case all nicks bill
            could use on his account are recognized. To get the ON OP, ON
            DEOP, ON SERVEROP and ON NOTIFY events working you *have* to
            specify a person by his nick !! It won't work if you specify
            his full address only... In the case of bill, you could use
            BOTH Users list lines mentioned above. You could just type the
            nick and/or address straight into the Users section under
            Tools/Remote but mIRC also has special commands to add people
            to your Users list straight from the command line. Look in the
            mIRC help for the commands /auser, /guser and /ruser.

            Return to the table of contents.

            ----------------------------------------------------------------

            6-18 I get disconnected after the /LIST command.

            >> Everytime I do a /list, I get disconnected part way through.
            I get the
            > same thing even if I try a partial list, eg. "/list #love",
            it runs for
            > about 90 seconds and the disconnects me. I've tried using
            servers here
            > in the UK and also in the states. I'm stuck!!

            You didn't do anything wrong...

            It is important that you realize what happens if you do a /list
            command. The server generates a list of all channels (about
            2000 on Efnet) and quickly sends that list to you.

            BUT, because the data throughput isn't infinite, the whole
            output of the /LIST command is queued in a buffer on the
            server. At some point that buffer gets overrun, and the server,
            detecting this ('reached maxsendq'), disconnects you. This
            mechanism is made to disconnect people who generate more
            characters per second than any 'normal' person uses for normal
            conversations. It's a protection mechanism, but unfortunately
            the server does not recognize that the data stream you caused
            is simply the result of your harmless /list command, and
            disconnects you.

            You can also tell mIRC to show only channels with a minimum and
            a maximum number of people. Also, if you specify a #string,
            then mIRC will only list channels with that string in their
            title. BUT, for the problem described, this does not
            matter/help at all!! The server ALWAYS returns the entire
            #channel list and mIRC (like all other clients) takes care of
            the filtering!! So, asking for a partial list to prevent you
            from disconnecting won't make ANY difference!!

            So, this isn't an mIRC bug. It's a pity, but there's nothing
            you can do to prevent this from happening. It's just one of
            all-too-many IRC oddities. Try using some other servers, as
            many aren't quite so touchy.

            Oh ... check out the list window popup menu !! Once you've done
            a full "/list" the entire list is stored and available for
            re-processing with keys and min/max settings! Right click in
            the channels list window and play with it!

            Return to the table of contents.

            ----------------------------------------------------------------

            6-19 Running multiple copies of mIRC.

            mirc.exe 16-bit :
            You can't just start the 16-bit mirc.exe a second time. If you
            want to run a second copy of mIRC16 (don't ask me why), it's
            best to rename your mirc.exe to mirc1.exe and also copy your
            mirc.exe to another instance, like mirc2.exe. ( In the windows
            File Manager select mirc.exe and with File/Copy copy it to
            mirc2.exe, and with File/Rename rename it to mirc1.exe. Both
            copies can be kept in the same directory (the mIRC home dir.))

            Do the same for the mirc.ini file that can be found in the
            c:\windows directory or in mIRC's home dir. (Unless specified
            otherwise mIRC uses the mirc.ini file found in c:\windows. )
            Copy mirc.ini to a mirc1.ini and to a mirc2.ini. Now in the
            Program Manager, rename the mIRC icon to an icon called mIRC1,
            and use that to start the first copy. 'Under' the icon, on the
            startup line, state "c:\path\mirc1.exe -i c:\path\mirc1.ini" to
            make sure mirc1.exe will use the mirc1.ini! Also, make an icon
            called mIRC2, and use that to start the second copy. On the
            startup line 'under the icon' state "c:\path\mirc2.exe -i
            c:\path\mirc2.ini" to make sure mirc2.exe will use the
            mirc2.ini! The -i startup line parameter tells mIRC to use the
            file after it as ini file. If you want to place the mirc.ini
            files in another directory than your windows or home dir, make
            sure to specify the full and correct path! You can now startup
            both exe's and configure them independently..... Nice huh?

            mirc32.exe 32-bit :
            If you use the 32-bit version of mIRC you CAN run a second
            instance without problems without having to provide a second,
            renamed .exe file. You don't have to rename and or copy the
            mirc32.exe. BUT you still have to create 2 icons with unique
            mirc.ini names on the startup-line to get your 2 mIRC's working
            independently and not interfering .... Don't forget that :-)

            Return to the table of contents.

            ----------------------------------------------------------------

            6-20 How do I make myself invisible to other users ?

            And what it does and doesn't do. ;o)
            In mIRC, you can make yourself invisible with: "/mode
            {your_nickname} +i". The title of the STATUS window will show
            (+i) after your current nickname. If you change nick, you will
            remain invisible under your new nick. Use "/mode
            {your_nickname} -i" to make yourself visible again.
            Nobody can detect your changing from invisible to visible or
            vice versa.
            When you're invisible, you are always visible to all the people
            who are on the same channel(s) as you are. When you join a new
            channel (while invisible), everyone in the channel sees you
            joining. Also, leaves are NOT hidden. Also, when people do a
            "/whois " they will see a normal whois list on you if the nick
            they enter matches your's exactly.

            So, what's the point of this "invisibility" capability ?

            Users NOT on the same channel as you WILL NOT be able to see
            your name if they do /who <#channelname>. Also, if they do
            /names to list all the people currently on IRC, they won't see
            you. Also doing "/who *part.of.your.address.net*" won't result
            in your nick turning up.
            The point of being invisible is not to be able to stroll along
            channels like a ghost without anyone seeing you, but to hide (a
            bit) from users that scan channels with /who to find you.
            If they scan channels by actually joining them, then
            invisibility won't help you.

            To get rid of annoying people: first make yourself invisible
            ... then change your nick and make sure those people can't join
            the channels you are on in order to find out your new nick.
            (also, doing: /ignore {other_persons_nick} helps a lot !

            Return to the table of contents.

            ----------------------------------------------------------------

            6-21 How does the new sound command in mIRC work ?

            In mIRC 3.7 some new sound support is added ... Assuming you
            have a sound card or a speaker driver allowing you to play wav
            files on your PC, you can make some funny use of sound on IRC
            with mIRC. Already available in mIRC before version 3.7 was the
            /wavplay command which allowed you to play a .wav sound file
            locally to you...

            Now the /sound command allows you to send a request to any
            other party to play a .wav file he and you both have...

            First set mIRC to Accept sound requests under
            File/Options/Sound Requests/ The command syntax is /sound
            [nickname|#channel] {filename.wav} [action text]. As you see in
            the play request an action text may be specified which will
            display on the other side... I have to stress that the actual
            wav file is NOT sent to the other party. We dont want to stuff
            the net with data you know :-) The command just triggers
            wavplaying at your and somebody elses machine..... So make sure
            that the other party has the wav you want to start...

            A "/sound friend tada.wav does a tada" command done by you will
            result in '-> *friend* does a tada' and the tada sound at your
            side (the *friend* confirms the destination to you) and the
            action "* thisguy does a tada" with the tada sound played at
            your friends side...

            This command currently ONLY works in between mIRC users !! The
            command format is /sound [nick/channel] {file.wav} [message].
            The message will show as an action to the recievers and both
            you and they will hear the wav you selected. mIRC will look for
            your wavs in the directory you set under Misc/Options/Sound
            Requests/

            Playing with sound you might like the /speak command too ! This
            command makes mIRC use the Text To Speech program Monologue (by
            DDE) to speak up whatever text you add to the command ....
            Monologue was sold with older soundblaster cards. Read section
            6-25.

            Return to the table of contents.

            ----------------------------------------------------------------

            6-22 How does the WWW support in mIRC work ?

            In mIRC 3.92 Netscape, Mosaic and MS Internet Explorer are
            supported. You can now surf the www with your friends and
            exchange addresses of the best pages you find. mIRC's URL
            catcher automatically stores URL's from text passing by in
            channels, privates and topics in a listbox. You can also send
            one or more URL's to the channels you are on (or to any private
            conversation you are in) by the URL window popup menu. (Popup
            menus are activated by the right mouse button !!) You can store
            URL's for future reference and set them in any order you want
            by the use of markers. Newly found items are appended to the
            end of your URL list with the '?' marker. When the marker for a
            URL is changed to something else it is sorted into the
            permanent list. In the URL options dialog box you can set mIRC
            to delete '?' marked items on exit. Also a new string is
            created which represents the page your Netscape currently
            shows. You can use this $url in popup menu definitions and in
            remote definitions.

            To get the hang of it first enable the URL catcher in the
            File/Options/URL Catcher/ menu. Also fill in the place where
            your www browser can be found. From that moment on mIRC will
            find and store all www addresses passing by on the channels you
            are in. You can see this going on if you open the URL window
            (use the URL button on the Toolbar or the /url command). Then
            if you want to view an URL in your www browser just highlight
            it in the URL window and select 'view' from the URL window
            popup menu (right mouse button). Alternatively you can set mIRC
            to react to a double click on an URL in the URL window.

            Once you start to use the URL catcher you'll get the grip of
            it... Have fun !

            Return to the table of contents.

            ----------------------------------------------------------------

            6-23 What is the built in finger server for ??

            Lets first explain that there are 2 sorts of fingering on IRC.
            First there is the IRC finger that almost all clients can
            handle. This is a CTCP command with the syntax '/ctcp nickname
            finger'. The reply you will get to this CTCP command is usually
            a one liner set by the user you do the finger on. In mIRC you
            can set this reply under File/Options/Action_Lists/ at the
            Ctcp_finger_reply line. Some other clients use the alias
            '/finger nickname' to shortcut this CTCP finger command but
            thats not the official way...

            The other finger command comes from the finger system familiar
            to UNIX users. On UNIX systems you can finger the address of
            another user to find out some more about that person. Normally
            this fingering will give you the persons home address,
            telephone number or other usefull info. This info is given to
            you by a central finger server and you need a finger client to
            get it. mIRC already has a finger -client- built in for a long
            time under Tools/Finger. If you specify a users address, mIRC
            will try to get some info on the person at the other end. The
            '/finger {nickname|users_address}' command is doing the same
            thing. (If you specify a nickname mIRC will try to find out
            that users address and finger it.) Mind the syntax difference
            from the IRC finger command !!

            In the newest mIRC, a finger server is built in to enable you
            to provide finger info even if your school, provider or company
            doesn't maintain a central finger server. Under
            Misc/Options/Servers/ you can enable this Finger server. You
            also have to provide a text file with the info you want to
            give. This file should meet a certain syntax as explained in
            mIRC's help file. A last remark; dont be surprised if you find
            that the UNIX finger is hardly used on IRC !

            Return to the table of contents.

            ----------------------------------------------------------------

            6-24 How can I easily serve my collection of shareware to
            others, using mIRC ?

            As a lot of people on IRC promote and share the best they found
            around on the net, mIRC now offers a unique built-in
            Fileserver. This Fileserver feature is somewhat of a cross
            between DCC and FTP. You open the server window to someone,
            (it's a special DCC chat window), restricting them to a certain
            directory tree, and they can browse your file listings, change
            directories, read text files, or get files.

            The syntax to set up a DCC server connection to somebody is:
            /fserve {nick} {max gets simultaneously allowed} {homedir}
            [welcome file]

            "Max gets" is so that the other person doesn't bring down your
            machine with too many parallel gets. 4 is probably a reasonable
            number. The other person will have access to his homedir and
            all dirs DOWN in the directory tree from that homedir on.
            "Welcome file" is a text file you can write and specify that
            will welcome users to your file server. It's optional.

            Examples:
            /fserve Krejt 3 c:\temp\serve c:\temp\serving\welcome.txt
            /fserve Mookies 2 c:\outgoing c:\network\mirc\welcome.txt
            /fserve Friend 7 c:\

            Keep in mind that you can't set up a server to yourself... you
            need others to test your server...
            Typing help in the file server will show the available
            commands, which are styled after Unix and DOS. "ls" or "dir"
            will show a directory listing, for example. Even switched
            commands like "ls -k" (show file sizes in kilobytes) and "dir
            /w" (show a wide directory listing) work. The server supports
            all normal ftp commands like cd <dir > , cd.., dir, ls, get,
            .... but NOT put, hash etc. Safety risks are none or minimal
            due to the major restricting of available commands.

            Of course, the /fserve command can be used in your Remote
            section....
            Set up a simple Tools/Remote/command like :
            1:server:/fserve *1:$nick 3 c:\temp\serve
            Set the commands to active (/remote on) and off you go....

            Other people only have to type "/ctcp yournick server" to
            activate the server. You can't set up a server to your own
            mIRC!! So, others have to test your server !! In the directory
            c:\temp\serve, you place all files other people are allowed to
            get from you. The people using your server will have access to
            the c:\temp\serve directory AND ALL directories BELOW it.. like
            c:\temp\serve\games.

            Return to the table of contents.

            ----------------------------------------------------------------

            6-25 How do you use Monologue's Text To Speech support ??

            mIRC uses the software package 'Monologue' to speak out text at
            your wish. You can make it to say out loud whatever you want
            that happens on IRC; on channels or in private chats etc.

            Monologue was sold in a software package with older
            Soundblaster sound cards. Monologue is not for free and not
            shareware either ! It is made by the Company First Byte
            (http://www.firstbyte.davd.com/html/fbinfo.htm). The software
            is some years old but I heard a 32 bit version is in
            development and also the 16 bit version works rather well.. and
            a lot of people have it. Therefore mIRC supports it to have
            Text To Speech support. Better TTS is certainly possible but
            involves buying some development software for it ($600. Who can
            sponsor Khaled ?).

            First you have to make sure Monologue is properly installed on
            your PC and working in good order. It has a built in test
            function and should work properly with the test and clipboard
            support before trying it from mIRC. To use it with mIRC you
            have to enable its DDE support. Through DDE mIRC communicates
            with it. Once you enabled the DDE support you can fire up mIRC
            and give it a try.

            In mIRC the '/speak {text}' command is used to send text to
            Monologue. It is used like :
            "/speak this is a test"
            "/speak can you hear me ?"
            "/speak this is fun" Try it !!

            It is fun indeed ! Once you manage to speak one-liners from a
            mIRC window by this /speak command, it is not that hard to get
            it speaking whole channels or conversations ... assuming you
            can handle programming mIRC's remote events section. (Read and
            study section 7.) It is not meant to be a plug and play
            solution ;o)

            Return to the table of contents.

            ----------------------------------------------------------------

            6-26 What is a Firewall ? How can I use it ?

            -- A firewall is not a feature, it is something you need to
            solve, something to get around. --

            One potential drawback to an Internet connection is that other
            Internet users could gain access to files and data residing on
            your PC. This can be prevented by establishing a security
            system such as a “firewall”. A firewall usually consists of a
            UNIX machine that is placed between your PC and the Internet,
            and all traffic between you and the Internet must pass through
            that machine. So a firewall is not something included in mIRC,
            or something active on your PC. The problem is that most
            firewalls also block your possibilities to use IRC. Normally
            spoken firewalls block all IRC traffic and access to an IRC
            server, unless specific precautions are made and a Socks
            compliant firewall is used.

            If your provider or employer uses a Socks compliant firewall
            that blocks your IRC access you can set mIRC to connect to the
            firewall to reach the outside world. In this case, and -only-
            in this case, set mIRC to use the Socks firewall under
            File/Setup/Firewall/. Your provider or employer should be able
            to provide you with the necessary settings.

            If you never heard about firewalls before it is VERY unlikely
            you are behind one! In this case stay away from the firewall
            settings and dont enable it. Also if mIRC works for chatting
            but things like DCC File Sending are blocked this normally cant
            be due to a firewall problem, and enabling mIRC to use the
            Socks firewall wont help you!

            Return to the table of contents.

            ----------------------------------------------------------------

            6-27 How do I use mIRC's built in DDE support ?

            This section on mIRC's built in DDE support is initiated by
            Prophet's quick DDE Reference. Thanks for allowing me to
            include parts of your work in the mIRC FAQ!

            What is DDE? - DDE stands for Dynamic Data Exchange. DDE is
            used by programs running under Window to communicate with each
            other. In the typical case one of the programs involved acts as
            a DDE server, the other as a DDE client. The server is always
            accepting requests and commands and the client is requesting
            information and giving commands to the server. Good examples of
            the use of DDE are mIRC's support of WWW browsers by the build
            in URL catcher and the support of the text to speech program
            'monologue' by the /speak command. Read more about them in the
            sections 6-22 and 6-25.

            Setting up mIRC's DDE server - To be able to control mIRC from
            within another application, program or another copy of mIRC
            running on your PC, you first have to make sure the DDE server
            is set to active. The server settings are found under
            File/Options/Servers/. You should always specify an unique
            service name but for now the default 'mirc' will do fine. The
            service name is used by mIRC to identify DDE commands given to
            it. To be able to play a little with the DDE things having only
            one copy of mIRC running will do fine for now, but for usefull
            future use you might have to start a second copy of mIRC or get
            another external DDE client/server. If you want to have a
            second copy of mIRC running dont forget to give it an unique
            DDE service name! The default server name for mIRC is 'mirc',
            but you can change the server name to anything more suitable.

            How is DDE used? - To use DDE to provide information (or give a
            command);a POKE, or to ask for information; a REQUEST, you just
            need two simple commands.

            The /dde [-r] {service name} {topic} {item} [data] command.
            The /dde command defaults to sending a poke unless you specify
            the -r switch in which case a request is sent. If you are
            sending a poke then all four arguments including the 'data'
            field are mandatory, if you are sending a request then the
            first three arguments are mandatory. This is why you might have
            to use a "" in the 'item' field; it acts as a filler and isn't
            actually used for anything. This filler is important because
            you might have the /dde or $dde mixed with other commands or
            text in an alias, and mIRC has to know the exact number of
            parameters when parsing. At the moment only one poke 'topic'
            exists; the COMMAND.

            Instead of using the /dde -r to send a DDE request its often a
            lot better to use the $dde indentifier. The $dde {service name}
            {topic} {item} identifier sends a request and retrieves any
            data returned by the specified service. All three arguments are
            mandatory (as explained in the above paragraph). Any retrieved
            data is inserted in the position in the alias or command where
            the $dde was issued. Several request 'topics' exist; CHANNELS,
            CONNECTED, EXENAME, INIFILE, USERS, SERVER, NICKNAME, VERSION,
            PORT.

            COMMAND topic. (Only for POKE's)
            This allows mIRC to control a second client similar to the
            remote CTCP DO command. The command topic is used in conjuction
            with the /dde command like /dde {service name} command ""
            [instructions]
            Here are a few examples, assuming your mIRC uses the default
            DDE service name, 'mirc':
            /dde mirc command "" /join #test123
            /dde mirc command "" /msg #test123 hello everyone
            /dde mirc command "" /notice $me testing 1 2 3
            The /dde command can be used in the Remote/Events and Commands
            Section in the Alias section and straight on the edit box.

            CHANNELS topic (Only for REQUEST's)
            The CHANNELS topic is a REQUEST which returns a single line of
            text containing the current channels the listening mIRC is on.
            The requests can be used from the command line, an alias, or in
            a remote. To be able to use and process the returned data mIRC
            uses the identifier $DDE to represent the data. Note that the
            active channel is marked by a star! Examples:
            /say $me is currently on $dde mirc channels ""
            /echo 6 $active I am currently on $dde mirc channels ""

            CONNECTED topic (Only for REQUEST's)
            This topic returns a single line of text with "connected",
            "connecting" or "not connected". Examples:
            /echo 6 mIRC is currently $dde mirc connected "" to a server
            /echo 6 mIRC is currently $dde mirc connected "" to $dde mirc
            server ""

            The other topics for REQUEST's are EXENAME, INIFILE, USERS,
            SERVER, NICKNAME, VERSION and PORT. Lets just give some
            examples:
            /msg $active The mIRC exe name path and filename is $dde mirc
            exename ""
            /echo 6 mIRC's ini file is $dde mirc inifile ""
            /say users on #mirc are $dde mirc users #mirc
            /echo I (would) use $dde mirc server ""
            /echo 3 my current nickname is $dde mirc nickname ""
            /echo 4 My version is $dde mirc version ""
            /echo 5 mIRC is connected to port number $dde mirc port ""

            Return to the table of contents.

            ----------------------------------------------------------------

            7 SOME NOTES ON 'PROGRAMMING' mIRC (Tutorial?)

            I never thought this section was gonna grow into what it is
            now... It proves to be maybe the most importand part of this
            FAQ. You all clearly showed me there is a need for this
            Aliases, Popups and Remote tutorial. I hope this section will
            grow on into a nice mIRC reference (and teaching) manual. Have
            fun with it !

            And, Mookies thanks thanks thanks for reviewing and editing
            this part of the FAQ.... How surprised I was to find out you
            even wrote the whole 7-3 section...!!

            mIRC has 4 sections which can be "programmed" in some way: The
            Aliases, Popups, Remote Commands, and Remote Events.

            The best way to learn and understand the way these sections
            work is by studying them in consecutive order. Really! Please
            don't try to take a shortcut to the Remote sections before you
            really understand the Aliases and Popups. The lessons you'll
            learn from each are cumulative.

            (A note for those familiar with ircii: mIRC's aliasing syntax
            is similar to ircii's, but not exactly the same. mIRC's Remote
            Command and Event sections allow you to implement many of the
            same things you can do with ircii scripting, but the structure
            and syntax are a bit different.)

            Return to the table of contents.

            ----------------------------------------------------------------

            7-1 The Aliases section.

            Under Tools/Aliases... the Aliases section will be found.

            In this section you can define shortcuts for often-used
            commands such as join, part, quit, opping and deopping, and
            whatever else you want. Even things you frequently say can be
            placed in an alias... In general, ALL commands which can be
            used in the edit box (the line or lines you normally use to
            talk/type in) can be used in an alias. Aliases can also be used
            to execute several commands at once. You can even define
            aliases that are launched by the function keys F1 - F12....
            (Finally some use for those never touched keys..)
            In mIRC you can even call an alias from popup menu's and remote
            lines.

            7-1-1 Creating Aliases.

            OK, let's start right off the bat with an example. To join a
            channel, you normally have to type:

            /join #{name}

            ...where #{name} is the name of the channel, of course. Since
            this command is used so often, it'd be nice to use it by typing
            as little as possible, right? So let's create an alias for
            "/join #{name}" -- let's create a shortcut.

            Instead of typing "/join #{name}", let's make it so that we can
            type "/j #{name}" with the same results.

            In that case, the Alias would be:

            /j /join $1

            (You don't have to understand exactly what that means to mIRC
            at this point, just what it will do. I'll explain the alias
            syntax shortly.)

            Give it a try by placing the line "/j /join $1" in the Aliases
            list under Tools/Aliases (if it isn't already there). Then try
            it out on the command line (where you normally type) with a
            simple command like:
            "/j #test".

            You'll see that "/j #test" now does exactly the same thing as
            "/join #test" -- it joins you to a channel named #test. This
            construction is called an alias.

            Alias Syntax.

            Aliases use the following format: "/{aliasname} /{command}"

            In other words, first your "shortcut" name (like "/j" in the
            example above), then a space, and then the actual command your
            shortcut is pointing to (like "/join" in the example above).

            But it doesn't stop there. Aliases also use a number of special
            STRINGS. There are three pre-defined strings (#, $me and $! )
            which always mean the same thing to mIRC (new predefined
            strings are the $read [-l#] and $url .... I'll discuss them
            later too.), and then several variable strings (such as $1, *1,
            $$1, $?, #$1, #$$1, and even #$?).

            Don't worry, we'll explain all of these in good time.

            Right now, let's concentrate on $1. After all, that's the
            string we used in our example above:

            /j /join $1

            $1 means "the first word typed after the Alias, whatever that
            may be." So if you type "/j #test", mIRC knows that this is a
            shortcut for "/join #test". If you type "/j #hello", it will
            know that this is a shortcut for "/join #hello".

            Example: Multiple Commands

            Now, let's say that you'd like to join several channels at
            once. You can make an alias to do this. Just separate the
            commands with the | character (on most keyboards, this is the
            shifted version of the \ backslash key)...

            Let's say that you'd like to be able to type "/j3" and then
            follow it with the names of three channels, and they'll all be
            joined at once. The alias would be:

            /j3 /join $1 | /join $2 | /join $3

            So if you placed this alias in Tools/Aliases and you were to
            type:

            /j3 #test1 #test2 #test3

            ...mIRC would "/join #test1", then "/join #test2", and then
            "/join #test3".

            In this case, you see that $1 means the first word typed after
            the Alias. And $2 of course means the second word, and $3 the
            third.

            Now, mIRC is obviously expecting three words -- your channel
            names. So what would happen if you just typed "/j3 #test1"?
            mIRC would complain about the missing parameters, as it's
            expecting more channels to be named. There is a solution to
            this problem, the $$1 string, which will be explained later.)

            Example: /say

            Let's say that there's something you find yourself typing into
            a channel all the time, like your home page address, a
            greeting, etc.

            Take a look at these alias examples using the "/say" command:
            "/say" simply types the indicated text into your current
            channel or private message window.

            (On some systems, you may need to scroll to the right to see
            the full text of these and other examples.)

            /hello /say Hello to all of you...

            /www /say The mIRC page is at
            http://metro.turnpike.net/mookies/mirc.html

            /lines /say This is the first line | /say This is the second
            line | /say This is the last line

            The last examples show how to /say multiple lines of text in
            one alias. Just separate the commands with the | character. You
            also see that not all aliases always have Strings in them.

            Example: /me

            Actions in an alias...

            /fun /me thinks this is fun!
            /hug /me hugs $1 firmly!

            The second example uses a string, $1. If you were to type "/hug
            everybody", this would be equivalent to "/me hugs everybody
            firmly!"

            Example: Shared Strings

            Multiple commands can also share the same string.

            /jtest /join $1 | /topic $1 just testing

            In this alias definition the parameter $1 is used twice. If you
            were to type "/jtest #test", it would first join the channel
            #test, and then change the channel topic to "just testing."

            Another example along the same lines:

            /love /say I love $1 ! | /say I really love $1 !!

            If you were to type "/love everybody", mIRC would know to "/say
            I love everybody !" and then, "/say I really love everybody !!"

            Example: Mode Changes (Opping, etc.)

            To put your often-used mode changes in the aliases section, you
            first need to know the normal structure of the mode commands.
            Opping somebody on IRC normally requires the command:

            /mode #{channelname} +ooo {nick1} {nick2} {nick3}

            ...in which up to 3 persons can be mentioned.

            This can be nicely aliased with:

            /op /mode # +ooo $1 $2 $3

            To op John, Jake, and Joan, now you can just type: "/op John
            Jake Joan"

            The # in this alias shows the use of one of the other
            pre-defined strings (# and $!). The # always stands for the
            #channelname of the channel on which the alias is used....

            In the same way you can make aliases like...

            /deop /mode # -ooo $1 $2 $3
            /ban /mode # +b $1
            /kick /kick # $1
            /dbk /mode # -o $1 | /kick # $1 | /mode # +b $1

            IMPORTANT: Proper spacing!

            This is very important! You MUST include spaces between strings
            and the rest of your text! For example:

            /like /say I really like $1!!!

            ...will NOT work! There needs to be a space between the string
            "$1" and your "!!!"'s. (This can sometimes make your text look
            awkward when using commands like /say, so be careful with your
            phrasing.)

            /like /say I really like $1 !!!

            ...WILL work just fine.

            This is true of ALL strings. To make one particular case
            easier, specifying channels, a few special strings have been
            created that automatically prefix the parameter with the #
            character. These are #$1, #$$1, and #$?. See below for details.

            In SOME cases you CAN do: /like /say I really like $1's topic,
            but keep in mind: NOT ALWAYS !! You have to test this in every
            case you want to use it...

            Where can you use Aliases?

            Aliases can be used in the edit box (the line or lines you
            normally use to type commands in), and you can even use aliases
            in the Popups and the Remote sections that will be explained in
            the following sections. The function key aliases can also be
            used on selected nicks in the channel names-list and in query
            windows, etc....depending on your alias definitions. It is even
            allowed for aliases to call other aliases, or even to call
            themselves recursively. As a safeguard against infinite loops,
            the default maximum recurse depth is set at 5. This can be
            changed with the /maxdepth command. The minimum depth allowed
            is 1 (aliases can't call other aliases) and the maximum is 100.
            Calling aliases from within aliases uses quite a bit of memory,
            so this might cause problems in certain situations where memory
            is low etc. In case one of your aliases or remotes got into a
            loop use the CTRL+Break key combination to stop the process.

            Special Alias Definitions ; The Function keys.

            A special alias definition is possible which can launch
            commands using the Function keys. Define some aliases as
            follows:
            /f1 /say Hello to you all
            /f2 /topic # This is a new topic

            You now can type "/f1" to say hello to all on a channel ... but
            pressing the "F1" function will also work !! Other examples:
            /f5 /me will happily send you the new mIRC.
            /f6 /join #mirc
            /f9 /dcc send $1 c:\serve\mircfq18.zip
            /f10 /dcc send $1 c:\serve\mirc364.zip
            /f11 /dcc send $1

            The F9 key will send the mIRC FAQ to a person selected from the
            channel names list. Don't forget to select a nick first ! If
            you don't, you will see strange (but logical) things... You can
            even use the F9 key in a Private, Query or DCC Chat window with
            this alias definition !
            The F11 key will prompt you for the nick to whom to send a
            file...
            Well.... invent your own custom use of the F keys ..... have
            fun ! You can also use -shift- and -ctrl- in combination with
            the F keys. Just define aliases like :
            /f1 /say I used F1 to say this
            /sf1 /say I used Shift+F1 to say this
            /cf1 /say I used CTRL+F1 to say this

            Note : Almost all aliases I could think of are given in section
            8 ! Check them out.

            Using evaluation brackets.

            You can now use [ and ] evaluation brackets in aliases to
            control the order of evaluation of identifiers. The brackets
            can be uses in popups and remotes as well. Identifiers within
            brackets will be evaluated first, from left to right. You can
            also nest brackets. This allows you to evaluate things any way
            you like... The brackets will not show in the resulting text or
            command. Example's are :
            /note /notice $1 " $+ [ $read [ -s + [ $2 ] ] c:\text\note.txt
            ] $+ "
            /sayvar /say % [ $+ [ $1 ] ]

            Definitions without evaluation brackets are evaluated the same
            way as before.

            Return to the table of contents.

            7-1-2 String Definitions.

            By now, you should have a decent grasp of the Aliases section.
            You might be interested in a full list of the strings and
            identifiers that you can use in your aliases and, later on, in
            popups and remote definitions as well, by now? The next two
            sections will introduce them all. At this point, make sure to
            try all of the examples given until you fully understand how to
            do it yourselves!

                 The simplest string. It contains one word, the first word
                 after the alias command. By the same token, $2 would
                 indicate the second word, $3 the third, etc. Example:
                 /op /mode $1 +o $2
                 Type "/op #mirc Janet John" to make Janet and John
                 operator on #mirc.
                 /slap /me slaps $1 with a large $2
                 Type "/slap residue fish" to give residue some fish smell
                 ;o)

            *1

                 This string can contain a LOT of words... It will contain
                 the first word, *and* everything after the first word.
                 Try:
                 /tell /say I'd like to tell all of you something - *1
                 The command "/tell mIRC is really great" with this alias
                 will result in the text: "I'd like to tell all of you
                 something - mIRC is really great". *2 would contain the
                 second word and everything after it. *3 would contain the
                 third word and everything after it. etc.
                 Also try...
                 /note /notice $1 *2
                 ...and type "/note {nick} {whatever text}"
                 And...
                 /mess /msg $1 *2
                 ...and type "/mess {nick} {whatever text}"
                 (Make sure you realize that these commands would have
                 given the same result if you defined the aliases as '/note
                 /notice *1' and '/mess /msg *1' respectivly.)
                 Note : you can also use constructions like *1-4

            $$1

                 An alias containing this kind of string will be executed
                 ONLY if a parameter is given; otherwise, the call to the
                 alias will be ignored.
                 For example, if you try this alias:
                 /j /join $$1
                 and then type, "/j" (instead of "/j #channelname")... mIRC
                 will ignore you because you didn't include a channel
                 name.Otherwise, it works the same as $1 -- it contains the
                 first word. $$2 would contain the second word, $$3 the
                 third, etc.

            $?

                 This is a nice one!
                 An alias with this string in it can be started without
                 specifying the parameter. mIRC will display a Parameter
                 Entry dialog box, in which text, a nick, or whatever, can
                 be entered.
                 Try it with these examples:
                 /j /join $?"
                 /hug /me hugs $? firmly

            $?="text"

                 An "extra special" version of the $? string. mIRC will
                 again display the Parameter Entry dialog box, but will now
                 ask for the specific kind of information to enter.
                 Try these:
                 /j /join $?="Which channel to join?"
                 /hug /me hugs $?="Who to hug?" firmly

            $!

                 This string is used only in conjunction with $?. If you've
                 used $? earlier in the alias, you can use $! Later on to
                 recall whatever parameter was typed in.
                 For example:
                 /j /join $?="Which channel to join?" | /say I like channel
                 $!
                 Type "/j" and it will display a Parameter Entry dialog box
                 asking you to type in the name of the channel to join. If
                 you type "#test", it will join #test, and then say into
                 the channel: "I like channel #test".
                 Also try:
                 /friend /say $? is my friend | /say I like $! a lot

            #$1 -and- #$$1 -and- #$?

                 These special versions of the $1, $$1, and $? strings are
                 used in connection with channels only. All these do are
                 affix the # character to the beginning of the parameter.
                 Try...
                 /j /join #$1"
                 You'll be able to type "/j test" instead of "/join #test".
                 Also try:
                 /j /join #$?="Give channel name to join (No #)"

            Return to the table of contents.

            7-1-3 Identifiers.

            #

                 An identifier that always contains the channel name where
                 the alias was executed. This is important because many
                 commands, like the /mode commands, require that you
                 specify a channel name.
                 Example:
                 /op /mode # +o $1
                 Type "/op Cindy", and it will op the person with the nick
                 Cindy in whatever channel you type this.

            $me

                 This pre-defined string always contains your current nick!
                 You can use it in all kinds of situations.
                 For example:
                 /nice /me thinks $me is a nice nick ! Or
                 /offer /me offers mIRC version 3.7 Do "/ctcp $me xdcc send
                 #1" to get it. Or
                 /away /me is away ( *1 ) | /away *1 | /say Messages to $me
                 will be stored.
                 Or give the alias:
                 /nick /say I like $1 better than $me | /nick $1
                 a try, and change your nick then by "/nick {newnick}"

            $read [-l#] {filename.txt}

                 This predefined string is a funny one. It will pick a
                 random line from the specified file and insert that line
                 into the alias.... The line can contain plain text and,
                 also, commands !! (to make it easier ;o) Also $!read which
                 is the same as $read except that it isn't evaluated the
                 first time it is passed through the alias routines. This
                 allows you to use it in a /timer command if you want the
                 $read to be re-evaluated each time.
                 IMPORTANT : in the file you get the random lines from the
                 FIRST line should state the total of text lines in the
                 file ! Otherwise only the first line will be used .... not
                 very random, huh ?
                 For example:
                 /fun /say $read c:\mirc\funlines.txt
                 /kick /kick # $1 $read c:\mirc\funkicks.txt
                 /silly /say $read -l5 silly.txt

            $readini {inifile} {section} {item}

                 Similar to $read this identifier reads items from .ini
                 files. It is created in conjunction to the /writeini
                 command. Both use the built in windows routines to read
                 from and write to standard Windows .ini files. We think
                 $readini and /writeini will open up new and better
                 posssibilities for writing your own automated actions on
                 IRC.

            $url

                 This predefined string always contains the current page
                 your www browser Netscape shows you...
                 For example:
                 /show /say Hey guys, I found a superb www-page ! Check out
                 $url
                 /mu /me found this great URL : $url

            $ip Your IP Address.
            $server The server you use.
            $active The name of the active window in mIRC.
            $time The time on your PC.
            $away Tells you if you're set away or not.
            $ctime The number of seconds elapsed since 00:00:00 GMT,
            January 1, 1970.
            $asctime(N) Returns ctime values in a full date text format.
            $day The current day. (Monday, Tuesday,...)
            $date The date (european order) (YES !! mIRC is -not- made in
            the USA ;o) alternatively use $adate (american), $fulldate or
            $day.
            $logdir, $getdir, $wavedir, $mircdir Return the paths to these
            directories.
            $nopath(filename) Returns only the filename with no path.

            $abs(N) returns the absolute value of number N.
            $chr(N) returns the character with ascii number N.
            $asc(C) returns the ascii number of the character C.
            $len(text) returns the length of "text".
            $upper(text) returns "text" in uppercase.
            $lower(text) returns "text" in lowercase.
            $left(N,text) returns the left N characters of 'text'.
            $right(N,text) returns the right N characters of 'text'.
            $mid(S,N,text) returns N characters out of 'text' starting at
            S.
            $pos(string,substring) returns the position of substring in
            string.
            $replace(string,substring,replacement) replaces a substring in
            a string.
            $remove(string,substring) removes a substring from a string.
            $str(N,text) returns "text" repeated N times.
            $rand(X,Y) returns a random char inbetween X and Y.
            $lines(file) returns the number of lines in the specified file.

            $nick(N,#) returns Nth nickname on channel #.
            $snick(N,#) returns Nth selected nickname on channel #.
            $opnick(N,#) returns Nth Op nickname on channel #.
            $nopnick(N,#) returns Nth non-Op nickname on channel #.
            $channel(N) returns the Nth channel that you are on.
            $query(N) returns the Nth query window you have open.
            $chat(N) returns the nick of the Nth dcc chat window you have
            open.
            $send(N) and $get(N) return the nick of the Nth open send/get
            window.
            $notify(N) returns the Nth notify nick currently on IRC.
            $token(N,C,text) returns the Nth token in 'text' separated by
            character C (C is the ascii number of a character)

            For the above identifiers you can specify N as 0 (zero) to get
            the total number of nicks/channels/etc. for that identifier.

            $snotify returns the nick currently selected in the notify
            window.
            $level(address) finds a matching address in the remote users
            list and returns its level.
            $address(nickname,type) which scans the internal address list
            and returns a users address if it's found.
            $mask(address,type) returns the address with the specified mask
            type.

            Identifiers and variables can be placed inside the brackets.
            Example: /echo $right(3,$left($len(goats),ToMooOrNotToMoo))
            results in ' Moo'

            Return to the table of contents.

            ----------------------------------------------------------------

            7-2 The Popups section.

            Popups are the menus that appear when you right-click with your
            mouse. If you haven't found this nice feature of mIRC already,
            give it a try NOW! Some popup menu's are predefined in the
            mIRC.ini from the mirc.zip-file, but they are fully
            customizable under Tools/Popups. If your copy of mIRC doesn't
            seem to be equipped with some prefab popup menu's (the
            Tools/Popups section is empty then), it is almost certain that
            you didn't make sure that the prefab popups.ini file was
            correctly copied from the mirc.zip to the mirc directory, or
            the path to where this prefab popups.ini can be found is not
            correctly specified.

            The popup commands work almost exactly like aliases. All of the
            strings mentioned in Section 7-1 are allowed in popups (and
            vital for the proper use of them). If you haven't read the
            Aliases section (7-1), please do so now! You need to know that
            information before moving on.

            Also: Definitely read the Help file's explanation of popups, as
            well as take a look at the many popup examples included in mIRC
            under Tools/Popups. The more examples you try, examine, and
            mess around with, the better your grasp of mIRC will be.

            Example: /join

            Let's say that you join a particular channel frequently, #test.

            Rather than having to type in "/join #test", wouldn't it be
            easier to just right-click and select a menu item to join you
            there automatically?

            The following popup would do that. Just enter it into
            Tools/Popups, making sure that "Main Window" is selected at the
            top. (Not Query/Chat window, Channel Names List or Menu Bar!)

            Join the Test Channel:/join #test

            Now right-click over your Status window or any channel window
            and select "Join the Test Channel". mIRC will do exactly that.

            Example: /away

            Here's an example of "away" and "back" popups... you type in
            the reason you're away, and it's sent to all the channels
            you're on. (That's what the /ame command does, it sends a /me
            to every channel you're on.)

            Set Away...:/ame is AWAY ( $?="Give a reason" ) | /away Please
            try later ( $! ) !!
            Set Back:/ame is BACK | /away

            (Note again that on some systems you may need to scroll to the
            right to see the full text of some examples.)

            Notice that the "Set Away" example uses multiple commands.

            Heirarchal Menus

            If you were to add a few popups like that, your screen would
            quickly get cluttered every time you right-click. So you can
            organize your popups into heirarchal menus.

            Try entering all of the following popups:

            Say Things
            .Hello:/say Hello folks
            .Goodbye:/say Goodbye folks
            .Hug Somebody:/me gives $? a big hug

            Here we're specifying that the last three commands should show
            up _under_ "Say Things" by: 1) including them after "Say
            Things", in the order we want them to appear, and 2) prefacing
            them all with "." <-- a period.

            When you right-click, you'll see the "Say Things" menu item.
            When you select that, you'll see "Hello", "Goodbye", and "Hug
            Somebody" menu items. Select from those to perform one of the
            actions specified above.

            If you want to get really complicated, you can make your popups
            many levels deep. For example, try:

            Comment About People
            .Compliments
            ..Nice Today:/say Wow, $? -- you're being very nice today!
            ..Helpful:/say Thanks for being so helpful, $?
            ..Friend:/say I'm glad to have $? for a friend.
            .Insults
            ..Jerk:/say Leave me alone, jerk!
            ..Idiot:/me wonders why $? is such an idiot sometimes.
            ..Enemy:/say I'm proud to have $? as my enemy!

            And so on! Just order them properly, using the periods. (If the
            manner in which the above is organized doesn't "click" with
            you, definitely try it out! Enter the above "comment" section
            into Tools/Popups. It's a lot easier to grasp when you see it
            working.)

            All popup menu items can be put under a Function key too!
            That's handy as a replacement for often-used popups.... (Make
            sure to use the correct syntax and put them [ie.the function
            key replacements] in the alias section)

            Return to the table of contents.

            ----------------------------------------------------------------

            7-3 The Remote Section.

            The Remote section can be found under Tools/Remote/. Clearly
            the most advanced part of mIRC, you can do things with mIRC's
            Remote section that would normally require scripting or special
            bot software...

            Things like: offering files (an XDCC list); responding to
            specific channel or private message text; customizing CTCP
            responses; setting up various user levels for your friends;
            ...almost anything that happens on IRC can be automatically
            responded to, and your response can make use of almost any mIRC
            command or commands.

            The Remote syntax can be a bit complicated at times, but it's a
            simple extension of the formats explained previously for
            Aliases and Popups. If you understand those well, including the
            Strings, then please proceed. If not, go back and read (or
            re-read) Sections 7-1 and 7-2. The information presented there
            is ABSOLUTELY REQUIRED LEARNING before attempting Remote.

            It's also important to remember why Remote is called Remote.
            The Remote section is designed to respond to things done by
            users OTHER than yourself -- in effect, it allows others to
            "remotely control" your mIRC session, according to the specific
            Remote features you implement. Many examples can't be tested by
            simply sending the commands or typing the text yourself. They
            have to be sent by some other client.

            Remote consists of three parts: Remote Users (the user list),
            Remote Commands, and Remote Events.

            Return to the table of contents.

            SECTION 7-3-1 Remote Users.

            (Also please read section 6-7.)

            See Tools/Remote, the box at the top left labeled "Users"...

            In this part of Remote you can assign various user levels. You
            can assign certain levels to your friends and certain levels to
            your "enemies" (you can create a "shit list"), and a host of
            levels in between.

            Why is this important? Let's say that you've written a Remote
            Event designed to kick anyone who says the word "nonsense" in
            your channel (just replace this in your head with whatever foul
            word you'd like). We'll explain how to do this later (in
            Section 7-3-3), but for now it's just the idea that's
            important. Sounds reasonable, right?

            OK, but perhaps you'd ONLY like regular users to be kicked for
            saying "nonsense." You'd like some of your friends only to be
            warned. And you'd like to ignore it from still others, perhaps
            your closest friends. And if you don't care for someone much at
            all, perhaps you'd like to kick AND ban them for saying
            "nonsense"!

            To do these kinds of things (give different responses to
            different people), you need to setup a users list. For each
            user, you'll specify their nick or address and the user level
            you've decided to assign them.

            Here's an example of a valid user list:

            1:nick1
            1:nick2
            2:[email protected]
            2:*[email protected]
            3:*!*@machine.subnet.edu
            4:*!*@*subnet.edu
            5:*[email protected]*.subnet.edu
            10:[email protected]

            The numbers you pick for the user levels are completely up to
            you. You can decide what each of the user level numbers can and
            cannot do, as you'll see in the next two sections. By default,
            mIRC assigns everyone not specified in the user list to level
            1. (Depending on the setting in Tools/Remote/'Default level'.

            If you specified different levels to different users you of
            course also need commands and events that have different
            reactions or power to users of these levels... That will be
            explained later...

            As you can see, either a nick or an address are permissible.
            Wildcards are allowed. There are some cases where you might
            want to specify your users twice, by both nick and address.
            This case (ON OP/ON DEOP/ON SERVEROP/ON NOTIFY) is explained in
            Section 7-3-3.

            You don't have to do all the editing by hand ... you could also
            use mIRC's edit box or command line commands /auser, /guser and
            /ruser.

            /auser /auser {level} {nick or address}
            'Auser' (Add user) adds whatever nick or address you specify to
            the users list at the level you specify. It does not check for
            a valid address. The nick or address is added exactly as you
            stated it.

            /guser /guser {level} {nick} [type]
            'Guser' (Get user) adds a nick to the users list specified by
            address. To accomplish this mIRC does a /whois on the nick you
            specify, and adds the returned address at the specified level
            to the users list. This means that the specified nick has to be
            on IRC to be able to use the /guser command to add him/her to
            the list. By specifying the 'type' mIRC can add a user with
            several types of wildcarded addresses. This is analogous to the
            'type' parameter used in the /ban command. Type ranges from 0
            to 4.

            /ruser /ruser {nick or nick! or address or nick [type]}
            'Ruser' (Remove user) removes a nick or address from the Users
            list. You must know exactly how the nick or address is stated
            in the User list for this command to work.
            If somebody is listed like [email protected] you can
            also do "/ruser nick!". Mind the "!" to remove the entire line.

            In mIRC version 3.5 an improved /ruser command was made so that
            it can work like /ban and /guser. /ruser {nick} [type] if you
            do NOT specify a type, then it works as usual and removes the
            specified nick from the user list. If you DO specify a type, it
            looks up the users address and removes that address from the
            user list.

            Note: Using different address types allows you to specify a
            person or group of people with more or less wildcards. I'll
            show you the different results .....

            No type mentioned; Kreet!*[email protected]
            type 0; Kreet!*[email protected]
            type 1; *!*[email protected]
            type 2; *!*@Wit399402.student.utwente.nl
            type 3; *!*[email protected]*.student.utwente.nl
            type 4; *!*@*.student.utwente.nl

            mIRC now keeps an internal database of the people on the
            channels you are on. This database is used to speed up the
            performance of commands like /ban, /guser and /ruser a whole
            lot. These commands normally will make mIRC do a /whois on the
            person you issue the command on. The internal list stores info
            like [email protected] for all users that are on the same
            *channels* as you. Whenever a /guser, /ruser, /ban, /finger,
            /ignore or /dns command is issued, the internal list is
            searched first to find the nick's address. If no match is
            found, the normal /whois stuff is done. This will speed up your
            bans a lot...especially when you're lagged... If you are on a
            slow PC and/or you are on a lot of large channels, mIRC's
            updating of the database might slow you down quite a bit ...
            then its probably good to switch it off ! In the Tools/Remote
            dialog you can deselect the use of the 'Internal Address list'.

            Return to the table of contents.

            7-3-2 Remote Commands.

            See Tools/Remote, the box at the bottom, with "Commands"
            selected...

            Remote Commands refers to a very specific type of command: CTCP
            commands. The Remote Commands section of mIRC does one thing
            and one thing only -- it allows you to make mIRC respond to
            CTCP commands sent by other users the way -you- wish. There are
            a lot of ctcp commands defined according to the IRC RFC's
            (standards). The usual ones are version, ping, time, userinfo,
            clientinfo and finger. Every IRC client will respond in a
            standard way if one of these commands is send to it. These ctcp
            commands are sent by or to you in the format:

            /ctcp {yournick} {command with parameter(s) if any}

            Consider the simple example of a ping. The other user would
            type:

            /ctcp {yournick} ping

            (You can also send yourself a ping command! Try it! Type "/ctcp
            {yournick} ping".
            Under normal circumstances, mIRC would send a standard ping
            reply [ctcp hisnick pong]. But with Remote Commands, you can
            redefine the program's response to the ping. It can now do
            almost whatever you'd like it to do when it receives a ping. On
            top of that, it can also send a normal ping reply. Or not. It's
            up to you.
            There is ONE exception to this ... you cant hide your mIRC
            version reply.... We like the advertisement, you know....

            You can also create new CTCP commands, and responses for them.
            This is how features like file offering (XDCC LISTs and SENDs)
            are handled.

            But right now, let's get back to our ping example.

            Example: Custom Ping Response

            Place the following example into your Remote Commands. Go to
            Tools/Remote, make sure that "Commands" is selected, and
            "Listening" is checked, (When "Listening" is not checked,
            Remote Commands are ignored.) and write in the commands box:

            1:ping:/notice $nick ping? Hmmm! ...pang pang pang!!

            Now if someone pings you, your reply will be "ping? Hmmm ! ...
            pang pang pang !!" in a notice sent to the person who pinged
            you, and not the normal reply being 'pong'.
            Test this by giving the command "/ctcp {yournick} ping"! If it
            doesn't work make sure your Remote/Commands section is set to
            'Listening'! Or set it to active by the '/remote on' or
            '/commands on' command.

            If you want to be a bit more polite, you can add the
            redirection command to the end. :> It looks like a "smiley" but
            it's not.

            1:ping:/notice $nick ping? Hmmm! ...pang pang pang!! :>

            This will do the same thing as before, except it will also send
            your normal ping reply.
            Again, test it and see the difference!

            Assuming you actually tried the two given ping replies, and
            that you got them to work, let's go over the syntax used here a
            bit, and then we'll go back to the above example and _why_ it
            does what it does.

            Remote Command Syntax.

            Remote Commands, except for some special cases, are made up of
            3 portions. Each of the portions are seperated by a colon. The
            general syntax looks like:

            {command_level}:{ctcp_command}:{triggered_command(s) with
            parameter(s)}

            Lets go over the separate portions one by one:

            {command_level} This command will respond to users with a user
            level equal to the command level, and to users with higher
            levels, unless other commands are created for them.

            {ctcp_command} The CTCP command can be named anything you want
            it to be. It can be a standard, already existing CTCP command,
            like Ping or Version, or it can be one of your own creation.
            (like OPME, DIE, LEAVE, XDCC LIST,......)

            {triggered_command(s) with parameter(s)} In this part you
            define the (to be) triggered command(s). Their format and the
            use of multiple commands is almost exactly as you define them
            in the aliases and popups. The strings in this section are
            filled in by mIRC automatically... You only have to make sure
            that the strings you use are defined at all... ie. make sense
            if used in the remote commands ... (For instance the $chan is
            NOT defined in the remote commands !!)

            Let's take a look at our ping example and try to dissect it.

            1:ping:/notice $nick ping? Hmmm! ...pang pang pang!! :}

            1 is the command level. All users with a user level equal or
            higher than 1 can execute or use this command.

            Ping is the CTCP command this Remote Command is going to react
            to.

            The triggered command is a /notice. In this case a notice is
            sent to $nick containing the entire line "ping? Hmmm! ... pang
            pang pang!!" $nick is a pre-defined parameter that contains the
            nick of the person who gave you the CTCP command ... in this
            case he pinged you. (More about the pre-defined parameters
            soon.)

            Summarising, the effect of the command "/ctcp ping" is a
            "/notice {nick} ping? Hmmm! ...Pang pang pang!!" This is
            executed as soon a CTCP Ping is received.

            The redirection used (the :> part) may seem hard to understand
            at first. Normally, this would be used to redirect the command
            to another command. For example, placing ":> version" there
            would cause it to immediately go to your response for the CTCP
            Version command. But because we've left it empty (just :>), and
            because Ping is a command that mIRC has a default response to
            (like with Version, Time, Userinfo, Clientinfo, etc.), the
            default response is given -- a standard ping reply -- on top of
            your addition.
            Take a look at this example of how redirection would usually be
            used:

            1:help:/notice $nick Sorry I can't help you... :> morehelp
            1:morehelp:/notice $nick But.... join #mirc to find it all out
            ??

            The command "/ctcp {yournick} help" will result in 2 notice
            lines sent to the remote user....

            -yournick- Sorry I can't help you...
            -yournick- But.... join #mirc to find it all out ??

            ...because mIRC responds to the "help" command, and then
            redirects it to "morehelp."

            Rather than using redirection, you could also use multiple
            commands, utilizing the | character, as with Aliases and
            Popups. That way a single Remote Command could've sent both
            notice lines, rather than using redirection. The use of the |
            is very straight forward, and we'll cover it later. Just glue
            two remote commands together using the |.
            With the NEW REMOTE SYNTAX introduced in mIRC 3.7 that works
            perfectly !! .....

            Different reactions to people with different user levels

            You can fine tune your reactions to remote commands by
            assigning different levels to them.
            mIRC will always respond to a user with the highest leveled
            reply that fits to the command he/she gave.. Lets analyze it
            with these example lines...

            1:ping:/notice $nick ping? Hmmmm your levels are tooooo low...
            2:ping:/notice $nick ping? Hmmm! ...pang pang .... Quite dead
            !! :>
            3:ping:/notice $nick ping? ...pang !! Hmmm... missed... :>
            6:ping:/notice $nick ping? Hmmm! ...Well I like you .. you're
            allowed to ping me.. :>

            A level 1 user won't get a ping reply but a nice "ping? Hmmmm
            your levels are tooooo low..."
            A level 2 user (2:[email protected]) will not
            survive it when he does a /ctcp ping ;o) He will see "ping?
            Hmmm! ...pang pang .... Quite dead !!"
            A level 3 user (3:*!*@machine.subnet.edu) will get " ping?
            ...pang !! Hmmm... missed..."
            To level 4 and 5 users no specific reaction is defined ... The
            highest to them available command is the level 3 one...
            Therefore these people (5:*[email protected]*.subnet.edu) will see the
            level 3 reaction too !!
            Level 6 and higher users will all get the level 6 ping reply...

            This leveling can be done for ALL remote commands (and events)
            ....
            Make sure you get the point here !!! Maybe re-read the above
            sections ??

            Special identifiers for Remote/Commands/ lines.

            $nick, $address, $parms, $parm1, $parm2, $parm1*, $parm2* etc.
            are all identifiers specially created tobe used in remote
            lines.
            You can use them whereever you want in the lines triggered by
            remote commands...

            $nick The nick of the person who sent the command or activated
            the event.
            $address The full address of the person who sent the command.
            $site The site of the person who sent the command.
            $level Represents the users remote level.
            $parms Any text the person might've sent including (!) the
            command.
            $parm1 Lets you break down $parms into individual words.
            $parm3* Contains the third word in the command and all after
            it.

            Note: The $chan is NOT DEFINED in the Remote Commands ... $chan
            normally contains the channel from which a commands is given
            ... CTCP commands don't have to be given to you from a channel
            ... or the person sending the command could be on more channels
            ... Get the point ?? Maybe $active will do what you want ?

            Example: Here's an example using the pre-defined $address
            parameter...
            1:address:/notice $nick Your address is $address
            If a user were to send a '/ctcp {yournick} address' command to
            you, you would reply with a notice reading, "Your address is
            {whatever his or her address is}".

            Example: Opping friends on demand. (Using $parms)

            If you're not clear on the basics of how all of this works yet,
            don't worry. Try to follow along with the examples and see if
            it "clicks" in your brain. Re-read the above examples if
            necessary. But don't attempt to write your own Remote Commands
            or move on to the next section until it "clicks."

            1:opme:/notice $nick Sorry, you won't get opped on $parms ..
            your level is too low
            5:opme:/mode $parms +o $nick

            If a level 5 friend sends '/ctcp {yournick} opme
            {#channelname}', this command will op them in the specified
            channel. Level 1 people WON'T get opped whatever they try....

            Here another predefined parameter is used -- $parms, which
            refers to everything the user typed after the CTCP command
            (opme). In this case, it's the channel name.
            The $parms can be used to process long lines given by a remote
            user in a CTCP command...

            5:return:/notice $nick $parms

            This command for instance will return any sentence issued by a
            remote user. The entire line given by the remote user after the
            CTCP Return command will be held in the $parms parameter. This
            will be sent back to them in a notice.
            A "/ctcp {yournick} return Bladiebla die bladie bla bla bla"
            will cause your mIRC to respond by executing the command
            "/notice friend Bladiebla die bladie bla bla bla".

            Multiple Commands.

            A Remote CTCP command can also trigger multiple commands....

            5:opme:/mode $parms +o $nick | /notice $nick You are opped on
            $parms

            Then your level 5 friend sends the command:
            '/ctcp {yournick} opme #channelname'

            What happens??
            In effect two commands are triggered by the Remote CTCP opme
            command...
            one "/mode #name +o friend"
            two "/notice friend You are opped on #name"
            ----------------------------------------------------------------
            NOTE
            + A command syntax like, or analogous to...
            + "5:opme:/mode $parms +o $nick | /notice $nick You are opped
            on $parms"
            + WAS totally wrong in the OLD Remote syntax !!
            + In the NEW syntax this is the only right way to go.
            ----------------------------------------------------------------

            Another CTCP command triggering multiple commands:

            10:part:/part $parms | /notice $nick I have left channel $parms

            And if a level 10 user sends you:
            '/ctcp {yournick} part #channelname'

            This command makes you leave a channel on request, and tells
            the requester you did so...

            $parms contains the channel name you are asked to leave.
            $nick is the nick of the person who asked.

            *** Other Examples.

            1:ping:/notice $nick Please don't ping me.

            ...would respond with: "/notice {nick} Please don't ping me."

            5:time:/notice $nick Time to get a watch.

            ...would respond with: "/notice {nick} Time to get a watch.

            10:whoareyou:/notice $nick I am who I say I am :> whoaretwo
            10:whoaretwo:/notice $nick And I say that I'm YOU!

            ...would respond with: "/notice {nick} I am who I say I am"
            followed by
            "/notice {nick} And I say that I'm YOU!"

            *** Examples of Remote Commands that WILL NOT WORK

            1:zap:/notice *1:$nick No zaps allowed! :>

            *WILL NOT WORK*
            ...Why? You're using an empty redirection command (:>) on a
            CTCP command that you made up yourself. This only works on the
            standard CTCP commands like Ping, Version, Time, etc.

            10:version:/notice $1 $2 | /notice $1 *3:$nick Version? I ain't
            got no stinkin' version.
            *WILL NOT WORK*
            ...Why? You're using the OLD Remote syntax !!!! (You dummie
            ...)

            10:version:/notice *1:$nick Version? | /notice *1:$nick I ain't
            got no stinkin' version.

            *WILL NOT WORK*
            ...Why? You're using the OLD Remote syntax mixed with the new
            one.... (Hihihi ...)

            Return to the table of contents.

            7-3-3 The Remote Events section.

            See Tools/Remote, the box at the bottom, with "Events"
            selected...

            As you've seen, Remote Commands only deal with CTCP commands.
            Remote Events deal with just about everything else that can
            happen on IRC.

            If that sounds daunting, don't worry. As explained earlier,
            these lessons are cumulative. If you understand Remote
            Commands, Remote Events will be a piece of cake. You've already
            learned the really difficult stuff.

            Warning: In general mIRC is very sensitive to poor Remote Event
            syntax. Using incorrect syntax can cause a GPF (General
            Protection Fault), so be careful! If ever you suddenly
            experience stability problems with mIRC, this is the part to
            check first!

            Remote Event Syntax.

            The Remote Events are: ON TEXT, ON JOIN, ON PART, ON KICK, ON
            OP, ON DEOP, ON INVITE, ON NICK, ON QUIT, ON TOPIC, ON
            SERVEROP, ON NOTIFY, ON MODE, ON SERVERMODE and ON SMODE.
            Besides ON TEXT the similar ON ACTION, ON NOTICE, ON SNOTICE,
            ON CHAT and ON SERV are available for more specific text
            origins. New are the ON FILESENT and ON FILERCVD events as well
            as ON CHATOPEN, CHATCLOSE, SERVOPEN and the SERVCLOSE event.

            Exactly what they do, and how to use them, will be explained
            shortly. First, some quick examples and an explanation of the
            syntax used.

            The syntax is essentially the same as with Remote Commands.
            Here's a sample Remote Event for ON TEXT:

            1:ON TEXT:hello:#:/msg $nick Hello back!

            Place that example into your Remote Events. Go to Tools/Remote,
            make sure that "Events" is selected (not commands), and
            "Listening" is checked. (When "Listening" is not checked,
            Remote Events and Commands are ignored.)

            This Remote Event is triggered when the word "hello" is found
            in any active channel. mIRC's response is to send a private
            message to the person who wrote it, saying "Hello back."

            Here's another example, this time using ON JOIN:

            1:ON JOIN:#:/notice $nick You are very welcome to $chan

            This one is triggered whenever a user joins a channel you're
            on. A notice is sent to them that says, "You are very welcome
            to {channelname}".

            If you've made it this far, and understood Remote Commands,
            this should seem fairly simple to you.

            Remote Events have either 3, 4 or 5 portions divided by colons.
            Most of the events have 4 portions, except for ON TEXT which
            has 5, and ON QUIT and ON NICK have only 3.

            All of the events *except* for ON TEXT, ON QUIT and ON NICK are
            formatted like so:

            {event_level}:{event}:{where}:{triggered_command(s) with
            parameter(s)}

            {event_level} This event will effect users with this user
            level, and any higher levels, unless other event entries are
            created for them. Just like command_level in Remote Commands.

            {event} The name of the event we're listening for. ON JOIN, ON
            OP, etc.

            {where} #, #name. Where are we listening for this event? Either
            # (any channel) or the name of a specific channel (like #test).

            EXCEPTION: Not used with ON NICK or ON QUIT. Then just skip
            this part.

            {triggered_command(s) with parameter(s)} The (to be) triggered
            command. Just like in Remote Commands except that we have a few
            different pre-defined parameters.
            ...and of course, the big exceptions here are ON TEXT and ON
            ACTION which work like so:

            {event_level}:{event}:{what_text}:{where}:{triggered_command(s)
            with parameter(s)}

            {command_level} Same as above.

            {event} Well, obviously, it's going to be ON TEXT or ON ACTION

            {what_text} Specify the word or phrase to listen for. Like
            "hello" in the first example.

            {where} #, #name, ?, *. Just like above, you can tell ON TEXT
            and ON ACTION to listen on all channels (#) or on a specific
            channel (like #test). But you can also tell it to listen to all
            of the private messages sent to you (?) or to both channel and
            private message text (*). An ON TEXT or ON ACTION event can't
            listen for things said in DCC Chats or Server messages.

            {triggered_command(s) with paramerer(s)} Same as above.

            The Events

            Here are the various Remote Events that mIRC can respond to...

            ON TEXT Occurs when specified words/phrases are found in a
            channel or private message. ON ACTION works just the same ...

            Example:
            1:ON TEXT:nonsense:#:/kick $chan $nick No nonsense!
            This will look for the word "nonsense" in any channel and kick
            the user who said it.

            Example:
            1:ON TEXT:nonsense:#test:/kick $chan $nick | /notice $nick
            Hello $nick , you said 'nonsense' and that's not allowed on
            #test...

            If the word "nonsense" is said in #test, the sayer is kicked
            (if you're 'op' on #test) and sent a notice: "Hello {nick} ,
            you said 'nonsense' and that's not allowed on #test..."

            Example:
            5:ON TEXT:help:?:/notice $nick I wish I could help you, but I
            can't.

            If it finds the word "help" in any of your private messages, it
            replies to the user,
            "I wish I could help you, but I can't" in a notice.

            You can specify wildcards in the text mIRC should react to:

            * reacts to any text
            word if a user said only (and exactly) this word the event will
            trigger. Exact match required.
            word* if a user started a line with this word the event will
            trigger.
            *word if a user ended any line with this word the event will
            trigger.
            *word* if a user said this word or phrase anywhere the event
            will trigger.

            Example:
            5:ON TEXT:help:?:/notice $nick I wish I could help you, but I
            can't.

            This event will only react to a call for help if the msg only
            contained the word help ... not if a line containing the word
            'help' was sent to you...

            Example:
            5:ON TEXT:hello*:?:/notice $nick Hello to you too !

            This event will only react to private message lines sent to you
            starting with the word 'hello'.

            ON ACTION See ON TEXT .... it works exactly the same....

            ON NOTICE See ON TEXT .... it works exactly the same....

            ON CHAT Works like ON TEXT but listens to a DCC Chat text.

            Example:
            ON CHAT:blabla:/msg $me $nick said $parms to you in a DCC Chat.

            ON SERV Works like ON CHAT but listens to DCC Fileserver text.

            Example:
            * ON SERV:get mirc:/echo server 6 To $nick the mIRC zip is
            sent.

            ON JOIN Occurs when a user joins a channel.

            Example:
            1:ON JOIN:#test:/notice $nick Welcome to the #test channel!
            Sends a notice saying "Welcome to the #test channel!" to anyone
            who joins #test.

            Example:
            25:ON JOIN:#cool:/kick $chan $nick You're not welcome here!
            Kicks any level 25 user who joins #cool with the message,
            "You're not welcome here!"

            ON PART Occurs when a user leaves a channel.

            Example:
            10:ON PART:#:/notice $nick Hey, thanks for stopping by $chan !
            Sends a notice saying, "Hey, thanks for stopping by {channel}
            !" to any level 10 who leaves a channel you're on.

            Example:
            90:ON PART:#:/msg $chan Yahoo! $nick is gone! Sends a message
            to the channel saying, "Yahoo, {nick} is gone!" if any level 90
            leaves a channel you're on.

            ON KICK Occurs when a user is kicked from a channel.

            Example:
            100:ON KICK:#:/kick $chan $nick | /invite $knick $chan |
            /notice $nick That person is my friend!
            If any level 100 person is kicked from any channel, you kick
            the kicker off the channel, invite the kicked person back and
            send "That person is my friend!" to the kicker.
            NOTE: $knick is the parameter for the kicked nick in this
            event. Also note that this example shows multiple commands. It
            works just like in Remote Commands.

            ON OP Occurs when a user is opped.

            Note: This event requires people to be mentioned by NICK in
            your Remote/Users list !

            Example:
            1:ON OP:#test:/notice $opnick You were opped by $nick .
            Welcome!
            If someone is opped on #test, they're sent a notice: "You were
            opped by {opper}.
            Welcome!"
            NOTE: $opnick is the parameter for the opped user's nick in
            this event.

            ON DEOP Occurs when a user is deopped.

            Note: This event requires people to be mentioned by NICK in
            your Remote/Users list !

            Example:
            1:ON DEOP:#:/msg $opnick Tough luck. You were deopped by $nick
            If someone is deopped, they're sent a message: "Tough luck. You
            were deopped by {deopper}.
            NOTE: $opnick is the parameter for the deopped user's nick in
            this event.

            Return to the table of contents.

            ----------------------------------------------------------------
            NOTE
            Explaining the ON OP, ON DEOP, ON SERVEROP as well as the ON
            NOTIFY event an important remark should be made. Due to the
            fact that servers only report the nick's of the people who are
            opped, deopped or notified on a channel or IRC, the ON OP, ON
            DEOP, ON SERVEROP and ON NOTIFY events only work properly if
            the nicks of the people who are opped, de-opped or notified are
            mentioned in the Users list. Specifying even the full address
            ([email protected]) is NOT enough... mIRC won't
            distillate the nick from such a statement. The only exception
            to this is if you wish the event to affect everyone by giving
            it an access level of 1, or whatever you have set the default
            user level to. This is the only case where it is not necessary
            to have a user in your User list by nick.

            If you want to give people a level fitting to your ON OP, ON
            DEOP, ON SERVEROP or ON NOTIFY events you have to put them in
            your Users list by nick, like:

            3:friendasnick
            5:friendbsnick
            5:friendcsnick
            10:[email protected]

            This construction can give you a good reason to specify people
            in your Users list by both their full address (wildcards are
            permitted) and their nick. This could then guarantee the proper
            reaction to an ON OP ON DEOP or ON SERVEROP without giving ALL
            people around with by accident (?) the same nick the same
            rights as your friends (or enemies).
            ----------------------------------------------------------------

            ON INVITE Occurs when you are invited to a channel.

            Example:
            5:ON INVITE:#test:/join $chan | /describe $chan thanks you for
            inviting him!
            If invited to #test, join the channel and use an action to say
            "{me} thanks you for inviting him!"

            ON NICK Occurs when a user changes his or her nick.

            Example:
            1:ON NICK:/notice $newnick I thought $nick was a nicer
            nickname!
            Send a notice to anyone who changes nicks, "I though {your old
            nick} was a nicer nickname!"
            NOTE: $nick is the parameter for the old nick, and $newnick for
            the (guess what?) new nick.
            NOTE: The {where} portion is not used in ON NICK.

            ON QUIT Occurs when a user quits IRC.

            Example:
            2:ON QUIT:/notice $me Time to party! $nick just quit the IRC!
            Whenever someone quits, send a notice to yourself: "Time to
            party! {Nick} just quit the IRC!"
            NOTE: The {where} portion is not used in ON QUIT.

            ON TOPIC Occurs when a channel's topic is changed.

            Example:
            1:ON TOPIC:#:/msg $chan Wow, I love the new topic!
            Whenever a channel topic changes, sends a message to the
            channel saying, "Wow, I love the new topic!"

            ON SERVEROP Occurs when a server gives operator status (back)
            to a user on a channel.

            Note: This event requires people to be mentioned by NICK in
            your Remote/Users list !

            Example:
            1:ON SERVEROP:#mirc:/mode $chan -o $nick | /notice $opnick
            Sorry, serverops not allowed on $chan
            Whenever a person is opped on #mirc by a server, the opped
            person is deopped and receives a notice "Sorry, serverops not
            allowed on #mirc" Serverops normally occur after a netjoin when
            the two splitted nets exchange and update all current channel
            modes.

            ON NOTIFY This event triggers as soon as people in your notify
            list join IRC.

            Note: This event requires people to be mentioned by NICK in
            your Remote/Users list !

            You could use this event to do a /whois on the notified nick to
            make sure it is the correct guy.... Remember that this event
            ONLY works on nicks mentioned in the remote/user list by
            NICK.... (like ON OP, ON DEOP and ON SERVEROP) This is due to
            the IRC protocols which don't pass through the address of the
            notified person...

            Examples:
            1:ON NOTIFY:/notice $nick If you are the real $nick then please
            join #mine !
            3:ON NOTIFY:/whois $nick
            5:ON NOTIFY:/beep 10 50 | /whois $nick

            ON MODE
            ON SERVERMODE These events can force a certain set of channel
            modes.

            Use this event to make sure that when someone changes the
            channel modes, mIRC enforces the channel modes YOU want
            instead.

            Syntax and examples :
            1!:ON MODE:#name:-spmi+tnlk 20 mykey:/notice $nick illegal
            $chan
            mode change!
            1!:ON SERVERMODE:#name:-spmi+tnlk 20 mykey:/notice $me illegal
            $chan mode change by server !

            The ON MODE's react to any channel mode change, so there is no
            way to react to specific mode changes. This structure is
            certainly not perfect but it works...
            Popular settings are :
            1!:ON MODE:#mirc:-spmilk+tn:/notice $nick illegal $chan mode
            change!
            1!:ON SERVERMODE:#mirc:-spmilk+tn:/notice $me illegal mode
            change!

            Keep in mind that if you allow a higher level person to change
            mode settings without you reacting, lower level users can mess
            that up ! As soon as they change a mode (or the server does)
            then the forced modes are set; mIRC does NOT keep in mind that
            part of the new modes might be set by higher level persons ...
            Also beware of loops of more people on a channel forcing
            mis-matching modes !!

            ON SNOTICE This event listens for server notices. Server
            notices tell you all kind of things happening at and with the
            IRC server you use. To recieve them you have to set your user
            mode to +s (/mode #nickname +s). Most people don't need this
            setting... It is mostly meant for IRCOps and server
            maintainers. With this event you can filter the server notices
            send to you and you can filter them ie. prevent them from being
            displayed or automatically react to them. The event syntax is
            very much like the ON TEXT event...
            1:ON SNOTICE:servers_text:/echo 6 status The server noticed you
            about $parms

            Special identifiers for Remote/Events/ lines.

            $nick, $address, $site etc. are all identifiers specially
            created tobe used in remote lines. You can use them whereever
            you want in the lines triggered by remote events...

            $nick The nick of the person who sent the command or activated
            the event.
            $address The full address of the person who sent the command.
            $site The site of the person who sent the command.
            $level Represents the users remote level.
            $chan The channel on which some event triggered a Remote/Events
            line.
            $parms Any text in the line that triggered the event.
            $parm1 Lets you break down $parms into individual words.
            $parm3* Contains the third word and all after it.

            Return to the table of contents.

            7-3-4 Various flags you can use in front of Command or Event
            lines in Remote.

            Finally some remarks have to be made about the various flags
            you can use in the Remote section. (With Commands and/or
            Events)

            *** The ! flag. (Events only)

            This flag causes events not to be triggered by things you do
            yourselves.... .... mIRC will not react to things said or done
            from clients with your address. (A similar flag is the 'me'
            flag..which makes sure things wont be triggered by the IRC
            client -you- use. ie. it will react to any other IRC clients
            you may be running simultaneously)

            Example:
            1!:ON JOIN:#mine:/notice $nick Welcome here.
            This will not react to you joining #mine ....everybody else
            will get the Welcome message..

            *** The = flag. (Events only)

            This flag is used to prevent anything from happening.... you
            can use it to not bother higher level people with events meant
            for lower level people.

            Example:
            1:ON JOIN:#mine:/ctcp $nick VERSION
            3:ON JOIN:#mine:=
            Level 1 and 2 users will be versioned while level 3 and higher
            users will not see anything at all,... nor you. (In version 3.2
            you had to set up an harmless event to do this.)

            Example:
            1:ON JOIN:#test1:/notice $nick Welcome to #test1
            1:ON JOIN:#test2:/notice $nick Welcome to #test2
            3:ON JOIN:=
            Level 3 and higher users won't be noticed Welcome.... lower
            level users only on #test1 and #test2.

            *** The + flag.

            This flag makes a certain command available ONLY to users with
            the EXACT level of the command... Higher (and of course lower)
            level users can't use/access it !

            Example:
            1:ON JOIN:#mine:/ctcp $nick VERSION
            +3:ON JOIN:#mine:/notice $nick Welcome here.
            All users EXCEPT level 3 users will be versioned on channel
            'mine' ... Level 3 users will be welcomed...

            Example:
            +5:ON JOIN:#mirc:/msg $nick Welcome level 5 user!

            *** The ; and REM flag.

            These flags can be used to switch off commands or events
            temporarily by 'commenting them out'.
            Example:
            ;1:ON JOIN:#mine:/notice $nick Welcome here.
            REM 1:ON JOIN:#mine:/notice $nick Welcome here.

            *** The * and @ flags.
            Thise flags makes mIRC to execute an event or command ONLY if
            you're operator on the channel the event or commands if used
            on.
            *1:ON JOIN:#mine:/notice $nick Welcome here.

            *** The me flag.
            This flag is designed to make sure you can make events only
            work if somebody with exactly the same address as you use does
            something. This other person normally would be your 2nd
            instance of mIRC running from the same PC. Keep in mind that
            with proper leveling of your users in the Remote/users section
            you never (?) need this flag.

            In mIRC version 3.7 some additional flags for the EVENTS were
            introduced. With these flags you can make mIRC to take into
            account the level of the person that started an EVENT.
            These flags can only be used with the ON OP, DEOP and KICK
            events since these are the only events that deal with somebody
            doing something to somebody else.
            The three flags you can add are >, < and =. But you can make
            mathematical combinations of them leading to a set of 6 flags:
            <, >, <=, >=, <> and =.

            These flags will make the event only be triggered if FIRST the
            level of the event fits the Opped, Deopped or Kicked guy (m/f)
            and then SECOND the level of the activator meets the
            expression {level-activator} [flag (mathematical expression)]
            {level-of-event}

            You look like you need some examples ....

            Assume you being the GUARD with a Friend at level 2 and an
            Activator who can have several different levels.... Then
            imagine these simple EVENTS :

            <2:ON DEOP:#test123:/msg $chan the < triggered
            >=2:ON DEOP:#test123:/msg $chan the >= triggered

            With the activator at level 1.
            *** Activator sets mode: -o Friend
            <GUARD> the < triggered
            Your Friend has level 2, the Activator has level 1, 1<2 is
            valid (one is smaller than 2), the first level 2 ON DEOP event
            is triggered...

            With the activator at level 2.
            *** Activator sets mode: -o Friend
            <GUARD> the >= triggered
            Your Friend has level 2, the Activator has level 2, 2<2 is
            invalid, 2>=2 is valid (2 is larger than or equal to 2), the
            second level 2 ON DEOP event is triggered...

            With the activator at level 3.
            *** Activator sets mode: -o Friend
            <GUARD> the >= triggered
            Your Friend has level 2, the Activator has level 3, 3<2 is
            invalid, 3>=2 is valid (3 is larger than or equal to 2), the
            second level 2 ON DEOP event is triggered...

            As you can see its pretty straight forward once you got the
            idea .... read this over till the coin drops... More examples :

            <2:ON DEOP:#test123:/msg $chan the < triggered
            >2:ON DEOP:#test123:/msg $chan the > triggered

            With the activator at level 1.
            *** Activator sets mode: -o Friend
            <GUARD> the < triggered

            With the activator at level 2.
            *** Activator sets mode: -o Friend

            With the activator at level 3.
            *** Activator sets mode: -o Friend
            <GUARD> the > triggered

            =2:ON DEOP:#test123:/msg $chan the = triggered

            With the activator at level 1.
            *** Activator sets mode: -o Friend

            With the activator at level 2.
            *** Activator sets mode: -o Friend
            <GUARD> the = triggered

            With the activator at level 3.
            *** Activator sets mode: -o Friend

            Return to the table of contents.

            7-3-5 Variables

            See Tools/Remote, select the box called "Variables" ...

            mIRC now allows you to define all kinds of variables. Variables
            always start with a % and can have names of any length. The
            variables are stored between sessions in a variable file in the
            mIRC directory. Variables can contain numbers, words or even
            lines of text. With variables containing numbers you can apply
            mathematical manipulations to increase, decrease, add and
            subtract variables with given values to or from each other.
            Available commands are : (q=quiet; no status report of the
            operation is given)

            /set [-q] <%var> [value] To create a variable
            /unset [-q] <%var> [%var2] ... [%varN] To delete a variable
            /unsetall To delete all variables
            /inc [-q] <%var> [value] To increase a variable by a value
            (number or variable)
            /dec [-q] <%var> [value] To decrease a variable by a value
            (number or variable)

            With the aid of these commands you can make all kinds of handy
            aliases and remote lines!

            Let me give a bunch of examples :

            Remote commands (see later) :
            2:xdcc send #1:/dcc send $nick c:\temp\serve\mirc40.zip | /inc
            %mirc 1
            2:xdcc send #2:/dcc send $nick c:\temp\serve\mircfq24.zip |
            /inc %faq 1
            1:stats:/notice $nick Sending stats: mIRC= %mirc and FAQ= %faq

            Remote events (see later) :
            2:ON TEXT:xdcc send #1*:?:/dcc send $nick
            c:\temp\serve\mirc392.zip | /inc %mirc 1
            2:ON TEXT:xdcc send #2*:?:/dcc send $nick
            c:\temp\serve\mircfq23.zip | /inc %faq 1

            Alias :
            /stats /echo 6 mIRC: %mirc and FAQ: %faq

            With these lines I made a small download counter.... not
            perfect but working !

            You can even add some alias like the next one to keep partial
            statistics :
            /reset /set %date $day $date | /inc %mirctot %mirc | /inc
            %faqtot %faq | /set %mirc 0 | /set %faq 0
            /stats /echo 6 Stats mIRC: %mirc ( %mirctot ) and FAQ: %faq (
            %faqtot ) (Set on %date )

            When you increase or decrease a non-existant variable it will
            be created automatically and set to the value you expect it to
            be. ie :
            /inc %test1 6 will set %test1 to 6 if it didn't exist before
            /dec %test2 7 will set %test2 to -7 if it didn't exist before

            Note : You have to make sure you always include the % ! This is
            made to prevent a lot of small possible problems in mIRC's
            command parsing. This does not limit the ways the variables can
            be used in at all since you can always use constructions like :

            1:upme:/inc % $+ $site 1
            2:xdcc send #1:/dcc send $nick c:\temp\serve\mirc40.zip | /inc
            % $+ $nick 1
            2:xdcc send #2:/dcc send $nick c:\temp\serve\mircfq24.zip |
            /inc % $+ $nick 1
            2:xdcc stats:/notice $nick You downloaded %nick files already
            since %date

            Return to the table of contents.

            7-3-6 Remote Raw processing.

            In the Tools/Remote/Raw section mIRC offers you the possibility
            to process all server to client (mIRC) processes directly and
            in any way you want/like. It works exactly like the
            Rempte/Events section except mIRC listents to the NUMERIC
            events. These server numerics are described in the IRC RFC1459
            (http://ds.internic.net/rfc/rfc1459.txt). The remore/Raw has
            it's own separate editbox because if mIRC had to scan your
            whole remote events definitions list for each numeric event,
            things would slow down to a crawl. Still you better use the Raw
            section -only- if you exactly know what you do and only if
            absolutely needed. Wrong use of the Raw section can mess-up
            mIRC totally. It can over-rule all routines hardcoded into
            mIRC. Example:
            322:*mirc*:/echo 2 $parms

            This would print all lines which have the word "mirc" in them
            when you do a channels /list (this is a pretty intensive test).
            In the RFC1459, Section 6; Numeric replies, you can look up all
            other numerics, given with their number, name and reply string.

            Return to the table of contents.

            ----------------------------------------------------------------

            7-4 Advanced use of commands; Scripting.

            In mIRC you can use commands and create aliases, poups and
            remotes with conditional statements, loops and other tricky
            things. To explain it all to you would would take another
            complete FAQ I fear, but I'll try to get you on the road in a
            short section with some examples. I think its best to start
            right off the bat .....

            First mIRC now allows multiline alias, popup, and remote
            definitions. This allows you to write statements in a nice and
            structured way like:

            {prefix definition} {
            /command1 ...
            /command2 ...
            /command3 ...
            }

            Example:
            /away /ame is AWAY ( $+ $?="Reason" $+ ) | /away Set away at
            $time { $+ $! $+ }
            /back /ame is back,.. what did I miss ? | /away

            These aliases could also be defined as

            /away {
            /ame is AWAY ( $+ $?="Reason" $+ )
            /away Set away at $time { $+ $! $+ }
            }

            /back {
            /ame is back,.. what did I miss ?
            /away
            }

            I agree that doesnt really help -here-, but while you're
            writing and testing the new possibilities in mIRC's conditional
            commands you might like this structure? Btw, the { } brackets
            are needed around all commands that use the new possibilitie of
            conditional looping etc. Now we're at it, you could leave out
            all / command prefixes if you wanted to... They are no longer
            needed.

            A /goto command is added which can be used in { } definitions.
            Example:
            /greet {
            /set %x 0
            :retry
            /inc %x
            /goto %x
            :2
            /echo line2
            /halt
            :1
            /echo line1
            /goto retry
            }

            This alias will echo the lines "line1" and "line2" to your
            screen.
            Test it by giving this totally equivalent command in some
            editbox:
            /set %x 0 | :retry | inc %x | goto %x | :2 | echo line2 | halt
            | :1 | echo line1 | goto retry

            It will show you exactly what happens. ;-) You can also use a
            variable as a goto name, eg. :%jumppoint

            If you "/set %jumppoint 5" then you can do "/goto 5" and mIRC
            will evaluate %jumppoint to 5 and jump to it. In the above
            example the jumppoints were fixed to '1' and '2'. Try these 3
            commands and see what happens now.
            /set %jump1 1
            /set %jump2 2
            /set %x 0 | :retry | inc %x | goto %x | :%jump2 | echo line2 |
            halt | :%jump1 | echo line1 | goto retry

            You can use the /return command to finish processing a command
            and to allow any default processing to continue. eg.
            1:ON JOIN:#mIRC {
            /echo 3 #mirc [Joins $nick]
            /return
            /echo 3 #mirc I'm not printed!
            }

            This will result is messages like:
            [Joins henk]
            *** henk ([email protected]) has joined #mIRC

            /if /elseif /else

            Now I think you're ready for the real stuff ?? In mIRC a simple
            /if statement is available.
            /if v1 operator v2 { ... } | /elseif v1 operator v2 { ... } |
            /else { ... }

            Example:
            Make this alias and start it like "/test 4";
            /test { set %i 0 | :start | inc %i | if %i > $1 halt | echo
            $active %i | goto start }

            If/elseif/else can all be nested inside each other. You should
            use () and {} brackets to make sure that you're terms are
            evaluated correctly (in the correct order), though you don't
            *have* to use them. Using brackets also speeds up processing
            quite a bit since mIRC then knows exactly what it has to
            evaluate.

            Available comparisons and operators:
            == equal to
            != not equal to
            < less than
            > larger than
            >= larger than or equal to
            <= smaller than or equal to
            // is a multiple of
            \\ is not a multiple of

            isin string v1 is in string v2
            iswm wildcard string v1 matches string v2
            ison nickname v1 is on channel v2
            isop nickname v1 is an op on channel v2
            isnum number v1 is a number in the range v2 which is in the
            form n1-n2 (v2 optional)
            ischan if v1 is a channel which you are on.
            isauto if v1 is a user in your auto-op list for channel v2 (v2
            optional)
            isignore if v1 is a user in your ignore list with the ignore
            switch v2 (v2 optional)
            isprotect if v1 is a user in your protect list for channel v2
            (v2 optional)
            isnotify if v1 is a user in your notify list.

            To negate the above you can prefix them with an ! exclamation
            mark.

            Example:
            /massinvite { echo 4 * Mass-inviting # | set %i $nick(0,#) |
            :next | if $nick(%i,#) != $me invite $nick(%i,#) $1 | dec %i |
            if %i > 1 goto next | echo 4 * Mass-invite # done }

            Use this example alias like "/massinvite #yourchannel". (btw
            massinvites are very impolite!)

            Example:
            /randnopkick { :begin | set %kicknick $nick($r(1,$nick(0,#)),#)
            | if %kicknick isop # goto begin | /echo 6 %kicknick }

            If you're an op on some channel you might like this
            random-non-op-kick. It kicks a random person from your channel,
            but never an op. Mind you.... if only ops are available you've
            a problem ;-)

            Example:
            /line { %line = "" | if $asc($1) < $asc($2) { set %i $asc($1) |
            :add | %line = %line $chr(%i) | inc %i | if %i <= $asc($2) {
            goto add } | if (%line == "") { halt } | else { echo # %line |
            halt } } else echo # sorry not valid }

            Start this alias example by typing "/line d k" to see what it
            does. It will print a line like 'd e f g h i j k'. Nothing much
            and barely usefull but it shows the strength of the
            if/elseif/else pretty well.

            Example:
            /printnum1 { if $len($1) = 1 { if $1 !isin 1234567890 { echo 6
            $1 is not a number | goto end } } | elseif $len($1) = 2 { if
            $mid(1,1,$1) !isin 1234567890 { echo 6 $mid(1,1,$1) is not a
            number | goto end } | elseif $mid(2,1,$1) !isin 1234567890 {
            echo 6 $mid(2,1,$1) is not a number | goto end } } | elseif
            $len($1) > 2 { echo 6 $1 has too many chars | goto end } | {
            set %x 1 | :begin | echo 6 %x | if %x >= $1 { goto end } | else
            { inc %x | goto begin } | :end } }

            /printnum2 { if $1 !isnum { echo 6 $1 is not a number | goto
            end } | elseif $1 !isnum 0-99 { echo 6 $1 is a too large number
            | goto end } | { set %x 1 | :begin | echo 6 %x | if %x >= $1 {
            goto end } | else { inc %x | goto begin } | :end } }

            These equivalent aliases will both print a list of numbers upto
            the value you give. Try it with "/printnum1 14" or something
            similar .... The second alias shows how smart use of
            identifiers can reduce the length of the alias a lot.

            Empty or invalid identifiers

            Variables or identifiers that don't evaluate to a value now
            return the value $null so they can be used in the if statement
            for checking etc.

            Example:
            /listops { echo 4 * Listing Ops on # | set %i 1 | :next | set
            %nick $nick(%i,#) | if %nick == $null { goto done } | if %nick
            isop # { echo 3 %nick is an Op on # } | inc %i | goto next |
            :done | echo 4 * End of Ops list }

            This alias will list all ops on the channel you're on.
            Or in a remote event:
            1:ON CTCPREPLY:PING* {
            if ($parm2 == $null) echo [ $+ $nick PING reply]
            else {
            %pt = $ctime - $parm2
            if (%pt < 0) set %pt 0
            echo [ $+ $nick PING reply] %pt seconds
            }
            halt
            }

            More popup examples:

            GiveOps { %i = 0 | %nicks = "" | :nextnick | inc %i | if
            ($snick(%i,#) == $null) { if ($len(%nicks) > 0) mode # +oooo
            %nicks | halt } | %nicks = %nicks $snick(%i,#) | if (4 // %i) {
            mode # +oooo %nicks | %nicks = "" } | goto nextnick }

            This popup menu item will op all selected people on a channel
            where you're operator.

            Selkick:/kick # $token($r(1,$snick(0,#)),44,$snicks)

            This popup will kick one random person out of the people you
            selected on a channel.

            RandNopkick:/kick # $nopnick($r(1,$nopnick(0,#)),#)

            This popup will kick a random non-operator from the channel
            you're on.

            RandNopkick { :begin | /set %kicknick $nick($r(1,$nick(0,#)),#)
            | if %kicknick isop # goto begin | /kick # %kicknick }

            This popup will also kick a random non-operator from the
            channel you're on.

            Randkick:/kick # $nick($r(1,$nick(0,#)),#)

            Arent kicks fun ???? Another one ... randomly kicking just
            anybody .... might be -you- !

            RandOpkick:/kick # $opnick($r(1,$opnick(0,#)),#)

            Randomly kicking an op .... they at least can defend themselves
            !

            Endless loops.

            With all these conditional statements I foresee you ending up
            in some endless loop. A simple example is creating something
            like:

            /loop { :start | echo 6 # test loop | goto start }

            I case one of your aliases or remotes got into such a loop use
            the CTRL+Break key combination to stop the process. It will
            take you home safely.

            Return to the table of contents.

            ----------------------------------------------------------------

            8 SOME SAMPLE MIRC SETTINGS (aliases, popups, Remote, etc.)

            Well..... since I got and saw a LOT of questions on all kinds
            of settings I'll give you a lot of mine here ... and some basic
            explanation...

            On a /whois nick1 I replied :
            Nick1 [email protected] * Tjerk Vonck
            Nick1 #mine
            Nick1 irc.somewhere.nl Some University, The Netherlands

            File/Setup/IRC_Servers

            Most connection problems have their origin in faults in this
            section.
            Make sure you fill in the correct info in the correct place.

            Real Name: Tjerk Vonck
            E-mail: [email protected]
            (Used internally! USE THE CORRECT ADDRESS!)
            Nick Name: Nick1
            Alternate: Nick2

            File/Setup/Local_Info

            Local Machine information :
            Local Host: Cheops (The name of my PC which I declared
            myself in my TCP/IP32 winsock)
            IP Address: 130.89.236.62 (The IP number of my PC)

            (I permanently have the same IP number, so I have set 'Always
            get IP Address and
            Local Host on connect' to "OFF". On machines with Dynamic IP
            Addressing you
            have to set these to ON. )

            IRC Server: (Fill in a nearby public IRC server...)
            Port: 6667 (The standard IRC port number)

            (Some servers I use : irc.funet.fi, delft.nl.eu.undernet.org,
            irc.univ-lyon1.fr,
            irc.eskimo.com)

            File/Setup/Options/

            I dont need the setup dialog to popup on startup. I have
            everything set as I normally want it already. I like the used
            servers to be sorted to the top of my list. Connections are
            retried 2 times with a 40 seconds timeout delay.

            File/Setup/Identd/

            An ident server normally is maintained by the Unix machine of
            your network provider... It is a kind of nameserver that
            guarantees your Identity. Since most standalone windows
            machines are not correctly backed up by an ident service, such
            a server is built into mIRC.
            More and more IRC servers require you to be identified in some
            way, and they will disconnect you if you're not identified !

            Server is Active (Only if you are normally not identified you
            need this)
            User ID: t.r.vonck (the part before the @ in your E-mail
            address)
            System: UNIX (ALWAYS fill in UNIX !! not dos, win or whatever
            else !!)
            Listen on port: 113 (The standard ident port number)

            File/Setup/Firewall/

            The firewall support in mIRC is new and fairly untested. I'm
            not behind a firewall so I dont use it. If you are behind a
            firewall your system admin (sysop) can tell you what settings
            you need. If you never even heard about firewalls it is very
            unlikely you need to fill in anything here.

            Misc/Options/Action Lists/
            (Make sure to set these sections to active if you want them to
            work!)

            Perform: /join #mine | /join #friendly | /flood 12 2 2
            Highlight: mynick hello bye
            Notify: tinner skala oo7 madonna
            Auto-Op: [email protected] *[email protected]
            Protect:
            Ignore:

            Tools/Aliases

            The alias section provides a list of shortcuts. You can make
            all kinds of aliases... You can shortcut commands as well as
            things you frequently say. You can put multiple commands in an
            alias by using the | as a separator.

            Instead of typing "/join #mirc" I can do "/j #mIRC" and even
            "/jm"
            Instead of typing "/kick nick" I use "/k nick"
            Watching the Dutch soccer team I use "/g"
            And I type "/l nick" to do a "/ctcp nick xdcc list" on him.

            Check my aliases list to see why and how these aliases work...
            You could just copy and paste these lines straight into the
            Tools/Aliases section in mIRC.
            (Copy = CTRL+C, Paste = CTRL+V)

            /f5 /say This text is shown to you on pressing F5
            /f6 /dcc send $1 c:\temp\serve\mirc37.zip
            /f7 /topic # New topic for the channel you're on.
            /nick /say I like $1 better than $me | /nick $1
            /www /say http://metro.turnpike.net/mookies/mirc.html
            /home /me says: The mIRC Homepage ??..
            "http://huizen.dds.nl/~mirc/"
            /faq /topic # The mIRC FAQ:
            http://mars.superlink.net/user/mook/mirc.html
            /lines /say line | /say another line | /say more lines
            /op /mode # +ooo $1 $2 $3
            /deop /mode # -ooo $1 $2 $3
            /j /join $1
            /w /whois $?="Who is who"
            /k /kick # $1
            /hop /part # | /join $1
            /jm /join #mIRC
            /dbk /mode # -o $1 | /kick # $1 | /mode # +b $1
            /l /ctcp $1 xdcc list
            /s /ctcp $1 xdcc send $2
            /g /say GGOOOOOOAAAAAAAALLLLLLLLLLLLL!!!!!
            /i /invite $1 #
            /hug /me hugs $1 firmly!
            /rose /Say May I present you a rose $1 @}>-`--,--`---
            /utbbs /say utbbs.utwente.nl /pub/upload/mirc37.zip +
            mircFQ19.zip
            /demon /say ftp.demon.co.uk
            /pub/ibmpc/winsock/apps/mirc/mirc37.zip
            /usa /say cs-ftp.bu.edu /irc/clients/pc/windows/mirc37.zip

            Tools/Popups/Main window (menu is active)

            Set Away...:/ame is AWAY ( $+ $?="Give a reason" $+ ) | /away
            Please try later ( $+ $! $+ ) | /timer5 10 900 /me is away ( $+
            $! $+ )
            Set Back:/ame is back,.. lets start the fun ! | /away | /timer5
            off
            -
            Join
            .#mIRC:/join #mIRC
            .join...:/join $$?="Give channel name"
            Other
            .Action...:/me $$?="What are you doing ?"
            .Nickname...:/nick $$?="Giveyour new nick"
            .Query...:/query $$?="Who do you want to talk to ?"
            .Whois...:/whois $$?="Who is who ?"
            .Change Topic...:/topic # $$?="Give new topic"
            .List Channels:/list
            .Part Channel:/part #
            Names
            .#mIRC: /names #mIRC
            .#Friendly: /names #Friendly
            .names...:/names $$?="Give #channel name"
            Invite
            .Someone...: /invite $$?="Who to invite ?" #
            Channel
            .Invite Only:/mode # +i
            .Not Invite Only:/mode # -i
            .Limit...:/mode # +l $$?="Give the max amount"
            .No Limit:/mode # -l 0
            .Private:/mode # +p
            .Not Private:/mode # -p
            .Messages:/mode # -n
            .No Messages:/mode # +n
            .Secret:/mode # +s
            .Not Secret:/mode # -s
            .Moderated:/mode # +m
            .Not Moderated:/mode # -m
            Finger
            [email protected]:/finger [email protected]
            .Address...:/finger $$?="Give the address"
            -
            Edit a Note:/run notepad.exe c:\temp\note.txt
            News:/run C:\NETWERK\WINVN\WINVN.EXE
            Netscape...:/run c:\netwerk\netscape\netscape.exe $?="Give URL"

            FTP...:/run c:\netwerk\wsftp\ws_ftp.exe $$?="Give site name
            please"

            Tools/Popups/Query+Chat window (Menu is active)

            UWhois:/uwho $1
            Whois:/whois $1
            Ping:/ctcp $* PING
            Version:/ctcp $* VERSION
            DCC-Chat:/dcc chat $1
            Slap!:/me slaps $1 around a bit with a laaaaarge trout

            Tools/Popups/Channel names list (Menu is active)

            UWhois:/uwho $1
            Private:/query $1
            Ping:/ctcp $* PING
            Version:/ctcp $* VERSION
            -
            Control
            .Give Ops:/mode # +ooo $$1 $2 $3
            .Deop:/mode # -ooo $$1 $2 $3
            .Kick:/kick # $1
            .Ban:/ban $1
            .Deop, Kick, Ban:/mode # -o $$1 | /kick # $$1 | /ban $$1
            CTCP
            .Ping:/ctcp $1 ping
            .Finger:/ctcp $1 finger
            .Version:/ctcp $1 version
            .Time:/ctcp $1 time
            .Userinfo:/ctcp $1 userinfo
            .ClientInfo:/ctcp $1 clientinfo
            DCC
            .Send:/dcc send $1
            .Chat:/dcc chat $1
            mIRC CTCP
            .mylevel:/ctcp $1 mylevel
            .mycmds:/ctcp $1 mycmds
            -
            Slap!:/me slaps $1 around a bit with a frozen trout
            Fish-shop
            .Initiate
            ..Slap trout:/me slaps $1 around a bit with a frozen trout as a
            mIRC initiation rite ...
            ..Tickle swordfish:/me tickles $1 a bit with a frozen swordfish
            as a mIRC initiation rite ...
            .For fun
            ..Slap trout:/me slaps $1 around a bit with a frozen trout,
            just for fun ...
            ..Tickle swordfish:/me tickles $1 a bit with a frozen
            swordfish, just for fun ...
            ..Slam dunk:/me slam dunks $1 in a tin of 2 years old tasty
            surströmming

            Tools/Popups/Double click in Status Window does : /notify
            Tools/Popups/Double click in Channel Window does : /channel
            Tools/Popups/Double click in Query Window does : /whois $$1
            Tools/Popups/Double click in Names List does : /uwho $$1

            Tools/Remote/Users

            10:*[email protected]
            5:*[email protected]
            4:nick1
            4:nick2
            4:afriend
            4:otherfriend
            4:morefriends
            3:bot1
            3:bot2
            =95:*[email protected]
            =95:*[email protected]

            Default level: 2
            Listening ON

            Tools/Remote/Commands. (Please, don't bother me with questions
            about these sections)

            (Warning :: Improper settings can crash mIRC with a GPF)
            (Most command lines have 3 sections divided by colons...)
            {level:command to react on:command(s) to execute (separated by
            a |)}

            1:url:/notice $nick I currently look at $url
            1:mama:/notice $nick $read c:\netwerk\mirc\yomama.fun
            1:version:/notice $nick This is mIRC. Version 3.64 is available
            to you on #mirc !!
            1:ping:/notice $nick ping ? .. ... .. . Humpf ! :>
            1:address:/notice $nick Your address is $nick $+ ! $+ $address
            1:info:/notice $nick This is the new Winsock irc client mIRC
            v3.7
            1:cmds:/notice $nick Existing cmds are : info, address, msg,
            opme, mylevel, cmds, mycmds, part, die, do, xdcc, server, and
            many more... :> mycmds
            1:mycmds:/notice $nick Available to you are : mylevel, cmds,
            mycmds, info, address.
            1:whoami:/notice $nick Please use : cmds, mycmds and mylevel.
            1:xdcc list:/notice $nick Sorry no files are offered (or xdcc
            capabilities exceeded).
            1:a:/notice $nick This is NOT ws_irc. *This* client wont crash
            for you.... This is mIRC.
            1:die:/notice $nick This client won't die for you .... your
            levels are too low ;-) :> mycmds
            1:msg:/notice $nick Sorry you can't perform msg... your levels
            are too low :-) :> mycmds
            1:opme:/notice $nick Sorry you can't perform opme... your
            levels are too low :-) :> mycmds
            1:part:/notice $nick Sorry you can't perform part... your
            levels are too low :-) :> mycmds
            1:server:/notice $nick Sorry you can't use the server at the
            moment.....
            1:list:/notice $nick Please use the xdcc commands "/ctcp $me
            xdcc [list/send #?]".
            1:send:/notice $nick Please use the xdcc commands "/ctcp $me
            xdcc [list/send #?]".
            1:xdcc send:/notice $nick Sorry DCC limits exceeded .. try
            later ??
            1:mylevel:/notice $nick You have command level 1.
            2:xdcc list:/notice $nick I'm offering the new Winsock irc
            client mIRC, version 3.7 :> lst1
            2:lst1:/notice $nick #1 mirc37.zip (424K) The 16 and 32 bits
            versions in one zip :> lst2
            2:lst2:/notice $nick #2 mirc FAQ 19.zip (40K) (Totally mIRC 3.7
            ready!) :> lst3
            2:lst3:/notice $nick Do a "/CTCP $me xdcc send [#1/#2]" to get
            a file...(Or /ctcp $me server)
            2:xdcc send #1:/dcc send $nick c:\temp\serve\mirc37.zip
            2:xdcc send #2:/dcc send $nick c:\temp\serve\mircfq19.zip
            2:xdcc send #4:/dcc send $nick c:\temp\serve\mirc-3d.zip
            2:xdcc send:/notice $nick Sorry, TYPO or you didn't specify a
            pack number...
            2:server:/fserve $nick 3 c:\temp\serve
            c:\temp\serve\welcome.txt
            2:mycmds:/notice $nick Available to you are : mylevel, cmds,
            mycmds, info, address, xdcc, server.
            2:mylevel:/notice $nick You have command level 2.
            3:mycmds:/notice $nick Available to you are : mylevel, cmds,
            mycmds, info, address, xdcc, server.
            3:mylevel:/notice $nick You have command level 3.
            4:mycmds:/notice $nick Available to you are : mylevel, cmds,
            mycmds, info, address, xdcc, server.
            4:mylevel:/notice $nick You have command level 4.
            5:opme:/mode $parm1 +o $nick
            5:mycmds:/notice $nick Available to you are : mylevel, cmds,
            mycmds, info, address, xdcc, server, opme.
            5:mylevel:/notice $nick You have command level 5.
            6:mycmds:/notice $nick Available to you are : mylevel, cmds,
            mycmds, info, address, xdcc, server, opme.
            6:mylevel:/notice $nick Your command level is level 6 or
            higher.
            6:ping:/wavplay c:\sgbxii\wav\digital.wav | /notice $nick ping
            ? pang ! ......... DEAD
            10:part:/part $parms | /notice $nick I have left channel $parms
            $parms
            10:mycmds:/notice $nick Available to you are : mylevel, cmds,
            mycmds, info, address, xdcc, server, opme, part, die, do.
            10:mylevel:/notice $nick You have command level 10.

            Tools/Remote/Events. (Please, don't bother me with questions
            about these sections)

            (Warning :: Improper settings can crash mIRC with a GPF)
            (Event lines have 3, 4 or 5 sections divided by colons...

            {level:event to react to:kind of place the event happens
            on:Command(s) to execute (multiple commands separated by a | )}
            OR
            {level:ON TEXT:what text:kind of place the text appears
            on:command(s) to execute (multiple commands separated by a | )}

            1:ON TEXT:mama:#mirc:/msg $chan $nick $read
            c:\netwerk\mirc\yomama.fun
            1!:ON SERVERMODE:#mirc:-spmilk+tn:/notice $me Mode change by
            server
            1!:ON OP:#mirc:/notice $me Watch out $opnick is opped on #mIRC
            by $nick
            1:ON SERVEROP:#mirc:/mode $chan -o $opnick | /notice $opnick
            Sorry unknown SERVEROP's not allowed on #mIRC...
            1:ON TEXT:sjit:#mirc:/kick #mirc $nick wordkick on 'sjit' |
            /notice $nick Hello $nick, you said 'sjit' and that's not
            allowed on #mIRC..
            1:ON TEXT:=xdcc list:?:/notice $nick please use "/ctcp $me xdcc
            list" But... no files are offered at the moment.... | /closemsg
            $nick
            1:ON TEXT:=xdcc send:?:/notice $nick please use "/ctcp $me xdcc
            send #?" But... no files are offered at the moment.... |
            /closemsg $nick
            2:ON TEXT:=xdcc list:?:/notice $nick please use "/ctcp $me xdcc
            list" | /closemsg $nick
            2:ON TEXT:=xdcc send #1:?:/dcc send $nick
            c:\temp\serve\mirc37.zip | /notice $nick Please next time use
            '/CTCP bla bla bla..' ?? | /closemsg $nick
            2:ON TEXT:=xdcc send #2:?:/dcc send $nick
            c:\temp\serve\mircfq19.zip | /notice $nick Please next time use
            '/CTCP bla bla bla..' ?? | /closemsg $nick
            3!:ON JOIN:#mirc:/auser 3 $nick
            3:ON OP:#mirc:=
            3:ON MODE:#mirc:=
            3:ON SERVEROP:#mirc:=
            3!:ON DEOP:#mirc:/mode $chan +o $opnick | /notice $nick Hey!
            $opnick is my friend!
            +3:ON PART:#mirc:/ruser $nick
            +3:ON KICK:#mirc:/ruser $knick
            +3:ON QUIT:/ruser $nick
            +3:ON NICK:/ruser $nick | /auser 3 $newnick
            4!:ON KICK:#mirc:/kick $chan $nick $knick is my friend! |
            /invite $chan $knick | /notice $nick $knick is my friend!
            4!:ON DEOP:#:/mode $chan -o $nick | /mode $chan +o $opnick |
            /notice $nick Hey! $opnick is my friend!
            4:ON NICK:/auser 4 $newnick
            5!:ON JOIN:#mirc:/pop 9 $chan $nick | /auser 4 $nick
            95:ON JOIN:#mirc:/mode $chan +b $nick | /ban $chan $nick 3 |
            /kick $chan $nick sjitlisted | /notice $nick I'm sorry but
            you're not welcome to $chan

            Return to the table of contents.

                                   [line]

 [filler]
             | Index | News | IRC | IRC-FAQ | mIRC | Look | Tools | Config
               | Commands | Newbies | Download | Register | mIRCLinks |
                                  mIRC-FAQ | Links |
.