mirclogo
mIRC Homepage (UK)

The mIRC Extras Page of Fish
(phich)


ALL Information is taken from the mIRC FAQ - Copyrights 1995, 1996 Tjerk Vonck (mirc@dds.nl)
I've just tampered with it a bit :-]


General...Strings and Stuff for Aliases, Popups, and Remotes.

Strings...

$1 $2...$n - The $1 'string' means the first item of 'text' typed after the /command is
inserted into the message - 'text' should be 'space' seperated. If $2 was used the second item of 'text' after the /command would be used and so on.(see '/time' example below in Aliases section.)
If NO 'text' was present then the command would still be performed - but will just look wierd :-)
$$1 $$2...$$n - The $$1 'string' means you HAVE TO type some 'text' after the /command
otherwise it is ignored by mIRC.As above the 'text' should be 'space' seperated.
*1 *2...*n - Any text from word one is inserted in place of the *1 string. With the *2 option it's
any 'text' from word 2 onwards which replaces the *2 string.
$me - Inserts your current 'nick' into a message.(see '/tired' example below in the Aliases section.)
/me /ame - '/me' sends an 'action' message to the active channel,
'/ame' sends an action message to ALL channels you're on.
These types of messages are automatically prefixed by your currrent 'nick' - so DO NOT type it in :-)
/msg nick text - This sends a private message to the 'nick' - where 'text' should be replaced by what ever you want your message to be. So '/msg phich Hello' would go as a private message to 'phich' - the message being Hello.
$+ - This will remove the spaces inserted into a message by the above strings.
Example:- ' $+ $nick $+ ' would appear as... 'whoever' NOT ' whoever ' .
(see '/masked' example below in the Aliases section.)
#$1 - This will insert a '#' sign in front of the text - useful for channel joining 'Aliases'.
#$? - Again this will open a dialog box - anything entered will have a '#' prefixed, and become a channel name.
# - This will insert the name of your current active channel when used in 'Aliases'.
When used in 'Tools|Remote|Events' it signifies any channel your on. See Events section.
#channel - This means an 'Event' command will only respond to events in this specific 'channel'.
$? - If included in an 'Alias' then this would open a 'dialog' box, asking for a parameter to be entered.
$! - This will recall the last 'parameter' entered by a $? string.
$time - Takes the time from your computer
$date - Takes the date from your computer in day/month/year format. Use $adate for USA format.
$chan - Used in Popups, and Events, instead of #.

Flags and Things...

+ - Used in Commands and Events to ensure any reaction is restricted to that level of 'User' ONLY - not higher ones as well. Otherwise you may end up doing things to your friends :-)
* - Used in 'Commands' and 'Events' to prefix a 'User level' - it makes mIRC ONLY respond to commands or events in channels where you are an Operator.Can also be used as a wild-card see below.
! - Used in 'Events' to STOP any reaction to things you do.
= - Used in 'Events' to STOP lower 'level' commands being triggered by your higher level users. Or to restrict a particular level of user to commands of that level only.
| ('shift \' on a PC) - This is used to separate multiple commands that are triggered by the same 'Alias' or 'Event'.

If a 'User' of a certain level doesn't have a specific response command defined then the next lowest available to them will be used instead. This is why it is important to restrict certain levels of users to commands for that level only.

These bits can be used to react to what a user may say on IRC. See Events section.

=text - If a user said this word ONLY.
*text - If what a user says ends with the text.
text* - If what is said starts with the text.
*text* - If the text is said anywhere by a user.
* - If used in a text field this means any text (See Events). Can be used to prevent 'flooding'.

For even more information on the strings get yourself over to Ducky's Identifiers page.
Aliases...(Tools|Aliases)
Just type them in at the bottom of your present list of aliases. **** Beware that spacing is important ****
Then all you have to do is type the 'alias' in the 'edit line' of a channel window, and the corresponding message will be sent to that channel.
Note:- All the '/me' commands can be replaced by '/say' commands if you wish the aliases NOT to go as 'actions' to the active channel. They will just go as normal text instead.
In all relevant cases the 'nick' part should be replaced with the nickname (ie. phich) of a person on the channel.
They will help speed up the process of chatting by allowing you to just type the 'alias' and maybe someone's 'nick' - instead of the whole lot...maybe :-)
/tick /me tickles $$1 with a wet sheep:-) - Just type '/tick nick' to 'abuse' someone with a sheep!?.
This MUST have a 'nick' typed for it to work. See '$$1' above in the General section.
/time /me says it's $1 $2 here in Lincoln:-) - Just type '/time 2:00 AM' to let the channel
know how early it is where your chatting from.
Alternatively try this...
/time2 /me says its $time on $date here in Lincoln:-) - This automatically inserts the time, and date.
Uses the time/date from your PC.
/tired /me is really tired:-(... $me has not been getting much sleep - Just type '/tired'.
/masked /me asks who was that masked ' $+ $1 $+ ' :-) - Again type '/masked nick'
I use this if someone quickly 'joins' and 'parts' a channel.
/hello /me says hello to everyone on # ;-) - Just type '/hello' to give a greeting to the whole channel.
(The # symbol will be replaced by the name of the 'active' channel)
/goto /join #$1 - So typing '/goto channel' would get mIRC to join that channel - no need to type a '#' sign at the start of the channel name.

Back to the General section.
Popups...(Tools|Popups)
Similar to 'Aliases' but accessed with the mouse, not the via 'edit line' - Popups enable most mIRC functions to be achieved.
By 'right clicking' in various windows a different 'popup' menu will appear.
The only 'odd one out' is the 'Channel Nicknames List' section of a channel window, here you have to 'highlight' (by left clicking) a nickname first before 'right clicking'
The menus are constructed on a simple level basis, and most of the 'string' and 'flag' commands are recognised. ($1 and # are NOT - use $$1, $?, $?="text" or $chan instead )

-Adds a divider between sections.
textBecomes an menu item OR sub-menu heading.
.Creates a sub-menu level, one '.' for each level down.

So suppose the following additions were made to the 'Channel Names List' popups.

- - This will appear as a divider between the present 'popups' and these ones below...
Help! - Will appear as a heading in the 'Popup' menu, with an 'expand' arrow, which if clicked would reveal the following list...
.answers!:/say $$1 - Answers to many questions about features in mIRC may be found by typing /help featurename. i.e. /help popups. - If clicked then a message would be sent to the channel. The message would be prefixed by whoevers 'nick' you had highlighted.
.faq!:/msg $$1 - try 'http://www.mirc.co.uk/faq.html' for the latest FAQ - If clicked upon would send the message to whoever's 'nick' you had highlighted.
.Actions - Would appear as another expandable sub-menu in this list.
..Slap2!:/me slaps $$1 about with a large salmon - better class of fish than the trout ;-) - A nice response to any one who gets you with the 'standard' mIRC 'Slap!' popup command.
..Tickle!:/me /me tickles $$1 with a wet sheep:-) - Further revenge or affection ?? for your 'friends'.
- - This again will appear as a divider between menu sections.
Greetings!:/me says 'Hello' to everyone on $chan :-) - Sends a 'hello' action to everyone on the channel. Alternatively you could add this to your 'Main' window popups, then all you would have to do is 'rightclick' in the main area of a channel window and the popup would be available.

If you highlighted a 'nick' and then 'rightclicked' on that name.The menu below would appear...
The menu would look like this (sort of - shown expanded)
--------------
Help >>answers!
faq!
Actions >>Slap2!
Tickle!
--------------
Greetings!

Normally I wouldn't have 'Actions' as a sub-menu of 'Help' that's just for illustration.

Back to the General section.


Users...(Tools|Remote|Users)
This section of mIRC allows you keep a list of your friends and enemies.
This is done by the use of a 'Users' list, and by assigning your users a level.
This 'level' will then govern which commands in the 'Commands' or 'Events' section are triggered by which people/users.
You can also set the 'default' level at which all other 'users' are added, this is useful since you could have this set to '5'. If you then set all your 'Commands' and 'Events' to ONLY respond to level 5 users and above, you've got level 4 and below into which you can 'dump' those annoying ba*ta*ds.

The basic commands are...

/auser level nick (or address) - This will add the 'nick' or 'address' into your users list at the specified 'level'
**- just the 'nick' not their address -**
/guser level nick type - This will add the 'nick' into your users list at the specified 'level'
**- with an address of the following 'type' -**

if an = is inserted before the level - to give say '=5' as a persons level then that user is restricted to that level for 'Commands' and 'Events' ONLY - not lower ones as well.

TypeAddress FormatDescription (Best Guess :-)
0 (default)
if no 'type'
is specified
phich!*fish@pondlife.demon.co.uksingle nick at an address (single user, node and domain)
1 *!*fish@pondlife.demon.co.ukany nick at an address (single user, node and domain)
2 *!*@pondlife.demon.co.ukany nick at an address (any user, single node and domain)
3 *!*fish@*.demon.co.ukany nick at an address (single user, any node, single domain)
4 *!*@*.demon.co.ukany nick at an address (any user and node, single domain)

/ruser nick (or address) type - This removes a person from your User list - but ONLY if there is an entry of the specified 'type' for that 'nick'
/ruser nick! - Removes an entry of the 'phich!fish@pondlife.demon.co.uk' format - Note - The * is missing, from the Type 0 format.

So some useful 'Aliases' would be...
/getadd /guser 10 $$1 2 | /auser 10 $$1 - So typing '/getadd nick' would enter the 'nick' and the associated 'address' at level 10 in your users list.
/addfrenz /guser 15 $$1 3 | /auser 15 $$1 - Typing '/addfrenz nick' will enter the 'nick' and the associated 'address' at level 15 in your users list.
/remove /ruser $$1 - Here typing '/remove nick' would remove just the 'nick' from your users list.

Or as 'Popups' you could have...
Get/Add!:/guser 10 $$1 2 | /auser 10 $$1 - So 'highlighting' and then 'rightclicking' and selecting this in the popup menu would automatically add the highlighted nickname to your users list at level 10.
Add OPs!:/guser 20 $$1 3 | /auser 20 $$1 - Again a simple way for you add channel operators to your user list - change the level '20' to what ever you use as an 'OPs' level.
Remove!:/ruser $$1 3 - This would remove a Type 3 user address from your Users list - if it existed.

Back to the General section.
Commands...(Tools|Remote|Commands)
This allows you to customise the replys given to 'CTCP' commands. (CTCP = Client to Client Protocol)
It's these lines along with the Users section above that give you this control. If no replacement command is added to the 'Command' list the mIRC will just give it's standard reply.

mIRC has built in replies to 'PING' 'FINGER' 'TIME' 'USERINFO' 'CLIENTINFO' and 'VERSION'
NOTE - The only command where a reply is always given is 'VERSION'...The writer of mIRC wants the publicity :-)

The :> at the end of the 'Response Command' tells mIRC to also give the standard reply.
So if this redirection command is not included then the person who sent the command will not get the standard reply.

Commands are divided into 3 sections by colons :
User Level:Incoming Command:Response Command(s) :> Optional Re-direction
1:PING:/notice $nick -Hi-
5:PING:/notice $nick Piiinnnnggg...[space]:>([space]COMMAND)
10:PING:/notice $nick Piiinnnnggg...Your a friend :-)[space]:>([space]COMMAND)

Note:- The [space] item above is to show that a 'space' MUST be left between one line section and the next.

The '/notice' command could be replaced by a '/msg' command.
The user level could be prefixed by the '+' flag, making this reply specific to level 5 users ONLY.
mIRC will give the next lowest available response - level 4 users (and below) would get the level 1 reply,
Users of levels 5 to 9 would receive the level 5 reply. Level 10 users and above would all see the level 10 reply.
Where the re-direction is to a pre-defined mIRC command (see above) then the '[space]:>' is all that's required. If redirection to a different (mIRC or user defined) command is required enter that instead of 'COMMAND' above.
You can also define your own CTCP commands - such as 'HELLO'. Format the lines as above for the PING command, just replace PING with HELLO. Then say re-direct this so it goes to PING.
You may never get a CTCP 'HELLO' command unless someone types /ctcp yournick hello - So let your friends know that you have this set up.
User Level:Incoming Command:Response Command(s) :> Optional Re-direction
+15:HELLO:/notice $nick Hello there...$nick[space]:>[space]PING
20:HELLO:/notice $nick Hello there...$nick Your a friend:-)[space]:>[space]PING

So here a level 15 user sending a '/ctcp yournick hello' request will get the 'HELLO' reply, followed by a level 10 'PING' reply. Here the + sign means this command is for your level 15 users ONLY!
Users of levels 16 to 19 would get NO reply. Nor would those with level 14 and below. If NO command is available to a particular level of user, mIRC will use the next lowest available - NO command is available to those level 14 (and below) users.
Level 16 to 19 users also have NO command available - Level 15 is blocked to them.
Level 20 users and above would get the level 20 'HELLO' reply, again followed by the level 10 'PING' reply.

Do NOT redirect ':>' any 'CTCP' commands you create yourself back to themselves - this would cause them to LOOP until You acheive 'Ping Timeout' :-) I know I did it :-(
1:HELLO:/notice $nick Hello there...$nick[space]:>[space]HELLO ***NONE OF THIS!!!***
1:HELLO:/notice $nick Hello there...$nick[space]:> ***OR THIS!!!***


Back to the General section.


Events...(Tools|Remote|Events)
This part of mIRC allows you to customize how your program reacts to certain 'channel' or 'chat' events.
Each 'command' line is divided into a number of sections, again seperated by colons :

3 SectionsON NICK
ON QUIT
Only 3 sections because they're not restricted to a single channel, but will effect all channels a certain 'nick' or 'User' is on.
4 SectionsON JOIN
ON PART
ON KICK
ON OP
ON DEOP
ON SERVEROP
ON MODE
ON SERVERMODE
These have 4 sections, since they happen 'in channel', but aren't looking for specific chat text or action text.
5 SectionsON TEXT
ON ACTION
ON NOTICE
ON CHAT
These have 5 sections, because they're 'in channel' (including query/private messages or DCC chat) and are searching for specific chat/action text

See the Users section above for setting 'user' levels.

Again the sections are colon : seperated.

5 Sections.
User Level:Triggering Event:What Text or Action Text:Where:Response Command(s)
1:ON TEXT:hello:(see below):/msg $nick text

For Example

10:ON TEXT:*hello*:#mychannel:/say Hello $nick

So this checks for any one saying 'Hello' and responds with a channel message of 'Hello $nick'

/say - this is the equivalent of just typing a message in the 'edit box/line' and pressing enter.
'Where' Section Strings/Flags.
# - means any channel.
#channel - means that channel only.
? - means any private messages.
* - means any channels or private messages.
4 Sections.
User Level:Triggering Event:Where:Response Command(s)
15:ON JOIN:#mychannel:/notice $nick Welcome to $chan
'User Level' Section Modifiers.
+ - means that level user only.
! - means don't react to your actions.
* - means only in channels where you have 'OP' status.
3 Sections.
User Level:Triggering Event:Response Command(s)
10:ON NICK:/auser 10 $newnick 2 | /ruser $nick 2

For more Tips on creating you own scripts - Xcalibre's is a good place to start.

Back to the General section.


mircBack to the mIRC Page
fishBack to the Loch.
Comments AND Corrections to Fish... fish@pondlife.demon.co.uk - (Kev Salmon)