IRC安全篇

阅读次数：1721
2000-09-08 16:39:08
IRC安全篇
--------------------------------------------------------------------------------

  IRC安全问题的介绍
  如果你聊天的时候突然死机,你有可能...
  如果你聊天的时候看到一大片字符,而且不停的开窗口,直到你断线了,你有可能...
  如果你聊天时候突然断线了,你有可能...
  如果你聊天时候网路速度越来越慢,你有可能...
  怎么样伪装IP,有什么用?
  可以建立个人防火墙来抵抗别人的攻击吗?
  为什么不可以随便接受陌生人的DCC CHAT和DCC FILE?
  如果我抵挡不住别人的攻击怎么办?

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

  IRC安全问题的介绍
    本篇你也需要认真了解,这样你可以避免不必要的麻烦,有这么一种可能,你在聊天的时候遭到
    了别人的攻击,你的机器就会产生莫名其妙的问题,比如死机,断线等等, 这里我给你提供几种
    方法,可以有效的防止别人的攻击.这里我只谈现象,不提名称.
回到索引区

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

  如果你聊天的时候突然死机,你有可能...
    这是你有可能被攻击,尤其是你的屏幕变成蓝色.
    防御方法:本站下载区下载window95的补丁,运行后重新启动
回到索引区

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

  如果你聊天的时候看到一大片字符,而且不停的开窗口,直到你断线了,你有可能...
    你有可能受到了攻击,你需要到本站下载区下载我所推荐的脚本mirc777.exe,安装后你就可以防御
    这种攻击了.
回到索引区

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

  如果你聊天时候突然断线了,你有可能...
    你有可能受到了攻击,你需要到本站下载区下载window95的补丁,更新你的winsock.不过这也可能不
    能解决问题.有些攻击是无法防御的.不过你还可以在下载区下载icmp watch,有可能可以查出是
    谁干的(只能看到他的ip).
回到索引区

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

  如果你聊天时候网路速度越来越慢,你有可能...
    你有可能受到了攻击,你需要到本站下载区下载icmp watch,有可能可以查出是谁干的(只能看到他
    的ip).

回到索引区

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

  怎么样伪装IP,有什么用?
    对方如果想攻击你,一般他需要知道你的真IP,如果你可以伪装你的IP,你就可以避免绝大多数的攻击.
    不过在某些IRC服务器上这种方法并不有效.方法如下:
    打开WIN95的"我的电脑"----打开"控制面板"---打开"网络"---查看有没有"标识"项
        如果有,将计算机名的内容改成127.0.0.1(你可以改称其它IP),然后按OK键,重新启动计算机
        如果没有,按"添加"键---按"用户端"---按"添加"---选择MICROSOFT网络用户,然后按OK键,
        然后按上边的方法改IP,重新启动计算机
回到索引区

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

  可以建立个人防火墙来抵抗别人的攻击吗?
    可以的,有一种个人防火墙可以对你起一定的保护作用,尤其针对突然断线的情况.请到下载区
    寻找cpcfw.exe下载
回到索引区

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

  为什么不可以随便接受陌生人的DCC CHAT和DCC FILE?
    因为当你接受了对方的DCC CHAT和DCC FILE时, 你就暴露了你的真IP, 如果对方知道了你的真IP,
    他就可以轻易的攻击你.另外陌生人的DCC FILE千万不要接收,否则你的机器都可能会被格式化了.
回到索引区

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

  如果我抵挡不住别人的攻击怎么办?
    你可以找IRC的管理员,让他帮助你(怎样寻找参看提高篇)
回到索引区


IRC提高篇
--------------------------------------------------------------------------------

  我怎么才能表示自己的行动?
  我怎么才能像别人一样做出彩色漂亮的花朵?
  我想把我的谈话纪录都自动保存起来,可以吗?
  什么是ALIAS,有什么功能?
  我能在MIRC中给别人发送文件吗?
  什么是DCC密谈,跟普通的密谈有区别吗?
  什么CTCP?有什么功能?
  我可以忽视别人的CTCP查询,让别人查不到我的CTCP信息吗?
  PING是什么?有什么功能?
  我想察看某个IRC上的所有或某些用户或者某个CHANNEL中的用户,可以吗?
  我有一些固定的朋友,每次我上了IRC时想知道他们在不在上边,可以吗?
  说话人太多了,我看不到别人叫我的名字,怎么办?
  当别人进入CHANNEL时,我怎么样才能对别人自动问候?
  什么是REMOTE,怎么运用它?
  为什么我的REMOTE不起作用,怎么解决?
  我的REMOTE可以识别朋友,然后自动给他OP吗?或者识别他是敌人,自动KICK他出去吗?
  什么是USERS,怎么样用它?
  什么是VARIABLES?(计数器示例)
  谁是IRC的管理员(IRCOP,ADMINISTER),他们能做什么?怎么样找出他们?
  什么是KILL和KLINE?
  什么是BOT?
  我可以做一个BOT,让他一直呆在IRC上吗?
  什么是IRCII脚本?
  什么是DNS?有什么用?

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

  我怎么才能表示自己的行动?
    行命令: /ME 在吃饭. (注释：这时屏幕显示 * PANDA777 在吃饭.)
回到索引区

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

  我怎么才能像别人一样做出彩色漂亮的花朵?
    首先你要学会些彩色字, 按 CTRL-K键后,你会看到一个调色板,你可以选个颜色,这是你的话语就
    变成了有颜色的了. 其次你要学会ALIAS,可以方便的编辑你的命令, 不过最方便的办法是问别人
    要现成的脚本(INI文件),这里的下载区就有(mirc777.exe),你可以在这里下载.
回到索引区

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

  我想把我的谈话纪录都自动保存起来,可以吗?
    可以的,先选择FILE菜单--OPTION--LOGGING,然后选上automatically log里边的复选框就可以了.
回到索引区

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

  什么是ALIAS,有什么功能?
    ALIAS是MIRC的一个功能,是给懒人设计的东西,不过它很有用,你千万要了解一下.举个例子:
      如果你觉得每次打/LIST 命令很麻烦,你就可以在ALIAS中加入/L /LIST这样的语句,然后你只要
      打入/L, 就可以完成/LIST的功能了.
    这是一个简单的例子,有时候你的ALIAS需要加参数的.你可以根据这个自己做ALIAS,比如:
      /hug /me {{{{{{{{{{ $$1 }}}}}}}}}}}} (这条ALIAS语句是表示HUG拥抱的友好用, $$1表示参数.
      你可以打入/HUG PANDA777,这样你就拥抱了PANDA777了)
      在制作ALIAS时,你需要敲击MIRC标有"/A"的绿色按钮, 看到一个小窗口,你就可以开始编辑了.
回到索引区

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

  我能在MIRC中给别人发送文件吗?
    当然可以,用DCC SEND.
      菜单方法: 选取DCC菜单--〉SEND(或者ALT-S键)(弹出一个SEND窗口)
      行命令: /DCC SEND PANDA777
      注释：用DCC传文件速度快，因为它是IP对IP的传输
回到索引区

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

  什么是DCC密谈,跟普通的密谈有区别吗?
    DCC密谈的方法跟DCC SEND FILE方法相似:/DCC CHAT PANDA777
    DCC密谈比普通方法密谈的保密性高,因为它也是IP对IP的交流,不通过IRC服务器,如果你谈要事
    的话,最好用DCC,否则别人有可能偷听的到.另外不要接受陌生人的DCC CHAT或者DCC SEND,这样
    可以减少不必要的麻烦(为什么?答:安全问题,照做就是了).
回到索引区

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

  什么CTCP?有什么功能?
    CTCP也是一个比较有用的功能,它可以查出对方的信息
        行命令: /ctcp PANDA777 ping (查对方的PING值)
                /ctcp PANDA777 version (查对方的IRC聊天器的版本)
                /ctcp PANDA777 time (查对方的当地时间)
                /ctcp PANDA777 userinfo (查对方的用户信息)
                /ctcp PANDA777 clientinfo (查对方的用户信息)
        鼠标操作: 用鼠标右键点击NICKNAME, 然后再谈出菜单中找相应的CTCP项
回到索引区

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

  我可以忽视别人的CTCP查询,让别人查不到我的CTCP信息吗?
    可以的,先选择FILE菜单--OPTION--CONTROL--IGNORE,然后选上ACTIVE复选框.
    然后执行行命令:/IGNORE -T *
    取消这个操作要FILE菜单--OPTION--CONTROL--IGNORE中删除"*!*@*,ctcp"这一条纪录
回到索引区


IRC基础篇

阅读次数：1964
2000-09-08 16:36:57
IRC基础篇
--------------------------------------------------------------------------------

  什么是IRC网上聊天?
  我怎么才能进行IRC聊天?
  哪种聊天软件好?各自的优点是什么?
  我已经下载了MIRC5.4,怎么样安装配置它?
  现在我已经连上了聊天站，我怎么进入房间跟其他人聊天？
  我发现聊天室内有些NICKNAME的前边有个"@",那是什么,有什么作用？
  我怎么才能获得CHANNEL OP的权限,我可以自己得到吗?
  怎么样创建CHANNEL?
  我想同时进入几个IRC,可以吗?
  现在有哪些中国人喜欢的IRC?
  我想跟某个人偷偷聊天,不让别人看到,怎么办?
  我想改变我的NICKNAME,怎么办?
  我想察看别人的信息,怎么办?
  有个人说话很无聊,我不想看他的话,怎么办?
  有个人很讨厌,我想把他赶出去,怎么办?
  我想踢走一个人,让他再也回不来,怎么办?
  我想改变CHANNEL的标题,怎么改?
  我的朋友来了,我想给他OP权限,怎么给?
  我想把CHANNEL设为私人的,只允许某些人进来,怎么办?
  我怎样邀请别人进入我的CHANNEL?
  我不想让CHANNEL中某些人说话,只让他们静静的听,怎么办?
  还有没有其他设置CHANNEL状态的命令?
  有没有跟简单的方法改变CHANNEL的状态?
  学习了上边这些命令够我聊天用了吗?

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

  什么是IRC网上聊天?
    IRC聊天是网上聊天的一种方式,它是INTERNET RELAY CHAT的缩写,意思是英特网继传聊天,通
    过特殊的协议(IRC协议),大家连到一台或者多台IRC服务器上进行聊天.它的特点是速度快(几
    秒钟内你就可以看到对方的"讲话"),功能多(功能实在是太多了,后边慢慢在看吧.),所以通过
    IRC聊天是全世界网友的最佳选择.
回到索引区

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

  我怎么才能进行IRC聊天?
    有些IRC站点给你提供WWW网址,这样你就可以通过浏览器聊天了,但是这不是你的最佳选择,因
    为这种办法速度慢(启动速度慢),功能少,如果你想更多的享受聊天的乐趣,你最好下载聊天的
    专门软件.
回到索引区

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

  哪种聊天软件好?各自的优点是什么?
    现在最流行的IRC聊天软件有三种:
      (1) MSCHAT,这是微软公司发布的,它的特点是在聊天面板上每个人都变成了卡通人物,生动一些,
        可是MSCHAT不支持很多IRC命令.
      (2) PIRCH,它拥有一流的图像界面,是比较流行的IRC聊天软件.
      (3) MIRC,它有强大的命令功能,可以说是世界上最流行的IRC聊天软件,所以最好选择MIRC为你的
        聊天工具,可以在本站下载区下载最新版MIRC5.4
回到索引区

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

  我已经下载了MIRC5.4怎么样安装配置它?
    你可以按照MIRC的安装导向安装,安装好了以后,你需要配置好IRC服务器的地址,方法如下:
      (1) MIRC上部有一排按钮,用鼠标敲左数第二个钮.(弹出一个小窗口)
      (2) 选IRC SERVERS钮--〉ADD钮。 (又弹出一个小窗口)
      (3) 在的DESCRPTION中填入"西安169"--〉IRC SERVER中填入202.100.4.9 (不要动其他的地方)
      (4) 敲击ADD钮 (最小的窗口消失了)
      (5) 敲击OK钮 (这个小窗口也消失了)
    现在你就配置完了西安169IRC的地址,你还需要配置你的个人信息:
      (1) MIRC上部有一排按钮,用鼠标敲左数第二个钮.(弹出一个小窗口)
      (2) 在FULL NAME后边填入你的全名(当然你可以随便填一个名字)
      (3) 在EMAIL ADDRESS后边填入你的EMAIL地址(你可以填一个假的不过格式一定要按EMAIL的
            格式,比如:panda777@nothing)
      (4) 在NICK NAME后边填入你的聊天代用名,我的名字是PANDA777,你也可以起一个很让人喜爱
            的名字,我建议你起名时一要好记,二要独特不会跟别人重名字,因为在IRC上不允许
            NICKENAME重名的.
      (5) 在ALTNATIVE后边填入你的备用聊天代用名
    现在你的配置工作基本完成,可以方便的连接西安169进行聊天了.你也可以通过同样的方法加
    入其他IRC的地址。如果你想现在就连接西安聊天站，敲击MIRC上部左手第一个钮.
回到索引区

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

  现在我已经连上了聊天站，我怎么进入房间跟其他人聊天？
    这时你打入/list命令。你就可以看到一个CHANNEL的列表。
    这些CHANNEL也就是聊天室，你用鼠标双击你想进入的CHANNEL，你就进去了,你也可以打入行命令
    /join #channelname。这时你看到了聊天窗口和NICKNAME的列表窗口，恭喜你，你现在可以开始
    聊天了。
回到索引区

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

  我发现聊天室内有些NICKNAME的前边有个"@",那是什么,有什么作用？
    "@"这个记号很重要,它代表这个人在这个CHANNEL中有管理员(OP)的权限,有了这个权限,你就可
    以执行其他很多功能,比如说踢别人出去.网友们叫它"帽子",戴了帽子的人叫"主持人".
回到索引区

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

  我怎么才能获得CHANNEL OP的权限,我可以自己得到吗?
    一般情况下CHANNEL OP的权限只有别的OP给你,或者你自己创建一个CHANNEL,除此之外,基本没有
    办法自己获得CHANNEL OP的权限
回到索引区

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

  怎么样创建CHANNEL?
    很简单:打入/JOIN #NEWCHANNEL (注释:这是你就进入了你创建的NEWCHANNEL中了)
回到索引区

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

  我想同时进入几个IRC,可以吗?
    可以,不过你需要运行另外一个MIRC,也就是说你运行两个或者多个MIRC.

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

  我想跟某个人偷偷聊天,不让别人看到,怎么办?
    A.行命令: /MSG PANDA777 HI,你好! (注释：这时你跟PANDA777说了悄悄话,别人看不到)
    B.行命令: /QUERY PANDA777 HI,你好! (注释：这也是悄悄话，不同的是这是你跟他开了一
        个新的窗口)
      鼠标操作: 在CHANNEL聊天窗口中，用鼠标双击你想要说悄悄话的NICKNAME

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

  我想改变我的NICKNAME,怎么办?
          行命令: /NICK ROSE (注释：这时你的名字就变成了ROSE了)

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

  察看别人的信息,怎么办?
          行命令: /WHOIS PANDA777 (注释：这时你就看到了PANDA777的一些个人信息)
          你可以看到:PANDA777的真名字,他现在在哪个CHANNEL,他的上次操作是什么时候以前.
回到索引区

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

  有个人说话很无聊,我不想看他的话,怎么办??
          行命令: /IGNORE JOHNSON (注释：这时JOHNSON的的话你就看不到了)
回到索引区

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

  有个人很讨厌,我想把他赶出去,怎么办?
    假如你现在有了OP的权利, 你就可以.
        行命令: /KICK #CHINESE PANDA777 (注释：PANDA777这个的家伙被踢出了#CHINESE)
        鼠标操作: 在聊天窗口中，用鼠标右键单击你想要KICK的NICKNAME,然后在菜单中选KICK
回到索引区

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

  我想踢走一个人,让他再也回不来,怎么办?
    假如你现在有了OP的权利, 你就可以.
          行命令: /MODE #CHINESE +B PANDA777 (注释：然后你再KICK他,他就回不来喽,如果想
              取消对他的BAN管制,运行/MODE #CHINESE -B PANDA777)
          鼠标操作: 在聊天窗口中，用鼠标右键单击你想要BAN的NICKNAME,然后在菜单中选BAN
回到索引区

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

  我想改变CHANNEL的标题,怎么改?
          行命令: /TOPIC #CHINESE 我现在很喜欢IRC (注释：标题就被改掉了)

回到索引区

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

  我的朋友来了,我想给他OP权限,怎么给?
    假如你现在有了OP的权利, 你就可以.
          行命令: /MODE #CHINESE +O PANDA777 (注释：去帽子是/MODE #CHINESE -O PANDA777)

回到索引区

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

  我想把CHANNEL设为私人的,只允许某些人进来,怎么办?
    假如你现在有了OP的权利, 你就可以.
        行命令: /MODE #CHINESE +I (这时别人想要加入#CHINESE，必须要接收到此#CHINESE内的
        人的邀请(/invite)方可进入。
回到索引区

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

  我怎样邀请别人进入我的CHANNEL?
        行命令: /INVITE PANDA777 #CHINESE (注释: PANDA777现在收到了你的邀请拉)
回到索引区

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

  我不想让CHANNEL中某些人说话,只让他们静静的听,怎么办?
    假如你现在有了OP的权利, 你就可以.
        1.行命令: /MODE #CHINESE +M (注释:这时没有OP的人都不能说话了,只能听)
        2.行命令: /MODE #CHINESE +V PANDA777 (注释:这时PANDA777就有发言权拉)
回到索引区

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

  还有没有其他设置CHANNEL状态的命令?
    假如你现在有了OP的权利, 你就可以.
        /MODE #CHINESE +N (注释:在CHINESE外的人无法以/msg的方式送讯息进来。)
        /MODE #CHINESE +T (注释:在CHINESE内只有OP才能改变TOPIC。)
        /MODE #CHINESE +P (注释:即使在此通道的用户,当他用/whois nickname也无法看到你。)
        /MODE #CHINESE +S (注释:如果其他用户用/names #CHINESE查看此通道内的用户,他会看不到)
        /MODE #CHINESE +K 12345 (注释:这时设定了密码其他用户用/JOIN 12345才能进入CHINESE)
        /MODE #CHINESE +L 10 (注释:这时限定该 CHINESE的人数上最多为10个。)

回到索引区

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

  有没有更简单的方法改变CHANNEL的状态?
    用鼠标双击CHANNEL的聊天窗口,你就可以看到一个对话窗,你可以更方便直接的改变CHANNEL的MODE.
回到索引区

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

  学习了上边这些命令够我聊天用了吗?
    学习了这些命令足够你聊天用了,但是时间一长你也许感觉这些命令不够用了,IRC提供了更多的命
    令.如果你想继续学习,请看本站的提高篇,同时也看看学习看MIRC的HELP.
回到索引区


MIRC Option选项

阅读次数：945
2000-09-08 13:51:13
mirc option选项

点击File...Options,将弹出一个窗口,下面,我将对每一个选项进 行介绍。

Sound选项。Accept sound requersts复选框,将这个框打勾,您将听到别人用/sound命令播放的声音文件,也可以用/sound on 命令将这个复选框打勾,/sound off则反之。
Igonre if a sound is currently playing复选框,将这个复选框打勾后,如果/sound命令指定播放的文件正在播放,那么当前/sound命令将别忽略,Warn if sound dosen't exist复选框,将这个框打勾后,如果发现需要播放的文件不存在,mirc将提醒您。
Listen for !nick file get requests复选框,这个框打勾后,如果有人打 !您的名字 声音文件.wav,那么您的mirc将自动在您设置的目录下面查找那个声音文件,如果找到将自动dcc send给对方。比如您叫tony,有人打!tony yabba.wav,您的MIRC将自动在存放声音文件的目录下去找yabba.wav,如找到,将自动send给请求的一方。
Send !nick file as private message复选框,将这个复选框打勾后,您发送声音文件的信息就只有接收人看的到,反之,房间里的所有人就能看到。
Location of wave/midi files选项用来指定您的声音目录,比如你指定的声音目录是c:\mirc\sounds,那么当您打/sound 声音文件时,mirc将在c:\mirc\sounds底下寻找,别人用/sound命令时,您的mirc同样还是在这个目录底下寻找。如果找不到,mirc将提示需要播放的声音文件不存在。
另外,我再对/sound命令补充一下,您还可以这样用/sound命令:/sound haha.wav 大笑几声。这个命令等同于:/me 大笑几声 , /sound haha.wav

IRC Switches选项卡。Prefix own messages复选框,这个框打勾后,您每说一句话,前面都会有您的名字,就象这样:大家好。
Iconify query window复选框,这个复选框打勾后,别人给你的小窗对话,将以/msg 的方式传过来。
Whois on query复选框,这个复选框打勾以后,每当别人和你开小窗,您的MIRC将自动用/whois 命令查看他的信息。
Auto-join on invite复选框,自动加入您被邀请去的房间。
Rejoin channel when kicked复选框,自动从新加入您被踢出去的房间。
Cancel away on keypress复选框,将其打勾后,如果您打了/away 信息,那么您如果在大窗或者小窗说了话,/away信息将自动取消。
Timestamp events复选框,复选后,所说的话前面都有一个时间记号。
Skip MOTD on connect复选框,连接是跳过motd信息。
Show Alternate Join/Part/Quit复选框,显示更为紧凑的join /part/quit信息。
Show user adresses复选框,每当别人加入,离开,被踢,您都可以看到他的地址信息。
Show invites in active window复选框,使invite信息在你当前窗口出现。
Show modes in channel复选框,房间的更改设置信息显示。
Show topics in channel复选框,让您每次进房间的时候,都看到topic信息。
Strip Codes允许您忽略Bold, Underline, Reverse, and Colour信息。

Notify List选项。这个选项很有用,您琢磨琢磨,不是有add del 这些按钮吗?把你需要注意的人的nickname加进去,那么,在notify list里的人,连接,或者离开,您都会知道。当然您也可以用/notify命令来完成这个工作,notify命令前面讲过了,这儿就不重复了。

Control选项。这个有ignore list ,auto-op list , protect list ,ignore前面讲过了,这儿不在重复了,您如果希望把某个mask从ignore list删除就把它拉蓝,然后按del,就可以了。
auto-op list,您可以把您希望的mask加进去,可以自动给帽子。
protect list,保护名单,如果有人踢了或者ban了您的受保护人,您会自动报复对方。
注意:如果希望这些功能生效,别忘了把active复选框打勾。

Logging选项。保存对话。您可以选择是保存大窗的对话,还是保存小窗的,保存在那个目录下等等。

Flood选项。您可以在这儿设置flood保护,如果有人发送的信息超过您设置的flood值,将自动ignore他。

Click选项。您可以在这儿设置双击鼠标会产生什么动作。比如双击大窗就执行/channel命令,双击小窗就执行/whois 命令,您都可以在这儿设置。


IRC入门ABC

阅读次数：1529
2000-09-08 13:39:53
入门 ABC

    什么是IRC？IRC是英文“Internet Relay Chat”的缩写，是一种在世界上、尤其是在国外非常流行的聊天方式之一。简单的说来，就是使用特定的客户端软件连接到IRC服务器，然后以客户端→服务器→客户端的方式，使得双方的用户能够交换信息。服务器在中间充当了一个中继信息的作用，因此，IRC的中文名称又叫做——“网络中继聊天”。
    比起传统的Web聊天方式，IRC有哪些优点呢？
    1. 快速刷新屏幕
    在传统的Web聊天方式里，由于使用的是浏览器，需要在下载的同时进行页面解释，因此页面刷新速度通常是数秒甚至数十秒不等；而IRC是利用专门的软件进行聊天，不需要页面解释的过程，所以它的屏幕刷新速度相当快（以毫秒计），也就是说，在屏幕进行刷新的时候，你是根本感觉不到一点延迟以及任何抖动的。这对于保护视力可是有莫大的好处。 :-)
    2. 保密性
    IRC有极高的保密性。在一个正式的IRC服务器里，如果你不是在公共聊天室与人交谈而是代之以密聊（即常说的开小窗），那么其他任何人将无法得知你们聊了些什么，包括管理员。这就不象在某些Web聊天室里，管理员可以通过一些特定的CGI或者ASP程序来窥探到你的聊天内容。这也大概就是为什么很多黑客也采用IRC进行交流的原因之一吧。
    3. 便于管理
    在绝大多数的IRC服务器上，你可以随时根据需要创建自己的频道（Channel，即闲聊室），系统将自动把你设置成该频道的OP（Operator，管理员），而且你还可以随时根据需要把OP的权力赋予其他人，以进行协同管理。IRC里的OP还有各种不同的等级之分，例如Admin(Administrator)、SOP(Super Operator)、AOP(Auto Operator)、OP(Operator)等等，这都无疑为建立良好的管理制度创造了条件。
    4. 其它…
    例如可以播放音乐、传送文件、自编脚本程序以配合聊天等等，这些都是在普通的Web聊天室里所办不到的。事实上IRC的优点并不止于此，只有在使用中你才能慢慢体会得出：IRC的确是一种很好的聊天方式！
    那么，该如何进行IRC呢？
    如前所述，你所需要的只是一个IRC客户端软件以及一个IRC服务器地址。IRC服务器地址请参考这里；至于IRC客户端软件，现在有很多种，比如Microsoft Chat、mIRC、Pirch以及中国人自己编写的hIRC、ChinaIRC等等。但是最常见的莫过于Microsoft Chat以及mIRC，本站点也将主要围绕这两个软件进行探讨。请转至如下链接：


IRC入门教程

阅读次数：1147
2000-09-08 11:19:36
mIRC的使用帮助
（原作者：武汉飞影，虎虎)

一：简单讲一下MIRC的界面：

MIRC一共有这样几个菜单:File ,Tools ,DCC, Window, Help,菜单下面是图标，我已经详细讲叙了File菜单中setup的IRC Servers选项卡的内容，其它的菜单将在后面几节详细说明，图标我只想说明一个：那个象闪电一样的图标。填好nickname fullname email 等等这些东西后，可以按connect to IRC Server!连接到服务器。也可以按OK按钮，然后按这个象闪电摸样的图标连接IRC服务器，如果您已经连上了服务器，图标的样子就会改变，如果再按一下，就是与服务器断开。另外，您特别应该注意MIRC窗口的下方，那儿会有您现有窗口任务拦，比如stats窗口（状态窗口），channel窗口，你所在的房间的窗口，你开的小窗的窗口，以及一些其它的窗口，如果您要切换到哪个窗口，用鼠标点一下即可。

二：Mirc基本命令。

Mirc的命令很多，功能强大，下面我将对基本命令一一说明。

Mirc的默认命令符是"/"，(如果您不喜欢这个符号，可以在option窗口改变,option窗口诤竺嫦晗附彩?，也就是说您如果要执行一条命令的话，必须先打一个/ ，例如你要看看当前服务器上有哪些channel，就打/list

下面我假设您用Eros做您的名字

基本命令：

/list 这个命令是用来看当前服务器上有哪些channel，你可以在channel窗口看到channel的主题，?人数等.

如果只想把#eol这个channel调出来，就打/list #eol ,如果你只想查看人数在大于5个，小于10个的channel，就打/list -min 5 -max 20 ,如果你只想查看含有help字符串的channel，比如#mirchlep #irchelp #servieshelp 等等，请您打/list *help* ，"*"是通配符，和dos的"*"一样用:)

/join #房间名比如您想加入#eol这个channel，就打/join #eol ,如果你希望加入的channel不存在的话，IRC server将创建一个这样的channel，当然，前提是服务器允许创建动态的channel.你同样可以用鼠标双击你希望加入的房间。

/part #房间名这个命令用来离开房间，比如您要离开#China这个房间，就打/part #China ，当然也您

可以给出一些退出的信息，比如用：/part #China 去也终需去，住也如何住... 那么别人看到的信息就是

*** (您的名字) (pop@202.103.28.159) has left #China (去也终需去，住也如何住...)

当然，您也可以直接用鼠标去关闭你希望离开的房间。

/me 要说的话，这个命令是用来说明您的动作，比如您打/me 是中国人，21岁 ,那么别人就会看到：

*EROS(我假设您叫EROS) 是中国人，21岁

/query 名字，这个命令用来和别人开小窗，比如您要和mm开小窗，就打/query mm ,嘻嘻，mm可以一个很漂亮的女孩子哟！

/msg 名字，这个命令也说向别人发送小窗的信息的，只不过不单独开一个窗口罢了，如果您嫌窗口太多，又想和别人单独说话，就可以打/msg 名字，那么那个人将在他(她）的小窗收到您的信息.

/whois 名字，这个命令用来看别人的信息，可以看到别人的full name，ip，id，以及他在哪几个窗口和发呆时间等等，我要向您说明的是，如果这个人点了我前面提到的file...setup菜单中的Invisible mode，那么除非他和您在一个房间，您用/whois 是看不到他的信息的。

/nick 名字，这个命令是用来改名字的，比如您现在叫Eros，想改成Eros_away，就打/nick Eros_away那么您的名字就会变成Eros_away.

/away 原因，这个命令是用在您离开的时候，比如您打/away 我吃饭去了，马上回 ,那么如果别人和你开小窗说话，他将在他的MIRC的status窗口看到这样的信息(我假设您叫Eors)：Eros is away: 我吃饭去了，马上回. 如果您吃完饭，回来了，要取消您的away信息，打/away就可以了,后面不要加任何东西，/away就可以了.

/quit ，这个命令用来退出irc服务器，当然您也可以给出您退出的原因，比如打：/quit 太晚了，要睡了，那么别人会看到这样的信息*** Eros has quit IRC (太晚了，要睡了)

/topic #房间名 新的topic，这个命令是用来改房间的topic的，比如您要把#eol的房间的topic改成你知道我在等你吗，mm? 那么请打/topic #eol 你知道我在等你吗，mm? 当然，如果这个房间设置+t（就是只允许房间的主持人改topic)那么如果您不是#eol的主持人的话，您就没法改#eol这个房间的topic了，mm也无法知道您的心意了，唉......

/invite 名字 #房间名这个命令是用来邀请别人的，比如您打/invite mm #Love ，那么mm将看到这样的信息*** Eros (Smith@202.103.28.159) invites you to join #love ，我要说明的是，如果#love这个房间设置了+i(就是只有被邀请的人才能加入这个房间)，那么外面的人除非经过您的邀请，他是进不来的，比如您想邀请mm到#love这个房间，就打：?invite mm #love 请到这儿来聊聊吧，我真的很想你：）

说明：下面的命令，是主持人才有权利使用的命令。

/kick #房间名 人名，这个命令用来踢人的，如果您想把Cupid踢出#eol，而您刚好又是#eol的主持人，就打/kick #eol Cupid ，同样，您也可以给出踢他的原因，打/kick #eol Cupid 不许欺负mm!!!

/mode #房间名 +(或者-) 参数 人名（有时要用到人名，有时并不需要）下面我将详细讲叙mode命令的用法。

/mode #房间名 +b mask 我先解释一下什么是mask,恩.........我举个例子吧。比如，我现在用的名字是Eros，USERID是Smith，我的ip是202.103.28.159，那么我的mask就是Eros!Smith@202.103.28.159 ，怎么知道一个人具体的mask呢？就是我前面讲的/whois 命令，你用/whois Eros，将看到Eros的mask, mask的格式就是这样的:人名!userid@ip ，好了，我现在回头来讲/mode #房间名 +b mask，这个命令是用来禁止你讨厌的人进入房间，比如：您不希望Cupid进入#eol这个房间，您就打/mode #eol +b Cupid ，那么Cupid就进不来了。呵呵，不过请您不要随便ban人哟：）

现在，您可能要提出一个疑问了，怎么没看见我用mask呀，嘻嘻，听我细细道来。

在mask中您可以用到*这个通配符，比如Cupid的UserID是Smith ,ip是202.103.28.159那么您可以打：

/mode #eol +b Cupid!smith@202.103.28.159 也可以就打/mode #eol +b Cupid 那么这两个命令用什么区别呢？

/mode #eol +b Cupid 这个命令等同于/mode #eol +b cupid!*@* Cupid!*@*这个mask的意思就是所有叫cupid的人，不管他的id和ip是什么,那么所有叫Cupid的人，不管他的id和ip是什么样的，通通不进入#eol这个房间。*这个通配符的意思就是，代替所有字符，所以呀，Cupid不管怎么换id或者ip都进不来了，唉...真可怜:(

当然，如果他换了名字，比如就Cupid2就可以进来了，嘻嘻。你也可以这样做/mode #eol +b *!Smith@* 这个命令的意思是，id是smith的，不管他叫什么名字，不管他的ip是什么，都不能进入#eol了.

如果您突然发现Cupid其实是一个很可爱的男孩，不该对他这么粗暴，就用/mode #eol -b mask 就可以了，嘻嘻。一个+号,一个-号，意思截然相反:)，我想我已经把mask的概念讲的很清楚了，下面我将不再解释mask是什么了，如果您还有点不明白，请您再仔细看看上面的话^_^

/mode #房间名 +i(或者-i) 如果您+i了，那么这个房间只有被邀请的人才能进入。就是被/invite 过的人才行，/invite命令前面已经讲过了:)

/mode #房间名 +l(或者-l) 数字，这个命令是用来限制房间人数，比如你想让#eol这个房间里最多只能有3个人，那么就打/mode #eol +l 3 那么当这个房间的人数达到3个以后，再想进来的人就进不来了，不过对已经在房间里的人无效，如果想取消限制，用-i就可以了。

/mode #房间名 +m(或者-m) 如果你用这个命令给房间加了m，那么只有主持人和有v的人可以说话，(怎样给别人加v，呆会儿会讲到的),也就是说如果房间加了m，您既不是主持人，也没有v，说的话就不能在房间里出现，大家听不到的。

/mode #房间名 +n(或者-n) 房间设置了+n以后，不在房间里的人就不能把他说的话传到房间里来，如果房间没有+n，那么您在外面也可以把话传到房间里去的，用/msg #房间名 您要说的话

/mode #房间名 +o(或者-o) 给人加(减)帽子，有了帽子以后，就是主持人了,帽子是大家对op的爱称，嘻嘻，比如，您是#eol的主持人，想让Cupid也当主持人，就打/mode #eol +o Cupid ,也可以同时给几个人加帽子:/mode #eol +oo Cupid mm

或者/mode #eol +ooo Cupid mm Eros，最多是一次给四个人加，/mode #eol +oooo

Cupid mm Eros Styx

/mode #房间名 +t ，+t以后，只有主持人可以改房间的topic，比如:/mode #eol +t

/mode #房间名 +s ,+s以后，用/list命令就看不到这个房间了,比如：/mode #eol +s

/mode #房间名 +k 密码，这个命令是用来给房间加密码，比如您打/mode #eol +k abc ,那么如果别人不知道密码，他将无法用/join #eol加入房间。对于加了密码的房间应该用这样的命令加入:

/join #房间名 密码，比如/join #eol abc

下面两个命令不需要您有帽子：

/mode 自己名字 +i ,这条命令和刚开始给您介绍的file...setup菜单中的Invisible mode复选框功能一样，如果您还有不清楚的地方，请看看前面。当然如果您不希望隐藏自己，就用-i好了。

/mode 自己名字 +s ,用这条命令给自己加s以后，你可以收到来自服务器的信息了，不如kline，oper

的出现，等等.

NEXT 继续 访问中国教育热线及其在线IRC聊天室。


IRC入门教程二

阅读次数：668
2000-09-08 11:22:54
三：其它一些MIRC命令：

/abook 是一个地址本，很好用哦

/amsg 在你所有当前的房间说话，比如您在#eol #tsinghua ，您打/amsg hey ，那么#eol和#tsinghua都将接到您说的话.

/ame 在你当前所有房间宣示/me 信息，比如:/ame 要走了，再见了各位。

/ban -u数字 #房间名 人名（或者mask） ,这个命令和/mode #房间名 +b mask 功能差不多，只不过有一点点区别，举个例子：/ban -u5 #eol Cupid ，这个命令的意思是在#eol这个房间ban了Cupid,5秒钟后自动unban,-u5这个参数就是这个意思。当然您也可以不用-u这个参数。

/beep 次数 等待时间，这个命令让你的pc 喇叭发出响声，比如：beep 4 1 ，意思就是1秒钟后，pc喇叭响4下。

/channel ，将弹出一个窗口，可以设置房间的属性。+i +t +m改topic,unban人，等等。

/clear ,清除窗口的记录。您打/clear后当前窗口里所有的信息都被将清除。

/clipboard 文字 ，这个命令用来把文字存放在剪贴板上，比如你打/clipboard hey ,那么hey就被存在剪贴板上了，你按ctrl+v就可以将其copy出来。当然，你用鼠标将文字拉黑，再按ctrl+c，也是一样。

/close 参数 人名 ，这个命令用来关闭一些窗口，比如：/close -m Cupid ，这个命令就是关闭和Cupid的小窗，如果只打/close -m 就是关闭和所有人开的小窗。还有一些参数: -i 关闭不活动dcc窗口。-f是关闭fserve窗口，-c是关闭dcc chat窗口。-s是关闭dcc send窗口。-g是关闭dcc get窗口。

/copy 目录\文件 目录\文件 ，拷贝命令，和dos的copy一样。

/ctcp 人名(或者房间名) <ctcp> ，mirc提供了一些ctcp命令，ping version time finger等，ping用来看对方的反应速度，比如/ctcp Cupid ping ，ping的结果可以在您的stats窗口看到类似于这样的东西:

[Cupid PING reply]: 5 second ,意思是Cupid反应时间为5秒，如果服务器慢，或者超负荷之类的原因，反应速度会慢一些。 /ctcp Cupid version ，您可以用条命令看到Cupid用的什么irc程序，MIRC还是Ms-chat，或者别的什么，信息会显示在你的stats窗口，/ctcp Cupid time，可以看到cupid的计算机上的时间，如果cupid和您不在一个国家，他的时间很可能和您的不一样。/ctcp Cupid finger，您可以用这条命令finger Cupid，您得到的finger信息就是对方在mIRC的file….setup中的E-mail Adress中填写的内容，所以如果对方填写的是假的email地址，返回信息就没有任何价值了。您也可以对房间内的所有的人进行ctcp，比如：/ctcp #eol ping

/ctcpreply 人名 <ctcp> 信息，如果别人ctcp你，你的irc程序会自动应答，您可以用这条命令回答一些你希望回答的信息，比如mm ping你，你可以用这条命令回答：/ctcp mm ping 别ping了，我忙着呢！或者/ctcpreply mm time 我这儿是公元2002年上午8:40 就是这样。

/dcc send 人名 <filename> 用来给别人send文件，dcc是mirc支持的一个客户对客户的程序，如果您打/dcc send 人名 ，将弹出一个窗口,您选择您想传送的文件，然后点send就可以开始传送了，如果您记得文件哪，也可以直接给出文件的路径，比如：

/dcc send Cupid c:\mirc\script.ini

/disconnect 这条命令用于强制的从服务器上断开，和/quit有所不同。

/exit ,断开于服务器的连接，并关闭MIRC.

/dns 人命（或者ip),比如：您想知道Cupid的ip和hostname，就打/dns Cupid ,如果您想看Cupid的hostname ,就去看看Cupid的ip，比如他的ip是202.103.36.24，就打/dns 202.103.36.24,也许你会看到Cupid的hostname是wuhan74.net.cn，呵呵，那么就说明他可能在武汉上网哟。也就是说dns可以用来转换hostname和ip的。

。

/finger 人名（或者ip） ，如果您给出地址，mirc马上对这儿地址finger,如果您给出的是人名mirc就先查找hostname，再finger。如果对方的finger server是无效地址，或者他填写server不允许支持finger程序，您就无法finger对方。

/notify名字 提示

/fsend on(或者off) ，如果将/fsend on执行，dcc send的速度将会提高，当然，您同样可以在dcc窗口将fast send 复选框打勾，默认值是on.

/fserve 人名 数字 目录 ，这个命令用来允许别人访问你的硬盘，比如：/fserve mm 10 c:\windows意思就是允许cupid访问你c:\windows目录，可以同时从你的硬盘上get十个文件。执行后，cupid将看到一个fserve的窗口，他如果希望访问，他会点"chat"按钮。fserve命令如下：ls dir get cd cd.. exit或者bye. ls就是dir的宽行输出，就象dos中的dir/w一样。cd和cd..和dos中的cd一样用，如果您看中哪个文件，就打get 文件名，您就可以得到这个文件了。

/help ，弹出MIRC的help窗口。

/ignore -参数 人名(mask) ，这个命令很有意思，举个例子：/ignore -p Cupid ，这样的话，Cupid和您开小窗说的话，你就听不到了，/ignore -t Cupid ，用-t参数后，你的MIRC将不会对Cupid的ctcp应答了，-c 参数是忽略房间中的话，-k是忽略控制码，就是颜色，下划线等。-i用来忽略invite信息，-n用来忽略notice信息

/links ,用来看当前服务器有那些链接服务器，如果当前服务器太慢，你可以从links菜单中选择一个link地址，然后打/server 地址 port值，换一个服务器。

/log on(off) 窗口 -f 文件名 ，这个命令用来保存对话记录，比如您想对#eol这个房间的对话做记录，就打：/log on #eol -f c:\mm1.log ，那么#eol的对话将保存在c:\mm.log这个文件中，如果希望把您和Cupid小窗的对话记录下来，请打/log on cupid -f c:\cupid.log ，如果您不给出目录和文件名，mirc将在默认的目录下保存记录。

/mkdir 就是dos的md命令，用法也一样。

/nick 名字，如果你不想用现在的名字了，就打/nick 新名字 ，可以改变您的nick.

/notify 人名 提示，这个命令用来把别人加到您的notify list中去，比如：/notify mm 美眉来了，那么mm一上服务器，您的mirc就会提醒您，mm is on irc (美眉来了）,mm走的时候，MIRC也会告诉您：mm is left IRC

/omsg #房间名 信息，这个命令是象你指定房间的所有主持人发送信息。比如：/omsg #eol 不要给其他人帽子！

/partall 离开原因 ，离开所有房间，您也可以给出原因。比如/partall 我走了，拜拜。

/play -参数 (#房间名/人名/stop) 文件名 延迟时间 ,这个命令是用来播放文本文件的。比如，您打:/play c:\help.txt 1000 ，mirc就会自动播放c:\help.txt ，每放一行间隔1秒钟，1000是毫秒.1000毫秒等于1秒，默认间隔时间是1000毫秒，如果您希望快一点或者慢一点，可以自己定间隔时间如果希望停止，请打/play stop, 因为您没有指定窗口，mirc就在当前窗口播放，如果您要指定窗口可以这样：/play Cupid c:\help.txt 这样，mirc就会在您和Cupid的小窗播放这个文件，同样的道理，也可以打/play #eol c:\help.txt ,这就是在#eol这个房间里播放。另外还有一些参数，下面我将一一介绍。

-s参数，MIrc将把文本文件的内容当作命令来处理，您可以自己编一个文本，比如象这样：

/nick NNa

/nick NNaaa

/nick aesse

/nick slefasfd

.....等等

然后打/play -s 您编的文件 ，那么您就会不停的换名字了，

-c参数,强迫mirc把文本的内容当作命令来执行，那么您编文本的时候就不用加/了

nick aaa

nick bbb

nick ccc

然后打/play -c 您编的文件，就行啦

-s 参数允许你不连接服务器，就在stats窗口播放。

-p 参数表明现有的play为最高优先级。

飞影叹了口气，累死我啦，一辈子没写过这么长的东东:(

-r 参数就是随机播放你指定的文件里随机挑出一行播放.

-l数字，指定文件的一行进行播放。比如播放help.txt的第15行，就打/play -l15 c:\help.txt

这些参数可以联合起来用，比如：/play -crq c:\help.txt

如果要停止播放，就打/play stop

/pop 延迟时间 #房间名 人名 ，这个命令用来防止过于太快的auot-op人，例子：/pop 10 #eol Cupid，当然，Cupid要在你的auot-list名单中哦。

/raw 命令，这个命令直接执行当前server支持的命令，比如：/raw PRIVMSG 人名 信息，如果你不知道当前server有哪些命令，试试打/quote help. 您可以用-q参数不回显执行的信息。

/remove 目录\文件名 ，删除文件，和dos的del一样用。

/rename 目录\文件名 新文件名，更改文件名，和dos的ren一样用。

/rdir 目录，删除目录，和dos的rd一样用。

/run -n 目录\程序 ,运行一个程序，比如:/run c:\windows\ftp.exe www.compat.online.sh.cn ,如果您用了-n参数，程序运行时自动最小化。

/server 地址 port值 ，连接一个你指定的服务器，比如：/server 202.103.25.252 6667

/say ，和打完字再按一下回车是一样的效果，比如/say 大家好 ，当然/say命令还有其他用途，以后会讲到。

/sound 声音文件，这个命令用来播放一个声音，如果别人也有这个声音文件，他也的mirc也将播放这个文件，注意：要的播放声音文件必须在你指定目录下，指定目录:点file...options..sounds，后面将详细讲叙options。另外您的声音播放必须打开，别人放声音您才能听的到，用/sound on 打开。

/splay -参数 文件，用法和/sound一样，只是多了几个参数.-q 用来排列要播放的文件的顺序。-wm用来把几个文件连起来一起播放。

我的天啊，下面写timer了,又有得写了:(

/timer..........***飞影狠狠的扇了自己两耳光，加油，加油！！！***

/timer数字（或者字符） -参数 (时间) 重复次数 间隔时间 /命令

不要头晕，听我细细道来，这个命令是用来......举个例子吧：/timer1 10 60 /me is away 这条命令的意思是，每隔60秒执行一次/me is away 命令，一共执行10次，你可以同时运行几个/timer，可以分别叫/timer1 /timer2 /timer3....也可以用/timera /timerb /timerc.....等等...下面介绍一下参数，-o和-m-o参数用于没有连接服务器时就执行/timer命令，-m表明时间间隔以毫秒为单位。

/timer也可以这样用，/timer9 14:30 1 1 /say It's 现在时间为 2:30pm 这条命令的意思是，到14:30分的时候，mirc会自动说:现在时间为 2:30pm

如果您希望timer命令永不停息的运行，就打/timer1 0 间隔时间 /命令，也就是说重复次数定为0，timer就会不停运行。如果您希望/timer1 停下来，就打/timer1 off ，如果希望/timer2停下来，就打/timer2 off,以次类推，如果希望所有timer停下来，呵呵，就打/timers off.

/timestamp -参数 on(或者off) 窗口名 ，您如果激活timerstamp，那么每次执行timer的时候，前面都会有一个时间，表明这一次timer是什么时候执行的，-s ：在stats 窗口做stamp，-a：在当前窗口stamp

-e：在所有窗口stamp.

/titlebar (@window) 字符 ，改你的title。比如打/titlebar 柔情似水，佳期如梦，哪顾网费几何。效果如何你自己试试，当然你也可以指定窗口，前面用@.

/url -参数 on(或者off) 这个命令很有意思，你打/url on ,那么mirc将自动把含有网址字样的东西记录下来，如果你希望看一看被记录的网址，打/url ，参数-d：用?号标记将删除的url.

url窗口弹出了，你选择一样地址，然后按右键，可以得到弹出式菜单，嘻嘻，您自己去看看吧。

/font ，选择字体，font窗口有一个Set as default channel font 复选框，将其打勾后，您现在选择的字体将成为默认字体。

/uwho 人名，比如：/uwho Cupid ，执行后将弹出一个窗口，有full name Email Nick,ping version 等等，您可以自己试试。:)

/info 查看有关服务器的一些信息。

/lusers 查看当前用户数目。

/names #房间名，用来看房间里有那些人，比如您不在#eol，又想知道#eol又哪些人，就打

/names #eol 。

/describe 人名 信息，这个命令用来向别人的小窗发送/me信息，比如，您打：

/describe mm 叫Eros，那么mm将在她的小窗看到/me 叫Eros的信息。

好的，到此为止了，mirc基本命令告一段落，还有一些命令，会在Aliases, Popups和Remote中将到，另外，一些控制mirc复选框的命令将在详细介绍菜单的时候提到。

对了，有些朋友问我，命令应该在哪儿打，呵呵，您记好了，无论在哪个窗口打，都行！

NEXT 继续 访问中国教育热线及其在线IRC聊天室。


IRC入门教程四

阅读次数：525
2000-09-08 11:25:23
五： Aliases, Popups, & Remote

***飞影叹了口气，终于写到这儿了***

我首先要申明的是：我接触script的时间也不长，只编写过一些简单的script，下面的文字可能会有某些错误，请大家指正。

其次：您必须阅读了前面介绍的一些Mirc基本命令以后，才可以阅读下面的文章。

Mirc提供了一种语言，用来编写可供Mirc使用代码，代码文件就是一般的文本文件，不需要链接和编译，直接在Mirc中一个叫mIRC Editor的窗口中调入，Mirc会自动执行，并且可以通过一些命令来控制程序的运行。我们把这样的代码文件称为“script”。

Script文件分三类，一：Aliases 二：Popus 三：Remote

下面我将分类介绍script的编写方法。

Aliases：Aliases的中文意思是别名，Mirc提供了这一功能，能让用户更快更直接的执行一些Mirc命令。下面我将具体介绍Aliases。

Aliases的编辑是在一个叫Mirc Eidtor的窗口进行的，您可以在这里编写您自己的aliases命令。点Tools...Aliases，或者把Alt按住再按A键，可以呼出Mirc Editor窗口。在这儿您很可能看到Mirc自带的一个Aliases比如：/op /mode # +ooo $$1 $2 $3 ，这一条Aliases的意思是,如果打/op Cupid mm Eros ，那么就在当前房间执行 /mode # +ooo Cupid mm Eros 命令，# 的意思就是当前的channel,在Mirc里象#这样的符号，叫做标识符，我会专门分出一节来详细介绍Mirc的标识符，在这一节，我只简单的介绍几个常用的标识符?再举个例子：/j /join #eol ，那么你一打/j 你的Mirc就自动自行/join #eol命令。Mirc常用标识符：

# 表示当前的房间。

$1 这个标识符记录你在Aliases命令行中提供的第一个参数。比如这样一条Aliases命令。 /ws /me 紧紧的握着 $1 的手。那么你打/ws Cupid ，Mirc就自动执行/me 紧紧握着 Cupid的手。 $1记录了你提供的第一个参数，也就是Cupid这个参数。注意：$1的前后都要空格。再打个比方：这样一条，aliases ,/j /join $1 ，那么如果你打/j #eol ，mirc就执行/join #eol命令。$1记录了你提供的第一个参数"#eol"

$2 用样的道理，$2记录你提供的第二个参数。比如这样一条Aliases:

/slap /me 拿起 $1 狠狠的向 $2 打去。如果你打/slap 大铁球 Cupid ，那么Mirc就执行/me 拿起 大铁球 狠狠的象 Cupid 打去，$1记录了你提供的第一个字符"大铁球"，$2记录了你提供的第二个字符"Cupid"，以此类推，$3 $4 $5 $6......都是这样用。

$? 用这个标识符，会弹出一个对话框，S?会记录你在对话框中写下的参数。

比如：/j /join #$? ，那么你打/j 以后，Mirc会出来一个对话框，$1会记录你在对话框中所填的字符，比如你填#eol ，然后按回车，或者点OK按钮，Mirc就执行/join #eol命令。$?的功能就是提供一个对话框，然后记录你所填的字符。你也可以指定对话框的title，比如象这样：

/j /join #$?=”你希望假如哪个房间?” ，这样就可以改变对话框的title，使用起来更方便。

$! 标识符，这个标识符记录第二次使用前面你在$?对话框中的字符，比如：

/aw /away $?="Enter away message:" | /say $! $?记录了您在对话框中填的参数，而您第二次要用到对话框中参数的时候，就不能再用$?了，必须用$! ，就是这样。

$$1标识符，这个标识符和$1的作用差不多，记录您提供的第一个参数，区别在于如果你用了$$1，就必须用上另一个标识符$$2，打个比方：/slap /me拿起 $$1狠狠的象 $$2打去。那么如果您打/slap Cupid，Mirc将不执行/slap这个aliases命令，因为您只提供了一个参数。

您必须打/slap Cupid大铁球 ，这个aliases命令才可以执行，而/slap /me 拿起 $1狠狠的象 $2打去。这个命令用的是$1和$2标识符，您只提供一个参数aliases命令也可以执行。

$1- 这个标识符记录您提供的一切字符，比如 /op /mode # +oooo $1- ，您可以打

/op Cupid mm Eros Styx，$1-记录了您提供的四个参数,Cupid mm Eros Styx ,在当前房间给这四个人加帽子。再来看这样一个aliases命令：/abuse /me狠狠对着 $1骂到：你这个 $2- !，那么您打

/abuse Cupid猪 混蛋 畜生 异型 ，Mirc就执行/me狠狠对Cupid骂到：你这个 猪 畜生 混蛋 异型 ! $1记录了您提供的第一参数Cupid ,$2记录了后面所有您提供的参数：猪，畜生，混蛋，异型。不过,Cupid可是好人哟，您可别真的骂他：）

在这儿我再次提醒您：标识符前后都要空格！一定要空格！

$+ 这个标识符用来把字符连接起来。比如：/hi /say Hel $+ lo th $+ ere $+ !

那么打/hi Mirc就自动执行/say hello there! ,$+把字符都连起来啦！这个标识符可以让您的aliases命令打出来的信息没有空格，比如：/hold /me温柔的拥抱着 $+ $1 ，这样一来您打出来的东东就没有空格了，好酷哟：）

说句题外话，如果您想用aliases一次执行多个命令就用 | 这个分隔符。比如：

/kb /kick # $1 | /mode # +b $1 ，那么打/kb Cupid Mirc就会先把Cupid从当前房间踢出去，紧接着ban了Cupid。

好了，常用标识符就介绍到这儿，下面会有专门一节来详细讲叙Mirc的标识符。

为了让您能够更好的利用aliases，我简单介绍一下Mirc中变量的概念和一些有关变量的简单命令，我不会很详细的介绍Mirc变量，以后会有一节来专门讲叙Mirc怎样处理变量。

所谓变量，就是可以赋值的量。如果您有一些编写程序方面的知识有所了解的话，会很容易理解变量这个概念。Mirc中的变量定义规则和其它的语言中的变量差不多。

Mirc中的变量都是以%号开头，比如：%x， %y，%number等等。到底怎么样来给变量设值呢，Mirc提供了一些命令。具体操作如下：

/set变量名 值 ，比如要把hello赋值给%x变量，就打/set %x hello，/set命令还提供了一个参数u，如果您打/set -u5 %x hello，那么mirc把hello赋值给变量%x，并在5秒钟后自动取消%x的赋值，也就是说，%x不再等于hello。

/unset变量名 ，取消给变量的赋值。比如：/unset %x，这样就取消了对%x的赋值，%x不再等于hello了。通配符*在/unset命令中有效，比如：/unset %test* ，这条命令将取消对所有以test开头的变量的赋值。如果需要取消所有变量的赋值，打/unsetall就行啦。

好了，变量现在就讲这么多，下面几节我会详细介绍。

让我们回到Aliases来，在aliases中怎么运用变量呢？用中括号 [ ] ，具体是这样操作的，我举个例子：您设置一个变量%x，/set %x hello ，如果希望在aliases命令中调用这个变量，必须用到中括号 ：/hi /say [ %x ] ，记住，括号和%x之间一定要空格。再举个例子：

/test /say % [ $+ [ $1 ] ] ，来看看这条命令，如果您打/text x，那么/say % [ $+ [ $1 ] ]返回的值就是%x，为什么要用到$+标识符呢，这是因为%和变量名之间是不允许用空格的，所以必须用$+把%和变量名(x)连起来，为什么要用到中括号呢？因为在aliases中调用的变量必须用中括号 [ ] 括起来。

这就是如何在aliases中调用变量，下面我讲一下大括号{ }的用法。

前面讲过，如果想执行多条命令的话，命令与命令之间用 | 号分开，比如：

/kb /kick # $1 | /mode # +b $1 ，aliases提供了另一种方法来处理这种多行命令，那就是使用大括号 { } 。下面我把/kb这条aliases命令改成用大括号的格式：

/kb {

/kick # $1

/mode # $1 +b

}

这一个aliases命令和前面一个用 | 的aliases命令是等效的。用大括号 { }能是代码更清晰，更有条理化，更加美观。再举个例子：

/poem {

/msg $1 A horse is a horse..

/msg $1 A duck is a duck..

}

如果您打/poem Cupid，Mirc将执行/msg cupid A horse is a horse和/msg cupid A duck is a duck这两条命令，当然，您用 | 号也可以：/poem / msg $1 A house is…. | /msg $1 A duck..

另外，scripts还带几个语句，下面我将一一介绍：

if then else语句：这个语句用于比较值的不同，从而执行不同的代码。基本格式是这样：

if (值1运算符 值2) {命令}

elseif (值1运算符 值2) {命令}

else {命令}

小括号( )用于把需要比较的值括起来，大括号{ }用于把命令括起来。括号一定要对称，不要有正括号没有反括号。另外，if elseif else语句可以嵌套使用。举个例子：

/number {

if ($1 == 1) echo The number ONE

elseif ($1 == 2) echo The number TWO

else echo Unknown number!

}

把这些代码加到你的aliases中，打/number数字，这一段代码就开始运行。注意：==运算符，（两个=号）这个运算符的意思是”等于”，如果你输入的数字等于1，那么执行/echo the number one，如果输入的数字等于2，则执行/echo the number two，如果是其它情况，则执行/echo unknown number! ，echo并没有用大括号括起来，这是允许的，当然，把echo命令括起来也可以。象==这样符号，我们称之为运算符。Mirc有以下运算符：

== 等于

!= 不等于

< 小于

> 大于

>= 大于等于

<= 小于等于

以上是数值操作符，还有三个数值操作符，我也搞不清楚是什么意思，如果我弄懂了下面会讲到的，如果您知道，请务必帮我加上去。

还有一些其它操作符，呆会儿会讲到的。

另外有一个go to语句。例子：

/number {

if ($1 == 1) goto one ;如果给出的参数等于one，就跳到:one去执行。

elseif ($1 == 2) goto two ;如果给出的参数等于two，就跳到:two去执行。

else goto unknown ;如果给出的参数不符合以上两种情况，就跳到:unknown去执行。

:one ;注意：one前面有个 : 号

echo The number ONE ;echo命令。

halt ;halt命令用于强制停止代码的运行。

:two

echo The number TWO

halt

:unknown

echo Unknown number!

halt

}

在echo命令前我没有用到 / 提示符，这是因为只有在输入时需要让Mirc知道这是一条命令是才需要用到 / 提示符，而在script中 / 提示符是不需要的。;号是script的注释符，如果您害怕会忘记某一行script是什么意思，可以在这一行后面加个;号，Mirc解释代码的时候会自动跳国 ; 号后面的东西。

用aliases还可以定义功能键。例如：

/F1 /say Hello! 定义F1键，按一下F1键，Mirc就执行/say Hello命令。

/sF2 /query $1 定义shift+F2，把shift按住，再按F2，就执行/query命令，这 个时候$1就是您当前点亮的nickname。

/cF3 /ctcp $1 version 定义ctrl+F3键，把ctrl按住，再按F3，Mirc就执行/ctcp命

令，$1是您当前点亮的nickname。

s和c就是用来定义shift和ctrl键的。

/ 是Mirc默认的命令提示符，另外还有这样一个命令提示符：// 两个/ ，呵呵，那么两个/ 和一个 / 有什么分别呢？举个例子吧：

/say我现在在 #

# 是个标识符，返回值是当前的房间的名字，这个前面已经讲过了。怎么样才能在命令中用上标识符呢？

/say我现在在 # 里面。

这样可以吗？答案是：不行。如何才能让标识符生效呢？您必须用到 // 这个命令提示符。 //say我现在在 # 里面。 象这样就可以了。

还有一个 /. 命令提示符，如果用这个提示符，Mirc不会返回一些执行过程中的信息。比如你打/ignore Cupid，在status窗口您会看到这样的信息：*** Added Cupid!*@* to ignore list，如果您不希望看到这样的提示信息，就打/.ignore Cupid，在 / 后面加个 . 就可以了。

恩…..让我想想，aliases还有些什么东西没讲到，对了！有一点我没有讲的很清楚。那就是在哪儿编aliases，呵呵，讲了这么多怎么编，可是没讲编好了往哪儿放。

就是在mIRC Editor窗口，按住alt键，在按a键，可以呼出这个窗口，或者点菜单Tools底下的Aliases，也可以呼住这个窗口，另外，您的aliases代码可以些在一个纯文本文件里面。

后缀名为ini。另外你也可以运行别人编好的aliases代码文件。比如有这样一个aliases文件：Cupid.ini ，您呼出mIRC Editor窗口后，点这个窗口的File菜单下的load子菜单，然后选中这个文件，最后点File菜单下save子菜单就可以了。或者用load命令：

打/load -a 盘符：\目录\文件名 ，即可。例如：/load -a c:\mirc\aliases.ini

最后，我再次提醒您注意：标识符前后一定要空格！

好了，aliases就在这儿告一段落。以后结合实例再来详细讲解aliases。

下面开始讲popus。

Popups

Mirc允许你自己定义弹出式菜单，在小窗，房间，dcc和channel的窗口都可以。

Mirc一般都自带了一个popups，您用鼠标将一个人的名字点亮，或者将鼠标放在大窗上，然后按右键，就可以看到这个菜单了。在哪儿编制popups呢？和aliases一样，还是在mIRC Editor窗口。点Tools菜单下的popups子菜单，或者按住alt键，再按p键，可以呼出popups的编辑窗口，然后直接在这个窗口进行编辑。Popups的基本格式是： 菜单名称:命令 ，举个例子：

Get Help:/join #tsinghua ; :号前面是菜单名，:号后面是点中这个菜单后mIRC执行什么命令

:号后面的命令可以是aliases命令，比如：你的在aliases中有这样一条，/j /join #eol，那么在popups中也可以用/j命令。还有一个问题，怎么定义popups在哪儿弹出呢？是在房间里，小窗里，dcc窗口里，

或者是status窗口里？这个问题很简单，在mIRC Editor窗口中有一个view菜单，点view菜单，可以看见status，channel，query/chat， nickname List和menubar这样几个子菜单，如果你需要编nickname的弹出式菜单，就把view…nickname List打勾，然后在mIRC Editor窗口写代码。如果想编房间的弹出式菜单就把view…channel打勾，status，query/chat，menubat也是这样。

NEXT 继续 访问中国教育热线及其在线IRC聊天室。


IRC入门教程五

阅读次数：481
2000-09-08 11:26:10
下面我详细介绍popups的编写。

建立一个含子菜单的popups：假设您希望编一个nickname的popups，那么把view…nickname List打勾，然后写入如下代码：(注：本例子是mIRC自带的popups)

Whois:/whois $$1 ;这一行是popups的标准格式：菜单名:命令

Query:/query $$1

UCentral:/uwho $1

- ;这个小-号是为了让菜单更美观，加了-号后，菜单中会有一条----。

Control ;这个单独的control是一个主菜单名。

.Ignore:/ignore $$1 1 ;这条命令前面有个 : 号，表明这一行是control的子菜单。

.Op:/mode # +ooo $$1 $2 $3 ;这条popups用到了aliases命令，www.online.edu.cntcp，同样道理，这表明ctcp是一个主菜单。

.Ping:/ctcp $$1 ping ;这一行在单独的字母ctcp下面，前面还有个:号，说明这一行是ctcp的子菜单

.Finger:/ctcp $$1 finger

.Version:/ctcp $$1 version

.Time:/ctcp $$1 time

.Userinfo:/ctcp $$1 userinfo

.ClientInfo:/ctcp $$1 clientinfo

上面我结合实例讲叙了怎么样编写popups的基本知识。补充一点，如何选中多个名字，点亮一个名字，然后按住鼠标左键，往上，或者往下拉就可以了。当然，如果希望对多个nickname进行操作，您的popups代码必须支持对多个nickname的操作，比如：Op:/mode # +ooo $$1 $2 $3

在popups中，您用样可以运用大括号{ }，中括号[ ]，goto语句 ，if elseif else语句，标识符，变量等等，这些东西在script中是通用的，不管是哪种类型的script。

再讲个例子：kick {

if ( $1==$me ) echo 不能踢自己

else kick # $1 $?=”为什么踢他？”

}

在这个例子我想告诉大家的是popups中可以用标识符和语句。$me标识符返回值是自己的nickname。

另外我讲一下，如何将编写在*.ini文件中的popups调如mIRC执行。呼出mIRC Editor窗口，然后点file菜单下的load子菜单，选好文件，点ok即可。或者用load命令：/load -pn 盘符号：\目录\文件名 也可以。例如：/load -pn c:\mirc\popups.ini

好了，popups就讲到这儿，我会分出一节来，结合实例来讨论script的编写技巧和方法。

下面，讲remote，mIRC的真正魅力所在！

NEXT 继续 访问中国教育热线及其在线IRC聊天室。


IRC入门教程六

阅读次数：518
2000-09-08 11:28:22
Remote

Remote 是mIRC中真正有意思的部分，如果您已经了解了mIRC的基本命令，知道了一些关于aliases，popups，标识符和操作符的基本知识，您就可以阅读本节了。

remote script允许你的mIRC对一些IRC事件做出反应，IRC事件就是…恩…….比如某个人加入到某个房间，某个人和你开小窗，这些都是IRC事件。你可以在remote编写script，让你的mirc对这些事件自动的做出反应。

Remote由三个部分组成，用户，变量，和scripts。

用户：在remote中必须规定哪一类用户才能触发IRC事件，remote对于用户的分类引进了等级这一概念，你可以规定哪些用户在哪个等级，举个例子，你把Cupid的等级定为3级。然后规定这样一个remote，等级在3或者3以上的用户如果对你开小窗说：help，就send给他一张你的相片。这就是用户以及用户等级和事件的概念。

变量：在remote中可以使用你已经定义了的变量。

Scripts：在remote中你可以同时使用多个script，一起协同工作。存在与script中的事件只能被满足条件的用户触发。一个事件可能满足几个script。

首先，我来讲讲如何定义用户的等级。

需要说明的是：还有一个触发等级的概念，触发等级包括用户等级和触发事件。什么等级的用户可以触发什么样的事件。默认的触发等级为1，就是所有在user list中的用户等级都是1，说明白一点就是所有的用户等级都是1。当然你也可以改变某些用户的等级。具体是操作是这样的：

呼出mIRC Editor窗口后，点Users选项卡，在这儿您可以定义用户的等级。格式如下：

等级1,等级2,等级3….等级N:名字!mask

举个例子：3,5,6:Cupid!John@202.103.* ;定义nickname为Cupid，ID为John，IP为202.103打头的用户等级为3,5,6 ，为什么有三个等级呢？第一个等级值3为通用等级值，后面的两个（不管后面有几个）等级值都是特定等级值，所谓通用等级，就是Cupid!John@202.103.*可以触发您remote中所有等级为3和3以下的IRC事件，特定等级5,6表示Cupid!john@202.103.*可以触发等级为5和6的Irc事件。所以通用等级很重要，如果某人的通用等级为10，那么他可以触发您script中所有等级为10或者10一下的事件。特定等级可以量情而定。比如某人的通用等级为3，而您又希望在不提高他等级的情况下，允许他触发等级为7的事件，那么可以把7加到他的特定等级中去：3,7:Cupid!john@202.103.*

如果您不希望定义一个用户的通用等级，只想定义他的特定等级，很简单，只要在前面加个=号就可以了。比如：=3,5,6:Cupid!John@202.103.* ，这样的话，用户Cupid!John@202.103.*

就没有通用等级，只有特定等级，为3 ,5和6，也就是说他只能触发等级为3,5和6的IRC事件。

下面我讲讲如何在remote中定义IRC事件。格式是这样的。

前缀 等级:事件:命令 对具体格式您不必费心去记，您只要知道mIRC是如何定义等级的就可以了。具体的remote编写方法下一节讲到。

举个例子： ctcp 1:HELP:/msg $nick等级为1的用户无权得到帮助。

这一条remote命令的意思是，如果有用户给你发ctcp help命令(也就是说如果有人打/ctcp您的名字 help)，你的mIRC就会向这个用户发送msg后面的信息。这儿的1就是等级，等级1是最低等级，所有用户都满足等级1。

在remote的等级中还可以做一些别的限制，举个例子：

10:Cupid!john@202.103.*

ctcp +5:HELP:/msg $nick你已经登录等级+5。

请注意：5的前面用了一个加号，这表明这个事件只能被等级为5等用户触发，虽然Cupid的等级高于5，可是他还是不能触发这个事件。

还有一个=号限制，举个例子：

10:Cupid!John@202.103.*

ctcp 2:HELP:/msg $nick你已经成功触发等级为2的事件。

ctcp 5:HELP:=

在这个例子中，虽然Cupid的等级是10，但是他还是不能触发等级为2的help事件。因为ctcp 5:HELP:=规定了只有等级在5以下的用户才能触发等级为2的help事件。

如果你不希望自己触发自己定义的remote事件的话，可以用到!号。

ctcp !2:HELP:/msg $nick你已经触发等级为2的事件。

注意：2的前面有一个!号，这样一来，无论你的等级如何，你也不能触发这个事件。

你还可以用到@号，那么只用当你在房间里有帽子的时候别人才可以触发这个事件。比如：10:Cupid!John@202.103.*

on @2:JOIN:#mIRC:/mode $chan +o $nick

这条remote的意思是：等级在2或者2以上的用户，比如Cupid，加入到#mIRC的时候，如果您有帽子，您就会给他帽子。如果您没有帽子，这个事件就不会被触发。

您同样可以禁止remote某一等级的事件被触发，举个例子：

ctcp 5:PING:echo PING!

ctcp 5:*:!

请注意那个!号，这样用了以后，将禁止remote中所有等级为5的事件被触发。

remote中还有一个组的概念，每个组中都有一些remote命令，用来控制irc事件的触发。你可以禁止某些组生效，也可以激活某写组。举个例子：

#group1 on

remote语句….

…..

#group1 end

#group2 off

remote语句….

…..

#group2 end

#group3 off

remote语句….

…..

#group3 end

等等………

您可以用命令来激活一个组，或者禁止一个组。

/enable <group1 group2 ... groupN> 这个命令用来激活某些组。

/disable <group1 group2 ... groupN> 这个命令用来禁止某些组。

关于remote还有一些命令，马上就会讲到。

好了，关于irc事件，触发，以及等级的概念就讲到这儿。如果您对编写remote还有疑惑，没有关系，上面一节的目的只是希望您能对remote的基本概念有个初步的了解，下面我要介绍一些关于remote的mIRC命令，然后再开始详细讲叙如何编制reomte。

mIRC中关于remote的命令：

/ctcps on(off) 这个命令用来使remote中所有关于ctcp的事件失效和生效。比如，在你的remote中有这样一条：ctcp 2:HELP:/msg $nick你已经成功触发等级为2的事件。 那么在ctcp事件有效的情况下，别人打/ctcp您的名字help，您的mIRC就执行

/msg $nick你已经成功触发等级为2的事件。

再比如：ctcp 1:finger:*:/notice $nick 哇！！想炸我妹儿！！好怕怕！！

这条remote的意思是如果有人(任何人，因为等级是1)finger你(/ctcp nickname finger)，你的mIRC就自动执行/notice $nick 哇！！想炸我妹儿！！好怕怕！！(关于ctcp命令的详细用法，请看mIRC命令那一节)，这些都是ctcp命令，如果您希望禁止您的remote中所有ctcp事件被触发，就可以用/ctcps off，这样一来，您reomte中的所有ctcp事件都不会被触发，反之：您打/ctcps on，那么所有ctcp事件都被允许触发。

/events on(off) 这个命令用来使被命名的事件生效或者失效。

/dlevel <level> 这个命令用来定义用户的默认等级，初始化的mIRC的用户默认等级是1，也就是说，如果您不定义用户的等级，他的等级就是1，如果你希望改变这个默认等级，就可以用/dlevel命令，比如想把用户的默认等级改为3，就可以打/dlever 3

/raw on(off) 这个命令用来处理数值事件的开关。

/remote on(off) 这个命令用来控制整个remote中的script开或者关，如果您希望所有正在使用的remote script(也就是说，所有您定义的remote事件)失效，就打/remote off

如果希望它们再次生效，就用/remote on。

/enable <group1 group2 ... groupN>

/disable <group1 group2 ... groupN>

这两个命令前面讲过了，这儿就不再重复了。

/groups -e(d) 这个命令用来使用查看当前remote中所有组的名字。

/auser (-a) 等级 名字(mask) 这个命令用来定义用户的等级，比如：希望定义Cupid!wqing@202.103.* 的通用等级为1，特定等级为2，3就打

/auser 1,2,3 Cupid!wqing@202.103.* 如果你在user中已经定义了Cupid的等级，现在要重新定义，就必须在/auser命令中用到-a参数，/auser -a 4,5,6 Cupid!wqing@202.103.*

用-a重新定义以后，以前定义等级不失效，只不过以前定义的通用等级变成了一个特定等级。如果在用/auser定义等级的时候用到=号，比如：/auser -a =1,2,3 Cupid则表示Cupid的通用等级没有被定义，只定义了特定等级，为1 ,2 ,3。

/guser (-a) 等级 名字 这个命令的用法和auser差不多，稍有区别的是，只能打名字，然后mIRC自动用查出该名字完整的mask，然后加到user list中去，所以这个名字必须是当前在服务器上的名字，比如：/guser 1,2,3 river，mirc查出river的host是：

River!*964shu@ppp76.dialup.nlu.edu，就将这个加入user list。

/ruser 等级 名字 (mask) 这个命令用来删除您user list中的用户，或者用户的某个等级，如果用户的所有等级都被删除，那么这个用户也将从您的user list被清除出去。比如：Cupid在您的mIRC中的通用等级是1，特定等级是2，3，那么如果打：/ruser 2,3 Cupid!wqing@202.103.* ，那么Cupid的特定等级2，3就被从user list中删除掉。如果继续执行/auser 1 Cupid!wqing@202.103.* 那么Cupid的所有等级都被清除，Cupid

也将整个的从您的user list中消失。当然，如果想直接将Cupid从user list中删除也可以，打/auser Cupid!wqing@202.103.* 就行了，如果你不记得Cupid的mask了，可以用!代替，打/auser Cupid! 这样一来，所有名字是Cupid的，不管他的mask是什么，都将被从您的user list中清除出去。

/rlevel (-r) 等级 这个命令用来删除user list符合某个定级的用户，比如：

/rlevel 3，那么所有通用等级为3的用户都被从user list中删除，再比如：/rlevel =4

那么所有特定等级为4的用户都将被删除。您可以用-r参数更灵活的控制删除范围，比如：/rlevel -r 1,5 就是删除user list中所有用户等级1,5，也就是说，user list中所有有等级1和5的用户，等级1和5都将被删除。如果用户所有等级都不存在，这个用户将被清除出user list。

/ulist 运算符 等级 ，这个命令用来查看满足给定条件的用户的清单，比如：/ulist <2 这个命令将输出一个所有等级小于2的用户的清单，/ulist >5 将输出所有等级大于5的用户清单，/ulist =4 将输出user list中所有等级等于4的用户清单。

(注明：/ulist中的等级既包含通用等级，也包括特定等级)

remote命令基本上讲完了，下面我就来介绍remote的具体编制，以及mIRC中的remote事件：

在mIRC中，所有事件的编写格式都一下，除了ctcp事件，和raw事件，在这里，我暂时不细讲raw事件。ctcp事件实际上在前面已经讲过了。

注意：下面所有的event基本格式都是一样。

Action 事件

Action事件的意思就是如果在你的大窗，或者小窗，或者别人的notice等等，出现你指定后，mIRC做出的反应。

格式：on 等级:TEXT:指定的信息:<*><?><#[,#]>:命令

例子：on 1:TEXT:*help*:#mirc,#irchelp:/msg $nick 有什么需要帮忙的吗？

这条remote的功能就是，如果有等级为1的用户(也就是所有用户)在#mirc或者#irchelp这两个房间说了任何夹有help的话，你的mIRC就自动给这个用户发一小窗信息：有什么需要帮忙的吗？

这个例子实际上是TEXT事件的例子，我之所以讲先讲讲TEXT事件，是因为有几个事件和TEXT的模式完全一样。Action就是其中之一。

那么TEXT和Action有什么区别呢？还记得我前面讲过的/me命令吧，所谓Action就是/me命令打出来的信息，如果你把上面的那个例子中间的TEXT改成Action，那么这条remote命令的作用就是：如果有人在/me信息中夹带了help这个单词的，都给他发送一个小窗信息：有什么需要帮忙吗？ 所谓TEXT信息，就是直接说出来的信息，或者说就是用/say命令发出的信息。举一反三，NOTICE信息就是用/notice命令发出的信息。

另外那个$nick标识符用来代替说话人的名字(nickname)，这个前面讲过了，下一节，我会介绍更多的mIRC标识符。

另外，你还可以用一些通配符来更灵活的控制你需要指定的信息。下面我介绍一下指定信息所用的通配符：

* 代表所有可能出现的字符（和dos的*一样）

& 代表所有单词

当然，您可以在指定信息的时候，用到这两个通配符，比如：help* 意思就是所有以help开头的信息。*help意思是所有以help结尾的信息。*text* 就是所有中间夹有help的信息。如果你什么通配符都不用，那么如果想触发你的remote事件，别人所发的信息必须完全匹配你指定的信息。所以这种不用通配符的text，action，notice多用来做密码或者命令，呵呵。

还一个问题，信息的位置怎么指定呢？是房间所说的话触发remote，还是小窗的触发，或者是什么别的地方的信息触发？在上个例子中，指定的是在#mirc和#irchelp这两个房间。

当然，您也可以用一些标识符来更灵活的指定位置。

? 这个标识符代表任何小窗

# 代表任何大窗

* 表示任何大窗或者小窗

当然，您也可以指定特定的大窗，比如上个例子中的#mirc和#irchelp这两个房间。

再举一些例子：

on 1:TEXT:hello*:#:/msg $nick 欢迎来 $chan ，$nick!

这条remote的意思是，如果有人在任何大窗(也就是房间)说出hello这个单词，你的mIRC会自动向这个人发送一条小窗信息：欢迎来 ***(他所假如的房间的名字) ，***(他的名字)

on 1:TEXT:*蠢猪*:#:/kick # $nick 不许骂人

这条remote的意思是，如果有人在任何大窗中说了夹带着蠢猪二字的话，你的MIRC就执行/kick $chan $nick不许骂人 这条命令，$chan表示发生这个事件的大窗的名字，$nick表示触发这个事件的人的名字。

on 1:NOTICE:*:?:/msg $nick喂，用notice很吵人的，你知不知道？

这条remote的作用是如果有人在你的小窗用notice给你发信息，你的mIRC就给这个人的小窗发送：喂，用notice很吵人的，你知不知道？ 这样的信息。

在reomte中同样可以使用变量，

on 1:TEXT:%matchtext:%channel:/msg $nick你刚才在 %channel说了 %matchtext

这儿的变量是%matchtext和%matchchannel ，%matchtext记录别人所说的任何话，%matchchannel记录了说话的房间。记得变量前后都要空格。

注意：这些事件不能被自己触发，只能被别人触发。

BAN和UNBAN 事件

这个事件会由于房间里有人被ban而触发。

格式：on 等级:BAN:<#[,#]>:命令

例子：on 1:BAN:#mirc,#irchelp:/msg $nick对不起，$chan 不许ban人。

这个remote的意思是，如果有人在#mirc或者#irchelp里被ban了，你的mIRC会自动给被ban的人发一个小窗信息，对不起，#***(ban人的房间)不许ban人。$nick $chan说过多次，这儿我就不重复了，这些标识符我会详细讲解的。

例子：on 9:BAN:#newbies:/mode $chan -o $nick | /mode $chan -b $banmask

这条remote的意思是，如果有人在#newbies ban了等级是9用户，您会自动减掉他的帽子(op)，当然，前提是你有帽子，然后unban被ban的用户。这个$banmask标识符记录了被ban人的mask。

on 1:UNBAN:#:/msg $bnick 你被unban了。

这条remote的意思是在任何房间有人unban用户的话，你的mIRC会给被unban的用户发送一条msg信息：你被unban了

$bnick这个标识符记录了被ban的用户的名字，也就是$banmask中的那个nickname，如果$banmask中没有nickname，那么$bnick的值就等于标识符$null，$null标识符下面会讲到。

在等级这个概念中，您可以用到mIRC的运算符，这在讲等级的时候已经讲过了，在这儿我就举个例子算了：

on >=2:BAN:#mIRC:/msg $chan $nick 这个banmask: $banmask 不许ban！

这条remote的意思是，如果有人在#mIRC这个房间中ban了等级大于等于2的用户，你的mIRC会警告他，这个人不许ban！

每个events事件都可以象我讲的TEXT事件那样定义事件被触发的范围和用通配符指定信息。格式也都差不多，下面我就不罗嗦了。

CHAT和SERV 事件

这个事件会在一个指定信息发送到dcc chat或者fserve窗口的时候被触发。

格式：on 等级:CHAT:指定信息:命令

例子：on 1:CHAT:*help*:/msg $nick怎么了?

这个例子的意思就是，如果有人在dcc窗口说了任何夹带着help的信息，你的mIRC会自动给他发送一条小窗信息(query窗口)怎么了？ 如何指定信息，前面讲过了，下面我就不再重复了。

再举个例子：on 1:CHAT:去死:/msg =$nick 你才要去死

这条remote的意思就是，如果有人在他跟你的DCC窗口打了“去死”两个字，你的mIRC就自动回答，你才要去死。$nick前面有个=号，加了等于号以后，你的回复信息将回复到DCC窗口去，如果不加等号，则是一般的小窗，也就是用/query命令开的窗。
SERV和CHAT的用法和格式完全一样。

on 1:SERV:bye:/msg =$nick 谢谢你能使用我的fserve，再见。

这条remote由fserve窗口的信息触发，如果有人打了bye，则在fserve窗口发送这样的信息：谢谢你能使用我的fserve，再见。

OPEN和CLOSE 事件

这两种事件会由于打开/关闭某个窗口而触发，就DCC窗口而言，就是当DCC CLOSED的时候，close事件被触发，DCC连接的时候，OPEN事件被触发。

格式： on 等级:OPEN或者CLOSE:<?|@|=|!|*>:命令

例子： on 1:CLOSE:?:echo -s 关闭了 $target 的小窗。

这条remote的作用是，如果你关闭了某个人的小窗，在你mIRC的stats窗口会有显示，提示你关闭了谁的小窗。$taget标识符，记录了你打开，或关闭的窗口的名字。

再比如： on 1:OPEN:=:/msg =$nick 你好，我马上来。

这条remote的意思就是，当一个dcc窗口连接后，mIRC向dcc窗口发送：你好，我马上来的信息。这儿的等号的意思，前面刚讲过，我不重复了。

on 1:CLOSE:=:/notice $me $nick关闭了dcc窗口。

这个事件在你的dcc窗口被关闭时触发，向你发送notice信息，提醒你对方关闭了dcc窗口，$me标识符记录你自己的名字(nickname)。

申明一下，=号是remote中标识符，代表dcc窗口，!号代表fserve窗口。

on 1:OPEN:!:/msg =$nick 欢迎来我的fserve

这条remote中用到了!号，所以，它的意思就是，当别人进入你的fserve时，你会在fserve窗口发送：欢迎来我的fserve这样的信息。fserve也是dcc，所以=$nick表明向dcc窗口，在这个例子中，也就是fserve窗口发送信息。

CONNECT和DISCONNECT 事件

connect事件在mIRC连接服务器后，motd信息显示完后，被触发。

格式： on 等级:CONNECT:命令

例子： on 1:CONNECT:/join #tsinghua

使用这条remote后，你一连上服务器，就会自动加入到#tsinghua中去。connect事件和options中的perform的功能是一样的。

disconnect事件在你断下服务器的时候触发。

on 1:DISCONNECT:/echo Disconnected from你在 $time从$server 断下来了。

这条remote使你一断下服务器就显示，你在***(时间)从*****(服务器地址) 断下来了

标识符$server记录当前服务器地址，标识符 $time记录当前时间。

CTCP事件

ctcp在前面实际上已经讲了，如果您现在对remote有点明白了，就翻翻前面的东西，会明白的：）

在这儿我就在举个例子吧：

ctcp 1:ping:*:/notice $nick ping什么ping，想打乒乓球吗，好吧，陪你玩玩，pong!

这条remote的作用是如果有人ping你，你会自动给这个人发个notice信息，ping什么ping，想打乒乓球吗，好吧，陪你玩玩，pong!

另外，我还补充一点，如果你希望事件被触发有，执行多个命令，那么请用|号，将命令分开，和aliases一样，如果不明白，看看前面讲过的aliases，你也可以在remote中用到你自己定义的aliases命令。

CTCPREPLY事件

这个事件当用户给你发出一个你指定的ctcpreply信息后，被触发。

格式： on 等级:CTCPREPLY:指定信息:命令

例子： on 1:CTCPREPLY:*mIRC*:/echo $nick用的 mIRC

如果用户给你一个ctcpreply信息中夹带有mIRC字样，你的mIRC就显示，**(发送ctcpreply信息的人)用的mIRC。怎么指定信息，前面讲了。另外在remote中不管是使用标识符还是变量，都要注意标识符和变量的前后空格。还有就是，on 等级，事件名，指定范围，指定信息(如果有的话)和命令之间一定要用:(冒号)分开，注意：是英文的冒号，不是中文的，所以如果您直接把我举的例子copy到您的remote中去的话，可能会是无效的，要记得把中文:(冒号)改成英文的:(冒号)。

DCCSERVER 事件

这个事件在当别人企图连接你的dcc server的时候被触发，你可以利用这个事件，来过滤你的dcc，定义一个等级，如等级符合的用户，就接受他的连接请求，反之，则用可以close命令关闭它。

格式： on 等级:DCCSERVER:Chat(或者Send，Fserve):命令

例子： on >9:DCCSERVER:Chat:close -c $nick

如果有等级小于9的用户，如果dcc chat你，就会自动关闭他的窗口。

on 1:DCCSERVER:Send:if (.exe isin $filename) /halt

这条remote用到了if命令和isin运算符，mIRC除了一些数值运算符之外，还有很多字符串运算符，isin就是其中之一，isin的意思是** 包含在 **之中，.exe isin $filename的意思就是，如果所传的文件名中含有.exe字样的话（也就是说执行文件）就执行/halt命令，#$fileserv记录了所传文件的名字，/halt命令将停止别人连接你的dcc server。

OP和DEOP 事件

这两个事件会在指定用户在指定channel被op(被加了帽子)或者deop(被脱了帽子)时被触发。

格式： on 等级:OP:<#[,#]>:命令

例子： on 1:OP:#tsinghua,#help:/msg $nick 请不要乱给帽子。

那么在#tsinghua和#help中op别人的人，都会收到你的/msg信息。

另外有个SERVEROP事件，用法跟op事件一样，只是触发的条件不同，serverop事件是在某个用户被server加了帽子后，才触发的，比如：chat.wol.com.cn set mode +o Cupid

在讲个几个例子：

on >9:OP:#:/mode $chan -o $opnick | /msg $nick 不要给他帽子!

如果有人在任何房间op了等级小于9的用户，你会自动deop他，并向op那个用户的人发送一个，不要给他帽子的信息。标识符$nick记录了给别人帽子的人名，$opnick标识符记录了被op者的名字。

on 1:DEOP:#tsinghua:/mode $chan +o $opnick

这条remote作用在于如果有人在#tsinghua被下了帽子，就重新给他帽子。

on 1:SERVEROP:#:/mode $chan -o $opnick

这条命令的意思是无论在那个房间，只要有人被server op了，就自动脱掉他的帽子

VOICE和DEVIOCE 事件

在一个被加了M的房间里，如果有人给用户加V或者减V，这个事件将被触发。

格式： on 等级:VOICE:<#[,#]>:命令

例： on 1:VOICE:#mIRC,#newbies:/msg $vnick 现在你可以在 $chan 说话了。

如果#mirc和#newbies两个房间被设置了加M，那么如果有人在这两个房间被加了V，你会给这个用户发送一条小窗信息(/msg)：你现在可以在$chan说话了，$chan记录事件发生的channel(房间)。

on 1:DEVOICE:#mIRC:/mode $chan +v $vnick

这是个devoice的例子，如果#mirc设置了加M，那么如果有人在#mirc被减了V，你会自动的重新给他加V，标识符$vnick记录了被加v或者减v的用户的名字(nickname)。

on >=2:DEVOICE:#mIRC:/msg $chan $nick 给 $vnick 减了v(允许)

如果#mirc设置了加M，那么有人在#mirc devioce(减v)等级小于等于2用户，你会给这个房间发送一条信息，某人给某人减了v(允许)。标识符$nick记录了给别人减v或者加v的人名(nick)，$vnick记录了被加v或者被减v的人名(nick)。这一点跟op和deop事件相同。

DNS 事件

当你dns用户(或者某个ip)成功，或者失败时，dns事件被触发。

格式： on 等级:DNS:命令

例子： on 1:DNS:/notice $me dns确定为: $raddress

这条remote得意思是，如果您对某个用户(或者ip)dns的话(dns命令前面讲过了)，dns的结果将会由notice命令给您发回来。标识符$raddress记录了dns的结果，如果dns失败，$raddress的返回值是$null。另外，跟dns相关的标识符还有$nick，如果您运行/dns nick，那么$nick记录的就是您dns的人名，如果没有指定名字，而是dns某个ip，那么$nick的返回值是$null；$iaddress记录你dns的ip，$naddress记录返回的name address，也就是对方计算机的名字。如果没有失败，返回值都是$null。

ERROR 事件

这个事件会由于服务器向你发出一条错误信息时被触发，比如连接失败，或者你被kline啦，哈哈。

格式： on 等级:ERROR:指定信息:命令

例子： on 1:ERROR:*server full*:/echo 这个服务器限定了人数。

这条remote在你被服务器禁止登录，并给出夹带有server full的信息时，echo给你个这个服务器限定的人数的信息。另外，您可以用标识符$1-来记录服务器给出的error信息。

如何指定信息，请看Action事件。

FILESENT和FILERCVD 事件

filesent事件在dcc send成功后被触发，filercvd事件在你成功接到别人的dcc send后被触发。

格式： on 等级:FILESENT:文件名[,文件名]>:命令

例子： on 1:FILESENT:*.txt:/msg $nick 我已经把 $filename 传给你了。

这条remote会在你成功给某人dcc send一个文件后，给他发一个小窗信息，我已经把某某文件传给你了，$nick记录了你发送文件的对象，$filename记录了你发送文件名字。

on 1:FILESENT:*.txt,*.ini:/notice $nick $filename 发送成功。

这条remote在你给某个用户成功发送了某个后缀为txt和ini的文件后，会给接收者发送一条notice信息，某某文件发送成功，$filename记录所发的文件名，

on 1:FILERCVD:*.txt,*.ini:/echo $nick 给我的文件 $filename 已经传送完毕。

这条remote会在你成功接收到某人给你传送的文件后给你一个回显，告诉你传送成功。

SENDFAIL和GETFAIL 事件

这两个事件格式和标识符都和上一个事件一样，触发条件则刚好相反，dcc传送失败，或者接收失败。

比如： on 1:SENDFAIL:*.txt:/echo 文本文件 $filename 传给 $nick 的时候失败。

这条remote在你企图传送一个文本文件(*.txt)给某个用户失败时，回显失败信息。

on 1:GETFAIL:*.zip:/echo 从 $nick 处接收zip文件 $filename 失败。

这条remote在你企图接收某个zip文件失败时，回显失败信息。

INPUT 事件

这个事件，在你键入某些字符并按下回车键以后被触发。

格式： on 等级:INPUT:<*#?@>(指定范围):命令

例子： on 1:INPUT:#mIRC:/echo 我刚刚在#mirc键入了 " $1- "

这条remote使你每次在#mirc这个房间中键入的命令都被回显一次。注意，这个命令可以指定范围。$1-标识符记录了所有你键入的字符。

INVITE 事件

这个事件在某人邀请(invite)你的时候发生。

格式： on 等级:INVITE:<#[,#](指定范围)>:命令

例子： on 1:INVITE:#mIRC:/join $chan

当你被别人邀请时，这条remote会使你自动join被邀请进入的房间。标识符$chan记录了被邀请进入的房间名。

on 2:INVITE:#:/join $chan | /timer 1 3 /describe $chan 的身影出现在一片烟雾中。

当等级为2的用户邀请你时，你自动进入，并显示三次/me 的身影出现在一片烟雾中。

JOIN和PART 事件

这两个事件在用户加入指定channel(房间)时被触发。

格式： on 等级:JOIN:#[,#](指定范围):命令

例子： on 1:JOIN:#:/msg $nick 你好，欢迎来 #chan 聊天。

这条remote的作用是，只要有用户加入，就自动send他一个小窗信息，$nick记录了加入用户的名字，#chan记录他加入的房间名。

on 5:PART:#tsinghua,#help:/msg $nick 如果您有问题，欢迎再来 #chan 。

当等级为5的用户离开房间时，会发送给他一条小窗信息。

KICK 事件

这个事件在用户被从某个房间踢出去时被触发。

格式： on 等级:KICK:#[,#](指定范围):命令

例子： on 1:KICK:#tsinghua,#help:/msg $nick 不要踢人。

当用户被踢时，你的mirc会给他一个/msg不要踢人。$nick标识符记录了踢人者的名字。

on >=5:KICK:#:/invite $knick $chan | /msg $nick 喂, $knick 是我朋友，不要踢他！

这条remote的作用是，当有人踢了等级大于等于5的用户，您的mIRC将自动邀请被踢的人重新加入房间，并向踢人者发送某某(被踢的用户)是我的朋友，不要踢他的信息。

MIDIEND和WAVEEND 事件

这两个事件在当midi和wave文件被mIRC播放完了被触发。

格式： on 等级:MIDIEND:命令

例子： on 1:MIDIEND:/splay jazzy.mid

当一个midi文件播放完后，这条remote会自动开始播放jazzy.mid文件。

on 1:WAVEEND:/echo wav文件播放完毕!

当一个wav文件播放完以后，您的mirc会自动回显wav文件播放完毕的信息。

MODE和SERVERMODE 事件

这个事件在用户改变房间的设置时被触发。

格式： on 等级:MODE:#[,#](指定范围):命令

例子： on 1:MODE:#tsinghua,#help:/notice $me $nick改变了 $chan的设置：$1-

这条remote使#tsinghua每次设置的改动你的mIRC都将发个notice告诉你，$me标识符记录你自己的nickname，$chan标识符记录发生mode事件的房间名，$1-标识符记录房间设置的改动信息。

SERVERMODE的用法和MODE一模一样，只是触发条件是server改变房间的设置。

再举个例子：

on @1:MODE:#:/notice $me $nick changed $chan mode to $1-

这个例子中，等级的前面有个@号，指定的范围是所有房间，但是加了@号后表示只有在你有帽子的房间的设置改变后，事件才会被触发。@号适用于所有remote事件，加在等级的前面。

NICK 事件

这个事件在用户改变他的名字(nick)的时候被触发。

格式：on 等级:NICK:命令

例子：on 1:NICK:/msg $newnick 你改名字啦！

当用户改名字后，你会给他发一个msg，你改名字啦，标识符$newnick记录了用户的新名字。当然，用户必须和你在同一个房间，nick事件才能被触发，别的需要有channel(房间)信息的event事件也一样。

NoSound 事件

这个事件在某个用户播放某个声音文件，而你又没有的时候被触发。

格式：on 等级:NOSOUND:命令

例子：on 1:NOSOUND:/msg $nick ! $+ $nick $filename

如果不记得打!nick 文件名就可以向别人发出传送你文件的请求的话，请看看前面对options菜单中sounds选项卡的描叙(当然，对方必须复选了listen for !nick file get request选项)。这里之所以要用到$+就是因为!和nick之间不能有空格。另外，$nick记录了播放声音的用户的名字，$filename记录了所播放声音文件的文件名。

NOTIFY和UNOTIFY 事件

notify事件会因为您notify list中的用户连接上服务器而触发，unotify会因为notify list中的用户退出服务器而触发。

格式： on 等级:NOTIFY:命令

例子： on 1:NOTIFY:/notice $nick 嘿，想和我chat吗？我在这儿呢！

当notify list中的用户连接上服务器时，您的mIRC就会自动发给他一个notice信息：嘿，想和我chat吗?我在这儿呢！ ，$nick记录了notify list中连接上当前服务器的人名，如果您不记得notify了请看看前面对notify list的描叙。

UNOTIFY事件的格式和notify一样，只是触发条件完全相反。

on 1:UNOTIFY:/notice $me $nick 已经走了

当notify list中的用户离开服务器时，您的mIRC会给出一个notice信息。

QUIT 事件

这个事件会由于某个用户退出服务器而触发。

格式： on 等级:QUIT:命令

例子： on 5:QUIT:/notice $me $nick 走了，$1-

当等级为5的用户离开irc时，mIRC会给您发送一个notice，$nick记录离开的人名，$1-记录他离开时的信息。

SNOTICE 事件

这个事件会在服务器发以个指定信息有被触发。

如果你希望接收到服务器传出的信息，请给自己加s(/mode您的名字 +s)，这个前面讲过了。

格式： on 等级:SNOTICE:指定信息:命令

例子： on 1:SNOTICE:*irc operater*:/notice $me 注意，有个oper上来了。

当服务器传给你一个夹带有irc operater的信息时，mIRC会提醒你，注意：有个oper上来了。

TOPIC 事件

这个事件在用户改变某个房间的topic的时候被触发。

格式：on 等级:TOPIC:#[,#](指定范围):命令

例子：on >4:TOPIC:#help,#tsinghua:/msg $chan 嘿，$nick 不要改变这个房间的topic！

当等级小于4的用户改变#tsinghua或者#help的topic的时候，您的mIRC会向被改变topic的房间发送msg信息，$nick记录了改变topic的人名，$chan记录事件发生的房间。另外，您可以用$1-标识符记录新的topic。

USERMODE 事件

这个事件在当你改变你自己的用户mode时候被触发。

不同服务器软件，使用不用的用户mode，常见的有s，i等等。

格式： on 等级:USERMODE:命令

例子： on 1:USERMODE:/echo 用户 $nick 的mode $1-

$nick记录了改变用户mode的人名，在这儿也就是你，$1-记录了mode改变的信息。

NEXT 继续 访问中国教育热线及其在线IRC聊天室


IRC入门教程七

阅读次数：711
2000-09-08 11:34:01
至此，event事件已经全部写完。

六：mIRC标识符

reomte专用标识符。

$clevel 返回被事件被触发的规定等级。

$dlevel 返回当前默认的用户等级。

$address以id@ip的形式返回用户的地址。

$fulladdress 以完整的形式返回用户信息，nick!id@ip

时间和日期标识符：

如果你想当场试试这些标识符，就打//say $date，记住是两个/

$date 返回当前日期

$day 返回几月，星期几

$duration(N) 给出一个数字，返回几天，几小时，几秒。

$fulldate 返回完整的日期。

$idle 返回发呆时间。

$ltimer返回当前正在运行的/timer的个数。

$ticks 返回的你操作系统从运行到现在有多长时间。

$time 返回当前日期。

$timer(N) 给出一个timer，返回是这个timer运行了几次。

$timestamp 返回的时间用括号括起来。

运算标识符

$abs(N) 返回给出n值的绝对值。

$asc(C) 返回给出asc码的代号。

$calc(operations) 一个不错的计算器，可以用来做计算用，比如：

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

$chr(N) 给出数值，返回对应的asc玛。

$cos(N), $acos(N) 返回cos ,sin值。

$int(N) 给出一个小数，返回其整数部分。

$left(text,N) 返回给出的字符从左边数起N个字符的值。

比如：$left(goodbye,4) 返回good

$len(text) 返回给出字符串的长度。

不写啦，不写啦，我去写个专门的标识符，做为附本吧。ok100拿刀子比着我交货。

外篇：IRC上的攻击行为

不能否认IRC服务器上人行为不端，喜欢攻击用户，现对几种常用的攻击和防备方法做个介绍。有很多攻击工具，我不准备一一介绍，我只讲一下原理。

Flood 不停的ctcp用户，用户的irc客户软件不停的回答，最后导致用户flood出去。

有专门的flood程序和script，但是原理都很是这样。如果你想试试，可以这样：

多运行几次mIRC，用几个mirc同时ctcp对方，免得你自己被flood，用timer命令来快速的ctcp， 打 /timer1 -m 0 1 /ctcp 对方的名字 ping(或者verion,time..等等)，几个mirc同时开始ctcp，如果对方没有准备，很可能flood出去。

当然，防备也很简单，/ignore -c *!*@* ，把所有人的ctcp统统ignore掉就完事了，哈哈。

控制码flood 用一些控制码通过dcc方式传给用户，所谓控制码，就是这些asc字符：▲★【■■ ，这些asc码发过去以后，如果对方刷新屏幕的速度不够快，会造成计算机速度变的奇慢，把这些 控制符多copy一些，一次性统统copy到对方的dcc窗口去，

如果对方是个破机器，他就完蛋啦，哈哈。防备方法就是不要随便接别人的dcc，如果不小心接了，发现对方flood，赶快关闭，或者打/clear。

nuke：有很多nuke工具，比较好的一个是Wnewk-x，nuke别人的时候如果自己的线路或者modem不稳定，自己也容易断，防备方法嘛，最简单，最有用的办法装个firewall，然后把irc给block啦，嘿嘿嘿嘿(奸笑)


IRC命令大全(英文)

阅读次数：1601
2000-09-08 13:57:09

Commands available in mIRC.
More Info
A new feature in mIRC allows you to minimize mIRC and lock it with a password for strange eyes. If you control-minimize mIRC (keep the Ctrl-key pressed down while minimizing mIRC), it will be locked with your password. If no password was set previously mIRC will ask you for one. Later when you want to maximize mIRC you need your password to activate it. An extention of this feature in the /File/Options/General/Lock/ menu can be used to lock mIRC or certain channels for your children!
Previous Tips (Become a mIRC Wizzard).

Shift+Mouse on Switchbar Did you know that you can 'fast-close' a window in mIRC by clicking its button on the Switchbar while holding the SHIFT key pressed down??

/uwho Ever wondered who you're actually speaking with? The /whois {nick} command shows you a lot of cryptic info in the Status window but the /uwho {nick} command will open a clear and informative User Central. Give it a try! You can also store address info of your friends in the User Central for future reference.

ALT + Minus Press the key combination ALT and 'minus' simultaneous to access the windows' System Menu's (found under that little horizontal bar in every top left corner of ANY window in mIRC and windows). Here you can set the fonts you like, the logging options, save the buffer and set various other things for private and channel conversations.

/clear Use the /clear command to flush away all old text you dont want to read again. /clearall clears all text in all windows!

Doskey Remember that old doskey feature under DOS? mIRC has it too :-) Use the arrow up/down keys, eventually combined with SHIFT, to recall old commands and text lines.

/channel The /channel command will open the Channel Central that displays all modes and bans set on your current channel.

/pdcc Use the undocumented /pdcc {bytes} command to speed up your DCC sessions! It will pump your data packages away to the reciever, ahead of the confirmation of arrival. Try it, it works :-) Something like /pdcc 20000 will do fine.

Quick reference to mIRC's commands:

If you need more info on any command listed here, type /help {command} in mIRC. The list here is far from complete!
/ Recalls the previous line entered in the current window.
/! Recalls the last command typed in any window.
/action {action text} Sends the specifed action to the active channel or query window.
/add [-apuce] {filename.ini} Loads aliases, popups, users, commands, and events.
/ame {action text} Sends the specifed action to all channels which you are currently on.
/amsg {text} Sends the specifed message to all channels which you are currently on.
/auser {level} {nick|address} Adds a user with the specified access level to the remote users list.
/auto [on|off|nickname|address] Toggles auto-opping of a nick or address or sets it on or off totally.
/away {away message} Sets you away leave a message explaining that you are not currently paying attention to IRC.
/away Sets you being back.
/ban [#channel] {nickname} [type] Bans the specified nick from the curent or given channel.
/beep {number} {delay} Locally beeps 'number' times with 'delay' inbetween the beeps. /channel Pops up the channel central window (only works in a channel).
/clear Clears the entire scrollback buffer of the current window.
/clearall Clears all text in all open windows.
/ctcp {nickname} {ping|finger|version|time|userinfo|clientinfo} Does the given ctcp request on nickname.
/closemsg {nickname} Closes the query window you have open to the specified nick.
/commands [on|off] Sets the Tools/Remote/Commands setion on or off or checks its status.
/creq [ask | auto | ignore] Sets your DCC 'On Chat request' settings in DCC/Options.
/dcc send {nickname} {file1} {file2} {file3} ... {fileN} Sends the specified files to nick.
/dcc chat {nickname} Opens a dcc window and sends a dcc chat request to nickname.
/dde [-r] {service} {topic} {item} [data] Allows DDE control between mIRC and other applications.
/ddeserver [[on [service name] | off] To turn on the DDE server mode, eventually with a givem service name.
/describe {#channel} {action text} Sends the specifed action to the specified channel window.
/disable {#groupname} De-activates a group of commands or events.
/disconnect Forces a hard and immediate disconnect from your IRC server. Use it with care.
/dlevel {level} Changes the default user level in the remote section.
/dns {nickname | IP address | IP name} Uses your providers DNS to resolve an IP address.
/echo [nickname|#channel|status] {text} Displays the given text only to YOU on the given place in color N.
/enable {#groupname} Activates a group of commands or events.
/events [on|off] Shows the remote events status or sets it to listening or not.
/exit Forces mIRC to closedown and exit.
/finger Does a finger on a users address.
/flood [{numberoflines} {seconds} {pausetime}] Sets a crude flood control method.
/flush [levels] Clears all nicknames from the Remote/users list that are currently not on your channels.
/font Activates the font selection dialog.
/fsend [on|off] Shows fsends status and allows you to turn dcc fast send on or off.
/fserve {nickname} {maxgets} {homedirectory} [welcome text file] Opens a fileserver.
/groups [-e|d] Shows all (enabled or disabled) groups defined in the remote sections.
/guser {level} {nick} [type] Adds the user to the user list with the specified level and address type.
/help {keyword} Brings up the Basic IRC Commands section in the mIRC help file.
/ignore [on|off|nickname|address] Toggles ignoring of a nick or address or sets it on or off totally.
/invite {nickname} {#channel} Invites another user to a channel.
/join {#channel} Makes you join the specified channel.
/kick {#channel} {nickname} Kicks nickname off a given channel.
/list [#string] [-min #] [-max #] Lists all currently available channels, evt. filtering for parameters.
/load {-apuce} {filename.ini} Loads Aliases, Popups or Remote items into mIRC.
/log [on|off] Shows the logging status or sets it on or off for the current window.
/me {action text} Sends the specifed action to the active channel or query window.
/mode {#channel|nickname} [[+|-]modechars [parameters]] Sets channel or user modes.
/msg {nickname} {message} Send a private message to this user without opening a query window.
/names {#channel} Shows the nicks of all people on the given channel.
/nick {new nickname} Changes your nickname to whatever you like.
/notice {nick} {message} Send the specified notice message to the nick.
/notify [on|off|nickname] Toggles notifying you of a nick on IRC or sets it on or off totally.
/onotice [#channel] {message} Send the specified notice message to all channel ops.
/omsg [#channel] {message} Send the specified message to all ops on a channel.
/part {#channel} Makes you leave the specified channel.
/partall Makes you leave all channels you are on.
/ping {server address} Pings the given server. NOT a nickname.
/play [-cpqmrlt] [channel/nick] {filename} [delay/linenumber] Allows you to play text files.
/pop {delay} [#channel] {nickname} Performs a randomly delayed +o on a not already opped nick.
/protect [on|off|nickname|address] Toggles protection of a nick or address or sets it on or off totally.
/query {nickname} {message} Open a query window to this user and send them the private message.
/quit [reason] Disconnect you from IRC with the optional byebye message.
/raw {raw command} Sends any raw command you supply directly to the server. Use it with care !
/remote [on|off] Shows the remote commands status or sets it to listening or not.
/rlevel {access level} Removes all users from the remote users list with the specified access level.
/run {c:\path\program.exe} [parameters] Runs the specified program, evt. with parameters.
/ruser {nick[!]|address} [type] Removes the user from the remote users list.
/save [-apuce] {filename.ini} Saves remote sections into a specified INI file.
/say {text} Says whatever you want to the active window.
/server [server address [port] [password]] Reconnects to the previous server or a newly specified one.
/sound [nickname|#channel] {filename.wav} {action text} Sends an action and a fitting sound request.
/speak {text} Uses the external text to speech program Monologue to speak up the text.
/sreq [ask | auto | ignore] Sets your DCC 'On Send request' settings in DCC/Options.
/time Tells you the time on the server you use.
/timer[N] {repetitions} {interval in seconds} {command} [| {more commands}] Activates a timer.
/timestamp [on | off] Sets timestamping on or off for all your conversations.
/topic {#channel} {newtopic} Changes the topic for the specified channel.
/ulist {level} Lists all users in the remote list with the specified access levels.
/url [-d] Opens the URL windows that allows you to surf the www parallel to IRC.
/uwho [nick] Pops up the user central with information about the specified user.
/wavplay {c:\path\sound.wav} Locally plays the specified wave file.
/who {#channel} Shows the nicks of all people on the given channel.
/who {*address.string*} Shows all people on IRC with a matching address.
/whois {nickname} Shows information about someone in the status window.
/whowas {nickname} Shows information about someone who -just- left IRC.
/write [-cidl] {filename} [text] To write the specified text to a .txt file.


IRC Oper指南（E文）

阅读次数：1357
2000-09-08 13:53:29
IRC Operators Guide
by Aaron Brinton aka aaronb v1 8/97
HTML translation by Joseph Lo aka Jolo 9/97

Ed. note: This guide offers a fascinating glimpse into the "Twilight Zone" world of IRC operators, also known as IRC ops or opers. This has very little to do with channel ops or the maintenance of a chat channel. The guide is written by an oper ostensibly for other opers, but its real audience is the average user. For other help files regarding IRC ops or running servers, see the IRCd server directory. -Jolo

--------------------------------------------------------------------------------
The objective of this document is to provide some basic operator notes from my perspective. I've found that asking opers questions usually results in nothing more than smart-ass answers, which I think is a little sad. I'm a relatively new operator (under two years), so please understand that I'm not an ordained expert on this material, and that some of the information may only apply to my network (EFnet). If you find errors in here, either typographical or conceptual, please let me know.
Note: There will be personal views in here, but I'll try to keep them to a minimum.

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

Contents
I. Interacting with Users and Other Operators
II. Using KILL and KLINE
III. Bots and Bothunting
IV. Cloners, Flooders, and Spoofing
V. Why Operators (Usually) Don't Get Involved In Channel Affairs
VI. Dealing with "How Does One Become an IRC Operator?"
VII. IRCD and Associated Files
VIII. Server Information Commands (TRACE, STATS, LINKS, and HTM)
IX. Server Routing and Connectivity
X. Other Server Commands (REHASH, RESTART, and DIE)
XI. Operator Communications (WALLOPS and OPERWALL)
XII. Linking New Servers
XIII. Attitude and Perspective

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

I. Interacting With Users and Other Operators
This is the most important aspect of "opering". It will make or break you as an operator. There are a lot of politics that go on in the irc operator community and, whether you like it or not, these politics are here to stay. Fighting this and complaining about it will get you nowhere.
From what I've seen, most opers look down on users, make fun of them, and ignore them. Try to avoid this ego trip side of opering. Answer private messages, unless it is someone just sending you a hate message. Opers would get a lot less crap from users if they would be a little less egotistical. Something I might suggest is that you spend an hour or two every couple of weeks helping the newbies out in #irchelp or whatever equivalent you may find.

One thing to be wary of is that users will frequently try to manipulate you into helping them takeover channels. Very rarely will a user simply report a bot without a reason. Generally this will be because a bot tookover a channel or a user is flooding them. Fairly regularly you'll get these requests from users who want someone killed off the server so they can take control of a channel. Because of this, request the channel in addition to the nickname so you can see what's going on before you kill or K-line.

Frequently, you will get requests from other operators to kill or K-line a user. Opers should be trusted unless you've had problems with someone in the past. You should always require a reason before killing or placing the K-line. If it's in the least bit questionable, add "requested by <oper>" or something similar to the K-line reason.

If you are being harassed by a user on the network, handle it like a user should handle it, not like an oper has the capability of handling it. The temptation of killing a user for flooding you is something that pretty much all of us give into on occasion, but it's generally not the right response. If we are going to expect regular users to simply /ignore flooders, then we should do the same. Though I have to admit, a user must be pretty stupid to flood an oper...

On occasion, opers have their disagreements. There is a bit of a pecking order that exists in the oper ranks, usually with hub admins and opers being more "powerful" than leaf admins and opers. It's generally not a good idea to try to win an argument with the people who are providing your connectivity to the IRC network. For that matter, it's generally not a good idea to try to win any argument at all. If you do have a serious problem with another oper, and can't resolve it directly with him/her, go to your admin about it. Your admin can then approach the issue with the other oper's admin, and if that goes nowhere, with their uplink admin. This is a quick way to make enemies, so make sure it's important to you before doing it.

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

II. Using KILL and KLINE
The KILL and KLINE commands are as follows:

KILL nick :reason
KLINE nick :reason
KLINE username@hostmask :reason

In my K-lines, I always use "reason [aaronb MM/DD/YY]" so that the user knows when and by whom they were K-lined, and also so that I am accountable for my K-lines.
Generally, whatever you do on your local server really is not a big deal. Different servers have different policies on using KILL and KLINE, but if you are doing global kills (killing a user on a different server), you need to make sure you understand what the IRC network's guidelines are.

Users tend to have one of two reactions to kills. Occasionally you'll get the user to cool off and realize that they need to fix whatever they are doing. More often, they will want to argue the point with you. Try to explain it to them, but if they don't seem to be willing to follow the server guidelines, just K-line them. After they get K-lined from a few servers, they'll figure it out.

You probably want to avoid K-lining users unless it's really necessary. A K-line means that you don't want that user on your server, for whatever reason. Depending on the server, K-lines may be cleared after a week or two, a few months, or maybe never. It might be wise to have a "permanent" section of K-lines, and then the rest can stay or go at anyone else's discretion. For clearing K-lines, generally it's a good idea to talk to the person who placed it before doing so. With access to ircd.conf (to remove K-lines), you can be a lot less cautious about placing them.

The best guideline for doing global kills is to ask yourself "Is this really necessary?" You can usually find an oper on the server the user is on to handle an issue for you instead. If an oper on the server won't do it, then probably they wouldn't like you killing the user off their server either.

Frequently it seems that opers are just looking for a reason to kill. Probably if you are in that mood, it would be a good time to deoper and go find something else to do for a while. Killing like that looks bad for both you and for your server.

It's a wise idea to keep logs of everything you do. I have yet to see a client that doesn't have the capability of logging. If a user or another oper challenges your kill (usually to your admin, since they typically don't have the guts to talk to you), you can provide them. You will most likely be accused of abusing your O-line, and threatened by users to get it taken away, on a regular basis. Logs are your best defense.

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

III. Bots and Bothunting
A "bot" generally refers to any automated program or client that doesn't have a person sitting behind it, not just a program that is called one. If a client is idle for several hours and is behaving like a bot, it's usually considered one.
There are a couple of reasons why bots are frequently considered to a problem. First, they take up resources on IRC that could be used for regular client connections. The primary reason, though, is because bots are frequently used to flood and harass users. You'll want to check what your server's policies are regarding bots, but an abusive bot should never be tolerated.

Finding bots generally isn't that difficult. Many have ctcp responses that don't match what you would expect, or have bogus idle times (in their ctcp finger response). Also, there are a couple of good portscanners that can help you check hosts for bots (eggdrop bots usually listen on a port for incoming telnet connections).

You probably aren't going to find all the bots being run by hardcore botrunners. They generally find out quickly about whatever new bothunting methods we come up with and spread the word. With these, your best bet is to wait until someone complains about it, and then monitor its behavior.

Here is a short description of a few of the bots out there, and a couple of tips for finding them:

eggdrop - this is the most common bot that you'll run into. Typically you'll see "/msg botnick hello" in the gecos field (the description line in the whois information) if the bot is poorly configured. Additionally, by default, these bots PRIVMSG #lamest for invite/ops. They also join #botcentral by default.
johbot - these bots PRIVMSG blahb1ah on a regular basis. If you change your nickname to that, you can sit and wait for them to find you. Additionally, if you enter the channel a suspected johbot is in, and do a fake netsplit quit (/quit irc.blah.com irc.something.net), the johbot will automatically change its nickname.
combot - these are a comstud creation. I have never found one myself, which either means there aren't many around, or they just hide really well. I've heard that doing a /ctcp botnick source will generate a reply with "Combot" followed by the version.
There are other methods of finding bots, but they change far too regularly for this document. Also, we don't need to be giving the masses out there all of our secrets. Keep in touch with other opers on this stuff.

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

IV. Cloners, Flooders, and Spoofing
Clones are multiple clients from the same person. Most servers define this as multiple connections from the same hostmask (matching user@*host.tld). If it's obvious someone is running multiple clients from different domains, they are also considered clones.
Generally, cloning itself is not all that bad (just taking up connections). Frequently when you see clones, however, they are being used to flood users or takeover channels.

The best approach to take with clones is to kill them, and see if they return. If you do this a couple of times, and the user insists on keeping them on, it's time for a K-line. Unless a user is consistently a problem, clone K-lines should be relatively temporary (a few weeks is sufficient).

You'll see two forms of flooding on IRC. The first is CTCP flooding, which attempts to get a user to flood the server with CTCP responses, tripping the server's flood protection, and terminating the user with the message "Excess Flood". Many bot networks ("fludnets") use this type of flood. Flood protection scripts may prevent this from being very effective, but the real problem is the impact on the network. If 20 bots flood a user for 10 seconds, sending five 100 byte CTCP requests per second, that is 20 * 100 * 5 = 10k/sec, or 100k of data total over the 10 seconds. When a network that is maintaining 30000 users, this sort of activity is not at all acceptable.

The second type of flooding, which is not related to IRC (but is frequently the result of conflicts on IRC), is ICMP flooding. This is usually done from a reasonably fast link (ISDN or higher) and consists of flooding a user or server with ICMP packets (such as ping). This is considered a "Denial Of Service" attack, and is against the law.

There are many flooding scripts out there right now, and a couple of these have supposedly "random" nicknames they use for CTCP flooding. A trick to use is to set a couple of those nicks in your notify. Some flooding scripts also have the clones join specific channels (e.g. #srfloodclones).

DNS spoofing is a relatively new hit these days on IRC. You'll generally find spoofs one of two ways - you're watching the connections (usermode +c) and an unusual hostmask appears, or a user reports one. The first thing to do is to get the user's IP address (/stats L nick), and check to see if the DNS lookup matches the IP address. If it doesn't, you know you have a spoof. With this information, you can KILL the spoof, and when it reconnects, see where the real host is and issue a K-line (which won't stop them from spoofing again, but will prevent them from signing on *without* spoofing). Some servers have the capability of D-lines, which allow you to ban by ip mask. A D-line will prevent the client from connecting at all, regardless of whether they try DNS spoofing or not. If the server supports the DLINE command, you can do /dline ipmask :reason.

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

V. Why Operators (Usually) Don't Get Involved In Channel Affairs
The primary function of opers is to maintain the servers and the network, not to deal with channels. The main reason the general policy is for opers not to get involved is because it is frequently difficult to determine who really should be controlling a channel. There are a lot of deceitful users out there that will ask you to help them get their channel back when it is not their channel in the first place. Even if you do know who the regular ops are, oper involvement is questioned and challenged, so many opers will ignore channel issues entirely just to save the grief.
In practice, you'll find opers defend their own channels, and turn their backs on others. It's a little pathetic, but after you get harassed enough by users saying "why are you getting involved? I thought opers weren't supposed to get involved in channel affairs" you'll start to understand the cynicism.

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

VI. Dealing with "How Does One Become an IRC Operator?"
Most users have no comprehension of what opering involves, and really have no place becoming one. This does not mean, however, that they deserve an abusive answer or to be blown off when asking how to become an operator. It's easy to set up a simple alias to provide an automated response to this question.
For example, use an alias like "Becoming an IRC Operator requires not only a strong working knowledge of IRC and this IRC network, but also a working relationship with hub admins and other opers. Opers are selected when there is a need, and never given based on who is asking for it."

The thing to remember is that there are always going to be more people that want to be an operator than there are openings. If you really want to help the network, the best way to do it is by answering new user questions on channels like #irchelp and #help.

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

VII. IRCD and Associated Files
IRCD is the server daemon process. The large IRC networks will only allow unix-based servers, because they are the only ones proven to perform adequately on a large network (and because the current set of operators are mostly unix bigots... including myself to some degree). EFnet uses modifications of the 2.8.2 version; IRCnet uses modification of the 2.9.x versions.
The installed file structure varies from server to server, but you should have at least these two primary files:

ircd the IRC server daemon (main program)
ircd.conf the server configuration file

The configuration file has various configuration items in it, which are in a format beginning with a letter and a colon. This file is read and processed backwards, so when you do STATS commands (described later), you'll see the information in the reverse order of the entries in ircd.conf. This file has the following configuration lines in it:

A:Company/Institute Name:Server Description:Admin Name <email@address.com>

This configures the administrative functionality of the server, which is returned when a user does /admin on your server. The fields are completely up to the administrator of the server, but what I put above seems fairly standard. This is a mandatory field.

B:hostmask::nick::

This line indicates a permitted bot. The server has built-in bot checking for certain known instances of bots, and will refuse the connection if it detects one. If the bot has this line in the config file, the server will not refuse the connection.

C:server hostname:password:server name:port:connection class
N:server hostname:password:server name:hostmask:connection class

C/N-lines are connections to other servers. The C-line defines what servers your server can connect to, and the N-line defines what servers your server allows incoming connections from. I have never seen one without the other, and according to the sample ircd.conf, they must be used in pairs. The server hostname, password, and servername are fairly self explanatory. The port is used to identify which port your server will try to connect to automatically; if the port field is blank, your server will not automatically attempt to connect to that server. I have never seen the hostmask used (nor do I really understand what it does). The connection class is numeric, and defined in the Y-lines.

D:ipmask:reason:

This line is used to ban a block of IP addresses. If a system administrator has control over several domains, he/she may attempt to avoid bans by changing the reverse DNS lookup on the host (a perfect example of this is smartec.com, who has several domains and several machines all on one Class C). With a D:line, you can ban 205.230.73.* (smartec) and nobody from that address space can connect, regardless of DNS lookup.

E:hostmask::username

The E-line protects certain users from server bans (K-lines). Generally operators use them to protect themselves from accidental K-lines, but in some cases, a server run by an ISP will also use them to protect their customers.

H:remote servers permitted::hub server

This defines a hub server, which is a server that may have other servers connected behind it. The "remote servers permitted" is usually "*" or may have a hostmask to limit the remote connected servers to within that mask.

I:address mask:password:domain mask::connection class

I-lines define what clients are allowed to connect to your server. Additionally, they define what connection class (defined by Y-lines) the client is placed in. The password is usually left blank.

K:hostmask:time:username

Most people already know what a K-line is, but for the record, it's simply a ban from the server. I have never seen a K:line with a time field, but it allows you to define what times a client is allowed on the server. Generally, K-lines are added with the KLINE command on the server, and the reason is stored as a comment in the config file.

L:restricted servers::connected server:depth

This is used to identify leaf depth behind a server. The restricted servers field is a hostmask for what servers to not allow behind the connected server (usually this is blank). The depth is what depth of servers may be connected behind it.

M:hostname:*:server description:default port

This line sets the basic information for your server. The fields are pretty self-explanatory. This is a mandatory field.

N: <see C:>
O:ident@hostname:password:nickname:connection class
o:ident@hostname:password:nickname:connection class

These lines define the operators on the server. The lower case o-line identifies a local operator, who can do local server KILLs and KLINE, as well as SQUIT and CONNECT their server from/to an uplink server. The upper case O-line is a global operator, who can additionally do global KILLs (killing users off other servers) and SQUIT and CONNECT any server on the network. The connection class is as specified in the Y-lines.

P:hostmask:::port

These are the ports that your server listens for connections on (in addition to the default port set in the M-line). The hostmask is an optional field that allows you to specify which users may connect to that port.

Q::reason:server

The Q-line specifies a server that will not be allowed to link to the network at all (all servers must have identical Q-lines according to the sample config file). I have never seen this used.

R:hostmask:program path:username

Allows you to process access control through an external program (provided by the server admin). Whenever a client connects, the server calls this external program with the user information. The program then responds based on whether or not the user should be granted access to the server. I've never seen this used either, and is probably impractical for any server with a large client base.

Y:class id:ping frequency:connect frequency:max connections:max sendq

The Y-line defines a connection class. The class id is a number that identifies the class, and is used in I-lines and C/N-lines to identify which Y-line to use. The ping frequency is the time (in seconds) between ping requests (to verify that the connection is still alive). Connect frequency is the time between automatic connection attempts for server connections (should be zero for client connection classes). Max connections is self explanatory. The "sendq" is the amount of data (in bytes) that is allowed to be pending going out to a connection in that class before the server will close it (with a message such as "Sendq exceeded").
On the 2.9.x versions of ircd, the connect frequency is replaced with an identifier to handle cloning. If it is a positive number, it identifies how many clients can connect from the same hostmask. If negative, it identifies how many clients can connect from the same username@hostmask.

I would recommend reading the example.conf file in the ircd distribution. It has samples of most of these, as well as descriptions that are probably better than mine.

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

VIII. Server Information Commands (TRACE, STATS, LINKS, and HTM)
There are a few commands that you can use to get information from a server to help with opering:

TRACE [server|nick]

The TRACE command is used to trace the path from your current server to the specified server or user.
When the destination is a server, TRACE will also return information about current server and operator connections, incoming connections (with negative class numbers), and the number of users in each class. The oper connections contain the connection class, the nickname, and user@hostmask for the oper. For server connections, it shows the connection class, the number of servers behind it (followed by "S"), the number of clients on and behind it (followed by "C"), the server name, and what was responsible for connecting it.

When the destination is a user, TRACE shows the connection class, nickname and user@hostmask for that user.

STATS [letter]

The STATS command returns server information. These tend to vary by server version, and are sometimes case sensitive. Here are a few that I know or use regularly:

? Server connection statistics
b B-lines
c C/N-lines
d D-lines
e E-lines
h H/L-lines
i I-lines
k K-lines
l Data transfer statistics by connection
The numeric fields are as follows:
sendQ (outgoing message queue)
sendM (protocol messages sent)
sendK (total kilobytes sent)
receiveM (protocol messages received)
receiveK (total kilobytes received)
time in seconds since the connection was created
L Same as STATS l, except shows IP address instead of host
m Command statistics
o O/o-lines
p Current opers online
t General server statistics
u Server uptime
v Server link information
y Y-lines
z More server statistics

If you are not currently an oper, I don't recommend going through and testing these all at once. Multiple STATS requests are usually viewed as a threat to the server (some people have been known to flood a server with STATS requests to fill up the server's sendq and cause network splits).

LINKS [server mask]

This shows the structure of the irc network, and is a bit useless if you don't have a script or client that formats it for you. Each line contains the server name, its uplink name, the number of hops from your server to the server, and the server description.

HTM

The HTM command is used to view and set the high-transfer mode threshold. Additionally, it shows the incoming data rate, which is useful when monitori


IRC强化训练

阅读次数：1582
2000-09-08 13:50:04
IRC训练学堂

欢迎你光临IRC学堂。在这里我们将将你训练成为一名合格的聊天客。包括各层次的操作命令和技巧。本学堂采用ChinaChat 2.2.1-VW-CR（聊天室的服务器软件）为基础进行教学。

IRC是“Internet Relay Chat”的缩写。IRC 是网络上的即时交谈工具。是目前风靡全球的聊天办法。相比于bbs来说，它有着更直观，友好的界面，在这里你可以畅所欲言、而且可以表现动作化，是故使众多的网虫们留连忘返。

irc工具中比较好用的是mirc,现在已有了mirc 5.7版本了。你可以到有关的网站下载。mirc总部的网址为：http://www.mirc.com 例如首先你需要配置irc,引导后打开file里的setup项，然后选irc server栏目的add钮descrption填入"263"，在irc server填入： gz.chat.263.net，在port 里填写入6667或7000其他的地方可以缺省。按ok后你还需要设置个人资料。full name 填你的名字，不一定要真的。email addrss里填入email格式就行了，例如：chinafire@my.net。在nickname栏里你可不能马虎，帮自已起个好名，呵呵，netbaby如何？但是也许你叫的名会给人注册的，你得试试，如果名字已有使用者，那你就必须改另一个名。altnative是让你填后备名的。按Connect to IRC server就可以接通irc服务器了。

当然,你可以在本站的聊天软件中下载一个强大的聊天软件Firebot,这样上面的麻烦事都可以免了,因为所有的东西老火均为你设置完毕. 包括下面的命令,在Firebot的相关菜单中都可以找到.

IRC分为多种级别。本网站按目前263存在的等级进行介绍。

基本词汇释义 USER VOP UOP AOP SOP FOUNDER IRCOP

ADMIN 个人模式 房间模式 IRC魔鬼词典 安全警告

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

基本词汇释义 下面介绍几个IRC名词：

NICKNAME (或nick) 昵称。在命令中可以表示你本人或者其他聊天客。

#CHANNEL (或#chan) 频道、聊天室房间名字。房间名字前面一定要加 # 符号。

公共频道 是263 irc的服务器机器人。他的最基本职责是呆在房间内并使房间继续生效。在cr1.3以后的irc服务器里面，只有注册了的房间才会有守房间的机器人。

机器豹 是放在房间内,代理老火的网管职责的机器人。它采用的是firebot3.0的管理脚本,自身编号为robotcat2代,公共编号为firebot2.6.

帽子 就是管理权限标志@的俗称.取之于乌纱帽.这个@标志出现在名字的前面时,该人士即具有踢人和封人的权力,当然,@可以是临时或者固定的

IP 就是你在互联网上的地址.在这里需要强调的是,这个地址应是保密的,如果一些不法用户知道你的真实IP,就会对你不利.

<注意> 一般来说，任何高一级的操作员都具有比其低一级的权限，但又不全是。

下面的顺序是按低往高讲述的。

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

USER user是普通聊天客，没有管理的权限。但是你有一些基本的命令需要掌握。

注意:下面所示的命令必须在命令行输入 / 符号。以/为行首是IRC输入命令的格式要求!

/mode yourname +x 隐藏你的真实ip地址(进入channel前使用或者加进你的options>perform中。这样你就具有避开IP攻击的初级能力了。

例如: /mode chinafire +x,我的名字就处于保护隐藏ip状态。

/ns register 密码 Email 登录你的名。只有登录后你才拥有名字的专用权。那么你的朋友才能准确地找到你。

例如：/ns register 密码 szboy@163.net 这个email是一个关键，如果你忘了密码，如果管理员不能确定你是合法使用者时，会把密码发到注册的那个信箱里面。

/pass 密码 输入密码通过系统检查。如果是注册名字不在60秒内输入密码，系统会将强逼使用者换名。

例如。 /pass b-o,y.98 不要用简单的密码，密码最好含有字母、标点符号和数字。记得不要贪图方便用你的名字做密码。

/nick newname 改名

例如： /nick snowman 就换名成 snowman了。

/ns set kill on 要求系统检查个人密码，并将冒名者杀掉。这是一个设置项。

在任何窗口输入这个命令，但事先你要先有/pass 密码，这样你的名字处于： This user has enabled nick kill enforce.

/ns ghost nick pass 杀掉你本人进程中断而停留服务器的名字或别人侵犯你的名字专用权时使用。

例如: /ns ghost hijack rfrfrjk3>

/list 列出所有的房间列表

/channel 这个命令需要在房间的大厅执行,它将打开一个房间的对话框,里面有标题设置栏,办(ban)列表,和房间模式.

/join 加入房间.

/part 退出房间.

/part 退出语 附加退出语并退出房间.

/quit 掉线离开服务器.

/quit 退出语 附加退出语并掉线离开服务器.

/query nickname 开其他人小窗，也可以双击对方名字。

/query kkkkk 这样就开了kkkkk的小窗,你也可以这样: /query kkkkk 你好吗？ 这样一开小窗就说了"你好吗"这句话了。

/Ignore nickname 把你讨厌的人忽略了。这样他说的话你一句都听不到。

例如 /ignore szonline 他说的话你就一句都听不到了，省心。

/topic #channel newtopic 更改聊天室房间的主题。

例如: /topic #chinese 大家开心说话啦 #chinese房间的标题就改成了:大家开心说话啦

/whois nickname 查看对象的一些资料

例如/whois bobby163 就可以查kkkkk的资料了。这个资料有时显示在status窗口，也可能是显示在当前窗口，这就要看你的设置了。

whois后你可以看到下面信息：

bobby163 is ircop@62.244.55.19451 * 网痞
bobby163 is a registered nick
bobby163 on @#snow +#家居装饰 @#校园民谣 @#同桌的你
bobby163 using gz.chat.263.net 聊天网络--广东广州服务器
bobby163 has been idle 6mins 16secs, signed on Sat May 06 19:51:39
bobby163 结束 /WHOIS 命令.

下面是详细解释上面whois 信息的(蓝色部分）

bobby163 is ircop@62.244.55.19451 * 网痞

( bobby163是他的名字，ircop是他的ID，也称识别码，这个是随意的，在你进入房间时人家就会看到的。

62.244.55.19451是他已经过处理的IP,最后的一位IP19451是一个虚拟的IP地址,在现实上是不存在的。网痞则是备注，也是随意的，自己可以

设置成你喜欢的。)

bobby163 on @#snow +#家居装饰 @#校园民谣 @#同桌的你

（这显示了当前他在那几个房间,上面#后面的均是房间名字）

bobby163 using gz.chat.263.net 聊天网络--广东广州服务器

（这显示了当前他在使用那一个服务器）

bobby163 has been idle 6mins 16secs, signed on Sat May 06 19:51:39

（这显示了当前他在过去的6mins 16secs秒内没有说过话，处于空闲状态）

bobby163 End of /WHOIS list.

(查看结束）

/invite nickname #channel 邀请别人去一个房间。

/invite kkkkkk #chinese 邀请kkkkkk去#chinese,但你要有这个房间的op才行,：）

/ns info nickname 查看其他人或自己的注册资料（例什么时候注册名字的）或最后一次什么时候来。权限越大，显示内容越多。

/ns info 机器豹 会显示

-NickServ- 机器豹 是 FireBot RII 自动管理版 by ChinaFire
-
-NickServ- 最后见到的网络IP是：用户在线聊天
-
-NickServ- 注册时间是：2000.04.15 12:30:49 CST
-
-NickServ- 最后见到的时间是：11 分钟, 28 秒 之前
-
-NickServ- 最后退出信息是：Quit: <FirebotII>下载: http://firebot.yeah.net
-
-NickServ- 注册名字模式：KILL, SECURE

/ns status nickname 查看这个人是不是真实的对方（合法的名字使用者）.

例如: /ns status chinafire 如果回答显示 -NickServ- STATUS chinafire 这个用户得到系统的认证 那就通过了验证，是合法用户。

例如:/ns acc szonline 如果回答显示-NickServ- STATUS 月光 这个用户不在线，或者根本没有注册.那表示根本没有注册的名字，不能确定是否合法。

例如:/ns acc jjj 如果回答-NickServ- STATUS [月光] 这个用户使用一个没有认证的名字，那表示这个名字注册了，但是没有设置成保护状态。也就是说对方现在使用时没有通过密码验证的。或者 已经设置成验证状态，但对方没有还没有通过。

下面是263irc关于名字管理的命令集:

.侦查名字信息:

/ns info 待检查的名字

.侦查名字权限:

/ns status 待检查的名字

.改换新的名字:

/nick 新名字

.注册现用名字:

/ns REGISTER 拟定名字密码 你的电子信箱

.验证名字密码:

/pass 密码

.设置自动验证(不建议使用.除非你用的IP地址是世界上唯一的)

..增加参数验证:

/ns access add 参数

..取消参数验证:

/ns access del 参数

..显示参数验证:

/ns access list

.名字信息设置

..修改名字密码:

/ns SET PASSWORD 输入新名字密码

..修改主页网址:

/ns SET URL 输入新个人主页网址

..修改电子信箱:

/cs SET EMAIL 输入新个人电子信箱

..设置保护状态

...开:

/ns set kill on

...关:

/ns set kill off

..设置安全机制

...开:

/ns set SECURE on

...关:

/ns set SECURE off

..设置信息显示

...开:

/ns SET PRIVATE ON

...关:

/ns SET PRIVATE OFF

..设置名字保密

...隐藏名字信箱

....开:

/ns set HIDE EMAIL on

....关:

/ns set HIDE EMAIL off

...隐藏名字地址

....开:

/ns set HIDE USERMASK on

....关:

/ns set HIDE USERMASK off

...隐藏退出信息

....开:

/ns set HIDE QUIT on

....关:

/ns set HIDE QUIT off

..注销现用名字

/ns drop 要注销的名字

..杀掉冒用名字:

/ns GHOST 欲杀掉的名字 名字的密码

..搜查名字参数:

/ns list 名字的参数(名字或者iP)

对于普通聊天室来说,有一样比较关键的东西就是,如何输入彩色字.方法很简单,请看下面的例子

1.输入单色字的方法是 ctrl键+k 再加色号 你要的文字 .例如输入 ctrl键+k 再选13 再输入文字: 我是网虫哈哈哈. 结果就是:

我是网虫哈哈哈

2.输入有底色字的方法是 ctrl键+k 再加前色号(逗号)背景色号 你要的文字 例如输入 ctrl键+k 再选0加逗号再选13 再输入文字: 我是网虫哈哈哈. 结果就是:

我是网虫哈哈哈

3.多彩色字.你可以用ctrl键+k的办法,如此类推,在每个字的前面都定义颜色,这样就成多彩色字了.例如:

我是网虫哈哈哈

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

下面的权限说明,只能适用于263 irc,在其他的irc是不适用的.一些普通管理员的说明(vop\cop\aop\sop)因为263服务器的可设置特征,下面所说的,只能适用于263网管直辖的公共房间.

VOP VOP = voice op level,也称VIP。op就是operater操作员。如果你的名字在名字列表中前面有一个+符号（俗称十字架）。那么就表示你具有聊天室的第一个特殊身份了。你可以：

所有的vop用户,即使在房间禁止用户说话时,仍然能说话.不受+m模式或者ban的影响.

如果你是263的公共房间固定vop,还具有一个权限:

/cs invite #channel 被ban时要求服务器机器人邀请自已进入房间内。一旦通过验证就可以用/join #channel进入房间了。

固定的VOP管理级别为4级.

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

UOP UOP = User op level。op就是operater操作员。如果你的名字在名字列表中前面有一个@符号（俗称帽子）。那么就表示你具有聊天室的第一级管理权限了。

UOP是一个临时的权限,即是说,你的帽子是人家临时给你的,当你离开房间或者别人摘了后,就不再具有上面的权限.

/mode #channel +o nickname 给别人加帽

例如： /mode #chinese +o chinafire 这样就加帽子给chinafire了。

/mode #channel -o nicknname 去别人帽子

例如： /mode #chinese -o kkkkkk 这样就把kkkkkk的帽子摘了。

/kick #channel nickanme 你的理由 踢别人出聊天室的一个房间。

例如: /kick #help kkkkk 吃我一脚！

/ban nickname 封锁别人。由于浪子多数人都隐藏了最后一个ip数字，如果你想准确ban一个人就最好用/ban # nickname 7 这种格式ban人。这样就不会把无辜错ban。

例如: /ban #china kkkkk 7 这样kkkkk这时没有帽子他就说不了话了，如果再加一脚踢出去他就无法进来这个房间了。

UOP不具有上面的VOP邀请权限,但有VOP说话的权限.

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

在263irc的公共房间,下面的AOP和SOP都称为COP(channel operater)

AOP AOP = Auto op level。aop是聊天室房间具有初级固定权限者。当aop进入房间，chanserv会自行加帽给他。aop需要使用aop登记名字才具有aop身份。

AOP的管理级别是5级.

/pass passoword 验证你个人密码，才能使用你的权限

例如 /pass frlkfr

/cs access #channel list 查阅本房间Cop(包括aop和sop)名单

/cs access #chinese list 显示#chinese这个房间的aop名单。当然你要是aop或以上权限才能看到名单的。

/cs op #channel nickname 让服务器代劳给自己或别人加帽

/cs op #chinese kkkkk 叫chanserv给kkkkk加帽

/cs deop #channel nickname 让服务器代劳去自己或别人的帽子

/cs deop #chinese kkkkk 叫chanserv摘kkkkk帽子

/cs invite #channel 被ban时要求服务器机器人邀请自已进入房间内。一旦通过验证就可以用/join #channel进入房间了。

例如: /cs invite #chinese 再用 /join #chinese

AOP具有上面VOP和UOP的权限.

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

SOP SOP = Super op level。sop是房间的管理员。sop需要使用sop登记名字才具有sop身份。

/pass passoword 验证你个人密码，才能使用你的权限

例如 /pass frlkfr

/cs access #channel list 查阅本房间所有cop(包括aop和sop)名单

/cs akick #channel add ip-mask 理由描述 增加房间自动踢,ip-mask是指对方的名字特征

/cs akick #channel del ip-mask 删除房间自动踢,ip-mask是指对方的名字特征

SOP具有上面AOP的权限.

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

FOUNDER founder是聊天室房间的法定注册人，俗称房主或掌门人。对于房间来说，他是最高权限者。房主使用的权限均需验证密码,除非房间的创建者名字或者继承人名字就是你现在所使用的名字.

/cs identify #channel pass 验证房主的密码，验证通过的话，系统显示:

例如 /cs identify #china fke;fk

-ChanServ- 口令认证通过 - 您是这个 #china 的创建者。

263 IRC中,房间具有非常之多的管理权限,不但具有上面所说的COP的权限,还具有众多的房间设置权限.

.注册房间:

/cs REGISTER 拟定#房间名字 拟定房间密码 房间描述

.设置房主名字:

/cs SET #房间名字 FOUNDER 新房主名字

.设置继承名字:

/cs SET #房间名字 SUCCESSOR 输入新继承人名字

.修改房间密码:

/cs SET #房间名字 PASSWORD 新房间密码

.修改房间描述:

/cs SET #房间名字 DESC 新房间描述

.修改房间网址:

/cs SET #房间名字 URL 新房间主页网址

.修改房间信箱:

/cs SET #房间名字 EMAIL 新房间电子信箱

.修改进入信息:

/cs SET #房间名字 ENTRYMSG 新房间进入信息

.修改房间标题:

/cs SET #房间名字 TOPIC 输入新房间标题

.保持房间标题

..开:

/cs SET #房间名字 KEEPTOPIC on

..关:

/cs SET #房间名字 KEEPTOPIC off

.锁定房间标题

..开:

/cs SET #房间名字 TOPIClock on

..关:

/cs SET #房间名字 TOPIClock off

.设定安全模式:

/cs SET #房间名字 MLOCK +nt-imklps

.房间权限访问

..开:

/cs SET #房间名字 RESTRICTED ON

..关:

/cs SET #房间名字 RESTRICTED off

.帽子管制设置

..开:

/cs SET #房间名字 SECUREOPS ON

..关:

/cs SET #房间名字 SECUREOPS off

.帽子加减通告

..开:

/cs SET #房间名字 OPNOTICE ON

..关:

/cs SET #房间名字 OPNOTICE off

.等级名单设置

..增加或修改:

/cs ACCESS #房间名字 ADD 被设置名字 级别

..删除:

/cs ACCESS #房间名字 DEL 被设置名字 级别

..显示所有等级名单:

/cs ACCESS #房间名字 List

.等级定义设置

..恢复缺省值:

/cs LEVELS #房间名字 RESET

..单个自定义

...自行+O:

/cs LEVELS #房间名字 SET AUTOOP 级别

...自行+V:

/cs LEVELS #房间名字 SET AUTOVOICE 级别

...自动减帽:

/cs LEVELS #房间名字 SET AUTODEOP 级别

...禁止进入:

/cs LEVELS #房间名字 SET NOJOIN 级别

...自行邀请:

/cs LEVELS #房间名字 SET INVITE 级别

...房锁权限:

/cs LEVELS #房间名字 SET AKICK 级别

...设置允许

....开:

/cs LEVELS #房间名字 SET SET on

....关:

/cs LEVELS #房间名字 SET SET off

...清场允许

....开:

/cs LEVELS #房间名字 SET CLEAR on

....关:

/cs LEVELS #房间名字 SET CLEAR off

...解封权限:

/cs LEVELS #房间名字 SET UNBAN 级别

...加减帽子:

/cs LEVELS #房间名字 SET OPDEOP 级别

...查阅权限:

/cs LEVELS #房间名字 SET ACC-LIST 级别

...更改权限:

/cs LEVELS #房间名字 SET ACC-CHANGE 级别

...MEMO开关:

/cs LEVELS #房间名字 SET MEMO 级别

..老火建议设置:

/cs LEVELS #房间名字 SET AUTOOP 5

/cs LEVELS #房间名字 SET AUTOVOICE 3

/cs LEVELS #房间名字 SET AUTODEOP 4

/cs LEVELS #房间名字 SET NOJOIN -1

/cs LEVELS #房间名字 SET INVITE 3

/cs LEVELS #房间名字 SET AKICK 10

/cs LEVELS #房间名字 DISABLE SET

/cs LEVELS #房间名字 DISABLE CLEAR

/cs LEVELS #房间名字 SET UNBAN 5

/cs LEVELS #房间名字 SET OPDEOP 5

/cs LEVELS #房间名字 SET ACC-LIST 5

/cs LEVELS #房间名字 SET ACC-CHANGE 100

/cs LEVELS #房间名字 SET MEMO 10

/cs SET #房间名字 MLOCK +nt-imklps

按照上面的设置,你的房间VOP为3级,AOP为5级,SOP为10级,大于一个数又未达到上一级的数的级别只能等于下一个级的权限,例如权限9,它实际上只能是5级的效果,而大于10级以上的级,在这个设置中只等于10级.

---------

.房间自动踢办

..增加自动踢办:

/cs AKICK #房间名字 ADD 输入敌对名字参数 理由

名字参数可以多样，例如: lamer!*@202.44.22.***

..删除自动踢办:

/cs AKICK #房间名字 DEL 敌对名字参数

..列出自动踢办:

/cs AKICK #房间名字 list

.清除非法帽子

..开:

/cs SET #房间名字 LEAVEOPS ON

..关:

/cs SET #房间名字 LEAVEOPS OFF

.显示房间信息:

/cs info #房间名字

.显示房间模式:

/channel

.撤消注册房间

/cs drop #房间名字

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

IRCOP IRCOP = irc operator level。整个irc的管理员，对所有的房间有管辖权，所执行的权限往往对所有的房间起作用。

从这个级别开始才开始具有“网管”的意味。分为Global Operator 和 Local Operator两种。在多台服务器联网的IRC中，Global Operator的操作对所有的服务器起作用， Local Operator只能对所属的服务器起作用。这一级的管理员开始具有独特的管理员标志，你whois 这个管理员，就会看到下面字样：nickname is an IRC Operator

例如:

阿猫 is ddcc@202.108.128.7482 * krbot
阿猫 is a registered nick
阿猫 on @#是爱是恨是什么 @#boy^girl @#chinese
阿猫 using irc.263.net [210.78.144.5] 聊天网络--首都在线服务器
阿猫 is an IRC Operator
阿猫 looks very helpful.
阿猫 结束 /WHOIS 命令.

/kill nickname 理由 杀别人出整天聊天室

例如 /kill kkkkk getout!!

/kline nickname 理由 封杀别人出整天聊天室

例如 /kline kkkkk 滚！

/unkline nickname 解除封杀

/stats k 查阅kline资料，显示在status窗口

这一级开始的管理员能查看到各种的信息，详见个人模式中的oper参数。例如别人whois你时能看到，你whois别人时，即使对方的ip隐藏了，也能看得到。

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

ADMIN admin是administrator的简写。最高级网管分Services Administrator和Server Administrator两种。server admin比services admin高级。这一级的管理员也具有独特的管理员标志，你whois 这个管理员，就会看到下面字样：nickname is a Services Administrator (Services Administrator)

例如

ChinaFire is ChinaFire@202.96.191.97453 * avenger
ChinaFire is a registered nick
ChinaFire on @#chinese @#发发 @#家居装饰
ChinaFire using gz.chat.263.net 聊天网络--广东广州服务器
ChinaFire is a Server Administrator (Services Administrator)
ChinaFire looks very helpful.
ChinaFire has been idle 35mins 23secs, signed on Sat May 06 21:35:50
ChinaFire 结束 /WHOIS 命令.

/samode #chinese +o nickname 可以在任何房间加帽给自已或别人，而且事先无需有帽子！

/sajoin nickname #channel 任意进入任何房间

/getpass nickname/#channel 获取任何个人或房间的密码。

这一级的管理员是踢不了的,~嘿嘿。

admin的其他权限及细致分别在此不再描述。

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

个人模式列表

个人模式设置方法：/mode 你的名字 +/- 下列参数 参数是区分大小写的。

i Invisible to users when doing a /names #channel or /who *ip address* 在频道列名或者查ip使用者时处于隐藏状态。
x Host masking will make your hostname look like ***.domain.com or 127.0.0.* to a normal user 隐藏你的真实IP地址最后一位。
n See NEWSFLASH messages 查看简短信息
w See /wallops messages （我不清楚是什么意思）
e disable dcc send and receive 禁止dcc信息收发。
s See server messages 查看服务器信息
p disable ctcp 禁止ctcp
j Java user mode only javaguest 用户
L Profanity filtering 不敬过滤
m User will not be able to send or receive privmsg 使用者不能够接送私人信息
E Prefers to speak English 如果你英文好可以用这个参数，记得是大写的E，而不是e
F Prefers to speak French 使用法文
G Prefers to speak German 使用德文
S Prefers to speak Spanish 使用西班牙文
t (Opers Only) see stats, admin, version messages 查看状态资讯
k (Opers Only) See Kill messages 接受kill信息
h (Opers Only) Looks Very Helpful 把自己标志成“提供帮助的人”
c (Opers Only) see connects/disconnects and Opers 接受connects/disconnects and Opers信息
b (Opers Only) chatops 接受管理员通讯
A (Opers Only) preset Server Administrator 服务器网管状态(为irc的最高级网管权限状态）
a (Opers Only) preset Services Administrator 事务网管状态(为irc的第二级网管权限状态）
g (Opers Only) preset Global messages 接受Global信息
f (Opers Only) preset flood notice 接受flood警告
y (Opers Only) preset see whois notification 监视谁whois你
o (Opers Only) IRC Operator 第三级管理员状态
O (Opers Only) Local IRC Operator 单服务器第三级管理员状态

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

房间模式列表

命令格式：/mode +/- 参数 房间名字或者用户名 参数是区分大小写的，其中 +为设置，-为解除。

特别忠告：如下模式除了b、o和v是用于个人外，其他的命令多作用于房间，在绝大多数的房间，除非你是管理员，否则请不要设置房间模式，否则你将会受到处分。

b Ban: Will ban the specified user from joining the channel. 禁止用户进入房间，如用户已在房间而没有op的话就不能说话。
i Invite: Will make the channel invite only. Users must be specifically invited to join using the /invite command. 把房间设置成纯邀请状态，没有邀请其他人将不能进入房间。
k Keyed: Sets the channel so only users who specify the channel key (password) as the second parameter of the join command can join the channel 设置房间：进入时需要密码。
l Limit: Limits the number of users that can be in the channel simultaneously. 限制房间用户数。
m Moderated: Causes a channel to be moderated so only the operators and those users who are +v (voice) can talk. 把房间设置成只有+v的人才能说话。
n No external messages: No outside messages or notices can be sent in to the channel by users who are not in the channel.把房间设置成不接收外部信息
o Gives the user whose nickname immediately follows the +o channel operator status. 给别人帽子。
p Private: Marks the channel as private. Will not appear when other users do /list command. 把房间标志成私人的，不允许别人查看。
r Registered: This indicates that a channel is registered. (informational only) (CR native mode) (users cannot set this mode) 房间注册信息。
s Secret: Hides the channel in the list 把房间隐藏起来。
t Sets the channel so that only channel operators can change the topic. 只有有帽子的人才能更改房间标题
v Gives the user a voice when the channel is moderated (+m) 给别人vop权限
c Adding this Mode to a channel will prevent colors from being displayed. 只准用黑色字的用户说话，如果你用彩色字就相当于给ban了的状态，传送不到房间内。
M This mode is used in a forward moderated chat. If the channel is set to +m all the messages sent to the channel that cannot be viewed by other users will be sent to a +N channel both channel modes work together. Example of this mode /mode #channel +M #receivingchannel 解释不清，自己看
N This command is set to a channel that is receiving moderated messages from a +mM channel, it is a good way of scanning questions when you have a special event. To use both +M and +N modes you must be an IRCop and you must be a channel op in both channels. Example of this mode /mode #receivingchannel +N #channel ircop权限，说来复杂
e This mode will prevent CTCP commands from being sent in the channel but it will not prevent actions. ctcp设置

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

IRC魔鬼词典

如下一些词汇或符号在IRC中有特定意思，你可以参考一下：

:） :> :-) ^_^ 均表示微笑

:（ :< 均表示不高兴或生气

:p *_~ 均表示扮鬼脸

:D 大笑

:O 惊奇

竹叶=主页

伊妹=email

美眉（mm)=妹妹

格格（gg)=哥哥

hp=homepage(个人主页）

bf=男朋友

gf=女朋友

大刀=打倒

nnd=奶奶的

tmd=他妈的

haha=哈哈

hehe=嘿嘿

7456=气死我了

881=白白

9494=就是就是（表示赞同）

东东=东西

果酱=过奖

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

安全警告

1、不要接受别人的文件（包括图片）, 除非他是一个你非常非常熟悉的人. 如果你接受一个文件,当执行时没有任何反应或者执行后显示该执行文件为零字节( 0k ),那么你一定感染了病毒!

2、 不要接受任何以*.exe,*.com,*.bat,*.dll,*.ini,*.vbs结尾的文件,即使他是你非常熟悉的人。

3、不要随便向陌生人透露你的真实个人资料。包括你的真实名字\地址\电话\具体工作单位.

4、有朋友与你联系时，认请其名字（字母），以防假冒。最好先用 /ns status 名字 来验证一下他的身份.

5、尽量使用假IP地址或使用服务器的隐藏ip方法。

6、下载一个防火墙软件以防万一。

7、不要轻易相信对方的说话。例如人家说他是一个女生.

8、遇到麻烦时，寻求IRCOP或以上管理员的帮助。除非你whois对方时,对方的资料显示一个is an IRC Operator 或 is a Server Administrator 字样,否则不要相信对方是网管.

其实，聊天室是用来聊天的，你无需多花脑筋。以上说的足以让你在聊天室发挥你的活泼健谈的本性了。当然，聊天室也会有一些捣乱份子，他们总是在做恶作剧。有一些只是玩玩的，但有一些是充满恶意的，他们会攻击你的机器。如果你在聊天室遇到麻烦，无需与其纠缠，你可以找网络管理员帮忙。寻找谁是网管只需要到263主房间#chinese找带有帽子的人就行了。一般的捣乱者都是不大愿意惹网管的，因为不信邪的话，他们的硬盘灰了也不知什么回事。


Remote完全教程一

阅读次数：1205
2000-09-08 13:43:43
序言:
欢迎你使用!!
我是 A^L^ .MIRC 命令集共有 3 篇.
!!注:这里要感谢 nihao 兄弟的帮助,1-3篇的排版都是他做的. 漂亮伐? 呵呵~~~~~~
Nickname : A^L^
MY E-mail : strollerman@netease.com
Chat-room : IRC Server : 202.109.13.98 Port :6667 #A爱の小屋A
非常欢迎你来我的小屋.
主页 : http://much.126.com 这是 always 兄弟的网页,我是借用的.
此网页上还开有一个 MIRC bot 板块.( 我不会做主页 :) )
在注明出处和翻译者的前提下可以转载本文，并请保留序言部分（作者保留一切版权）
============================================

第一篇 MIRC 基本命令集

% : 此符号是变量的符号.作为临时存储区.你可以给它赋值.在以后的 remote 编程将
大量用到. 例: %temp , 此就是一个变量.

$null : 如果一个变量里无任何值,即空值. 他将返回 $null . $null值通常用在 if-than-else
比较语句里.来控制下面的分支.

一. IF 语句
IF-then_else 说明:
基本格式:
if (v1 operator v2) { commands }
elseif (v1 operator v2) { commands }
else { commands }

下面是 IF 语句里的所有操作符:
== 相等
!= 不相等
< 小于
> 大于
>= 大于等于
<= 小于等于
isin 字符串v1 包含在 字符串V2里.例: if ( v1 isin v2 ) { /echo
v1 包含在 v2 里 }
isincs 字符串v1 包含在 字符串V2里 (用于敏感场合)
iswm 带有通配符的字符串 V1 与 字符串 V2 比较.
例: if ( a*g iswm adfdg ) 为TRUE. if( a?g iswm
afg ) 为TRUE
通配符" * "可以代替任何多的字符." ? "代替一个字符.
isnum 判断 V1 是否是数字. 例: if ( 12 isnum ) { /msg
$chan 12 是数字!! }
isletter 判断字母 V1 是否在 V2里
例 : if ( a isletter dfgdagg ) { /msg $chan a 在
dfgdagg 里 }
(v2 可以省略,若V2省略其是判断V1是否是字母)
例 : if ( b isletter ) { /msg $chan b 是字母 }
ison 判断nickname v1 是否在 channel v2 里
例 : if ( A^L^ ison #jgc&zd ) { /msg $chan A^L^ 在
#jgc&zd 频道里 }
isop 判断nickname v1 是否在 channel v2 里是OP
例 : if ( A^L^ isop #jgc&zd ) { /msg $chan A^L^ 已
有帽子了 }
isvo 判断nickname v1 是否在channel v2 里是VOP
例 : if ( xixio isvo #jgc&zd ) { /msg $chan xixio
妹妹已有嘉宾帽了. }
ishelp
isreg 判断nickname v1 是否在 channel v2 是一个普通的人
例 : if ( nihao isreg #sailing ) { /msg $chan 哈哈
哈, nihao 没有帽子,啥多没有 !! }
ischan 判断你是否在 channel v1 频道里.
例 : if ( #sailing ischan ) {/msg $chan 哈哈哈,我已
在 #sailing 里了.我正在泡MM 呢,别打扰我 }
isauto 判断nickname v1 在channel V2 频道里是否是你自动发
帽名单里的人(v2可任选)
例 : if ( maomi isauto ) {/msg $chan maomi 妹妹当然
是我自动发帽的人啦... }
isignore 判断nickname v1 是否是你忽略名单里的人
isprotect 判断nickname v1 在channel V2频道里是否是你保护名
单里的人(v2可任选)
isnotify 判断nickname v1 是否是你要通报名单里的人

如要去否定一个操作,你可以在它的前缀加一个 ! (感叹号). 例: !isop 表示:非OP人员
IF 语句还有联合比较: 你可以通过 || ( 或 ) ; && ( 与 ) 来联合比较.
例: if (( maomi !isop ) && ( maomi !isvo )) { /msg $chan maomi 妹妹好可怜啊怎么啥帽子多没有啊 }

二. / 命令

/abook <nickname>
: 把 nickname 放到 mirc 里的地址本里.
详细说明:
地址本是允许你保存你朋友在irc 里的信息.它主要有 address,whois,notify,option 四部分.地址本可以在 mirc 工具栏里可以找到.
/ajinvite [on | off]
: 打开或关闭在被人邀请时是否自动进入.
/ame <message>
: 在你当前所有房间传送信息，例: /ame 要走了，再见了各位(此命令带me 信息).
/amsg <message>
: 在你所有当前的房间说话. 例: 如果你在 #sailing,#jgc&zd 频道,你打:
/amsg maomi 可是个大美人哦!!! 那么 #sailing和#jgc&zd 里的人多能看见这句话.
/auser [-a] <levels> <nick|address>
: 这个命令用来定义用户的等级.
<levels>:等级;
<nick|address>:名字( A^L^)或具体地址A^L^!strollerman@202.109*)
[-a] : 重新定义某人的等级，以前定义等级不失效,只不过以前定义的通用等级变成了 一个特定等级.
例:
/auser 1,2,3 jgc ; 设 jgc 等级为 1,2,3 ,三种等级.
/auser -a 1,2,3 jgc ; 对 jgc 追加 1,2,3 三个等级.如果jgc 原来
无等级,此命令等同于
/auser 1,2,3 jgc
/auser -a =1,2,3 jgc
这命令跟上面一个很相似,只是多了一个 "=",这表示对 jgc 设特定等级 1. 2和3是普通等级.
/auto [-r] <on|off|nick/address>
:就是把某人加人(去除) 你的自动发帽列中.
如果A^L^在你的auto-op 列中,如果你在 #jgc&zd 频道里,并有OP,
则A^L^进来时,你的mirc 会自动给 A^L^发帽.
[r] : 就是把 nickname 从 自动发帽列 中移去.
on/off : 启动或关闭自动发帽功能.
例 :
加入 auto-op :
/auto xixio ; 这命令就是把 xixio 加入发帽列中.
移出 auto-op:
/auto -r nihao ; 这命令就是把 nihao 从auto-op 中移去.
/AWAY [message]
:用了此命令,别人用 /whois 命令会看到你留的信息.
/ban [-ruN] [#channel] <nickname|address>
:ban人命令.
-r: 对 nickname 取消BAN
-uN: 对 nickname 进行限时BAN
例:
/ban -u30 #sailing nihao
对nihao BAN 30秒后,自动对nihao 取消BAN
/beep <number> <delay>
:这个命令让你的pc 喇叭发出响声，
number : 次数
delay : 等待时间
例：beep 4 1 ，意思就是1秒钟后，pc喇叭响4下。
/channel
:弹出channel central 窗口(仅对当前频道有效).
快捷方式: 鼠标双击大窗.
/clear [-sghlc] [windowname]
:清除当前窗口里的内容.如果你指定窗口,则清除指定窗口里的内容.
[windowname]: 小窗名字.
-s : 清除 status 窗口
-g : 清除 finger 窗口.
-l : 清除自定义窗口旁的 listbox
-c : 清除 picture 窗口
-h : 清除编辑框历史内容.
/clipboard <text>
:COPY指定 TEXT 到剪贴板
/close [-icfgms@] [nick1] ... [nickN]
:关闭所指定类型和指定nickname 的窗口.如果没指定 nickname,则关闭所有
指定类型的窗口.
-i : 不活动的 dcc send 窗口.
-c : DCC chat 窗口
-f : (此开关符不明白)
-g : DCC send 窗口
-m : 小窗
-@ : 自定义窗口
/closemsg [windowname]
:关闭小窗.
[windowname]: 小窗名字.
/colour <name> <index>
:可以改变 每项的颜色.
index 序号:0 :白色 1 :黑色 2 :蓝色 3 :绿色 4 :深红 5 :棕色 7 :橙色 8 :黄色 9 :深绿 10 :青色 11 :深青色 12 :深蓝色 13 :粉红色 15 :深灰色
name 项名:
你可以从 mirc colours 窗口里看到所有的项名.(即工具栏里的 edit colour 项.)
例: /colour own 4
你将会在大窗里看到自己说的话多是红色的.
/copy -ao <sourcefilename> <filename>
:把一个文件拷贝到另一个文件名或目录里.源文件允许使用通配符.
-a :追加文件.
-o :如果文件存在,就覆盖它.
/creq [+m|-m] [ask | auto | ignore]
:这个命令设置DCC chat 它等同于 DCC option 对话框里的设置.
+m | -m : 最小化 开|关
/ctcps [on|off]
:这个命令用来使remote中所有关于ctcp的事件失效和生效。
/dcc chat <nickname>
: 用 DCC CHAT 跟某人单独聊天.
/dcc send <nick> <file1> [file2] ... [fileN]
:向某人传送文件.可以多个文件同时传送给他.也允许用通配符.
/dec [-czuN] <%var> [value]
:对变量 %var 减 value 值. 如果缺省 value.就对%var减1.
-c : 每过一秒就对 %var 减 value
-z : (这个开关符很有意思)如果你运行一次后.不再运行此命令. 它就
会自动对 %var 减1当 %var 被减到0是. 会自动对 %var
unset.其自减速度为每秒减1.
-uN : N 秒后对 %var unset
/disable <group1 group2 ... groupN>
: 这个命令用来禁止某些组。你可以用通配符.来关闭所有相匹配的组.
/disconnect
:这条命令用于强制的从服务器上断开，和/quit有所不同。/quite 是向服务器发送一个信息,然后等待服务器来跟你断开.
/dlevel <level>
:这个命令用来定义用户的默认等级，初始化的mIRC的用户默认等级是1，也就是说，如果您不定义用户的等级，他的等级就是1，如果你希望改变这个默认等级，就可以用/dlevel命令，比如想把用户的默认等级改为3，就可以打/dlever 3 .
/dns [-ch] [nick|address]
:/dns 人命（或者ip),比如：您想知道xixio的ip和hostname，就打/dns xixio ,如果您想看xixio的hostname ,就去看看xixio的ip，比如他的ip是202.109.18.18，就打/dns 202.109.18.18,也许你会看到xixio的hostname是wuhan74.net.cn，呵呵，那么就说明他可能在上海上网哟。也就是说dns可以用来转换hostname和ip的。
/echo [colour] [-dehiNtsa] [#channel|[=]nick] <text>
:用指定的颜色把文字打印在指定的窗口上.!!注 : 此命令显示的文字只有自己看得见,他人看不见,无论有无指定 #channel( nick )别人多是看不见的.
colour :颜色范围 0 ~ 15 ( 请参考 /colour <name> <index> )
#channel :在指定的频道显示.( 此频道窗口必须已打开 )
nick :在指定某人的小窗里显示.( 小窗必须已打开 )
text :要显示的文本.
-d :在指定的信息窗口显示.( 在没有指定 #channel , nick 的
情况下 )
-a :在当前活动窗口显示.( 在没有指定 #channel , nick 的情
况下 )
:-s 在 status 窗口显示. ( 在没有指定 #channel , nick
的情况下 )
-e :行与行之间有分隔线.
-iN :N 是数字.如果输入文字太长.在窗口显示超过2行时,第2
行向后移 N 位.依次类推.
-h :是对 iN 强制运行.
-t :在显示文本前缀加一个 时间块.
例:
/echo 4 -t #jgc&zd 试验成功
在 jgc&zd 频道窗口以红色显示: [12:11] 试验成功
/editbox [-sap|[=]window] <text>
:当前窗口的编辑框显示你所指定的 text.
window :窗口名,如果是一个 dcc chat , 窗口名前必须加一个前缀 "
= "
-s :指定 status 窗口
-a :指定当前活动窗口
-p :(不知有何作用)
/enable <group1 group2 ... groupN>
:这个命令用来解禁某些组。你可以用通配符.来关闭所有相匹配的组.
例:
/enable #one #tow #three
/enable #help*
/events [on|off]
:这个命令用来使 NICK 事件生效或者失效。
/exit
:断开与服务器的连接，并关闭MIRC.
/filter [-sgdfwxnpr] [n-n2] <infile> <outfile> <matchtext>
:这命令是扫描 infile 文件(或窗口)里的文本行,把每行里有跟 matchtext 相匹配的多被写到 outfile文件(或窗口) 里.( 如何比较窗口里的内容,本人没试过据说是可以的).
-x :排除匹配行.
-n :面加一个行号.
-s :把status 窗口做 infile.
-g :把 finger 窗口做 infile.
-d :把 message 窗口做 infile.
-p :在一个自定义窗口限制文本输出.
-r :指定行的范围( n - n2 )
-f :以文件里内容比较
-w :以窗口里内容来比较
例:
/filter -f in.txt out.txt *mirc*
解释: 扫描 in.txt 文件中的每一行,如果有 mirc 这字符,则把这行写到 out.txt 文件中.
/finger <nick/address>
: 你可以用此命令来finger 某人地址.你会得到很多关于他的信息.
/firewall [-mN[+|-]d] [on|off] <server> <port> <userid> <password>
:此命令可以让你改变防火墙的设置.irc 可以通过SOCKS4 or SOCKS5 连接到irc server.
server :防火墙的服务器地址.
-mN :选择 N 是 4 or 5 即( Socks4 or Socks5 防火墙)
+/-d :+d让DCC通过防火墙,-d 不通过防火墙直接通你mirc.
port :端口值.通常用 1080
userid :用户 ID.
password:防火墙密码.
/flush [levels]
: 此命令是删除 remote 里 users list中用户等级与 levels 相匹配的 nickname.如果没指定 levels, 将从 users list中删除所有 nickname.
例:
/flush 1,3,5
: MIRC 检查 users list 中是否有等级为 1 或 3 或 5 的nickname,如有这从 users list从删除.如果要被删除的 nick在你所在频道里的任何一个频道.则不会被删除.
/font [-asgb|window] <fontsize> <fontname>
:允许你改变当前窗口的字体设置.如果没有指定任何参数,会弹出字体对话框.
/fsend [on|off]
:启用这个功能,可以加速你DCC 的速度.你可以通过这个命令来改变设置.
/fserve <nickname> <maxgets> <homedirectory> <welcomefile>
:把你硬盘上的某个目录,向 nickname 公开,让他随意下载,查看.
maxgets :同时下载文件数.
homedirectory :你所要公开的目录.
welcomefile :当 nickname 第一次连上时,welcomefile 就自动传
给他.(里面你可以写有关信息,如访问的范围等等).
有关 fileserve 的一些命令.请看下面:
以下一些命令允许一个用户连到你的电脑上使用.
cd <directory> :切换到指定目录
dir [-b|k] [-#] [/w] : 在当前目录显示每个文件名和大小.
/W 以宽行显示.
-b|k 设置显示文件大小的单位( bytes , K )
-# 以水平显示,设置每行要显示的文件数.
ls [-b|k] [-#] : 用宽行方式,来显示当前目录里的每个文件名.
get <filename> : 下载指定的文件
read [-numlines] <filename.txt> :读指定文本文件.缺省值是每
次显示20行.并提示你是否继
续显示. -numlines 改变显示
的缺省行数.( 5 ~ 50 )
help : 将显示有用的命令.
exit or bye : 断开连接.
/goto
: goto 命令允许你在程序里从一个点跳转到另一个点.此命令不一定要有 "/" 前缀.
例:
/number {
if ($1 == 1) goto one
elseif ($1 == 2) goto two
else goto unknown
:one
echo The number ONE
halt
:two
echo The number TWO
halt
:unknown
echo Unknown number!
halt
}
/groups [-e|d]
: 显示scripts 里的组. 无参数时显示所有的组.
-e 显示激活的组.
-d 显示没激活的组.
/ruser [levels] <nick | address>
:这个命令用来删除您user list中的用户，或者用户的某个等级，如果用户的所有等级都被删除，那么这个用户也将从您的user list被清除出去。xixio在您的mIRC中的通用等级是1，特定等级是2，3，那么如果打：/ruser 2,3 xixio!jyj@202.103.* ，那么xixio的特定等级2，3就被从user list中删除掉。如果继续执行/auser 1 xixio!jyj@202.103.* 那么xixio的所有等级都被清除，xixio也将整个的从您的user list中消失。当然，如果想直接将xixio从user list中删除也可以，打/auser xixio!jyj@202.103.* 就行了，如果你不记得xixio的mask了，可以用!代替，打/auser xixio! 这样一来，所有名字是xixio的，不管他的mask是什么，都将被从您的user list中清除出去。
/halt
:停止 scripts 继续往下运行,可用防止处理更多不必要的程序.
/help [keyword]
: MIRC 会从 MIRC 帮助文件中调出与 [keywork] 相匹配的部分.
/ignore [-lrpcntiku#] <on|off|nick/address>
:把某人加入 忽略 list里.这样就对此人的信息(如他所说的话)忽略.如果没指定参数,则对此人的所有多(如,小窗.DCC 等等)忽略.如果你对某人所说的话很讨厌,你可以用此命令来忽略他所说的话.即你看不到他说的话.
-p 小窗. -c 频道. -n notice . -t ctcp . -i 邀请. -k control
codes
-u# 延时几秒后自动去掉忽略.
-r 把指定的人从忽略 list 里去掉.
-l 显示被忽略的人名单.
/inc [-czuN] <%var> [value]
:对变量 %var 加 value 值. 如果没指定 value 数值,这对变量 %var 加1.
-c : 每过一秒就自动对变量 %var 加 value
-z : (这个开关符很有意思)如果你运行一次后,不再运行此命令. 就
会自动对 %var 减1当 %var 被减到0是. 会自动对 %var
unset.其自减速度为每秒减1.
-uN : N 秒后对 %var unset
/INVITE nickname #channel
: 邀请 nickname 到 #channel 频道来.( 就是硬拉他到 #channel 频道来 ).
/join [-Inx] <#channel>
: 这是进入 频道 的一个标准 IRC 命令.
-i : 如果有邀请你的频道.则进入邀请你的频道.如没人邀请则什么频
道多不进入
-n : 在你进入频道时窗口是最小化.
-x : 在你进入频道时窗口是最大化.
例:
如果我写了 /invite maomi #jgc&zd . 如果她写了 /join -i #sailing 则她不会进入 #sailing 频道,而是来 #jgc&zd 频道.
/KICK #channel nickname
: 把 nick 踢出 #channel 频道.
/linesep [window]
: 在指定窗口里加一个分隔线.这分隔线他人是看不到的.
例:
/linesep #sailing ;在 #sailing 大窗里用分隔线.
/linesep maomi ; 直接用人名,在对moami 的小窗里用分隔线 .
<A^L^> maomi 好
<A^L^> 大家好
<A^L^> xixio hao
- ; 此就是分隔线.
<A^L^> 现在明白了吗?
/LIST [#channel] [-MIN number] [-MAX number]
: 显示当前聊天室的所有可见频道.你可以显示最少 number 人和最多 number 人的频道.也可以用通配符.
例:
/list ;显示所有可见频道
/list -min 5 -max 20 ;显示最少 5人和最多20人的频道.
/list #mirc ;仅显示 #mirc 频道
/list *love* ;显示所有频道名里有与 love 相匹配的频道
/load <-a|-pscqnm|-ruvs> <filename>
: 用此命令来按装指定的 alias, popup, or script 文件.如果你所要按装的文件已按装了,则会对已按装的文件更新.
/load -a aliases.ini 按装一个 aliases 文件
/load -pc status.ini 按装一个 channel popup 文件
/load -pn status.ini 按装一个 nickname list popup 文件
/load -ru users.ini 按装一个 users 文件
/load -rv vars.ini 按装一个 variables 文件
/load -rs script.ini 按装一个 scripts 文件
/loadbuf [lines] [-psg] <window> <filename>
:加载从 <filename> 文件的低部往上 [lines]行到文件底的内容.多显示到 <window> 上.如果 [lines]为负值.则从文件开头一直显示到文件倒数第 [lines]行为止.(注:你所显示的内容别人看不到的)
-p :强制对行压缩.然后在窗口上显示.,
-s :在 status 窗口显示.
-g :在 finger 窗口显示.
例:
/loadbuf 10-40 #jgc&zd info.txt
在 #jgc&zd 窗口显示 info.txt 文件中第 10行到40行的内容.
( 为什么显示的内容别人看不到,只能自己看? 我也搞不懂.不知此命令派什么用)
/log <on|off> <window> [-f filename]
:通过日记的ON和OFF来记录窗口里的内容.如果不指定文件名则会弹出对话框.
例:
/log on #sailing -f sailing.txt
把 #sailing窗口里的内容写进 sailing.txt文件里.
/mdi -act
:允许你改变窗口显示方式.
-a : 排列图标
-c : 窗口以重叠排列
-t : 窗口平铺排列
/ME message
: 这个命令是用来说明您的动作.
例:
/me 是帅哥，21岁 ,那么别人就会看到 ：
*A^L^ 是帅哥，21岁
/mkdir <dirname>
:创建一个指定目录.
/MODE #channel|nickname [[+|-]modechars [parameters]]
:这是一个功能强大的命令.OP可以用此命令来控制频道或nick.用此命令的前提是要有帽子(即 @ ).
Channel modes
开关符 在channel 中产生的作用
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
(+/-)b <nickname|mask> 把<nickname>或<mask>从channel 中给
BAN.
(+/-)i 指定的频道只有被邀请的人才能进入.
(+/-)l <number> 对指定的频道进行人数限定.不能超过
number.
(+/-)m 在指定的频道里,只有主持人和VOP可以说话.
(+/-)n 不在频道里的人就不能把话传到被指定+n 的频道里
来.
(+/-)o <nickname> 给nickname 加/减帽子.(一次最多给4人加帽子)
(+/-)p 把指定频道作为秘密频道.
(+/-)s 用/list 命令不能看到这频道.
(+/-)t 只有主持人可以修改 topic
(+/-)k <key> 给指定频道加密码
User modes
-------------------
开关符 对 nickname 起的作用
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
i 让别人使用/WHO或是/WHOIS时，无法查到您，除非使用
者特别指定要查询您
o IRC Operator状态，如果您变成IRC Operator那麽您
会自动拥有这个状态。它无法使用/mode nick +o的方式
来增加这个状态，但如果已经是IRC Operator了，可以
使用/mode nick -o的方式来消除。
s 收到IRC Server的讯号。包括了KILL讯号，以及目前
所在的Server的连线讯号.
v 给 nick 一个发言权.
w 让自己收到所有WALLOPS的讯息（可以看到Operator所
收到的讯息）
/MSG nickname message
:向别人发送小窗的信息，只不过不单独开一个窗口罢了，
/NICK nickname
:这个命令是用来改名字.
/notify [-shr] <on|off|nickname> [note]
:这个命令用来把别人加到您的notify list中去.一旦notify list 中的人连上服务器,mirc 就会通知你.
-s :用于显示 notify list 窗口.
-h :隐藏 notify list 窗口.
-r :把 nickname 从notify list里删除掉.
例:
/notify maomi 美眉来了，那么maomi一上服务器，您的mirc就会提醒您，maomi is on irc (美眉来了）.maomi走的时候，MIRC也会告诉您：maomi is left IRC.
/omsg [#channel] <message>
:向你指定房间的所有主持人发送信息.
/onotice <message>
:向所有 频道的 主持人发送信息.
/PART #channel
:离开频道.
例: /part #jgc&zd
/partall [message]
:离开所有房间，您也可以给出原因。
例:
/partall 各位明天再聊.
/play [-escp rl# t#] [channel/nick/stop] <filename> [delay]
:此命令可以向 nick 或 channel 播放指定文件的全部或部分内容.
[delay] 是设置播放延时.此延时是以毫秒为单位.(默认为 1000ms)
-e : 在每行前面加 /echo .如果把开关符 e和C 连用,则指定文件里
的内容会以/echo 命令方式显示文件内容.
-s :MIrc将把文本文件的内容当作命令来处理，您可以自己编一个文
本.
例: com.txt 文件里有如下内容:
/nick NNa
/nick NNaaa
/nick aesse
/nick slefasfd
然后打/play -s com.txt ，那么您就会不停的换名字了.
-c : 强迫mirc把文本的内容当作命令来执行，那么您编文本的时候
就不用加/了.
例: com.txt 文件里有如下内容:
nick NNa
nick NNaaa
nick aesse
nick slefasfd
然后打/play -c com.txt ，那么您就会不停的换名字了.
-P : 表明现有的play为最高优先级.
-r : 随机播放你指定的文件里的一行播放.
-l#: 指定文件里的一行进行播放.#为数字.
-t : 强制mIRC寻找指定 topic,而后播放这 TOPIC后的所有行.直到
另一个TOPIC.或文件底为止.TOPIC格式为: [ ] .
例:
/play -thelp1 c:\help.txt
在 help.txt文件里有一下内容:
[help1]
line1
line2
line3
[help2]
...
解释:
mIRC 将显示[help1]后内容.直到下一个 topic 为止.即到 [help2]为止.
/pop <delay> [#channel] <nickname>
:这个命令用来防止过于太快的auot-op.
<delay> : 延时时间.单位秒.
/protect [-r] <on|off|nick> [#channel1,#channel2,...]
:把nick 加入你的保护名单内.如果有人踢了或者ban了您的受保护人，您的MIRC会自动报复对方.
-r :从保护名单中去除.
on|off :启动或关闭保护.
例:
/protect A^L^
/protect on
解释:
第一条命令,就是把 A^L^加入到你的保护名单内.第2条命令.是启动保护功能 .
/QUERY nickname message
:此命令用来和别人开小窗.
例:
/query xixio xixio我来啦..... ;(xixio 可是个可爱的女孩噢)
/QUIT [message]
:退出IRC服务器.并留下你的Message.
例:
/quit 太晚了，要睡了.
那么别人会看到这样的信息*** A^L^ has quit IRC (太晚了，要睡了)
/raw [-q] <command>
:这个命令直接执行当前server支持的命令.
-q : 不回显执行的信息。
/raw on(off)
: 这个命令作为处理数值事件的开关。
/reload
:此命令是重装一个文件.其参数跟 /load 命令一样.请参照 /load 命令.
/remote [on|off]
:用来控制整个remote中的script开或者关.
如果您希望所有正在使用的remote script(也就是说，所有您定义的remote事件)失效,就打 /remote off.有效打 /remote on.
/remove <filename>
:删除指定文件，和dos的del一样用.
/rename <filename> <newfilename>
:更改文件名，和dos的ren一样用。
/return [value]
:终止当前执行的 scripts . 并继续处理常规程序.也可以指定一个返回值.此返回值被保存 在$result里.以供常规程序使用.
/rlevel [-r] <levels>
:从 users list 中去除指定等级人用户.
例:
/rlevel 20
/rlevel =10
解释:
从 users list 中去除等级只为 20 和 =10 的用户.如果一个用户有2个等级(20,40:A^L^)则不被去除.
-r : 从用户中去除指定等级.如果一个用户在去除指定等级后,已没有等级了,会被自动删除这个用户名.
例:
/rlevel -r 1,2,5,7
解释:
会删除用户中等级有 1,2,5,7 的等级.
/rmdir <dirname>
:删除指定目录.和DOS的deltree一样用.
/run [-n] <filename> [parameters]
:运行指定程序,并可以带参数.如果你没有指定可执行文件.则MIRC会寻找与这文件相关联的程序来运行它.
-n : 在程序开始运行后窗口最小化.
例:
/run edit.exe info.txt
/run info.txt
解释:
第一个命令于 edit.exe 程序来打开 info.txt 文件.而第二个文件则先于 MIRC 来寻找.txt 文件的关联程序.找到后用此关联程序来打开 info.txt.
/ruser [levels] <nick | address> [type]
:这个命令用来删除您user list中的用户，或者用户的某个等级，如果用户的所有等级都被删除，那么这个用户也将从您的user list被清除出去.
比如：Cupid在您的mIRC中的通用等级是1，特定等级是2，3，那么如果打：/ruser 2,3 Cupid!wqing@202.103.* ，那么Cupid的特定等级2，3就被从user list中删除掉。如果继续执行/auser 1 Cupid!wqing@202.103.* 那么Cupid的所有等级都被清除，Cupid也将整个的从您的user list中消失。当然，如果想直接将Cupid从user list中删除也可以，打/auser Cupid!wqing@202.103.* 就行了，如果你不记得Cupid的mask了，可以用!代替，打/auser Cupid! 这样一来，所有名字是Cupid的，不管他的mask是什么，都将被从您的user list中清除出去。
/save <-pscqnm|-ruv> <filename>
:保存指定的 popup or remote users/variables 文件.
/save -ps status.ini :保存 status popup 到 status.ini 文
件里
/save -pn nick.ini :保存 nickname list popup 到
nick.ini 文件里
/save -ru users.ini :保存 user list 到 users.ini 文件里
/save -rv vars.ini :保存 variables list 到 vars.ini 文
件里
/saveini
:用当前设置来更新所有与MIRC有关联的 INI 文件.
/say <message>
:和打完字再按一下回车是一样的效果.但它常用在 alias 里来显示 message .
/server -sar [server] [-p port] [-g group] [-w password] [-d description]
:设置你指定的服务器,并把它加入(去除)到 MIRC Option 里的 connect IRC server 里.其功能跟MIRC Option 里的 connect IRC server窗口里的功能一样.如果没写-sar 这开关符,则表示连接到指定的服务器上.
-s :分类排列 server .(即与 conect IRC server 上的 STOR 功能一
样)
-a :增加SERCER 到 connect IRC server 里.如已存在,则更新它.(即
与 conect IRC server 上的 ADD 功能一样)
-r :从 connect IRC server 里移去指定 server.(即与 conect IRC
server 上的 DELET 功能 一样).
例:
/server irc.join.com.cn 6667
此命令表示连接到此服务器上.
/set [-zuN] <%var> [value]
:对变量 %var 设指定值 value. !!注: 任何未被赋过值的变量多为 $null 值.
-z : (这个开关符很有意思)如果你不常运行此命令. 就会自动对 %var
减1当 %var 被减到0是. 会自动对 %var unset.其自减速度为
每秒减1.
-uN : N 秒后对 %var 进行 unset
例:
/set u5 %i hello
解释: 5秒钟后对 %i unset, 也就是 %i 里的值不再是 hello 了.而是一个 $null 值.
/showmirc -nrstx
:控制 MIRC 主窗口的显示.
-n : 最小化.
-r : 复原.
-s : 显示.
-t : 把主窗口缩小到任务栏里.只有双击才能打开.
-x : 最大化.
/sline [-a|r] <#channel> <N|nick>
:选择或取消在频道中 nickname 显示框里的nickname.在显示框里,它可以里选中任何第几个nickname.或只指定一个人的nickname.如果你没有指定任何开关符.在你选择另一个nick 时,原来选择的nick就被取消选择.如果你用 -a , 则原来选择的nick还被保留被选中的状态.如果用-r则指定nickname被取消选择.
例:
如果在 #jgc&zd 的nickname 显示框里有如下nick:
@A^L^
@jgc
@maomi
@xixio
/sline #jgc&zd 2 ; 则 @jgc 被选中.
/sline #jgc&zd 3 ; 则 @maomi 被选中.而 @jgc 就被取消选
中状态.
/sline -a #jgc&zd 4 ; 则 @maomi 和 @xixio 多被选中(因为
-a 可以保留上次选中的nickname)
/sline -a #jgc&zd 1 ; 则 @A^L^ , @maomi , @xixio 多被选中.
/sline -r #jgc&zd A^L^ ; 则 @maomi 和 @xixio 被选中.
/splay [-qwm] <filename>
:播放 .WAV 或 MID . 你可以用 /splay stop 来停止播放.
-q :允许你多个文件按先后次序播放.
-wm :此开关符常用在 /splay -wm stop 来关闭 .WAV或.MID 或2
个多关闭.
/sreq [+m|-m] [ask | auto | ignore]
:此命令等同于 DCC send request 对话框里的复选按钮.
+m/-m : 设置是否是最小化.
/timer[N/name] [-ceom] [time] <repetitions> <interval> <command>
:在指定间隔时间里执行指定程序.并到指定N次后结束.
N/name :你可以运行多个/name命令.用 /timer1 , /timer2, /timer3 ..... 也可以用/timera,/timerb , /timerc... 来区分不同的/timer 命令.
-m :表明时间间隔以毫秒为单位。
/timer1 10 60 /me is away 这条命令的意思是，每隔60秒执行一次/me is away 命令， 一共执行10次，你可以同时运行几个/timer，可以分别叫/timer1 /timer2 /timer3....也可以用/timera /timerb /timerc.....等等...
下面介绍一下参数，-o和-m-o参数用于没有连接服务器时就执行/timer命令，-m表明时间间隔以毫秒为单位。
/timer也可以这样用，/timer9 14:30 1 1 /say It's 现在时间为 2:30pm 这条命令的意思是，到14:30分的时候，mirc会自动说:现在时间为 2:30pm 如果您希望timer命令永不停息的运行，就打/timer1 0 间隔时间 /命令，也就是说重复次数定为0，timer就会不停运行。如果您希望/timer1 停下来，就打/timer1 off ，如果希望/timer2停下来，就打/timer2 off,以次类推，如果希望所有timer停下来，呵呵，就打/timers off. /timestamp -参数 on(或者off) 窗口名 ，您如果激活timerstamp，那么每次执行timer的时候,前面都会有一个时间，表明这一次timer是什么时候执行的，-s ：在stats 窗口做stamp，-a：在当前窗口stamp-e：在所有窗口stamp./titlebar (@window) 字符 ，改你的title。比如打/titlebar 柔情似水，佳期如梦，哪顾网费几何。效果如何你自己试试，当然你也可以指定窗口，前面用@./url -参数 on(或者off) 这个命令很有意思，你打/url on ,那么mirc将自动把含有网址字样的东西记录下来，如果你希望看一看被记录的网址，打/url ，参数-d：用?号标记将删除的url.url窗口弹出了，你选择一样地址，然后按右键，可以得到弹出式菜单，嘻嘻，您自己去看看吧。
/timestamp [-s|a|e] [on|off] [windowname]
:此命令是在自己名字前面加时间.
-s :status 窗口
-a :当前窗口
-e :每一个窗口
windownname 窗口名字
例:
/timestamp ON #jgc&zd
则在#jgc&zd 窗口里会显示: [20:30] <A^L^> 呵呵看到我名字前面的时间了吗?
/timestamp off #jgc&zd
则在#jgc&zd 窗口里会显示: <A^L^> 呵呵看到了吗.我名字前面的时间没有了.
/TOPIC #channel newtopic
:改变频道的 TOPIC .
例:
/topic #jgc&zd 岁月不能冲淡我对你的爱.
/ulist [<|>] <level>
:显示等级.
例:
/ulist <10 ; 显示等级 < 10 或 等于 10 的所有人名.
/ulist >5 ; 显示等级 > 5 或 等于 5 的所有人名.
/ulist 4 ; 显示等级为 4 的使用人名.
/unload <-a|-rs> <filename>
:卸载指定 alias 或 remote script 文件.
例:
/unload -a aliases.ini ;卸载 alias.ini 文件.
/unload -rs script.ini ;卸载 the script.ini 文件.
/unset <%var>
:对变量 %var 值unset. 使其值为 $null.此命令也可以用通配符.
相匹配的变量多会被 unset.!!注: 任何未被赋过值的变量多为 $null 值.
/unset %test*
解释:
此命令把已 test 开头的变量多 unset, 使他们的值多为 $null.
/unsetall
:unset 所有变量.使所有变量多为 $null.
/url [-d] [on|off|show|hide]
:对URL list 窗口的控制.( 你们试试就知道啥东西了)
-d: 所有"?"符号将被在显示URL list 窗口前多多被删除.
/uwho [nick]
: 比如：/uwho A^L^ ，执行后将弹出一个窗口，有full name Email Nick,ping version等等，您可以自己试试。:)
/WHOIS nickname
:这个命令用来看别人的信息，可以看到别人的full name，ip，id，
以及他在哪几个窗口和发呆时间等等，我要向您说明的是，如果这个人点了我前面提到的file...setup菜单中的Invisible mode，那么除非他和您在一个房间，您用/whois 是看不到他的信息的。
/winhelp <filename> [key]
:打开一个帮助文件中指定的 key 页.


Remote完全教程二

阅读次数：737
2000-09-08 13:46:20
第二篇. MIRC 标识符集

$!
:这个标识符记录第二次使用前面你在$?对话框中的字符.

例:/aw /away $?="Enter away message:" | /say $! $? 记录了您在对话框中填的参数，而您第二次要用到对话框中参数的时候，就不能再用$?了，必须用 $! ，就是这样。
$$1
:这个标识符和$1的作用差不多，记录您提供的第一个参数，区别在于如果你用了 $$1，就必须用上另一个标识符$$2。

打个比方：/slap /me 拿起 $$1 狠狠的向 $$2 打去。那么如果您打/slap Cupid，Mirc将不执行/slap这个aliases命令，因为您只提供了一个参数。您必须打/slap Cupid大铁球 ，这个aliases命令才可以执行，而/slap /me 拿起 $1 狠狠的象 $2打去。
这个命令用的是$1和$2标识符，您只提供一个参数aliases命令也可以执行。
$1-
:这个标识符记录您提供的一切字符.

例:/s /say $1-
你在大窗里打 /s 各位好!! .则这命令等同于 /say 各位好!! .
$+
:用来把字符连接起来。这样字与字之间就没有空格了.

例:/hi /say Hel $+ lo th $+ ere $+ !
在大窗里打 /hi ,则会显示 Hello there!
$abs(N)
:返回数值 N 的绝对值.

例:$abs(5) ；返回 5
$abs(-1) ；返回 1
$acos(N)
：返回 N 的反余弦值.返回值是弧度.
$active
:返回当前活动窗口的完整名字.
$address
:以IP@ID方式返回用户的地址.
$addtok(text,token,C)
:如果在 text 里不存在 token , 则把 token 加到 text 最后.
C:键盘字符的ASCII码值.如: ,(45) ; .(46) ; /(47) ; 0(48) ; 1(49) ; a(97) ; b(98)....z(122);A(65) ; B(66).....Z(90)

例:$addtok(a.b.c,d,46) 返回 a.b.c.d
$addtok(a.b.c,d,47) 返回 a.b.c/d
$addtok(a.b.c.d,c,46) 返回 a.b.c.d 由于 a.b.c.d里已有c,所以 c 没
有加。
$alias(N/filename)
:返回第 N 个已按装 alias 文件的文件名.你可以指定一个文件名.如果没有被按装则返回一个 $null 值.

例:$alias( 0 ) 返回已按装了多少 alias 文件.
$alias( 2 ) 返回第2个被按装的 alias 文件名.
$alias(moon.txt) 如果这文件没有被按装,则返回 $null .
$appactive
:判断 MIRC 是否处于运用状态(就是你现在正在使用).如果是则返回 $ture , 否则返回 $false.
$asc( C )
:返回字符的ASCII数值.具体的字符 ASCII 值请参考有关书籍.

例:$asc( A ) 返回 65
$asc( * ) 返回 42
$asctime(N,format)
:返回日期和时间.你可以指定返回的格式.

例:$asctime(793947600) 返回这个时间的默认文本格式.(本人看不懂它是如何
计算的,谁看懂了请告诉我。）其返回值是 : Tue
Feb 28 13:00:00 1995
$asctime(hh:nn:ss)
：返回用这个格式的当前时间.
$asctime(793947600,dd/mm/yy)
：返回用 dd/mm/yy 这格式的日期. 28/02/95
格式介绍 :
Year yy 99
yyyy 1999
Month m 1
mm 01
mmm Jan
mmmm January
Day d 1
dd 01
ddd Mon
dddd Monday
Hours h 1
hh 01
H 13
HH 13
Minutes n 1
nn 01
Seconds s 1
ss 01
AM/PM t a/p
tt am/pm
Ordinal oo st/nd/rd/th
Timezone z +0
zz +0000
$asin(N)
:返回 N 的反正弦值.返回值是弧度.
$atan(N)
:返回 N 的反正切值.返回值是弧度.
$away
:判断你是否用过 /away 命令.如有away这标号.(即使用过)则返回 $true,否则返回 $false.如果你想去掉 away 这个标号,只需打 /away 就行了.

例:if ( $away ) say 我有事离开了.| else say 我在这里.
$banmask
:返回被 BAN 人的mask.
$bits
:返回你所用的 MIRC 是32位的还是16位的程序.如果所用的是32位 MIRC 则返回32. 如果用的是16位的MIRC,则返回16.
$bnick
:返回被 BAN 人的名字.
$calc(operations)
:返回指定数字运算的结果.在MIRC里的数字运算必须用这函数.其功能象个计数器.

例:$calc(3.14159 * (2 ^ %x % 3) - ($ticks / (10000 + 1)))
$cb
:返回剪贴板里前256个字符的内容.
$cb(N)
:返回在剪贴板里文本行的长度,内容等等.
如:$cb(0) 返回在剪贴板里共有多少行.
$cb(0).len 返回在剪贴板里所有行的总长度.
$cb(1) 返回剪贴板里第一行的内容.
$cb(1).len 返回第一行的长度.
$chan
:返回触发这个事件的大窗的名字.
$chan(N/#)
:返回你当前所在所有频道的有关信息。道具: topic, mode, key, limit, ial
如果只指定一个数字 N .则返回第 N 个频道的名字.

$chan(0) 返回你进入了多少频道.
$chan(2) 返回你所在的第2个频道的名字.
$chan(2).key 返回你所在的第2个频道的房间密码.
$chan(2).ial returns $true if Internal Address List
contains addresses of all users on this
channel.
$chan(2).topic 返回你所在的第2个频道的 TOPIC.
$chan(2).mode 返回第2个频道的 MODE.也可以直接写频道名字.
$chan( #jgc&zd ).mode 返回 #jgc&zd 频道的mode.
$chr(N)
:返回ASCII数字 N 的字符.

例:$chr( 65 ) 返回 A ; A 的ASCII 值是 65 .
$chr( 42 ) 返回 * ; * 的ASCII 值是 42 .
$clevel
:返回事件被触发的规定等级。
$colour(name)
:返回指定颜色区名所用颜色的代号.颜色区名可以在 MIRC colour 窗口里看到.如果你设定窗口里文字(其区名为 own text)的颜色为红色.其颜色代号为 4.
$colour( own text ) 返回 4 .
$comchan(nick,N)
:返回你和 nick 同在一个频道的第N个频道的频道名字.

例：假设我在 #china , #coolboy , #jgc&zd , #sailing 而 xixio 在 #coolboy , #jgc&zd , #sailing
$comchan( xixio , 1 ) ;返回 #coolboy .
$comchan( xixio , 3 ) ;返回 #sailing .
$cos(N)
:返回 N 的余弦.
$count(string,substring)
:返回 substring 字符在 string 字符串中出现的次数.

例:$count( hello , el ) ; 返回 1 .因为在 hello 中只有1个el.
$count( hello , l ) ; 返回 2 .因为在 hello 中有2个 l .
$creq
:返回当前 /creq 的设置.也就是 DCC Options 对话框里 On chat request 部的设置.
$ctime
:返回当前系统的时间.其格式是 文本形式.( 你试试就知道了 )
$date
:返回当前日期,以 day/month/year 格式返回.如要用美国格式( month/day/year )可用 $adate 标识符.
$day
:返回当前日期.如: Monday, Tuesday,等等.
$ddename
:返回当前 DDE Service 的名字.
$deltok(text,N,C)
:从 text 中删除第 N 个 token.C 是ASCII,也就是 text 里的分隔符合.

例:$deltok(a.b.c.d,3,46) 返回 a.b.d
$dir[="Select a file"] <path and filename>
:会弹出一个完整目录和文件的对话框.

例:$dir "*.mp3" d:\ ; 会弹出一个选择文件的对话框.其默认文件
是 .mp3 默认路径是 d:\
$dlevel
:返回当前默认用户的等级.
$duration(N)
:返回指定秒数.其格式为: week/day/hour/minute/second .

例:$duration(160) ; 返回 2mins 40secs
$duration(12345) ; 返回 3hrs 25mins 45secs
$editbox(window)
:返回指定窗口中 editbox 里的文字.editbox 就是你跟别人聊天输入话的地方.

例:如果我在 #jgc&zd 频道的 editbox 里有 大家好 这3个字.
$editbox(#jgc&zd) ;返回 大家好 .
$email
:返回你在 MIRC Setup 对话框中 E-mail address 框里写的 e-mail.
$event
:返回被触发的事件名.

例:on 1:text:a:#:{
/msg #jgc&zd $event
}
则在 #jgc&zd 窗口里显示 text .因为这个被触发的事件是 text 事件.
$exists(filename)
:如果指定的文件存在则返回 $true .否则返回 $false.

例:$exists(c:\mirc\mirc.exe) ;如果存在则返回 $true.否则返回 $false.
$file(filename)
:返回指定文件的大小.
$file
:将弹出一个文件对话框.常用于 菜单中.

例:Play A Wave:/splay $file="Choose a wave!" c:\mywaves\*.wav
$filename
:返回文件名.
常用于 : on <level>:FILESENT:<filename[,filename]>:<commands>

例:on 1:FILESENT:*.txt:/msg $nick 我现在就传给你 $filename 文件.
$filtered
:返回执行 /filter 命令后共过滤出多少行.
$finddir(dir,wildcard,N,depth,command)
:搜索指定目录和子目录.返回与 wildcard 相匹配的第 N 个目录名.如果指定命令,则在找到与 wildcard 相匹配的目录后执行 command 命令.
dir :设置搜索路径.
wildcard :要查找的目录名,可以用通配符.
N :与 wildcard 相匹配的第 N 个目录名.
depth :搜索深度.如 depth 为1,则表示只搜索DIR下1级子目录.如为3,
则只能搜索到 DIR 下的3级子目录.

例:假设在我D盘上有这三个目录: d:\mirc_A^L^ ; d:\net\mirc_bot ; d:\net\mirc
$finddir( d:\,mirc*,1) ;则返回 d:\mirc_A^L^
$finddir( d:\,mirc*,2) ;则返回 d:\mirc_bot
$finddir( d:\,mirc*,3,1) ;则返回 d:\mirc_A^L^ .因为其设定搜索深度为
1级,而在那3个目录中只有 d:\mirc_A^L^其
为一级目录.
$findfile(dir,wildcard,N,depth,command)
:搜索自动目录里的文件.返回与 wildcard 相匹配的第 N 个文件.如果指定 command命令,则在找到与wildcard 相匹配的文件后执行 command 命令.

dir :设置搜索路径.
wildcard :要查找的文件名,可以用通配符.
N :与 wildcard 相匹配的第 N 个文件名.
depth :搜索深度.如 depth 为1,则表示只搜索DIR下1级子目录.
如为3,则只能搜索到 DIR 下的3级子目录.

例:
$findfile(c:\mirc,*.exe,1) 返回 c:\mirc\mirc.exe
$findtok(text,token,N,C)
:返回在text中第 N 个token的位置.如果你指定 N为0 ,则返回在 text 中有多少token.
C : 请参照 $addtok

例:$findtok(a.b.c.d,c,1,46) 返回 3,因为 C 在a.b.c.d 中处于第3个位
置.
$findtok(a.b.c.d,e,1,46) 返回 $null.因为在 text 里没有 e.
$fserv(N/nick)
:返回已打开的第 N 个DCC fserve 窗口名字.
道具: ip, status, cd

例:$fserv(0) 返回已打开 fserve 的总数.
$fserv(1) 返回第一个 fserve 的名字.
$fserv(1).cd 返回第一个 fserve 的当前目录.
$fserv(2).ip 返回第二个 fserve 的 IP.
$fulladdress
:返回某个用户的完整地址.象这样:nick!userid@host.domain.
$fulldate
:返回当前日期.其格式为: Wed Jun 26 21:41:02 1996
$get(N/nick)
:返回已打开的第 N 个 DCC Get 窗口名字.
道具: ip, status, file, path, size, rcvd, cps, pc

例:$get(0) 返回已打开 DCC get 的总数.
$get(2) 返回第2个DCC get 的用户名.
$get(2).rcvd 返回第2个 DCC get 的接收字节数.
$get(2).cps 返回第2个DCC get 传输速率
$get(3).pc 返回第3个DCC get 已传输完多少百分比.
$getdir
:返回在 DCC Option 对话框中 DCC get 项里指定的目录.
$getdir(filespec)
:返回 DCC get 指定文件的目录.

例:$getdir(*.txt) 返回: c:\mirc\text\
$gettok(text,N,C)
:返回在 text 中第 N 个 token.

例:$gettok(a.b.c.d.e,3,46) 返回 c .因为在 text 里第3个是 c .
$gettok(a.b.c.d.e,9,46) 返回 $null .因为 N ,超过 text 范围了.你
也可以指定范围:
$gettok(a.b.c.d.e,2-,46) 返回 b.c.d.e .2-表示第2个token 后面的
内容(包括第2个token)
$gettok(a.b.c.d.e,2-4,46) 返回第2个token 和第4个token 之间的内
容.
$group(N/#)
:返回在 script 里,一个组的名字或状况.
道具: status, name, fname

例:$group(0) 返回总共有多少组.
$group(1) 返回第一个组的名字.
$group(1).status 返回第一个组是 ON 还是 OFF.
$group(#test) 返回组 #test 是 ON 还是 OFF.
$group(#test).fname 返回组 #test 所在 script 的文件名.
$group(3).name 返回第3个组的名字.
$halted
:用来检查是否执行了 /halt 或 /haltdef .如果执行了,则返回 $true.否则返回 $false.
$hfile
:此标识符功能跟 $file 功能一样.只是显示方式不同而已.（水平方式）
$highlight
:返回在 perform 对话框里highlight单词.也就是如果有人打了这个单词.而你现在的 mirc 不处于当前活动程序时.在WIN任务框里的 mirc 图标会闪烁,来提醒你.一般情况下,highlinght 单词填自己的 nick . 这样一旦有人加你.你就可以知道了.

其设置在: MIRC 5.51 在 Mirc option 的 highlinght 项里.
MIRC 5.41 在 Mirc option 的 perform 项里.
$hnick
:返回被 dehelped/helped 的nick 名字.
$hnick(#,N/nick)
:返回在某个频道中第N个帮助者名字.

例:$hnick(#jgc&zd,0) 返回在 #jgc&zd 中需要帮助的总人数.
$hnick(#jgc&zd,1) 返回在 #jgc&zd 中第一个帮助者的名字.
$host
:返回你当前主机的名字.
$iaddress
:返回一个IP 地址.此标识符在执行 /dns 之后才会返回数值.

例:on 1:DNS:/notice IP: $iaddress则执行 /dns A^L^ 时.触发了 dns 事件.则显示 A^L^ 的IP 地址.
$ial
:如果 Interal Address List 已开启,则返回 $true ,否则返回 $false.
$ial(mask,N)
:返回在 Ineternal Address 列中,与 mask 相匹配的第N个地址.
道具: nick, user, host, addr

例:$ial(*!*@*.demon.co.uk,0) 返回与 *!*@*.demon.co.uk 相匹配地址的总
数.
$ial(*!*@*.demon.co.uk,3) 返回与 *!*@*.demon.co.uk 相匹配的所有地址中的第3个地址.
$ial(*!*@*.com,4).nick 返回与 *!*@*.com相匹配的第4个地址的 nick.即: ! 前那部分.
$ial(*!*@*.com,4).user 返回返回与 *!*@*.com相匹配的第4个地址的 user.即: ! 与 @之间的那部分.
$ialchan(mask,#,N)
:返回指定频道 internal Address 列中,与 mask 相匹配的第N个地址.这跟上面 $ial()标识符一样使用.
$idle
:返回你当前发呆的时间(与用 ctcp finger 返回的时间一样).
$ifmatch
:返回在 if-then-else 判断语句中相匹配的第一个参数.

例: if (text isin sometext) { ... }
/msg $chan $ifmatch ; 则会显示 text.因为text在sometext中有匹配的.所以 $ifmatch 返回第一个参数 text .

例:
if ( A^L^ isop #jgc&zd ) { ... }
/msg $chan $ifmatch ; 如果 A^L^ 在 #jgc&zd 中有帽子的.则 $ifmatch返回 A^L^ .如果没有帽子,则 $ifmatch 返回 $null 值.
$ignore(N)
:返回在 ignore list 中第N个地址.
$iif(C,T,F)
:判断条件语句 C 是真还是假,如果是真则返回 T,如果是假则返回 F.这跟 if-then-else 功能差不多.

例:$iif(1 == 2, yes, no) ;返回no
$iif(1 == 2, yes) ;返回 $null
$inmidi
:如果是一个 midi 文件,则立刻播放,并返回 $true.否则返回 $false.
此标识符常用在 on <level>:MIDIEND:<commands> 事件里,来判断所要播放的文件是否是 midi 文件.
$instok(text,token,N,C)
:把 token 插到 text 中第 N 个位置.

例:$instok(a.b.d,c,3,46) 返回 a.b.c.d
$instok(a.b.d,c,2,46) 返回 a.c.b.d
$instok(a.b.d,c,9,46) 返回 a.b.d.c
$int(N)
:返回一个浮点数的整数部分,但不进行四舍五入.

例:$int(3.14159) 返回 3
$int(3.74359) 返回 3
$inwave
:其功能跟 $inmidi 标识符一样.只是 $inwave 是检查 wave 文件的.
$ip
:返回你的IP地址.
$isalias(name)
:如果指定的一个 name是一个 alias 命令存在于你的 aliases or script 中则返回 $true , 反之则返回 $false.
道具: fname, alias

例:$isalias(join) 如果你有一个 /join 的 alias 命令,则返回 $true.
$isalias(join).fname 返回 /join 命令所在的 文件名.
$isalias(join).alias 返回 /join 命令的完整程序.
$isdde(name)
:如果指定的 DDE name 在使用,则返回 $true,反之则返回 $false.
$isdir(dirname)
:如果指定的目录存在则返回 $true ,反之则返回 $false.
$isfile(filename)
:如果指定的文件存在则返回 $true ,反之则返回 $false.
$istok(text,token,C)
:如果 token 存在于 text 中,则返回 $true , 反之则返回 $false.
$knick
:返回被 kick 人的名字.
$left(text,N)
:返回 text 中左边的 N 个字符.

例:$left(goodbye,4) 返回 good
$left(大家好,4) 返回 大家. 因为一个中文单词要占用2个英文字符的位置.所以 大家 2个中文单词占用了4个字符.
$len(text)
:返回 text 的长度.

例:$len(#mIRC) 返回 5
$len(大家好) 返回 6 .一个中文单词要占用2个英文字符的位置.
$level(address)
:如果在 remote users list 中找到匹配地址.则返回他的等级.

例:如果 A^L^!ok@mardam.demon.co.uk 等级为 =5,10,20,21,32 .
$level(*!*@mardam.demon.co.uk) 返回 =5,10,20,21,32
$lines(filename)
:返回指定文件中总的行数.

例:如果在 kicks.txt 中共有 7 行.则:$lines(c:\irc\kicks.txt) 返回 7
$link(N)
:返回 server Links 窗口中第 N 条.
道具: addr, ip, level, info

例:$link(0) 返回在 server links 窗口中总的 link 数.
$link(1).ip 返回在 server links 窗口中第 1 个link 的IP 地址.
$lower(text)
:把 text 转换成小写字母.

例:$lower(HELLO) 返回 hello
$ltimer
:返回 /timer 命令执行后,还剩下几次就要结束 /timer 命令.
$maddress
:如果触发事件的用户地址与 remote users list 中有相匹配的,则返回这用户的地址.

例:假设 A^L^ 在 remote users list 中为 =1000,50 : A^L^!good@*
如果 A^L^ 触发了一下事件:
on 1000:text:*:#{
/msg #jgc&zd $maddress
}
则会在 #jgc&zd 中显示 A^L^!good@*
$mask(address,type)
:返回指定 type 的一个 mask 地址.

例:$mask(nick!khaled@mardam.demon.co.uk,1) 返回*!*khaled@mardam.demon.co.uk
$mask(nick!khaled@mardam.demon.co.uk,2) 返回*!*@mardam.demon.co.uk
可指定 types :
type 返回的 mask
0 *!user@host.domain
1 *!*user@host.domain
2 *!*@host.domain
3 *!*user@*.domain
4 *!*@*.domain
5 nick!user@host.domain
6 nick!*user@host.domain
7 nick!*@host.domain
8 nick!*user@*.domain
9 nick!*@*.domain
$matchkey
:看例子来解释此标识符功能.

例:on 1:text:test:#:{
/msg #jgc&zd $matchkey
}
解释: 如果此事件被触发,则 $matchkey 返回触发此事件的匹配字符.即 test.因此 在 #jgc&zd 会显示 test.

on 1:text:test*:#:{
/msg #jgc&zd $matchkey
}
则会显示 test* .现在知道 $matchkey 标识符的功能了吗?
$matchtok(string,token,N,C)
:返回在 string 中第 N 次出现 token 的 tokens.

例:$matchtok(one two three, e, 0, 32) 返回 2.
$matchtok(one two three, e, 2, 32) 返回 three
如果你指定 N 为0 , 则返回与 token 相匹配的总数.
$matchtok(one two three, o, 1, 32) 返回 one .他先返回第1个相匹配的 string
$me
:返回你当前的 nickname.
$mid(text,S,N)
:返回在text 中从 S 位置开始的 N 个字符.

例:$mid(othello,3,4) 返回 hell
如果 N 为0,则返回从 S 位置开始到 text 结束的字符总数.
$mid(othello,3,0) 返回 5.
$mididir
:返回在 options 部分中 Sound Requests 对话框里的指定 MIDI 文件的路径.
$mircdir
:返回 MIRC 程序的当前目录.
$mircexe
:返回 MIRC exe 程序的完整路径和文件名.
$mircini
:返回主要的 .ini 文件.通常是 mirc.ini 文件.
$naddress
:返回的name address，也就是对方计算机的名字.常用在:on 1:dns:<command>
$network
:返回你当前所连接的 IRC Network 的名字.
$newnick
:此标识符用在 on <level>:NICK:<commands> 事件中.它返回的是一个新的nick.

例:on 1:nick:{
/msg #jgc&zd $newnick 这名字比 $nick 好听.
}
如果某人的原名是 tt , 现要改成 pp./nick pp
此命令触发了上面这个事件.则在 #jgc&zd 频道中会显示: pp 这名字比 tt 好听.
$nhnick(#,N/nick)
:返回在 # 频道中第 N 个非 helper 的名字.这要在支持 mode +h 的服务器上才有用.

例:$nhnick(#jgc&zd,0) 返回在 #jgc&zd 频道中非 helper 的总数.
$nhnick(#jgc&zd,1) 返回在 #jgc&zd 频道中第一个非 helper 的名字.
$nick
:返回触发这个事件的人的名字。
$nick(#,N/nick)
:返回在 # 频道中的 nickname list 框里第 N 个人的名字.

例:$nick(#jgc&zd,0) 返回在 #jgc&zd 频道中的人数.
$nick(#igc&zd,1) 返回在 #jgc&zd 频道中第一个人的名字.
$nofile(filename)
:从 filename 中分离出目录.返回分离出的目录.

例:$nofile(d:\net\mirc.exe) 返回 d:\net\
$nopath(filename)
:从 filename 中分离出文件名.返回分离出的文件名.

例:$nopath(c:\net\mirc.exe) 返回 mirc.exe
$nopnick(#,N/nick)
:返回在 # 频道中第 N 个没帽子的名字.

例:$nopnick(#jgc&zd,0) 返回在 #jgc&zd 频道中没帽子人的总数.
$nopnick(#jgc&zd,2) 返回在 #jgc&zd 频道中第 2个没帽子人的名字.
$notify(N/nick)
:返回在你 notify list 中第 N 个人的名字.notify list 中的名单可以在MIRC 工具栏中 address book 按钮.里面的 notify 项.
$numtok(text,C)
:返回在 text 中 token 的总数.

例:$numtok(a.b.c.d.e,46) 返回 5
$nvnick(#,N/nick)
:返回在 # 频道中第 N 个没有 贵宾帽 的人的名字.

例:$nvnick(#sailing,0) 返回在 #sailing 频道中没有贵宾帽的人的总数.
$nvnick(#sailing,3) 返回在 #sailing 频道中第 3 个没有贵宾帽的人的名字.
$online
:返回在 MIRC online timer 对话框中记录的时间.此对话框按 MIRC 工具栏 online timer按钮,就会弹出.此对话框用于记录你在聊天室的时间.
$opnick
:返回被 加帽子或摘帽子 的人的名字.一般用在:
on <level>:OP:<#[,#]>:<commands>
on <level>:DEOP:<#[,#]>:<commands>
$opnick(#,N/nick)
:返回在 # 频道中第 N 个有帽子的人的名字.

例:$opnick(#sailing,0) 返回在 #sailing 频道中有帽子人的总数.
$opnick(#sailing,2) 返回在 #sailing 频道中第2个有帽子人的名字.
$os
:返回使用操作系统的版本.其返回值为: 3.1, 95, 98, or NT. 3.1 表示: windows 3.1 95 表示: windows 95 98 表示: windows 98 NT 表示: windows NT

注: 16bit mIRC 只能判断出 3.1 和 95 .
$parmN
:$parm2 提取第一个空格与第2个空格之间的内容. $parm3 则提取第2个空格与第3个空格之间的内容. $parm4 .. 依次类推.

例:on 1:text:ok*:#:{
/msg #jgc&zd $parm2 , $parm3 , $parm4
}
如果打: ok very good !!则在 #jgc&zd 中会显示 very , good , !!
$port
:返回你当前连接服务器的端口值.一般 MIRC 设端口值为 6667
$portfree(N)
:如果当前端口值 N 没被使用则返回 $true.反之则返回 $false.
$pos(text,string,N)
:返回一个数字来指出在 text 中第 N 次出现 string 的位置.

例:$pos(hello there,e,1) 返回 2
$pos(hello there,e,2) 返回 9
$pos(hello there,a,1) 返回 $null

注: 如果N 为0,则返回 string 在 text 中出现几次.
$pos(hello there,e,0) 返回 3
$puttok(text,token,N,C)
:在 text 中把第 N 个token 换成新的 token .从而返回一个新的 text.

例:$puttok(a.b.c.d,e,2,46) 返回 a.e.c.d
$query(N/nick)
:返回第 N 个开你小窗的人的名字.
道具: address

例:$query(0) 返回你当前所开小窗的总数.
$query(2) 返回第2个小窗的人名.
$query(2).address 返回第2个小窗的人的地址.注:返回的这个地址有可能不
正确.
$raddress
:记录了dns的结果，如果dns失败，$raddress的返回值是$null
$rand(v1,v2)
:如果你指定 V1,V2 为数字,则它返回 V1与V2 之间的一个随机数字.
如果你指定 V1,V2 是字母,则它返回 V1与V2 之间的一个随机字母.

例:$rand(a,z) 返回在 a,b,c,...z 之间的一个随机字母.
$rand(A,Z) 返回在 A,B,C,...Z 之间的一个随机字母.( 是大写字母)
$rand(0,N) 返回在 0,1,2,...N 之间的一个随机数.
$read
:从一个文件中读取一行.

格式:$read [-ntl# -swtext] <filename>

例:/say $read c:\funny.txt
解释:从 c:\funny.txt 中随机读取一行.并通过 /say 命令来显示这行.

/say $read -l24 c:\funny.txt
解释:从 funny.txt 中读取第 24 行.并通过 /say 命令来显示这行.

/kick # $1 $read kicks.txt
解释: 从 kicks.txt 中随机读取一行.并通过 /kick 来显示.

/say $read -smirc info.txt
解释:从 info.txt 中读取第一个以 mirc 开头的行,并通过 /say 命令来显示这行.
如果在 info.txt 中的内容为:
aaaaaaaaaaaaa
mirc bbbbbbbb
fffffffffffff
则执行 /say $read -smirc info.txt 之后会显示 bbbbbbbbb

/say $read -w*help* help.txt
解释:从 help.txt 中读取第一个行中有 help 的那行.并通过 /say 命令来显示这行.
$readini
:从 ini 文件中读取一行.

格式:$readini <filename> <section> <item>

例:如 mirc.ini 文件里的内容为:
[channels]
n0=#AllNiteCafe
n1=#beginner
n2=#cafebleu Home away from home in cyberspace:-)
n3=#casual
n4=#chataway
[dirs]
logdir=logs\
senddir=d:\temp_2\

$readini mirc.ini channels n3 返回: #casual
$readini mirc.ini dirs logdir 返回: logs\
$remove(string,substring,...)
:返回从 string 中移去 substring 后的 string .

例:$remove(abcdefg,cd) 返回 abefg

允许从 string 中移去多个指定 substring .
例:$remove(abcdefg,a,c,e,g) 返回 bdf
$remtok(text,token,N,C)
:从 text 中移去 第 N 次出现的 token .

例:$remtok(a.b.c.d,b,1,46) 返回 a.c.d
$remtok(a.b.c.d,e,1,46) 返回 a.b.c.d
$remtok(a.c.c.d,c,3,46) 返回 a.c.c.d
$replace(string,substring,newstring,...)
:在 string 中把 substring 替换成 newstring .

例:$replace(abcdefg,cd,xyz) 返回 abxyzefg

你也可以指定多个替换值:
$replace(abcdefg,a,A,b,B,c,C,d,D) 返回: ABCDefg
$reptok(text,token,new,N,C)
:在 text 中把第 N 次出现的 token 替换成 new .

例:$reptok(a.b.c.d,b,e,1,46) 返回 a.e.c.d
$reptok(a.b.c.d,f,e,1,46) 返回 a.b.c.d
$reptok(a.b.a.c,a,e,2,46) 返回 a.b.e.c
$result
:储存了于 /return 命令返回的数值.
$rgb(name)
:返回指定系统颜色名的 RGB 值.你可以从下列中选系统颜色名:face, shadow, hilight, frame, and text.
$right(text,N)
:返回 text 右边 N 个字符.

例:$right(othello,5) 返回 hello
$right(你们好,2) 返回 好
$rnick(#,N/nick)
:返回在 # 频道中第 N 个即没 帽子,有没 help 和 贵宾帽的人的名字.
$round(N,D)
:返回保留 D 位小数的浮点数 N .注:有四舍五入的.

例:$round(3.14159,2) 返回 3.14
$round(3.14759,2) 返回 3.15
$script
:返回当前执行的 remote script 的文件名.有具体的路径.
$script(N/filename)
:返回第 N 个被按装的 script 文件名(有详细的路径).如果你指定文件名,
如果所指定文件不存在则返回 $null , 否则返回带有详细路径的文件名.

例:$script(0) 返回已按装 script 文件的总数.
$script(2) 返回第2个被按装的 script 文件名.
$script(moo.txt) 如果此文件不存在,则返回 $null.反之则返回带有详细
路径的 moo.txt.

注:此标识符不能用于返回 users 或 variables 文件.
$scriptdir
:返回当前执行 remote script 文件的路径.
$sdir[="Select a directory"] <path>
:弹出选择目录对话框.

例:/echo $sdir="Select a directory" d:\
从 Select a direct 对话框中选择目录.点击OK 后,会显示你所选的目录.
$send(N/nick)
:返回你打开的第 N 个 DCC send 窗口的 nick 名字.
道具: ip, status, file, path, size, sent, lra, cps, pc

例:$send(0) 返回打开 DCC send 窗口的总数.
$send(2) 返回第2个DCC send 窗口 nickname.
$send(2).sent 返回第2个DCC send 的字节数.
$send(2).lra 返回第2个DCC send 最后一个请求.
$send(3).pc 返回第3个DCC send 现传送完的百分比.
$send(3).status 返回第3个DCC send 的 active, inactive, or waiting
的状态.
$server
:返回你当前连接服务器的名字.如果你当前没有连接服务器.则返回 $null.

$server(N/address)
:返回在你 irc servers list 中第N个服务器的地址.
道具: desc, port, group

例:$server(0) 返回在 servers list 中服务器的总数.
$server(2) 返回第2个服务器的地址.
$server(2).desc 返回第2个服务器的种类.
$server(3).port 返回第3个服务器的端口.

注:在你的servers list中如果你指定一个服务器地址.则它将返回相关的信息.
$shortfn(filename)
:把长文件名改成DOS的8.3文件名格式.而此标识符只能运行在 32bit mIRC.在 16bitMIRC 里, 它还是返回原来的文件名.
$show
:如果在一个命令前加了一个 . ,则它返回 $false ,反正返回 $true .

例:/msg #jgc&zd $show ; 则 $show 返回 $true.
./msg #jgc&zd $show ; 则 $show 返回 $false.
$sin(N)
:返回 N 的正弦.
$site
:返回触发某事件人的 地址.但它只返回 @ 后面的地址.
$snick(#,N)
:返回在 # 频道中的 nickname list 框中已被选择了第 N 个人的名字.

例:$snick(#jgc&zd,0) 返回在#jgc&zd 频道中已被选择了的总数.
$snick(#jgc&zd,3) 返回在#jgc&zd 频道 nickname list 框中已被选择的
第3个人的名字.
$snicks
:返回在活动频道里当前选择人名,以串的形式返回. 格式如下:nick1,nick2,nick3,...,nickN
$snotify
:返回在 notify list 里当前选择的人名.
$sreq
:返回在 DCC Options send 对话框中 /sreq 的设置值.
$str(text,N)
:返回重复N次的 text.

例:$str(ho,3) returns hohoho
$strip(text)
:返回去除 粗体,下划线,反色,颜色 的字体修饰命令.也就是纯文字.
$tan(N)
:返回 N 的正切值.
$target
:返回触发事件的窗口名.也就是返回你在那个窗口触发此事件的.
$ticks
:返回你的 O/S 系统启动后,所设的记号数.
$time
:返回当前时间,格式: hour:minute:second
$timer(N/name)
:返回在 timer list 中第 N 个 timer 的 ID 值.这个ID值于 /timer 命令是相关的.如:/timer5 为第一个被执行的.则 $timer(1) 返回5.如果 /timer8 为第2个被执行的,则$timer(2) 返回8.
道具: com, time, reps, delay, type

例:$timer(0) 返回当前在执行 /timer 命令的总数.
$timer(1) 返回当前执行的第一个 /timer 命令的 ID.
$timer(1).com 返回当前执行的第一个 /timer 命令中所要执行的命令.
$timer(3).type 返回当前执行的第3个 /timer 命令的状态是 online/offline
$timestamp
:返回当前时间,格式: [xx:xx]
$ulevel
:返回当前触发事件人的等级.
$upper(text)
:返回 text 的大写字母.

例:$upper(hello) 返回 HELLO
$url
:返回当前 URL.
道具: desc, group

例:$url(0) 返回在 URL list 中的总数.
$url(2) 返回在 URL list 中第2个的地址.
$url(2).desc 返回在 URL list 中第2个的描述.
$url(3).group 返回在 URL list 中第3个的组名.
$version
:返回所用 mirc 的版本.
$vnick
:返回被 加贵宾帽子或摘贵宾帽子 的人的名字.一般用在 :
on <level>:voice:<#[,#]>:<commands>
on <level>:DEvoice:<#[,#]>:<commands>
$vnick(#,N/nick)
:返回在 # 频道中第 N 个有贵宾帽子的人的名字.

例:$vnick(#sailing,0) 返回在 #sailing 频道中有贵宾帽子的人的总数.
$vnick(#sailing,3) 返回在 #sailing 频道中第3个有贵宾帽子的人的名字.
$wavedir
:返回在 options 部分中 Sound Requests 对话框里的指定 WAVE 文件的路径.
$wildsite
:返回触发事件人的地址.格式为: *!*@host.domain.
$wildtok(tokens,wildstring,N,C)
:返回在 tokens 中第 N 个与wildstring 相匹配的 string.

例:$wildtok(one two three, t*, 0, 32) 返回 2
$wildtok(one two three, t*e, 1, 32) 返回 three

注:如果你指定 N 为0,则他返回在 tokens 中有多少与 wildstring 相匹配的.


Remote完全教程三

阅读次数：771
2000-09-08 13:48:20

第三篇 Remote 事件集

指定信息所用的通配符：
* 代表所有可能出现的字符（和dos的*一样）
& 代表所有单词
用一些标识符来更灵活的指定位置。
? 这个标识符代表任何小窗
# 代表任何大窗
* 表示任何大窗或者小窗
Action 事件
:Action事件的意思就是如果在你的大窗，或者小窗，或者别人的notice等等，出现你指定后，mIRC做出的反应。
格式：on 等级:TEXT:指定的信息:<*><?><#[,#]>:命令
例子：on 1:TEXT:*help*:#mirc,#irchelp:/msg $nick 有什么需要帮忙的吗？
这条remote的功能就是，如果有等级为1的用户(也就是所有用户)在#mirc或者 #irchelp这两个房间说了任何夹有help的话，你的mIRC就自动给这个用户发一小 窗信息：有什么需要帮忙吗？
这个例子实际上是TEXT事件的例子，我之所以讲先讲讲TEXT事件，是因为有几个事件和TEXT的模式完全一样。Action就是其中之一。
那么TEXT和Action有什么区别呢？还记得我前面讲过的/me命令吧，所谓Action 就是/me命令打出来的信息，如果你把上面的那个例子中间的TEXT改成Action， 那么这条remote命令的作用就是：如果有人在/me信息中夹带了help这个单词的 ，都给他发送一个小窗信息：有什么需要帮忙吗？ 所谓TEXT信息，就是直接说出来的信息，或者说就是用/say命令发出的信息。举一反三，NOTICE信息就是用/notice命令发出的信息。
当然，您可以在指定信息的时候，用到这两个通配符，比如：help* 意思就是所有以help开头的信息。*help意思是所有以help结尾的信息。*text* 就是所有中间 夹有help的信息。如果你什么通配符都不用，那么如果想触发你的remote事件，别人所发的信息必须完全匹配你指定的信息。所以这种不用通配符的text，action，notice多用来做密码或者命令，呵呵。
还一个问题，信息的位置怎么指定呢？是房间所说的话触发remote，还是小窗的触发，或者是什么别的地方的信息触发？在上个例子中，指定的是在#mirc和 #irchelp这两个房间。
当然，您也可以指定特定的大窗，比如上个例子中的#mirc和#irchelp这两个房间。再举一些例子：
例1:
on 1:TEXT:hello*:#:/msg $nick 欢迎来 $chan ，$nick!
这条remote的意思是，如果有人在任何大窗(也就是房间)说出hello这个单词， 你的mIRC会自动向这个人发送一条小窗信息：欢迎来 ***(他所假如的房间的名 字) ，***(他的名字)
例2:
on 1:TEXT:*蠢猪*:#:/kick # $nick 不许骂人
这条remote的意思是，如果有人在任何大窗中说了夹带着蠢猪二字的话，你的 MIRC就执行/kick $chan $nick不许骂人 这条命令，$chan表示发生这个事件的 大窗的名字，$nick表示触发这个事件的人的名字。
例3:
on 1:NOTICE:*:?:/msg $nick喂，用notice很吵人的，你知不知道？
这条remote的作用是如果有人在你的小窗用notice给你发信息，你的mIRC就给这个人的小窗发送：喂，用notice很吵人的，你知不知道？ 这样的信息。
在reomte中同样可以使用变量，
例4:
on 1:TEXT:%matchtext:%channel:/msg $nick你刚才在 %channel说了的变量是%matchtext和%matchchannel ，%matchtext记录别人所说的任何话， %matchchannel记录了说话的房间。记得变量前后都要空格。
注意：这些事件不能被自己触发，只能被别人触发。

BAN和UNBAN事件
:这个事件会由于房间里有人被ban而触发。
格式：on 等级:BAN:<#[,#]>:命令
例子：on 1:BAN:#mirc,#irchelp:/msg $nick对不起，$chan 不许ban人。
这个remote的意思是，如果有人在#mirc或者#irchelp里被ban了，你的mIRC会自动给被ban的人发一个小窗信息，对不起，#***(ban人的房间)不许ban人。$nick $chan说过多次，这儿我就不重复了，这些标识符我会详细讲解的。
例1:
on 9:BAN:#newbies:/mode $chan -o $nick | /mode $chan -b $banmask
这条remote的意思是，如果有人在#newbies ban了等级是9用户，您会自动减掉他的帽子(op)，当然，前提是你有帽子，然后unban被ban的用户。这个$banmask 标识符记录了被ban人的mask。
例2:
on 1:UNBAN:#:/msg $bnick 你被unban了。
这条remote的意思是在任何房间有人unban用户的话，你的mIRC会给被unban的用户发送一条msg信息：你被unban了$bnick这个标识符记录了被ban的用户的名字 ，也就是$banmask中的那个nickname，如果$banmask中没有nickname，那么 $bnick的值就等于标识符$null，$null标识符下面会讲到。
在等级这个概念中，您可以用到mIRC的运算符，这在讲等级的时候已经讲过了， 例3:：
on >=2:BAN:#mIRC:/msg $chan $nick 这个banmask: $banmask 不许ban！
这条remote的意思是，如果有人在#mIRC这个房间中ban了等级大于等于2的用户 ，你的mIRC会警告他，这个人不许ban！
每个events事件都可以象我讲的TEXT事件那样定义事件被触发的范围和用通配符指定信息。格式也都差不多，下面我就不罗嗦了。

CHAT和SERV事件
:这个事件会在一个指定信息发送到dcc chat或者fserve窗口的时候被触发。
格式：on 等级:CHAT:指定信息:命令
例1：
on 1:CHAT:*help*:/msg $nick怎么了?
这个例子的意思就是，如果有人在dcc窗口说了任何夹带着help的信息，你的 mIRC会自动给他发送一条小窗信息(query窗口)怎么了？ 如何指定信息，前面讲 过了，下面我就不再重复了。
例2：
on 1:CHAT:去死:/msg =$nick 你才要去死
这条remote的意思就是，如果有人在他跟你的DCC窗口打了"去死"两个字，你的mIRC就自动回答，你才要去死。$nick前面有个=号，加了等于号以后，你的回 复信息将回复到DCC窗口去，如果不加等号，则是一般的小窗，也就是用/query 命令开的窗。
SERV和CHAT的用法和格式完全一样。
例2:
on 1:SERV:bye:/msg =$nick 谢谢你能使用我的fserve，再见。
这条remote由fserve窗口的信息触发，如果有人打了bye，则在fserve窗口发送这样的信息：谢谢你能使用我的fserve，再见。

OPEN和CLOSE事件
:这两种事件会由于打开/关闭某个窗口而触发，就DCC窗口而言，就是当DCC CLOSED的时候，close事件被触发，DCC连接的时候，OPEN事件被触发。
格式： on 等级:OPEN或者CLOSE:<?|@|=|!|*>:命令
例1：
on 1:CLOSE:?:echo -s 关闭了 $target 的小窗。
这条remote的作用是，如果你关闭了某个人的小窗，在你mIRC的stats窗口会有显示，提示你关闭了谁的小窗。$taget标识符，记录了你打开，或关闭的窗口的 名字。
例2：
on 1:OPEN:=:/msg =$nick 你好，我马上来。
这条remote的意思就是，当一个dcc窗口连接后，mIRC向dcc窗口发送：你好，我马上来的信息。这儿的等号的意思，前面刚讲过，我不重复了。
例3:
on 1:CLOSE:=:/notice $me $nick关闭了dcc窗口。
这个事件在你的dcc窗口被关闭时触发，向你发送notice信息，提醒你对方关闭了dcc窗口，$me标识符记录你自己的名字(nickname)。
申明一下，=号是remote中标识符，代表dcc窗口，!号代表fserve窗口。
例4:
on 1:OPEN:!:/msg =$nick 欢迎来我的fserve
这条remote中用到了!号，所以，它的意思就是，当别人进入你的fserve时，你会在fserve窗口发送：欢迎来我的fserve这样的信息。fserve也是dcc，所以 =$nick表明向dcc窗口，在这个例子中，也就是fserve窗口发送信息。

CONNECT和DISCONNECT 事件
:connect事件在mIRC连接服务器后，motd信息显示完后，被触发。
格式： on 等级:CONNECT:命令
例1：
on 1:CONNECT:/join #services
使用这条remote后，你一连上服务器，就会自动加入到#services中去。connect 事件和options中的perform的功能是一样的。
disconnect事件在你断下服务器的时候触发。
例2:
on 1:DISCONNECT:/echo Disconnected from你在 $time从$server 断下来了。
这条remote使你一断下服务器就显示，你在***(时间)从*****(服务器地址) 断 下来了标识符$server记录当前服务器地址，标识符 $time记录当前时间。

CTCP事件
:ctcp在前面实际上已经讲了，如果您现在对remote有点明白了，就翻翻前面的东西，会明白的：）
例1：
ctcp 1:ping:*:/notice $nick ping什么ping，想打乒乓球吗，好吧，陪你玩玩 ，pong!
这条remote的作用是如果有人ping你，你会自动给这个人发个notice信息，ping 什么ping，想打乒乓球吗，好吧，陪你玩玩，pong!
另外，我还补充一点，如果你希望事件被触发有，执行多个命令，那么请用|号 ，将命令分开，和aliases一样，如果不明白，看看前面讲过的aliases，你也可 以在remote中用到你自己定义的aliases命令。

CTCPREPLY事件
:这个事件当用户给你发出一个你指定的ctcpreply信息后，被触发。
格式： on 等级:CTCPREPLY:指定信息:命令
例1：
on 1:CTCPREPLY:*mIRC*:/echo $nick用的 mIRC
如果用户给你一个ctcpreply信息中夹带有mIRC字样，你的mIRC就显示，**(发送 ctcpreply信息的人)用的mIRC。怎么指定信息，前面讲了。另外在remote中不管 是使用标识符还是变量，都要注意标识符和变量的前后空格。还有就是，on 等 级，事件名，指定范围，指定信息(如果有的话)和命令之间一定要用:(冒号)分 开，注意：是英文的冒号，不是中文的，所以如果您直接把我举的例子copy到您 的remote中去的话，可能会是无效的，要记得把中文:(冒号)改成英文的:(冒号) 。

DCCSERVER 事件
:这个事件在当别人企图连接你的dcc server的时候被触发，你可以利用这个事件 ，来过滤你的dcc，定义一个等级，如等级符合的用户，就接受他的连接请求， 反之，则用可以close命令关闭它。
格式： on 等级:DCCSERVER:Chat(或者Send，Fserve):命令
例1：
on >9:DCCSERVER:Chat:close -c $nick
如果有等级小于9的用户，如果dcc chat你，就会自动关闭他的窗口。
例2:
on 1:DCCSERVER:Send:if (.exe isin $filename) /halt
这条remote用到了if命令和isin运算符，mIRC除了一些数值运算符之外，还有很多字符串运算符，isin就是其中之一，isin的意思是** 包含在 **之中，.exe isin $filename的意思就是，如果所传的文件名中含有.exe字样的话（也就是说 执行文件）就执行/halt命令，#$fileserv记录了所传文件的名字，/halt命令将 停止别人连接你的dcc server。

OP和DEOP 事件
:这两个事件会在指定用户在指定channel被op(被加了帽子)或者deop(被脱了帽子 )时被触发。
格式： on 等级:OP:<#[,#]>:命令
例1：
on 1:OP:#services,#help:/msg $nick 请不要乱给帽子。
那么在#services和#help中op别人的人，都会收到你的/msg信息。
另外有个SERVEROP事件，用法跟op事件一样，只是触发的条件不同，serverop事件是在某个用户被server加了帽子后，才触发的，比如：chat.wol.com.cn set mode +o Cupid
例2：
on >9:OP:#:/mode $chan -o $opnick | /msg $nick 不要给他帽子!
如果有人在任何房间op了等级小于9的用户，你会自动deop他，并向op那个用户的人发送一个，不要给他帽子的信息。标识符$nick记录了给别人帽子的人名， $opnick标识符记录了被op者的名字。
例3:
on 1:DEOP:#services:/mode $chan +o $opnick
这条remote作用在于如果有人在#services被下了帽子，就重新给他帽子。
例4:
on 1:SERVEROP:#:/mode $chan -o $opnick
这条命令的意思是无论在那个房间，只要有人被server op了，就自动脱掉他的帽子.

VOICE和DEVIOCE 事件
:在一个被加了M的房间里，如果有人给用户加V或者减V，这个事件将被触发。
格式： on 等级:VOICE:<#[,#]>:命令
例1：
on 1:VOICE:#mIRC,#newbies:/msg $vnick 现在你可以在 $chan 说话了。
如果#mirc和#newbies两个房间被设置了加M，那么如果有人在这两个房间被加了V，你会给这个用户发送一条小窗信息(/msg)：你现在可以在$chan说话了， $chan记录事件发生的channel(房间)。
例2:
on 1:DEVOICE:#mIRC:/mode $chan +v $vnick
这是个devoice的例子，如果#mirc设置了加M，那么如果有人在#mirc被减了V，你会自动的重新给他加V，标识符$vnick记录了被加v或者减v的用户的名字 (nickname)。
例3:
on >=2:DEVOICE:#mIRC:/msg $chan $nick 给 $vnick 减了v(允许)
如果#mirc设置了加M，那么有人在#mirc devioce(减v)等级小于等于2用户，你会给这个房间发送一条信息，某人给某人减了v(允许)。标识符$nick记录了给别 人减v或者加v的人名(nick)，$vnick记录了被加v或者被减v的人名(nick)。这一 点跟op和deop事件相同。

DNS 事件
:当你dns用户(或者某个ip)成功，或者失败时，dns事件被触发。
格式： on 等级:DNS:命令
例1：
on 1:DNS:/notice $me dns确定为: $raddress
这条remote得意思是，如果您对某个用户(或者ip)dns的话(dns命令前面讲过了) ，dns的结果将会由notice命令给您发回来。标识符$raddress记录了dns的结果 ，如果dns失败，$raddress的返回值是$null。另外，跟dns相关的标识符还有 $nick，如果您运行/dns nick，那么$nick记录的就是您dns的人名，如果没有指 定名字，而是dns某个ip，那么$nick的返回值是$null；$iaddress记录你dns的 ip，$naddress记录返回的name address，也就是对方计算机的名字。如果没有 失败，返回值都是$null。

ERROR 事件
:这个事件会由于服务器向你发出一条错误信息时被触发，比如连接失败，或者你被kline啦，哈哈。
格式： on 等级:ERROR:指定信息:命令
例1：
on 1:ERROR:*server full*:/echo 这个服务器限定了人数。
这条remote在你被服务器禁止登录，并给出夹带有server full的信息时，echo 给你个这个服务器限定的人数的信息。另外，您可以用标识符$1-来记录服务器 给出的error信息。
如何指定信息，请看Action事件。

FILESENT和FILERCVD 事件
:filesent事件在dcc send成功后被触发，filercvd事件在你成功接到别人的dcc send后被触发。
格式： on 等级:FILESENT:文件名[,文件名]>:命令
例1：
on 1:FILESENT:*.txt:/msg $nick 我已经把 $filename 传给你了。
这条remote会在你成功给某人dcc send一个文件后，给他发一个小窗信息，我已经把某某文件传给你了，$nick记录了你发送文件的对象，$filename记录了你发 送文件名字。
例2:
on 1:FILESENT:*.txt,*.ini:/notice $nick $filename 发送成功。
这条remote在你给某个用户成功发送了某个后缀为txt和ini的文件后，会给接收者发送一条notice信息，某某文件发送成功，$filename记录所发的文件名，
例3:
on 1:FILERCVD:*.txt,*.ini:/echo $nick 给我的文件 $filename 已经传送完毕。
这条remote会在你成功接收到某人给你传送的文件后给你一个回显，告诉你传送成功。

SENDFAIL和GETFAIL 事件
:这两个事件格式和标识符都和上一个事件一样，触发条件则刚好相反，dcc传送失败，或者接收失败。
例1：
on 1:SENDFAIL:*.txt:/echo 文本文件 $filename 传给 $nick 的时候失败。
这条remote在你企图传送一个文本文件(*.txt)给某个用户失败时，回显失败信息。
例2:
on 1:GETFAIL:*.zip:/echo 从 $nick 处接收zip文件 $filename 失败。
这条remote在你企图接收某个zip文件失败时，回显失败信息。

INPUT 事件
:这个事件，在你键入某些字符并按下回车键以后被触发。
格式： on 等级:INPUT:<*#?@>(指定范围):命令
例1：
on 1:INPUT:#mIRC:/echo 我刚刚在#mirc键入了 " $1- "
这条remote使你每次在#mirc这个房间中键入的命令都被回显一次。注意，这个命令可以指定范围。$1-标识符记录了所有你键入的字符。

INVITE 事件
:这个事件在某人邀请(invite)你的时候发生。
格式： on 等级:INVITE:<#[,#](指定范围)>:命令
例1：
on 1:INVITE:#mIRC:/join $chan
当你被别人邀请时，这条remote会使你自动join被邀请进入的房间。标识符 $chan记录了被邀请进入的房间名。
例2:
on 2:INVITE:#:/join $chan | /timer 1 3 /describe $chan 的身影出现在一 片烟雾中。
当等级为2的用户邀请你时，你自动进入，并显示三次/me 的身影出现在一片烟雾中。

JOIN和PART 事件
:这两个事件在用户加入指定channel(房间)时被触发。
格式： on 等级:JOIN:#[,#](指定范围):命令
例1：
on 1:JOIN:#:/msg $nick 你好，欢迎来 #chan 聊天。
这条remote的作用是，只要有用户加入，就自动send他一个小窗信息，$nick记录了加入用户的名字，#chan记录他加入的房间名。
例2:
on 5:PART:#services,#help:/msg $nick 如果您有问题，欢迎再来 #chan 。
当等级为5的用户离开房间时，会发送给他一条小窗信息。

KICK 事件
:这个事件在用户被从某个房间踢出去时被触发。
格式： on 等级:KICK:#[,#](指定范围):命令
例1：
on 1:KICK:#services,#help:/msg $nick 不要踢人。
当用户被踢时，你的mirc会给他一个/msg不要踢人。$nick标识符记录了踢人者的名字。
例2:
on >=5:KICK:#:/invite $knick $chan | /msg $nick 喂, $knick 是我朋友， 不要踢他！
这条remote的作用是，当有人踢了等级大于等于5的用户，您的mIRC将自动邀请被踢的人重新加入房间，并向踢人者发送某某(被踢的用户)是我的朋友，不要踢 他的信息。

MIDIEND和WAVEEND 事件
:这两个事件在当midi和wave文件被mIRC播放完了被触发。
格式： on 等级:MIDIEND:命令
例1：
on 1:MIDIEND:/splay jazzy.mid
当一个midi文件播放完后，这条remote会自动开始播放jazzy.mid文件。
例2:
on 1:WAVEEND:/echo wav文件播放完毕!
当一个wav文件播放完以后，您的mirc会自动回显wav文件播放完毕的信息。

MODE和SERVERMODE 事件
:这个事件在用户改变房间的设置时被触发。
格式： on 等级:MODE:#[,#](指定范围):命令
例1：
on 1:MODE:#services,#help:/notice $me $nick改变了 $chan的设置：$1-
这条remote使#services每次设置的改动你的mIRC都将发个notice告诉你，$me标识符记录你自己的nickname，$chan标识符记录发生mode事件的房间名，$1-标识符记录房间设置的改动信息。
SERVERMODE的用法和MODE一模一样，只是触发条件是server改变房间的设置。
例2：
on @1:MODE:#:/notice $me $nick changed $chan mode to $1-
这个例子中，等级的前面有个@号，指定的范围是所有房间，但是加了@号后表示只有在你有帽子的房间的设置改变后，事件才会被触发。@号适用于所有remote 事件，加在等级的前面。

NICK 事件
:这个事件在用户改变他的名字(nick)的时候被触发。
格式：on 等级:NICK:命令
例1：
on 1:NICK:/msg $newnick 你改名字啦！
当用户改名字后，你会给他发一个msg，你改名字啦，标识符$newnick记录了用户的新名字。当然，用户必须和你在同一个房间，nick事件才能被触发，别的需 要有channel(房间)信息的event事件也一样。

NoSound 事件
:这个事件在某个用户播放某个声音文件，而你又没有的时候被触发。
格式：on 等级:NOSOUND:命令
例1：
on 1:NOSOUND:/msg $nick ! $+ $nick $filename
如果不记得打!nick 文件名就可以向别人发出传送你文件的请求的话，请看看前面对options菜单中sounds选项卡的描叙(当然，对方必须复选了listen for!nick file get request选项)。这里之所以要用到$+就是因为!和nick之间不能有空格。另外，$nick记录了播放声音的用户的名字，$filename记录了所播放声音文件的文件名。

NOTIFY和UNOTIFY 事件
:notify事件会因为您notify list中的用户连接上服务器而触发，unotify会因为 notify list中的用户退出服务器而触发。
格式： on 等级:NOTIFY:命令
例1：
on 1:NOTIFY:/notice $nick 嘿，想和我chat吗？我在这儿呢！
当notify list中的用户连接上服务器时，您的mIRC就会自动发给他一个notice 信息：嘿，想和我chat吗?我在这儿呢！ ，$nick记录了notify list中连接上当 前服务器的人名，如果您不记得notify了请看看前面对notify list的描叙。
UNOTIFY事件的格式和notify一样，只是触发条件完全相反。
例2:
on 1:UNOTIFY:/notice $me $nick 已经走了
当notify list中的用户离开服务器时，您的mIRC会给出一个notice信息。

QUIT 事件
:这个事件会由于某个用户退出服务器而触发。
格式： on 等级:QUIT:命令
例1：
on 5:QUIT:/notice $me $nick 走了，$1-
当等级为5的用户离开irc时，mIRC会给您发送一个notice，$nick记录离开的人名，$1-记录他离开时的信息。

SNOTICE 事件
:这个事件会在服务器发以个指定信息有被触发。
如果你希望接收到服务器传出的信息，请给自己加s(/mode您的名字 +s)，这个前面讲过了。
格式： on 等级:SNOTICE:指定信息:命令
例1：
on 1:SNOTICE:*irc operater*:/notice $me 注意，有个oper上来了。
当服务器传给你一个夹带有irc operater的信息时，mIRC会提醒你，注意：有个oper上来了。

TOPIC 事件
:这个事件在用户改变某个房间的topic的时候被触发。
格式：on 等级:TOPIC:#[,#](指定范围):命令
例1：
on >4:TOPIC:#help,#services:/msg $chan 嘿，$nick 不要改变这个房间的 topic！ 当等级小于4的用户改变#services或者#help的topic的时候，您的mIRC会向被改变topic的房间发送msg信息，$nick记录了改变topic的人名，$chan记录事件发生的房间。另外，您可以用$1-标识符记录新的topic。

USERMODE 事件
:这个事件在当你改变你自己的用户mode时候被触发。不同服务器软件，使用不用的用户mode，常见的有s，i等等。
格式： on 等级:USERMODE:命令
例1：
on 1:USERMODE:/echo 用户 $nick 的mode $1-
$nick记录了改变用户mode的人名，在这儿也就是你，$1-记录了mode改变的信息.


留言服务(MemoServ)命令

阅读次数：603
2000-09-08 13:38:34

昵称服务(NickServ)命令

--------------------------------------------------------------------------------
REGISTER 命令
【语法】
      /msg nickserv register <当前昵称的密码> [E-Mail地址]
【描述】
    用来注册当前你所使用的昵称，这样其他的用户就不能使用这个昵称了,除非你授予他/她权限在你的ACCESS列表。一但你的昵称被注册了，可以根据你的喜好使用SET命令或ACCESS命令来修改相应设置。请一定记住注册时的密码，这个密码在以后会经常用到。如果你忘记了密码，可以找系统管理员帮助你重新找回。
  * 在某些IRC服务器上在注册昵称时还要求你提供一个自己的E-Mail地址，以便在忘记密码时可以将密码邮到该信箱。
【举例】
    假设我现在的昵称是TigTag，那么我输入/msg nickserv register HdeestP double.j@ynmail.com，这样就会以Hdeestp这个密码将昵称TigTag注册了。

--------------------------------------------------------------------------------
IDENTIFY 命令
【语法】
      /msg nickserv identify <当前昵称的密码>
【描述】
    用来验证当前你所使用的昵称，通常是在你登录IRC服务器或者改名后需要使用。如果在规定的时间内没有输入正确的验证命令和密码，则会被强制更名或者被杀出服务器。
【举例】
    假设我现在的昵称是TigTag，输入/msg nickserv identify HdeestP，就会将TigTag这个昵称进行验证了。这里我的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。

--------------------------------------------------------------------------------
ACCESS 命令
【语法】
      /msg nickserv access <ADD | DEL | LIST> [地址掩码]
【描述】
    用于修改或者显示允许使用你当前这个昵称的地址列表。这里增加的网络地址掩码NickServ会自动识别，如果你在其他的网络地址中使用这个昵称，你仍然需要使用IDENTIFY命令让NickServ来识别您。
    地址掩码的格式是：userid@host.domain
【举例】
    /msg nickserv access add who@*.moodnet.org，这将允许在moodnet.org这个域里userid为who的人使用当前的这个昵称。
    /msg nickserv access del who@*.moodnet.org，这将删除上面所添加的这个ACCESS地址掩码。
    /msg nickserv access list，将列出允许使用你当前昵称的所有地址掩码。

--------------------------------------------------------------------------------
LINK 命令
【语法】
      /msg nickserv link <主力昵称> <主力昵称的密码>
【描述】
    用于链接当前昵称到你的主力昵称。一旦当你做了链接，如果使用ACCESS命令查看这个昵称的网络列表时，你会发现该昵称的访问列表将被删除，取而带之的是主力昵称的网络列表，而对于当前昵称的所有的留言信息都将被追加到主力昵称上(这将导致主力昵称的留言信息的最小限制被打破，所以需要你及时删除一些没用的留言)。
    一但这个链接被建立，你当前的这个昵称将同主力昵称一样被NickServ识别，除非你使用了NickServ的UNLINK或者DROP命令。
    例如：你可以使用其它的别名来读取自己的留言信息(别人发给您经过链接的其他昵称的信息，你都可以接收)。如果你现在的昵称经过验证了，那么其他昵称同样自动得到验证。如果你在某个频道里有权限，则也会同样得到识别。
    在使用这个命令前，你必须先使用IDENTIFY命令来认证当前的这个昵称。
【举例】
    使用命令/msg nickserv link TigTag Hdeestp，将把当前的昵称链接到主力昵称TigTag。这里TigTag的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。

--------------------------------------------------------------------------------
SET 命令
【语法】
      /msg nickserv set <选项> <相应参数>
【描述】
    用来对你的当前昵称进行一些设置。这些设置项目包括：
    Password　　用于改变当前昵称的密码
    Language　　用于选择使用何种语言(通过选择语言代码)让NickServ对该昵称发出信息
    URL　　　　 用于设置与当前昵称相关的主页地址，该地址可以在使用INFO命令时看到
    Email　　　 用于设置与当前昵称相关的电子信箱，该信箱可以在使用INFO命令时看到
    Kill　　　　用于设置对假冒用户的处理，使用的参数是“ON”、“QUICK”、“IMMED”和“OFF”。当选择“ON”打开这个开关时，如果有人想使用你的昵称，他/她将会被提示有1分钟的改名时间，如果到时他/她仍然没有改名，将会被NickServ强制杀出服务器。如果你选择了“QUICK”，他/她将会被提示有20秒改名时间；如果你选择了“IMMED”，则该用户将不会得到任何改名警告而被杀出服务器(请不要使用这个选择，除非你有特别的需要)
    Secure　　　用于打开或关闭NickServ的口令安全机制，使用的参数为“ON”或“OFF”。如果设置为“ON”，则无论当前昵称是否在ACCESS网络列表里，都需要通过输入密码来认证；如果当前昵称已经在ACCESS网络列表里，则即使设置了KILL选项，系统也不自动杀掉你
    Private　　 用于设置当别人使用/msg nickserv list命令时，是否隐藏你的注册信息。参数“ON”为是，“OFF”为否
    Hide　　　　用于设置当别人使用/msg nickserv info命令时，是否隐藏你的一部分信息。这些信息包括“Email”(电子邮件信息)、“UserMask”(网络地址信息)和“Quit”(最后退出时的信息)；使用参数“ON”为隐藏，参数“OFF”为不隐藏
【举例】
    更改密码：假设我现在的名字是TigTag，且已经通过了IDENTIFY验证，则使用/msg nickserv set password Kssoaqx命令可以将昵称密码改为Kssoaqx
    更改语种：假设系统提供了语言代码“1”为“简体中文”；代码“2”为“繁体中文”；代码“3”为“English”...，则使用命令/msg nickserv set language 2可以让NickServ以后使用繁体中文对当前昵称提供信息
    更改主页相关：/msg nickserv set url http://xirc.yeah.net/，这将把“http://xirc.yeah.net/”这个主页地址与当前昵称建立关联，这样别人就可以使用/msg nickserv info命令查看到了
    更改Email相关：/msg nickserv set email double.j@ynmail.com，这将把“double.j@ynmail.com”这个电子信箱与当前昵称建立关联，这样别人就可以使用/msg nickserv info命令查看到了
    限定假冒用户在60秒内更名：/msg nickserv set kill on
    打开NickServ的口令安全机制：/msg nickserv set secure on
    在LIST命令里隐藏注册信息：/msg nickserv set private on
    在INFO命令隐藏最网络地址信息：/msg nickserv set hide usermask on

--------------------------------------------------------------------------------
DROP 命令
【语法】
      /msg nickserv drop
【描述】
    用来注销当前你所使用的昵称，这样别人就可以使用这个昵称了。
    在使用该命令前，必须先通过IDENTIFY命令进行的验证。
【举例】
    /msg nickserv drop，这就将注销掉当前你所使用的这个昵称。

--------------------------------------------------------------------------------
RECOVER 命令
【语法】
      /msg nickserv recover <指定昵称> <该昵称的密码>
【描述】
    用于杀掉一个占用你昵称的人，该做法跟NickServ的自动杀保护是一样的。
    当您使用这个命令时，NickServ将假装成一个跟这个昵称一样的用户昵称，这样就导致服务器杀掉这个用户(或强制更名)。这个假装的用户将持续在线1分钟，防止那个用户的再次连接；一分钟以后，你就把你的昵称改变为该昵称了，但在这之前最好使用先使用一下RELEASE命令(/msg NickServ HELP RELEASE)释放掉开头设置的昵称占用。
  * 在使用RECOVER命令时你当前的网络地址必须在你的昵称的ACCESS网络列表里存在，而且你必须提供正确的密码。

--------------------------------------------------------------------------------
RELEASE 命令
【语法】
      /msg nickserv release <被占用的昵称> <该昵称的密码>
【描述】
    用于通知NickServ去掉因为使用RECOVER命令而占用的昵称，通常这种占用持续1分钟。
  * 在使用RELEASE命令时你当前的网络地址必须在你的昵称的ACCESS网络列表里存在，而且你必须提供正确的密码。

--------------------------------------------------------------------------------
UNLINK 命令
【语法】
      /msg nickserv link <昵称> <密码>
【描述】
    用于从你的链接列表里删除这个昵称。当这个昵称被删除后，主力昵称的一些标记和网络地址信息将被拷贝过来，这个昵称从此将独立存在。但留言信息不再拷贝过来，所有的留言信息将被存储在主力昵称那里。
    如果输入名字和口令参数，则删除跟你链接的其他名字。
    服务管理员可以不通过口令认证，取消一个用户的连接。

--------------------------------------------------------------------------------
GHOST 命令
【语法】
      /msg nickserv ghost <昵称> <密码>
【描述】
    用于杀掉一个一直占用你昵称的“鬼魂”。当您的“鬼魂”还连接在IRC服务器上时，系统会认为这个“鬼魂”一直在线，从而导致你无法使用这个昵称。
    产生这种“鬼魂”的原因通常是因为你不正常掉线了，而当你再次连接上来时，就发生了。
  * 在使用GHOST命令时你当前的网络地址必须在该“鬼魂”的ACCESS网络列别里存在。
【举例】
    杀掉“鬼魂”TigTag，使用命令/msg nickserv ghost TigTag HdeestP。这里TigTag的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。

--------------------------------------------------------------------------------
INFO 命令
【语法】
      /msg nickserv info <昵称> [All]
【描述】
    用于查看某个已注册昵称的信息，例如该昵称的主人、网络地址、电子信箱、最后一次退出的信息等。
  * 对于某些昵称，增加参数“All”可以获取更详细的信息。

--------------------------------------------------------------------------------
LIST 命令
【语法】
      /msg nickserv list <地址掩码>
【描述】
    用于根据指定的地址掩码列出相应的已注册昵称。地址掩码是按照“nick!userid@host.domain”的方式。
  * 如果用户设置了Private选项，则在这里将不显示他/她的注册信息。
【举例】
    /msg nickserv list *!*@61.128.*，将列出所有从61.128.*注册的昵称。
    /msg nickserv list *!bot@*，将列出所有userid是“bot”的昵称。
    /msg nickserv list *bot*!*@*，将列出所有包含“bot”字眼的昵称。

--------------------------------------------------------------------------------
STATUS 命令
【语法】
      /msg nickserv status <昵称1[,昵称2,...昵称16]>
【描述】
    用于查询指定昵称是否已得到验证，返回的格式是：
        昵称 状态代码
    “状态代码”的意思如下：
        0　　该昵称当前不在线，或者根本没有注册
        1　　该昵称尚未通过验证的
        2　　该昵称在对应的ACCESS网络列表中，但是没有通过验证
        3　　该昵称已经得到验证
  * 最多一次可以查询16个名字，多余部分将被忽略。
--------------------------------------------------------------------------------

频道服务(ChanServ)命令

--------------------------------------------------------------------------------
REGISTER 命令
【语法】
      /msg chanserv register <#频道名称> <频道密码> <对该频道的描述>
【描述】
    用来注册一个指定的频道。使用这个命令之前你必须先进入这个频道，并成为频道管理员，也就是我们通常说的有帽子；“频道密码”是为了便于验明身份来改变频道的设置；“对该频道的描述”是必须有的，用以说明这个频道研讨的主题。
    当你注册了这个频道，你就成了这个频道的“创始者”(Founder)。创始者可以改变频道的所有设置，当创始者进入频道，ChanServ将会自动给予创始者频道管理员的权限。使用ChanServ的ACCESS命令可以为其他用户增加访问权限。
  * 在注册频道之前，你必须先注册你的昵称。具体请参照NickServ的REGISTER命令
【举例】
    /msg chanserv register #Chat kksSed 随便聊吧，这样就将注册#Chat这个频道，密码是kksSed，相应的频道描述是随便聊吧。

--------------------------------------------------------------------------------
IDENTIFY 命令
【语法】
      /msg chanserv identify <#频道名称> <频道密码>
【描述】
    用来验证你是指定的频道的创始者(Founder)，ChanServ的很多命令都需要你事先使用它。
    这里的“频道密码”是你在使用REGISTER命令注册频道时所使用的密码。
【举例】
    /msg chanserv identify #Chat kksSed，这样就将把你验证成为频道#Chat的创始者。在这里我们所使用的密码是kksSed，即前面REGISTER命令示例时所提供的频道密码。

--------------------------------------------------------------------------------
SET 命令
【语法】
      /msg chanserv set <频道名称> <选项> <相应参数>
【描述】
    用来对指定频道进行一些设置(但在进行设置前必须使用ChanServ的IDENTIFY命令进行验证)。这些设置项目包括：
    Founder　　　设置频道的创始者(必须是一个已注册的昵称)
    Successor　　设置频道的继承人。如果频道创始者的名字被取消或者失效，而频道还在使用，这样继承人就会变成频道的创始者。但是，如果这个继承人已经注册了太多的频道(>=20)，这个频道将被取消，就跟没有继承人设置是一样的。
    Password　　 设置创始者的密码(或者说是更改频道的密码)
    Desc　　　　 更改对该频道的描述
    URL　　　　　设置与该频道相关的主页地址信息(可以使用/msg chanserv info命令查看到)
    Email　　　　设置与该频道相关的电子信箱信息(可以使用/msg chanserv info命令查看到)
    EntryMsg　　 设置当有用户进入该频道时，由频道对该用户发出的Notice信息。如果没有参数，将没有信息发给该用户。
    Topic　　　　设置该频道的主题
    KeepTopic　　设置当没有人在该频道时，是否记忆频道的主题，这样当下一次频道建立时会自动恢复成该主题。参数“ON”表示记忆，参数“OFF”表示不记忆。
    TopicLock　　是否锁定频道的主题。参数“ON”表示锁定，“OFF”表示不锁定。如果频道主题被锁定，则只有使用ChanServ的Set Topic命令才可以更改主题。
    mLock　　　　根据指定参数来锁定频道的模式，这些参数是以“+”号表示锁定，“-”表示不锁定，例如“+nt-iklms”；如果仅有一个“+”号而没有跟任何频道模式则表示不锁定频道的模式。(频道模式的含义请参照/MODE命令)
    Private　　　设置是否从ChanServ的LIST命令里隐藏该频道(使用/msg chanserv list命令时，如果不知道该频道的完整名称则无法看到该频道)；参数“ON”为隐藏，“OFF”为不隐藏。
    Restricted　 设置是否打开该频道的限制使用权。当Restricted被设置后，普通用户将被Kick和Ban出频道。这些普通用户包括级别是负数和不在访问权限列表中的用户。参数“ON”表示打开，“OFF”表示关闭。
    Secure　　　 设置是否打开该频道的安全特性。当Secure被设置后，只有已注册、并且使用IDENTIFY命令的用户才可以访问这个频道。参数“ON”表示打开，“OFF”表示关闭。
    SecureOPs　　设置是否打开该频道的安全管理员特性。当SecureOPs被设置后，没有在频道用户列表中的用户将不会有频道管理员权限(即不会得到帽子)。参数“ON”表示打开，“OFF”表示关闭。
    LeaveOPs　　 设置是否打开该频道的保留管理员特性。当LeaveOPs被设置后，将不会自动DEOP用户，除非有DEOP命令被使用。参数“ON”表示打开，“OFF”表示关闭。
    OPNotice　　 设置是否打开该频道的OP/DEOP通告。当OPNotice被设置后，只要有人在该频道使用了ChanServ的OP或者DEOP命令，ChanServ都将在该频道发送Notice通告。参数“ON”表示打开，“OFF”表示关闭。
【举例】
    更改频道创始者：/msg chanserv set #Chat founder 阿奔，这将把频道#Chat的创始者设置为阿奔
    设置频道继承人：/msg chanserv set #Chat successor FoOl_BoT，这将把频道#Chat的继承人设置为FoOl_BoT
    更改频道描述：/msg chanserv set #Chat desc Welcome to chat here，这将把频道#Chat的描述更改为Welcome to Chat Here
    更改主页相关：/msg chanserv set #Chat url http://xirc.yeah.net/，这将把频道#Chat的主页相关信息更改为http://xirc.yeah.net/
    更改Email相关：/msg chanserv set #Chat email double.j@ynmail.com，这将把频道#Chat的Email信息更改为double.j@ynmail.com
    设定EntryMsg：/msg chanserv set #Chat entrymsg Hi，#Chat的世界，就是任你天南地北侃大山的世界，这样当任何人进入频道#Chat时，都将收到由ChanServ发出的“Hi，#Chat的世界，就是任你天南地北侃大山的世界”这条Notice信息
    更改频道主题：/msg chanserv set #Chat topic To chat or not to chat, this is a question..，这将把频道#Chat的房间主题设置为为To chat or not to chat, this is a question..
    设置保留频道#Chat主题：/msg chanserv set #Chat keeptopic on
    锁定频道#Chat的主题：/msg chanserv set #Chat topiclock on
    锁定频道#Chat的模式为+nt-ilkmps：/msg chanserv set #Chat mlock +nt-ilkmps
    不再锁定频道#Chat的模式：/msg chanserv set #Chat mlock +
    在LIST命令里隐藏频道#Chat：/msg chanserv set #Chat private on
    不再限制频道#Chat的使用权：/msg chanserv set #Chat restricted off
    关闭频道#Chat的安全特性：/msg chanserv set #Chat secure off
    关闭频道#Chat的安全管理员特性：/msg chanserv set #Chat secureops off
    打开频道#Chat的保留管理员特性：/msg chanserv set #Chat leaveops on
    打开频道#Chat的OP/DEOP通告：/msg chanserv set #Chat opnotice on

--------------------------------------------------------------------------------
ACCESS 命令
【语法】
      /msg chanserv access <#频道名称> add <昵称> <级别>
      /msg chanserv access <#频道名称> del <昵称 | 权限访问列表行号>
      /msg chanserv access <#频道名称> list <昵称掩码 | 权限访问列表行号>
【描述】
    用来查看或者修改指定频道的访问权限列表。不同的级别有不同的权限，不在频道权限列表中的用户级别是0。按照ChanServ默认的设置，各种权限如下：
      10　　　可以使用AKICK命令；并在加入频道时自动获得频道管理权(即SOP、Super Operator)
       5　　　在加入频道时自动获得频道管理权(即AOP、Auto Operator)
       3　　　在加入频道时自动获得频道发言权(即VOP、Auto Voicer)
       0　　　没有指定权限(即普通用户)；可以被其他人给予@，但要保证SecureOPs没有设置
     < 0　　　不允许有权限@
    这些默认的权限级别也可以更改，参见LEVELS命令。
    ACCESS ADD命令是增加指定级别的用户名到频道权限列表中，如果用户名已经在频道列表中，则改变用户的访问级别（改变用户的级别时，不能输入高于自己级别的数值）。
    ACCESS DEL命令是从频道权限列表里删除指定的用户(可以直接指定用户名或权限访问列表里的行号)。
    ACCESS LIST命令则是列出指定频道的权限列表(可以使用通配符来指示昵称，也可以使用权限访问列表里的行号；如果什么都没有指定则列出频道的所有权限)。
【举例】
    /msg chanserv access #Chat add TigTag 10，这将把TigTag加入到频道#Chat的权限列表，并设置他的级别为10级(SOP)。
    /msg chanserv access #Chat del FoOl_BoT，这将把FoOl_BoT从频道#Chat的权限列表里删除。
    /msg chanserv access #Chat del 10-12，这将删除掉频道#Chat的权限列表里的第10-12项。
    /msg chanserv access #Chat list，这将列出频道#Chat的所有权限列表。
    /msg chanserv access #Chat list *t*，这将列出频道#Chat的权限列表里，包含字母“t”的昵称。

--------------------------------------------------------------------------------
LEVELS 命令
【语法】
      /msg chanserv levels <#频道名称> set <类别名称> <级别>
      /msg chanserv levels <#频道名称> <类别名称>
      /msg chanserv levels <#频道名称> list
      /msg chanserv levels <#频道名称> reset
【描述】
    LEVELS命令可以很好的通过数值来更改不同级别所对应的权限。使用这个命令，你可以重新定义ChanServ所提供的默认访问级别。
    可以通过LEVELS命令来更改的类别有：
      AutoOP　　　自动频道管理员(AOP)
      AutoVoice　 自动获取频道发言权(VOP)
      AutoDEOP　　自动去除频道管理员
      NoJoin　　　自动禁止加入该频道
      Invite　　　允许使用ChanServ的Invite命令
      Akick　　　 允许使用ChanServ的Akick命令
      Set　　　　 允许使用ChanServ的Set命令
      Clear　　　 允许使用ChanServ的Clear命令
      Unban　　　 允许使用ChanServ的Unban命令
      OPDEOP　　　允许使用ChanServ的OP/DEOP命令
      Acc-List　　允许查看该频道的权限访问列表
      Acc-Change　允许修改该频道的权限访问列表
      Memo　　　　允许查看或者阅读该频道的留言
    LEVELS SET命令可以改变上述类别所对应的权限级别。
    LEVELS DIS命令则可以禁止非创始者使用类别所对应的功能。
    LEVELS LIST命令可以查看指定类别所对应的级别。
    LEVELS RESET命令则可以重置上述所有类别到默认设置。
【举例】
    /msg chanserv levels #Chat dis acc-list，这将禁止非创始者查看频道#Chat的权限访问列表。
    /msg chanserv levels #Chat disable set，这将禁止非创始者在频道#Chat使用ChanServ的Set命令。
    /msg chanserv levels #Chat set autovoice 0，这将设置频道#Chat的VOP级别为0，即普通用户的级别，这样任何人进入该频道都将被自动+v了。
    /msg chanserv levels #Chat list，可以查看频道#Chat的各类别所对应的级别。
    /msg chanserv levels #Chat reset，重置频道#Chat的所有类别到默认设置。

--------------------------------------------------------------------------------
AKICK 命令
【语法】
      /msg chanserv akick <#频道名称> add <昵称 | 地址掩码> [原因]
      /msg chanserv akick <#频道名称> del <昵称 | 地址掩码>
      /msg chanserv akick <#频道名称> list [地址掩码]
      /msg chanserv akick <#频道名称> view [地址掩码]
      /msg chanserv akick <#频道名称> enforce
      /msg chanserv akick <#频道名称> clear
【描述】
    用于查看或修改指定频道的自动踢列表。一旦有符合自动踢列表的人加入该频道，都将被ChanServ自动Kick和Ban。
    AKICK ADD命令可以增加一个昵称或地址到自动踢列表里，并可以指定踢他/她的原因。
    AKICK DEL命令可以从自动踢列表删除指定的昵称或者地址掩码；但已经被BAN了的地址仍然需要被手工删除。
    AKICK LIST命令可以查看指定频道的自动踢列表，并可以指定地址掩码以查看对应的信息。
    AKICK VIEW命令是AKICK LIST更进一步的命令。
    AKICK ENFORCE命令则是通知ChanServ立即执行自动踢，将踢出指定频道里当前所有符合自动踢列表项的用户。
    AKICK CLEAR命令可以清空指定频道的自动踢列表。
【举例】
    /msg chanserv akick #Chat add *bot*!*@* 禁止BOT入内，这将把“*bot*!*@*”这个地址加入频道#Chat的自动踢列表；这样当昵称中包含“bot”字样的人进入该频道时都将被自动踢出并+b，理由是“禁止BOT入内”
    /msg chanserv akick #Chat del *bot*!*@*，这将从频道#Chat的自动踢列表里删除掉“*bot*!*@*”这个自动踢列表项
    /msg chanserv akick #Chat list，这将列出频道#Chat的所有自动踢列表项
    /msg chanserv akick #Chat clear，这将清除掉频道#Chat的所有自动踢列表项

--------------------------------------------------------------------------------
CLEAR 命令
【语法】
      /msg chanserv clear <#频道名称> <频道设置>
【描述】
    用于清除指定频道的设置，这些设置包括：
      Modes　　　复位所有频道模式(例如：清除模式i、k、l、m、n、p、s、t)
      Bans　　　 清除频道所有禁止(Ban)信息
      OPs　　　　摘掉频道里所有的帽子
      Voices　　 去掉频道里所有的发言权
      Users　　　踢走频道里所有的人
【举例】
    /msg chanserv clear #Chat modes，这将复位频道#Chat的模式。
    /msg chanserv clear #Chat bans，这将清除掉频道#Chat里所有被禁止了的地址。

--------------------------------------------------------------------------------
DROP 命令
【语法】
      /msg chanserv drop <#频道名称>
【描述】
    用来注销指定的频道。
    只有频道的创始者可以使用该命令，而且在使用前还必须通过ChanServ的频道验证。
【举例】
    /msg chanserv drop #Chat，这将注销掉频道#Chat

--------------------------------------------------------------------------------
INFO 命令
【语法】
      /msg chanserv info <#频道名称>
【描述】
    用来查看指定频道的信息。包括频道创始者、注册时间、最后使用时间、频道描述和模式锁等。
【举例】
    /msg chanserv info #Chat，将可以查看到频道#Chat的相关信息

--------------------------------------------------------------------------------
LIST 命令
【语法】
      /msg chanserv list <关键字>
【描述】
    根据关键字列出相应的已注册定频道，关键字可以使用通配符。
  * 如果某个频道设置了Private选项，则在这里将看不到该频道。
【举例】
    /msg chanserv list #C*，将列出所有以#C打头的频道

--------------------------------------------------------------------------------
INVITE 命令
【语法】
      /msg chanserv invite <#频道名称>
【描述】
    用于让ChanServ邀请你到指定的频道。但默认情况下，只有在该频道权限大于0级别的用户才可以使用。
【举例】
    /msg chanserv invite #Chat，这将让ChanServ邀请你到频道#Chat

--------------------------------------------------------------------------------
OP 命令
【语法】
      /msg chanserv op <#频道名称> <昵称>
【描述】
    用于在指定频道给指定用户频道管理权限(帽子)。默认情况下，只有在该频道权限大于5级别的用户才可以使用。
【举例】
    /msg chanserv op #Chat TigTag，这将让ChanServ在频道#Chat给TigTag帽子

--------------------------------------------------------------------------------
DEOP 命令
【语法】
      /msg chanserv deop <#频道名称> <昵称>
【描述】
    用于在指定频道去掉指定用户的频道管理权限(帽子)。默认情况下，只有在该频道权限大于5级别的用户才可以使用。
【举例】
    /msg chanserv deop #Chat TigTag，这将让ChanServ在频道#Chat摘掉TigTag的帽子

--------------------------------------------------------------------------------
UNBAN 命令
【语法】
      /msg chanserv unban <#频道名称>
【描述】
    用于通知ChanServ取消所有因为Ban而阻止你进入该频道的设置。默认情况下，只有在该频道权限大于0级别的用户可以使用。
【举例】
    /msg chanserv unban #Chat，这将让ChanServ在频道#Chat取消所有对你设置的BAN

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

留言服务(MemoServ)命令

--------------------------------------------------------------------------------
LIST 命令
【语法】
      /msg memoserv list [#频道名称] [留言序号 | 留言序号范围 | new]
【描述】
    用来列出当前你或者指定频道所收到的留言。
    参数“new”则表示列出所有未阅读过的留言。
【举例】
    /msg memoserv list 1-2，将列出你当前的第1-2条留言
    /msg memoserv list new，将列出你当前尚未阅读过的所有留言
    /msg memoserv list #Chat 1，将列出频道#Chat的第一条留言

--------------------------------------------------------------------------------
SEND 命令
【语法】
      /msg memoserv send <昵称 | #频道名称> <留言内容>
【描述】
    用来给一个已注册昵称或者频道发送留言。
【举例】
    /msg memoserv send TigTag Hello, 最近还好吧？，这样就给TigTag发送了个留言，内容是“Hello, 最近还好吧？”
    /msg memoserv send #Chat 这是谁的频道？，这样就给频道#Chat发送了个留言，内容是“这是谁的频道？”

--------------------------------------------------------------------------------
READ 命令
【语法】
      /msg memoserv read [#频道名称] <留言序号 | 留言序号范围 | last | new>
【描述】
    用来阅读当前你或者指定频道所收到的留言。
    参数“new”表示阅读最新的一条留言。
    参数“new”表示依次阅读所有未阅读过的留言。
【举例】
    /msg memoserv read 2，表示阅读当前你的第二条留言
    /msg memoserv read #Chat 2-5，表示阅读频道#Chat的第2-5条留言
    /msg memoserv read last，表示阅读当前你收到的最后一条留言
    /msg memoserv read new，表示依次阅读当前你尚未阅读过的所有留言

--------------------------------------------------------------------------------
DEL 命令
【语法】
      /msg memoserv del [#频道名称] <选项> <相应参数>
【描述】
    用来删除掉当前昵称或者指定频道所接收到的留言。
    参数“All”则表示删除所有的留言。
【举例】
    /msg memoserv del 5，可以删除掉你当前的第5条留言
    /msg memoserv del all，可以删除掉你已经接收到的所有留言
    /msg memoserv del #Chat 3-5，可以删除掉频道#Chat的第3-5条留言

--------------------------------------------------------------------------------
SET 命令
【语法】
      /msg memoserv set <留言选项> <相应参数>
【描述】
    用来设置各种留言选项，这些选项包括：
      Notify　　　用于改变新留言到来时的通知类型(仅针对昵称的留言)。参数“ON”表示当你登录到你的名字时、当你取消AWAY状态时以及当新留言被发送时，MemoServ都将通知你；参数“LOGON”表示当你登录到你的名字时和当你取消AWAY状态时被通知；参数“NEW”表示当有新留言到来时被通知；参数“OFF”则表示不通知有留言信息。
      Limit　　　 用于设置你或者是指定频道的最大留言条目数，如果设置成0，则别人将无法给你发送留言。最大留言条目数不能大于系统规定的20条。
【举例】
    /msg memoserv set notify off，将关闭掉自己有新留言时的通告
    /msg memoserv set limit #Chat 5，限制频道#Chat所能接收的最大留言条目为5条

--------------------------------------------------------------------------------
    P.S: 在很多IRC服务网络上，/msg nickserv、/msg chanserv和/msg memoserv命令都分别可以用/ns、/cs和/ms来代替。

【返回】


频道服务（ChanServ）命令

阅读次数：878
2000-09-08 13:37:42

昵称服务(NickServ)命令

--------------------------------------------------------------------------------
REGISTER 命令
【语法】
      /msg nickserv register <当前昵称的密码> [E-Mail地址]
【描述】
    用来注册当前你所使用的昵称，这样其他的用户就不能使用这个昵称了,除非你授予他/她权限在你的ACCESS列表。一但你的昵称被注册了，可以根据你的喜好使用SET命令或ACCESS命令来修改相应设置。请一定记住注册时的密码，这个密码在以后会经常用到。如果你忘记了密码，可以找系统管理员帮助你重新找回。
  * 在某些IRC服务器上在注册昵称时还要求你提供一个自己的E-Mail地址，以便在忘记密码时可以将密码邮到该信箱。
【举例】
    假设我现在的昵称是TigTag，那么我输入/msg nickserv register HdeestP double.j@ynmail.com，这样就会以Hdeestp这个密码将昵称TigTag注册了。

--------------------------------------------------------------------------------
IDENTIFY 命令
【语法】
      /msg nickserv identify <当前昵称的密码>
【描述】
    用来验证当前你所使用的昵称，通常是在你登录IRC服务器或者改名后需要使用。如果在规定的时间内没有输入正确的验证命令和密码，则会被强制更名或者被杀出服务器。
【举例】
    假设我现在的昵称是TigTag，输入/msg nickserv identify HdeestP，就会将TigTag这个昵称进行验证了。这里我的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。

--------------------------------------------------------------------------------
ACCESS 命令
【语法】
      /msg nickserv access <ADD | DEL | LIST> [地址掩码]
【描述】
    用于修改或者显示允许使用你当前这个昵称的地址列表。这里增加的网络地址掩码NickServ会自动识别，如果你在其他的网络地址中使用这个昵称，你仍然需要使用IDENTIFY命令让NickServ来识别您。
    地址掩码的格式是：userid@host.domain
【举例】
    /msg nickserv access add who@*.moodnet.org，这将允许在moodnet.org这个域里userid为who的人使用当前的这个昵称。
    /msg nickserv access del who@*.moodnet.org，这将删除上面所添加的这个ACCESS地址掩码。
    /msg nickserv access list，将列出允许使用你当前昵称的所有地址掩码。

--------------------------------------------------------------------------------
LINK 命令
【语法】
      /msg nickserv link <主力昵称> <主力昵称的密码>
【描述】
    用于链接当前昵称到你的主力昵称。一旦当你做了链接，如果使用ACCESS命令查看这个昵称的网络列表时，你会发现该昵称的访问列表将被删除，取而带之的是主力昵称的网络列表，而对于当前昵称的所有的留言信息都将被追加到主力昵称上(这将导致主力昵称的留言信息的最小限制被打破，所以需要你及时删除一些没用的留言)。
    一但这个链接被建立，你当前的这个昵称将同主力昵称一样被NickServ识别，除非你使用了NickServ的UNLINK或者DROP命令。
    例如：你可以使用其它的别名来读取自己的留言信息(别人发给您经过链接的其他昵称的信息，你都可以接收)。如果你现在的昵称经过验证了，那么其他昵称同样自动得到验证。如果你在某个频道里有权限，则也会同样得到识别。
    在使用这个命令前，你必须先使用IDENTIFY命令来认证当前的这个昵称。
【举例】
    使用命令/msg nickserv link TigTag Hdeestp，将把当前的昵称链接到主力昵称TigTag。这里TigTag的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。

--------------------------------------------------------------------------------
SET 命令
【语法】
      /msg nickserv set <选项> <相应参数>
【描述】
    用来对你的当前昵称进行一些设置。这些设置项目包括：
    Password　　用于改变当前昵称的密码
    Language　　用于选择使用何种语言(通过选择语言代码)让NickServ对该昵称发出信息
    URL　　　　 用于设置与当前昵称相关的主页地址，该地址可以在使用INFO命令时看到
    Email　　　 用于设置与当前昵称相关的电子信箱，该信箱可以在使用INFO命令时看到
    Kill　　　　用于设置对假冒用户的处理，使用的参数是“ON”、“QUICK”、“IMMED”和“OFF”。当选择“ON”打开这个开关时，如果有人想使用你的昵称，他/她将会被提示有1分钟的改名时间，如果到时他/她仍然没有改名，将会被NickServ强制杀出服务器。如果你选择了“QUICK”，他/她将会被提示有20秒改名时间；如果你选择了“IMMED”，则该用户将不会得到任何改名警告而被杀出服务器(请不要使用这个选择，除非你有特别的需要)
    Secure　　　用于打开或关闭NickServ的口令安全机制，使用的参数为“ON”或“OFF”。如果设置为“ON”，则无论当前昵称是否在ACCESS网络列表里，都需要通过输入密码来认证；如果当前昵称已经在ACCESS网络列表里，则即使设置了KILL选项，系统也不自动杀掉你
    Private　　 用于设置当别人使用/msg nickserv list命令时，是否隐藏你的注册信息。参数“ON”为是，“OFF”为否
    Hide　　　　用于设置当别人使用/msg nickserv info命令时，是否隐藏你的一部分信息。这些信息包括“Email”(电子邮件信息)、“UserMask”(网络地址信息)和“Quit”(最后退出时的信息)；使用参数“ON”为隐藏，参数“OFF”为不隐藏
【举例】
    更改密码：假设我现在的名字是TigTag，且已经通过了IDENTIFY验证，则使用/msg nickserv set password Kssoaqx命令可以将昵称密码改为Kssoaqx
    更改语种：假设系统提供了语言代码“1”为“简体中文”；代码“2”为“繁体中文”；代码“3”为“English”...，则使用命令/msg nickserv set language 2可以让NickServ以后使用繁体中文对当前昵称提供信息
    更改主页相关：/msg nickserv set url http://xirc.yeah.net/，这将把“http://xirc.yeah.net/”这个主页地址与当前昵称建立关联，这样别人就可以使用/msg nickserv info命令查看到了
    更改Email相关：/msg nickserv set email double.j@ynmail.com，这将把“double.j@ynmail.com”这个电子信箱与当前昵称建立关联，这样别人就可以使用/msg nickserv info命令查看到了
    限定假冒用户在60秒内更名：/msg nickserv set kill on
    打开NickServ的口令安全机制：/msg nickserv set secure on
    在LIST命令里隐藏注册信息：/msg nickserv set private on
    在INFO命令隐藏最网络地址信息：/msg nickserv set hide usermask on

--------------------------------------------------------------------------------
DROP 命令
【语法】
      /msg nickserv drop
【描述】
    用来注销当前你所使用的昵称，这样别人就可以使用这个昵称了。
    在使用该命令前，必须先通过IDENTIFY命令进行的验证。
【举例】
    /msg nickserv drop，这就将注销掉当前你所使用的这个昵称。

--------------------------------------------------------------------------------
RECOVER 命令
【语法】
      /msg nickserv recover <指定昵称> <该昵称的密码>
【描述】
    用于杀掉一个占用你昵称的人，该做法跟NickServ的自动杀保护是一样的。
    当您使用这个命令时，NickServ将假装成一个跟这个昵称一样的用户昵称，这样就导致服务器杀掉这个用户(或强制更名)。这个假装的用户将持续在线1分钟，防止那个用户的再次连接；一分钟以后，你就把你的昵称改变为该昵称了，但在这之前最好使用先使用一下RELEASE命令(/msg NickServ HELP RELEASE)释放掉开头设置的昵称占用。
  * 在使用RECOVER命令时你当前的网络地址必须在你的昵称的ACCESS网络列表里存在，而且你必须提供正确的密码。

--------------------------------------------------------------------------------
RELEASE 命令
【语法】
      /msg nickserv release <被占用的昵称> <该昵称的密码>
【描述】
    用于通知NickServ去掉因为使用RECOVER命令而占用的昵称，通常这种占用持续1分钟。
  * 在使用RELEASE命令时你当前的网络地址必须在你的昵称的ACCESS网络列表里存在，而且你必须提供正确的密码。

--------------------------------------------------------------------------------
UNLINK 命令
【语法】
      /msg nickserv link <昵称> <密码>
【描述】
    用于从你的链接列表里删除这个昵称。当这个昵称被删除后，主力昵称的一些标记和网络地址信息将被拷贝过来，这个昵称从此将独立存在。但留言信息不再拷贝过来，所有的留言信息将被存储在主力昵称那里。
    如果输入名字和口令参数，则删除跟你链接的其他名字。
    服务管理员可以不通过口令认证，取消一个用户的连接。

--------------------------------------------------------------------------------
GHOST 命令
【语法】
      /msg nickserv ghost <昵称> <密码>
【描述】
    用于杀掉一个一直占用你昵称的“鬼魂”。当您的“鬼魂”还连接在IRC服务器上时，系统会认为这个“鬼魂”一直在线，从而导致你无法使用这个昵称。
    产生这种“鬼魂”的原因通常是因为你不正常掉线了，而当你再次连接上来时，就发生了。
  * 在使用GHOST命令时你当前的网络地址必须在该“鬼魂”的ACCESS网络列别里存在。
【举例】
    杀掉“鬼魂”TigTag，使用命令/msg nickserv ghost TigTag HdeestP。这里TigTag的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。

--------------------------------------------------------------------------------
INFO 命令
【语法】
      /msg nickserv info <昵称> [All]
【描述】
    用于查看某个已注册昵称的信息，例如该昵称的主人、网络地址、电子信箱、最后一次退出的信息等。
  * 对于某些昵称，增加参数“All”可以获取更详细的信息。

--------------------------------------------------------------------------------
LIST 命令
【语法】
      /msg nickserv list <地址掩码>
【描述】
    用于根据指定的地址掩码列出相应的已注册昵称。地址掩码是按照“nick!userid@host.domain”的方式。
  * 如果用户设置了Private选项，则在这里将不显示他/她的注册信息。
【举例】
    /msg nickserv list *!*@61.128.*，将列出所有从61.128.*注册的昵称。
    /msg nickserv list *!bot@*，将列出所有userid是“bot”的昵称。
    /msg nickserv list *bot*!*@*，将列出所有包含“bot”字眼的昵称。

--------------------------------------------------------------------------------
STATUS 命令
【语法】
      /msg nickserv status <昵称1[,昵称2,...昵称16]>
【描述】
    用于查询指定昵称是否已得到验证，返回的格式是：
        昵称 状态代码
    “状态代码”的意思如下：
        0　　该昵称当前不在线，或者根本没有注册
        1　　该昵称尚未通过验证的
        2　　该昵称在对应的ACCESS网络列表中，但是没有通过验证
        3　　该昵称已经得到验证
  * 最多一次可以查询16个名字，多余部分将被忽略。
--------------------------------------------------------------------------------

频道服务(ChanServ)命令

--------------------------------------------------------------------------------
REGISTER 命令
【语法】
      /msg chanserv register <#频道名称> <频道密码> <对该频道的描述>
【描述】
    用来注册一个指定的频道。使用这个命令之前你必须先进入这个频道，并成为频道管理员，也就是我们通常说的有帽子；“频道密码”是为了便于验明身份来改变频道的设置；“对该频道的描述”是必须有的，用以说明这个频道研讨的主题。
    当你注册了这个频道，你就成了这个频道的“创始者”(Founder)。创始者可以改变频道的所有设置，当创始者进入频道，ChanServ将会自动给予创始者频道管理员的权限。使用ChanServ的ACCESS命令可以为其他用户增加访问权限。
  * 在注册频道之前，你必须先注册你的昵称。具体请参照NickServ的REGISTER命令
【举例】
    /msg chanserv register #Chat kksSed 随便聊吧，这样就将注册#Chat这个频道，密码是kksSed，相应的频道描述是随便聊吧。

--------------------------------------------------------------------------------
IDENTIFY 命令
【语法】
      /msg chanserv identify <#频道名称> <频道密码>
【描述】
    用来验证你是指定的频道的创始者(Founder)，ChanServ的很多命令都需要你事先使用它。
    这里的“频道密码”是你在使用REGISTER命令注册频道时所使用的密码。
【举例】
    /msg chanserv identify #Chat kksSed，这样就将把你验证成为频道#Chat的创始者。在这里我们所使用的密码是kksSed，即前面REGISTER命令示例时所提供的频道密码。

--------------------------------------------------------------------------------
SET 命令
【语法】
      /msg chanserv set <频道名称> <选项> <相应参数>
【描述】
    用来对指定频道进行一些设置(但在进行设置前必须使用ChanServ的IDENTIFY命令进行验证)。这些设置项目包括：
    Founder　　　设置频道的创始者(必须是一个已注册的昵称)
    Successor　　设置频道的继承人。如果频道创始者的名字被取消或者失效，而频道还在使用，这样继承人就会变成频道的创始者。但是，如果这个继承人已经注册了太多的频道(>=20)，这个频道将被取消，就跟没有继承人设置是一样的。
    Password　　 设置创始者的密码(或者说是更改频道的密码)
    Desc　　　　 更改对该频道的描述
    URL　　　　　设置与该频道相关的主页地址信息(可以使用/msg chanserv info命令查看到)
    Email　　　　设置与该频道相关的电子信箱信息(可以使用/msg chanserv info命令查看到)
    EntryMsg　　 设置当有用户进入该频道时，由频道对该用户发出的Notice信息。如果没有参数，将没有信息发给该用户。
    Topic　　　　设置该频道的主题
    KeepTopic　　设置当没有人在该频道时，是否记忆频道的主题，这样当下一次频道建立时会自动恢复成该主题。参数“ON”表示记忆，参数“OFF”表示不记忆。
    TopicLock　　是否锁定频道的主题。参数“ON”表示锁定，“OFF”表示不锁定。如果频道主题被锁定，则只有使用ChanServ的Set Topic命令才可以更改主题。
    mLock　　　　根据指定参数来锁定频道的模式，这些参数是以“+”号表示锁定，“-”表示不锁定，例如“+nt-iklms”；如果仅有一个“+”号而没有跟任何频道模式则表示不锁定频道的模式。(频道模式的含义请参照/MODE命令)
    Private　　　设置是否从ChanServ的LIST命令里隐藏该频道(使用/msg chanserv list命令时，如果不知道该频道的完整名称则无法看到该频道)；参数“ON”为隐藏，“OFF”为不隐藏。
    Restricted　 设置是否打开该频道的限制使用权。当Restricted被设置后，普通用户将被Kick和Ban出频道。这些普通用户包括级别是负数和不在访问权限列表中的用户。参数“ON”表示打开，“OFF”表示关闭。
    Secure　　　 设置是否打开该频道的安全特性。当Secure被设置后，只有已注册、并且使用IDENTIFY命令的用户才可以访问这个频道。参数“ON”表示打开，“OFF”表示关闭。
    SecureOPs　　设置是否打开该频道的安全管理员特性。当SecureOPs被设置后，没有在频道用户列表中的用户将不会有频道管理员权限(即不会得到帽子)。参数“ON”表示打开，“OFF”表示关闭。
    LeaveOPs　　 设置是否打开该频道的保留管理员特性。当LeaveOPs被设置后，将不会自动DEOP用户，除非有DEOP命令被使用。参数“ON”表示打开，“OFF”表示关闭。
    OPNotice　　 设置是否打开该频道的OP/DEOP通告。当OPNotice被设置后，只要有人在该频道使用了ChanServ的OP或者DEOP命令，ChanServ都将在该频道发送Notice通告。参数“ON”表示打开，“OFF”表示关闭。
【举例】
    更改频道创始者：/msg chanserv set #Chat founder 阿奔，这将把频道#Chat的创始者设置为阿奔
    设置频道继承人：/msg chanserv set #Chat successor FoOl_BoT，这将把频道#Chat的继承人设置为FoOl_BoT
    更改频道描述：/msg chanserv set #Chat desc Welcome to chat here，这将把频道#Chat的描述更改为Welcome to Chat Here
    更改主页相关：/msg chanserv set #Chat url http://xirc.yeah.net/，这将把频道#Chat的主页相关信息更改为http://xirc.yeah.net/
    更改Email相关：/msg chanserv set #Chat email double.j@ynmail.com，这将把频道#Chat的Email信息更改为double.j@ynmail.com
    设定EntryMsg：/msg chanserv set #Chat entrymsg Hi，#Chat的世界，就是任你天南地北侃大山的世界，这样当任何人进入频道#Chat时，都将收到由ChanServ发出的“Hi，#Chat的世界，就是任你天南地北侃大山的世界”这条Notice信息
    更改频道主题：/msg chanserv set #Chat topic To chat or not to chat, this is a question..，这将把频道#Chat的房间主题设置为为To chat or not to chat, this is a question..
    设置保留频道#Chat主题：/msg chanserv set #Chat keeptopic on
    锁定频道#Chat的主题：/msg chanserv set #Chat topiclock on
    锁定频道#Chat的模式为+nt-ilkmps：/msg chanserv set #Chat mlock +nt-ilkmps
    不再锁定频道#Chat的模式：/msg chanserv set #Chat mlock +
    在LIST命令里隐藏频道#Chat：/msg chanserv set #Chat private on
    不再限制频道#Chat的使用权：/msg chanserv set #Chat restricted off
    关闭频道#Chat的安全特性：/msg chanserv set #Chat secure off
    关闭频道#Chat的安全管理员特性：/msg chanserv set #Chat secureops off
    打开频道#Chat的保留管理员特性：/msg chanserv set #Chat leaveops on
    打开频道#Chat的OP/DEOP通告：/msg chanserv set #Chat opnotice on

--------------------------------------------------------------------------------
ACCESS 命令
【语法】
      /msg chanserv access <#频道名称> add <昵称> <级别>
      /msg chanserv access <#频道名称> del <昵称 | 权限访问列表行号>
      /msg chanserv access <#频道名称> list <昵称掩码 | 权限访问列表行号>
【描述】
    用来查看或者修改指定频道的访问权限列表。不同的级别有不同的权限，不在频道权限列表中的用户级别是0。按照ChanServ默认的设置，各种权限如下：
      10　　　可以使用AKICK命令；并在加入频道时自动获得频道管理权(即SOP、Super Operator)
       5　　　在加入频道时自动获得频道管理权(即AOP、Auto Operator)
       3　　　在加入频道时自动获得频道发言权(即VOP、Auto Voicer)
       0　　　没有指定权限(即普通用户)；可以被其他人给予@，但要保证SecureOPs没有设置
     < 0　　　不允许有权限@
    这些默认的权限级别也可以更改，参见LEVELS命令。
    ACCESS ADD命令是增加指定级别的用户名到频道权限列表中，如果用户名已经在频道列表中，则改变用户的访问级别（改变用户的级别时，不能输入高于自己级别的数值）。
    ACCESS DEL命令是从频道权限列表里删除指定的用户(可以直接指定用户名或权限访问列表里的行号)。
    ACCESS LIST命令则是列出指定频道的权限列表(可以使用通配符来指示昵称，也可以使用权限访问列表里的行号；如果什么都没有指定则列出频道的所有权限)。
【举例】
    /msg chanserv access #Chat add TigTag 10，这将把TigTag加入到频道#Chat的权限列表，并设置他的级别为10级(SOP)。
    /msg chanserv access #Chat del FoOl_BoT，这将把FoOl_BoT从频道#Chat的权限列表里删除。
    /msg chanserv access #Chat del 10-12，这将删除掉频道#Chat的权限列表里的第10-12项。
    /msg chanserv access #Chat list，这将列出频道#Chat的所有权限列表。
    /msg chanserv access #Chat list *t*，这将列出频道#Chat的权限列表里，包含字母“t”的昵称。

--------------------------------------------------------------------------------
LEVELS 命令
【语法】
      /msg chanserv levels <#频道名称> set <类别名称> <级别>
      /msg chanserv levels <#频道名称> <类别名称>
      /msg chanserv levels <#频道名称> list
      /msg chanserv levels <#频道名称> reset
【描述】
    LEVELS命令可以很好的通过数值来更改不同级别所对应的权限。使用这个命令，你可以重新定义ChanServ所提供的默认访问级别。
    可以通过LEVELS命令来更改的类别有：
      AutoOP　　　自动频道管理员(AOP)
      AutoVoice　 自动获取频道发言权(VOP)
      AutoDEOP　　自动去除频道管理员
      NoJoin　　　自动禁止加入该频道
      Invite　　　允许使用ChanServ的Invite命令
      Akick　　　 允许使用ChanServ的Akick命令
      Set　　　　 允许使用ChanServ的Set命令
      Clear　　　 允许使用ChanServ的Clear命令
      Unban　　　 允许使用ChanServ的Unban命令
      OPDEOP　　　允许使用ChanServ的OP/DEOP命令
      Acc-List　　允许查看该频道的权限访问列表
      Acc-Change　允许修改该频道的权限访问列表
      Memo　　　　允许查看或者阅读该频道的留言
    LEVELS SET命令可以改变上述类别所对应的权限级别。
    LEVELS DIS命令则可以禁止非创始者使用类别所对应的功能。
    LEVELS LIST命令可以查看指定类别所对应的级别。
    LEVELS RESET命令则可以重置上述所有类别到默认设置。
【举例】
    /msg chanserv levels #Chat dis acc-list，这将禁止非创始者查看频道#Chat的权限访问列表。
    /msg chanserv levels #Chat disable set，这将禁止非创始者在频道#Chat使用ChanServ的Set命令。
    /msg chanserv levels #Chat set autovoice 0，这将设置频道#Chat的VOP级别为0，即普通用户的级别，这样任何人进入该频道都将被自动+v了。
    /msg chanserv levels #Chat list，可以查看频道#Chat的各类别所对应的级别。
    /msg chanserv levels #Chat reset，重置频道#Chat的所有类别到默认设置。

--------------------------------------------------------------------------------
AKICK 命令
【语法】
      /msg chanserv akick <#频道名称> add <昵称 | 地址掩码> [原因]
      /msg chanserv akick <#频道名称> del <昵称 | 地址掩码>
      /msg chanserv akick <#频道名称> list [地址掩码]
      /msg chanserv akick <#频道名称> view [地址掩码]
      /msg chanserv akick <#频道名称> enforce
      /msg chanserv akick <#频道名称> clear
【描述】
    用于查看或修改指定频道的自动踢列表。一旦有符合自动踢列表的人加入该频道，都将被ChanServ自动Kick和Ban。
    AKICK ADD命令可以增加一个昵称或地址到自动踢列表里，并可以指定踢他/她的原因。
    AKICK DEL命令可以从自动踢列表删除指定的昵称或者地址掩码；但已经被BAN了的地址仍然需要被手工删除。
    AKICK LIST命令可以查看指定频道的自动踢列表，并可以指定地址掩码以查看对应的信息。
    AKICK VIEW命令是AKICK LIST更进一步的命令。
    AKICK ENFORCE命令则是通知ChanServ立即执行自动踢，将踢出指定频道里当前所有符合自动踢列表项的用户。
    AKICK CLEAR命令可以清空指定频道的自动踢列表。
【举例】
    /msg chanserv akick #Chat add *bot*!*@* 禁止BOT入内，这将把“*bot*!*@*”这个地址加入频道#Chat的自动踢列表；这样当昵称中包含“bot”字样的人进入该频道时都将被自动踢出并+b，理由是“禁止BOT入内”
    /msg chanserv akick #Chat del *bot*!*@*，这将从频道#Chat的自动踢列表里删除掉“*bot*!*@*”这个自动踢列表项
    /msg chanserv akick #Chat list，这将列出频道#Chat的所有自动踢列表项
    /msg chanserv akick #Chat clear，这将清除掉频道#Chat的所有自动踢列表项

--------------------------------------------------------------------------------
CLEAR 命令
【语法】
      /msg chanserv clear <#频道名称> <频道设置>
【描述】
    用于清除指定频道的设置，这些设置包括：
      Modes　　　复位所有频道模式(例如：清除模式i、k、l、m、n、p、s、t)
      Bans　　　 清除频道所有禁止(Ban)信息
      OPs　　　　摘掉频道里所有的帽子
      Voices　　 去掉频道里所有的发言权
      Users　　　踢走频道里所有的人
【举例】
    /msg chanserv clear #Chat modes，这将复位频道#Chat的模式。
    /msg chanserv clear #Chat bans，这将清除掉频道#Chat里所有被禁止了的地址。

--------------------------------------------------------------------------------
DROP 命令
【语法】
      /msg chanserv drop <#频道名称>
【描述】
    用来注销指定的频道。
    只有频道的创始者可以使用该命令，而且在使用前还必须通过ChanServ的频道验证。
【举例】
    /msg chanserv drop #Chat，这将注销掉频道#Chat

--------------------------------------------------------------------------------
INFO 命令
【语法】
      /msg chanserv info <#频道名称>
【描述】
    用来查看指定频道的信息。包括频道创始者、注册时间、最后使用时间、频道描述和模式锁等。
【举例】
    /msg chanserv info #Chat，将可以查看到频道#Chat的相关信息

--------------------------------------------------------------------------------
LIST 命令
【语法】
      /msg chanserv list <关键字>
【描述】
    根据关键字列出相应的已注册定频道，关键字可以使用通配符。
  * 如果某个频道设置了Private选项，则在这里将看不到该频道。
【举例】
    /msg chanserv list #C*，将列出所有以#C打头的频道

--------------------------------------------------------------------------------
INVITE 命令
【语法】
      /msg chanserv invite <#频道名称>
【描述】
    用于让ChanServ邀请你到指定的频道。但默认情况下，只有在该频道权限大于0级别的用户才可以使用。
【举例】
    /msg chanserv invite #Chat，这将让ChanServ邀请你到频道#Chat

--------------------------------------------------------------------------------
OP 命令
【语法】
      /msg chanserv op <#频道名称> <昵称>
【描述】
    用于在指定频道给指定用户频道管理权限(帽子)。默认情况下，只有在该频道权限大于5级别的用户才可以使用。
【举例】
    /msg chanserv op #Chat TigTag，这将让ChanServ在频道#Chat给TigTag帽子

--------------------------------------------------------------------------------
DEOP 命令
【语法】
      /msg chanserv deop <#频道名称> <昵称>
【描述】
    用于在指定频道去掉指定用户的频道管理权限(帽子)。默认情况下，只有在该频道权限大于5级别的用户才可以使用。
【举例】
    /msg chanserv deop #Chat TigTag，这将让ChanServ在频道#Chat摘掉TigTag的帽子

--------------------------------------------------------------------------------
UNBAN 命令
【语法】
      /msg chanserv unban <#频道名称>
【描述】
    用于通知ChanServ取消所有因为Ban而阻止你进入该频道的设置。默认情况下，只有在该频道权限大于0级别的用户可以使用。
【举例】
    /msg chanserv unban #Chat，这将让ChanServ在频道#Chat取消所有对你设置的BAN

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

留言服务(MemoServ)命令

--------------------------------------------------------------------------------
LIST 命令
【语法】
      /msg memoserv list [#频道名称] [留言序号 | 留言序号范围 | new]
【描述】
    用来列出当前你或者指定频道所收到的留言。
    参数“new”则表示列出所有未阅读过的留言。
【举例】
    /msg memoserv list 1-2，将列出你当前的第1-2条留言
    /msg memoserv list new，将列出你当前尚未阅读过的所有留言
    /msg memoserv list #Chat 1，将列出频道#Chat的第一条留言

--------------------------------------------------------------------------------
SEND 命令
【语法】
      /msg memoserv send <昵称 | #频道名称> <留言内容>
【描述】
    用来给一个已注册昵称或者频道发送留言。
【举例】
    /msg memoserv send TigTag Hello, 最近还好吧？，这样就给TigTag发送了个留言，内容是“Hello, 最近还好吧？”
    /msg memoserv send #Chat 这是谁的频道？，这样就给频道#Chat发送了个留言，内容是“这是谁的频道？”

--------------------------------------------------------------------------------
READ 命令
【语法】
      /msg memoserv read [#频道名称] <留言序号 | 留言序号范围 | last | new>
【描述】
    用来阅读当前你或者指定频道所收到的留言。
    参数“new”表示阅读最新的一条留言。
    参数“new”表示依次阅读所有未阅读过的留言。
【举例】
    /msg memoserv read 2，表示阅读当前你的第二条留言
    /msg memoserv read #Chat 2-5，表示阅读频道#Chat的第2-5条留言
    /msg memoserv read last，表示阅读当前你收到的最后一条留言
    /msg memoserv read new，表示依次阅读当前你尚未阅读过的所有留言

--------------------------------------------------------------------------------
DEL 命令
【语法】
      /msg memoserv del [#频道名称] <选项> <相应参数>
【描述】
    用来删除掉当前昵称或者指定频道所接收到的留言。
    参数“All”则表示删除所有的留言。
【举例】
    /msg memoserv del 5，可以删除掉你当前的第5条留言
    /msg memoserv del all，可以删除掉你已经接收到的所有留言
    /msg memoserv del #Chat 3-5，可以删除掉频道#Chat的第3-5条留言

--------------------------------------------------------------------------------
SET 命令
【语法】
      /msg memoserv set <留言选项> <相应参数>
【描述】
    用来设置各种留言选项，这些选项包括：
      Notify　　　用于改变新留言到来时的通知类型(仅针对昵称的留言)。参数“ON”表示当你登录到你的名字时、当你取消AWAY状态时以及当新留言被发送时，MemoServ都将通知你；参数“LOGON”表示当你登录到你的名字时和当你取消AWAY状态时被通知；参数“NEW”表示当有新留言到来时被通知；参数“OFF”则表示不通知有留言信息。
      Limit　　　 用于设置你或者是指定频道的最大留言条目数，如果设置成0，则别人将无法给你发送留言。最大留言条目数不能大于系统规定的20条。
【举例】
    /msg memoserv set notify off，将关闭掉自己有新留言时的通告
    /msg memoserv set limit #Chat 5，限制频道#Chat所能接收的最大留言条目为5条

--------------------------------------------------------------------------------
    P.S: 在很多IRC服务网络上，/msg nickserv、/msg chanserv和/msg memoserv命令都分别可以用/ns、/cs和/ms来代替。


昵称服务（NickServ）命令

阅读次数：679
2000-09-08 13:36:39

昵称服务(NickServ)命令

--------------------------------------------------------------------------------
REGISTER 命令
【语法】
      /msg nickserv register <当前昵称的密码> [E-Mail地址]
【描述】
    用来注册当前你所使用的昵称，这样其他的用户就不能使用这个昵称了,除非你授予他/她权限在你的ACCESS列表。一但你的昵称被注册了，可以根据你的喜好使用SET命令或ACCESS命令来修改相应设置。请一定记住注册时的密码，这个密码在以后会经常用到。如果你忘记了密码，可以找系统管理员帮助你重新找回。
  * 在某些IRC服务器上在注册昵称时还要求你提供一个自己的E-Mail地址，以便在忘记密码时可以将密码邮到该信箱。
【举例】
    假设我现在的昵称是TigTag，那么我输入/msg nickserv register HdeestP double.j@ynmail.com，这样就会以Hdeestp这个密码将昵称TigTag注册了。

--------------------------------------------------------------------------------
IDENTIFY 命令
【语法】
      /msg nickserv identify <当前昵称的密码>
【描述】
    用来验证当前你所使用的昵称，通常是在你登录IRC服务器或者改名后需要使用。如果在规定的时间内没有输入正确的验证命令和密码，则会被强制更名或者被杀出服务器。
【举例】
    假设我现在的昵称是TigTag，输入/msg nickserv identify HdeestP，就会将TigTag这个昵称进行验证了。这里我的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。

--------------------------------------------------------------------------------
ACCESS 命令
【语法】
      /msg nickserv access <ADD | DEL | LIST> [地址掩码]
【描述】
    用于修改或者显示允许使用你当前这个昵称的地址列表。这里增加的网络地址掩码NickServ会自动识别，如果你在其他的网络地址中使用这个昵称，你仍然需要使用IDENTIFY命令让NickServ来识别您。
    地址掩码的格式是：userid@host.domain
【举例】
    /msg nickserv access add who@*.moodnet.org，这将允许在moodnet.org这个域里userid为who的人使用当前的这个昵称。
    /msg nickserv access del who@*.moodnet.org，这将删除上面所添加的这个ACCESS地址掩码。
    /msg nickserv access list，将列出允许使用你当前昵称的所有地址掩码。

--------------------------------------------------------------------------------
LINK 命令
【语法】
      /msg nickserv link <主力昵称> <主力昵称的密码>
【描述】
    用于链接当前昵称到你的主力昵称。一旦当你做了链接，如果使用ACCESS命令查看这个昵称的网络列表时，你会发现该昵称的访问列表将被删除，取而带之的是主力昵称的网络列表，而对于当前昵称的所有的留言信息都将被追加到主力昵称上(这将导致主力昵称的留言信息的最小限制被打破，所以需要你及时删除一些没用的留言)。
    一但这个链接被建立，你当前的这个昵称将同主力昵称一样被NickServ识别，除非你使用了NickServ的UNLINK或者DROP命令。
    例如：你可以使用其它的别名来读取自己的留言信息(别人发给您经过链接的其他昵称的信息，你都可以接收)。如果你现在的昵称经过验证了，那么其他昵称同样自动得到验证。如果你在某个频道里有权限，则也会同样得到识别。
    在使用这个命令前，你必须先使用IDENTIFY命令来认证当前的这个昵称。
【举例】
    使用命令/msg nickserv link TigTag Hdeestp，将把当前的昵称链接到主力昵称TigTag。这里TigTag的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。

--------------------------------------------------------------------------------
SET 命令
【语法】
      /msg nickserv set <选项> <相应参数>
【描述】
    用来对你的当前昵称进行一些设置。这些设置项目包括：
    Password　　用于改变当前昵称的密码
    Language　　用于选择使用何种语言(通过选择语言代码)让NickServ对该昵称发出信息
    URL　　　　 用于设置与当前昵称相关的主页地址，该地址可以在使用INFO命令时看到
    Email　　　 用于设置与当前昵称相关的电子信箱，该信箱可以在使用INFO命令时看到
    Kill　　　　用于设置对假冒用户的处理，使用的参数是“ON”、“QUICK”、“IMMED”和“OFF”。当选择“ON”打开这个开关时，如果有人想使用你的昵称，他/她将会被提示有1分钟的改名时间，如果到时他/她仍然没有改名，将会被NickServ强制杀出服务器。如果你选择了“QUICK”，他/她将会被提示有20秒改名时间；如果你选择了“IMMED”，则该用户将不会得到任何改名警告而被杀出服务器(请不要使用这个选择，除非你有特别的需要)
    Secure　　　用于打开或关闭NickServ的口令安全机制，使用的参数为“ON”或“OFF”。如果设置为“ON”，则无论当前昵称是否在ACCESS网络列表里，都需要通过输入密码来认证；如果当前昵称已经在ACCESS网络列表里，则即使设置了KILL选项，系统也不自动杀掉你
    Private　　 用于设置当别人使用/msg nickserv list命令时，是否隐藏你的注册信息。参数“ON”为是，“OFF”为否
    Hide　　　　用于设置当别人使用/msg nickserv info命令时，是否隐藏你的一部分信息。这些信息包括“Email”(电子邮件信息)、“UserMask”(网络地址信息)和“Quit”(最后退出时的信息)；使用参数“ON”为隐藏，参数“OFF”为不隐藏
【举例】
    更改密码：假设我现在的名字是TigTag，且已经通过了IDENTIFY验证，则使用/msg nickserv set password Kssoaqx命令可以将昵称密码改为Kssoaqx
    更改语种：假设系统提供了语言代码“1”为“简体中文”；代码“2”为“繁体中文”；代码“3”为“English”...，则使用命令/msg nickserv set language 2可以让NickServ以后使用繁体中文对当前昵称提供信息
    更改主页相关：/msg nickserv set url http://xirc.yeah.net/，这将把“http://xirc.yeah.net/”这个主页地址与当前昵称建立关联，这样别人就可以使用/msg nickserv info命令查看到了
    更改Email相关：/msg nickserv set email double.j@ynmail.com，这将把“double.j@ynmail.com”这个电子信箱与当前昵称建立关联，这样别人就可以使用/msg nickserv info命令查看到了
    限定假冒用户在60秒内更名：/msg nickserv set kill on
    打开NickServ的口令安全机制：/msg nickserv set secure on
    在LIST命令里隐藏注册信息：/msg nickserv set private on
    在INFO命令隐藏最网络地址信息：/msg nickserv set hide usermask on

--------------------------------------------------------------------------------
DROP 命令
【语法】
      /msg nickserv drop
【描述】
    用来注销当前你所使用的昵称，这样别人就可以使用这个昵称了。
    在使用该命令前，必须先通过IDENTIFY命令进行的验证。
【举例】
    /msg nickserv drop，这就将注销掉当前你所使用的这个昵称。

--------------------------------------------------------------------------------
RECOVER 命令
【语法】
      /msg nickserv recover <指定昵称> <该昵称的密码>
【描述】
    用于杀掉一个占用你昵称的人，该做法跟NickServ的自动杀保护是一样的。
    当您使用这个命令时，NickServ将假装成一个跟这个昵称一样的用户昵称，这样就导致服务器杀掉这个用户(或强制更名)。这个假装的用户将持续在线1分钟，防止那个用户的再次连接；一分钟以后，你就把你的昵称改变为该昵称了，但在这之前最好使用先使用一下RELEASE命令(/msg NickServ HELP RELEASE)释放掉开头设置的昵称占用。
  * 在使用RECOVER命令时你当前的网络地址必须在你的昵称的ACCESS网络列表里存在，而且你必须提供正确的密码。

--------------------------------------------------------------------------------
RELEASE 命令
【语法】
      /msg nickserv release <被占用的昵称> <该昵称的密码>
【描述】
    用于通知NickServ去掉因为使用RECOVER命令而占用的昵称，通常这种占用持续1分钟。
  * 在使用RELEASE命令时你当前的网络地址必须在你的昵称的ACCESS网络列表里存在，而且你必须提供正确的密码。

--------------------------------------------------------------------------------
UNLINK 命令
【语法】
      /msg nickserv link <昵称> <密码>
【描述】
    用于从你的链接列表里删除这个昵称。当这个昵称被删除后，主力昵称的一些标记和网络地址信息将被拷贝过来，这个昵称从此将独立存在。但留言信息不再拷贝过来，所有的留言信息将被存储在主力昵称那里。
    如果输入名字和口令参数，则删除跟你链接的其他名字。
    服务管理员可以不通过口令认证，取消一个用户的连接。

--------------------------------------------------------------------------------
GHOST 命令
【语法】
      /msg nickserv ghost <昵称> <密码>
【描述】
    用于杀掉一个一直占用你昵称的“鬼魂”。当您的“鬼魂”还连接在IRC服务器上时，系统会认为这个“鬼魂”一直在线，从而导致你无法使用这个昵称。
    产生这种“鬼魂”的原因通常是因为你不正常掉线了，而当你再次连接上来时，就发生了。
  * 在使用GHOST命令时你当前的网络地址必须在该“鬼魂”的ACCESS网络列别里存在。
【举例】
    杀掉“鬼魂”TigTag，使用命令/msg nickserv ghost TigTag HdeestP。这里TigTag的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。

--------------------------------------------------------------------------------
INFO 命令
【语法】
      /msg nickserv info <昵称> [All]
【描述】
    用于查看某个已注册昵称的信息，例如该昵称的主人、网络地址、电子信箱、最后一次退出的信息等。
  * 对于某些昵称，增加参数“All”可以获取更详细的信息。

--------------------------------------------------------------------------------
LIST 命令
【语法】
      /msg nickserv list <地址掩码>
【描述】
    用于根据指定的地址掩码列出相应的已注册昵称。地址掩码是按照“nick!userid@host.domain”的方式。
  * 如果用户设置了Private选项，则在这里将不显示他/她的注册信息。
【举例】
    /msg nickserv list *!*@61.128.*，将列出所有从61.128.*注册的昵称。
    /msg nickserv list *!bot@*，将列出所有userid是“bot”的昵称。
    /msg nickserv list *bot*!*@*，将列出所有包含“bot”字眼的昵称。

--------------------------------------------------------------------------------
STATUS 命令
【语法】
      /msg nickserv status <昵称1[,昵称2,...昵称16]>
【描述】
    用于查询指定昵称是否已得到验证，返回的格式是：
        昵称 状态代码
    “状态代码”的意思如下：
        0　　该昵称当前不在线，或者根本没有注册
        1　　该昵称尚未通过验证的
        2　　该昵称在对应的ACCESS网络列表中，但是没有通过验证
        3　　该昵称已经得到验证
  * 最多一次可以查询16个名字，多余部分将被忽略。
--------------------------------------------------------------------------------

频道服务(ChanServ)命令

--------------------------------------------------------------------------------
REGISTER 命令
【语法】
      /msg chanserv register <#频道名称> <频道密码> <对该频道的描述>
【描述】
    用来注册一个指定的频道。使用这个命令之前你必须先进入这个频道，并成为频道管理员，也就是我们通常说的有帽子；“频道密码”是为了便于验明身份来改变频道的设置；“对该频道的描述”是必须有的，用以说明这个频道研讨的主题。
    当你注册了这个频道，你就成了这个频道的“创始者”(Founder)。创始者可以改变频道的所有设置，当创始者进入频道，ChanServ将会自动给予创始者频道管理员的权限。使用ChanServ的ACCESS命令可以为其他用户增加访问权限。
  * 在注册频道之前，你必须先注册你的昵称。具体请参照NickServ的REGISTER命令
【举例】
    /msg chanserv register #Chat kksSed 随便聊吧，这样就将注册#Chat这个频道，密码是kksSed，相应的频道描述是随便聊吧。

--------------------------------------------------------------------------------
IDENTIFY 命令
【语法】
      /msg chanserv identify <#频道名称> <频道密码>
【描述】
    用来验证你是指定的频道的创始者(Founder)，ChanServ的很多命令都需要你事先使用它。
    这里的“频道密码”是你在使用REGISTER命令注册频道时所使用的密码。
【举例】
    /msg chanserv identify #Chat kksSed，这样就将把你验证成为频道#Chat的创始者。在这里我们所使用的密码是kksSed，即前面REGISTER命令示例时所提供的频道密码。

--------------------------------------------------------------------------------
SET 命令
【语法】
      /msg chanserv set <频道名称> <选项> <相应参数>
【描述】
    用来对指定频道进行一些设置(但在进行设置前必须使用ChanServ的IDENTIFY命令进行验证)。这些设置项目包括：
    Founder　　　设置频道的创始者(必须是一个已注册的昵称)
    Successor　　设置频道的继承人。如果频道创始者的名字被取消或者失效，而频道还在使用，这样继承人就会变成频道的创始者。但是，如果这个继承人已经注册了太多的频道(>=20)，这个频道将被取消，就跟没有继承人设置是一样的。
    Password　　 设置创始者的密码(或者说是更改频道的密码)
    Desc　　　　 更改对该频道的描述
    URL　　　　　设置与该频道相关的主页地址信息(可以使用/msg chanserv info命令查看到)
    Email　　　　设置与该频道相关的电子信箱信息(可以使用/msg chanserv info命令查看到)
    EntryMsg　　 设置当有用户进入该频道时，由频道对该用户发出的Notice信息。如果没有参数，将没有信息发给该用户。
    Topic　　　　设置该频道的主题
    KeepTopic　　设置当没有人在该频道时，是否记忆频道的主题，这样当下一次频道建立时会自动恢复成该主题。参数“ON”表示记忆，参数“OFF”表示不记忆。
    TopicLock　　是否锁定频道的主题。参数“ON”表示锁定，“OFF”表示不锁定。如果频道主题被锁定，则只有使用ChanServ的Set Topic命令才可以更改主题。
    mLock　　　　根据指定参数来锁定频道的模式，这些参数是以“+”号表示锁定，“-”表示不锁定，例如“+nt-iklms”；如果仅有一个“+”号而没有跟任何频道模式则表示不锁定频道的模式。(频道模式的含义请参照/MODE命令)
    Private　　　设置是否从ChanServ的LIST命令里隐藏该频道(使用/msg chanserv list命令时，如果不知道该频道的完整名称则无法看到该频道)；参数“ON”为隐藏，“OFF”为不隐藏。
    Restricted　 设置是否打开该频道的限制使用权。当Restricted被设置后，普通用户将被Kick和Ban出频道。这些普通用户包括级别是负数和不在访问权限列表中的用户。参数“ON”表示打开，“OFF”表示关闭。
    Secure　　　 设置是否打开该频道的安全特性。当Secure被设置后，只有已注册、并且使用IDENTIFY命令的用户才可以访问这个频道。参数“ON”表示打开，“OFF”表示关闭。
    SecureOPs　　设置是否打开该频道的安全管理员特性。当SecureOPs被设置后，没有在频道用户列表中的用户将不会有频道管理员权限(即不会得到帽子)。参数“ON”表示打开，“OFF”表示关闭。
    LeaveOPs　　 设置是否打开该频道的保留管理员特性。当LeaveOPs被设置后，将不会自动DEOP用户，除非有DEOP命令被使用。参数“ON”表示打开，“OFF”表示关闭。
    OPNotice　　 设置是否打开该频道的OP/DEOP通告。当OPNotice被设置后，只要有人在该频道使用了ChanServ的OP或者DEOP命令，ChanServ都将在该频道发送Notice通告。参数“ON”表示打开，“OFF”表示关闭。
【举例】
    更改频道创始者：/msg chanserv set #Chat founder 阿奔，这将把频道#Chat的创始者设置为阿奔
    设置频道继承人：/msg chanserv set #Chat successor FoOl_BoT，这将把频道#Chat的继承人设置为FoOl_BoT
    更改频道描述：/msg chanserv set #Chat desc Welcome to chat here，这将把频道#Chat的描述更改为Welcome to Chat Here
    更改主页相关：/msg chanserv set #Chat url http://xirc.yeah.net/，这将把频道#Chat的主页相关信息更改为http://xirc.yeah.net/
    更改Email相关：/msg chanserv set #Chat email double.j@ynmail.com，这将把频道#Chat的Email信息更改为double.j@ynmail.com
    设定EntryMsg：/msg chanserv set #Chat entrymsg Hi，#Chat的世界，就是任你天南地北侃大山的世界，这样当任何人进入频道#Chat时，都将收到由ChanServ发出的“Hi，#Chat的世界，就是任你天南地北侃大山的世界”这条Notice信息
    更改频道主题：/msg chanserv set #Chat topic To chat or not to chat, this is a question..，这将把频道#Chat的房间主题设置为为To chat or not to chat, this is a question..
    设置保留频道#Chat主题：/msg chanserv set #Chat keeptopic on
    锁定频道#Chat的主题：/msg chanserv set #Chat topiclock on
    锁定频道#Chat的模式为+nt-ilkmps：/msg chanserv set #Chat mlock +nt-ilkmps
    不再锁定频道#Chat的模式：/msg chanserv set #Chat mlock +
    在LIST命令里隐藏频道#Chat：/msg chanserv set #Chat private on
    不再限制频道#Chat的使用权：/msg chanserv set #Chat restricted off
    关闭频道#Chat的安全特性：/msg chanserv set #Chat secure off
    关闭频道#Chat的安全管理员特性：/msg chanserv set #Chat secureops off
    打开频道#Chat的保留管理员特性：/msg chanserv set #Chat leaveops on
    打开频道#Chat的OP/DEOP通告：/msg chanserv set #Chat opnotice on

--------------------------------------------------------------------------------
ACCESS 命令
【语法】
      /msg chanserv access <#频道名称> add <昵称> <级别>
      /msg chanserv access <#频道名称> del <昵称 | 权限访问列表行号>
      /msg chanserv access <#频道名称> list <昵称掩码 | 权限访问列表行号>
【描述】
    用来查看或者修改指定频道的访问权限列表。不同的级别有不同的权限，不在频道权限列表中的用户级别是0。按照ChanServ默认的设置，各种权限如下：
      10　　　可以使用AKICK命令；并在加入频道时自动获得频道管理权(即SOP、Super Operator)
       5　　　在加入频道时自动获得频道管理权(即AOP、Auto Operator)
       3　　　在加入频道时自动获得频道发言权(即VOP、Auto Voicer)
       0　　　没有指定权限(即普通用户)；可以被其他人给予@，但要保证SecureOPs没有设置
     < 0　　　不允许有权限@
    这些默认的权限级别也可以更改，参见LEVELS命令。
    ACCESS ADD命令是增加指定级别的用户名到频道权限列表中，如果用户名已经在频道列表中，则改变用户的访问级别（改变用户的级别时，不能输入高于自己级别的数值）。
    ACCESS DEL命令是从频道权限列表里删除指定的用户(可以直接指定用户名或权限访问列表里的行号)。
    ACCESS LIST命令则是列出指定频道的权限列表(可以使用通配符来指示昵称，也可以使用权限访问列表里的行号；如果什么都没有指定则列出频道的所有权限)。
【举例】
    /msg chanserv access #Chat add TigTag 10，这将把TigTag加入到频道#Chat的权限列表，并设置他的级别为10级(SOP)。
    /msg chanserv access #Chat del FoOl_BoT，这将把FoOl_BoT从频道#Chat的权限列表里删除。
    /msg chanserv access #Chat del 10-12，这将删除掉频道#Chat的权限列表里的第10-12项。
    /msg chanserv access #Chat list，这将列出频道#Chat的所有权限列表。
    /msg chanserv access #Chat list *t*，这将列出频道#Chat的权限列表里，包含字母“t”的昵称。

--------------------------------------------------------------------------------
LEVELS 命令
【语法】
      /msg chanserv levels <#频道名称> set <类别名称> <级别>
      /msg chanserv levels <#频道名称> <类别名称>
      /msg chanserv levels <#频道名称> list
      /msg chanserv levels <#频道名称> reset
【描述】
    LEVELS命令可以很好的通过数值来更改不同级别所对应的权限。使用这个命令，你可以重新定义ChanServ所提供的默认访问级别。
    可以通过LEVELS命令来更改的类别有：
      AutoOP　　　自动频道管理员(AOP)
      AutoVoice　 自动获取频道发言权(VOP)
      AutoDEOP　　自动去除频道管理员
      NoJoin　　　自动禁止加入该频道
      Invite　　　允许使用ChanServ的Invite命令
      Akick　　　 允许使用ChanServ的Akick命令
      Set　　　　 允许使用ChanServ的Set命令
      Clear　　　 允许使用ChanServ的Clear命令
      Unban　　　 允许使用ChanServ的Unban命令
      OPDEOP　　　允许使用ChanServ的OP/DEOP命令
      Acc-List　　允许查看该频道的权限访问列表
      Acc-Change　允许修改该频道的权限访问列表
      Memo　　　　允许查看或者阅读该频道的留言
    LEVELS SET命令可以改变上述类别所对应的权限级别。
    LEVELS DIS命令则可以禁止非创始者使用类别所对应的功能。
    LEVELS LIST命令可以查看指定类别所对应的级别。
    LEVELS RESET命令则可以重置上述所有类别到默认设置。
【举例】
    /msg chanserv levels #Chat dis acc-list，这将禁止非创始者查看频道#Chat的权限访问列表。
    /msg chanserv levels #Chat disable set，这将禁止非创始者在频道#Chat使用ChanServ的Set命令。
    /msg chanserv levels #Chat set autovoice 0，这将设置频道#Chat的VOP级别为0，即普通用户的级别，这样任何人进入该频道都将被自动+v了。
    /msg chanserv levels #Chat list，可以查看频道#Chat的各类别所对应的级别。
    /msg chanserv levels #Chat reset，重置频道#Chat的所有类别到默认设置。

--------------------------------------------------------------------------------
AKICK 命令
【语法】
      /msg chanserv akick <#频道名称> add <昵称 | 地址掩码> [原因]
      /msg chanserv akick <#频道名称> del <昵称 | 地址掩码>
      /msg chanserv akick <#频道名称> list [地址掩码]
      /msg chanserv akick <#频道名称> view [地址掩码]
      /msg chanserv akick <#频道名称> enforce
      /msg chanserv akick <#频道名称> clear
【描述】
    用于查看或修改指定频道的自动踢列表。一旦有符合自动踢列表的人加入该频道，都将被ChanServ自动Kick和Ban。
    AKICK ADD命令可以增加一个昵称或地址到自动踢列表里，并可以指定踢他/她的原因。
    AKICK DEL命令可以从自动踢列表删除指定的昵称或者地址掩码；但已经被BAN了的地址仍然需要被手工删除。
    AKICK LIST命令可以查看指定频道的自动踢列表，并可以指定地址掩码以查看对应的信息。
    AKICK VIEW命令是AKICK LIST更进一步的命令。
    AKICK ENFORCE命令则是通知ChanServ立即执行自动踢，将踢出指定频道里当前所有符合自动踢列表项的用户。
    AKICK CLEAR命令可以清空指定频道的自动踢列表。
【举例】
    /msg chanserv akick #Chat add *bot*!*@* 禁止BOT入内，这将把“*bot*!*@*”这个地址加入频道#Chat的自动踢列表；这样当昵称中包含“bot”字样的人进入该频道时都将被自动踢出并+b，理由是“禁止BOT入内”
    /msg chanserv akick #Chat del *bot*!*@*，这将从频道#Chat的自动踢列表里删除掉“*bot*!*@*”这个自动踢列表项
    /msg chanserv akick #Chat list，这将列出频道#Chat的所有自动踢列表项
    /msg chanserv akick #Chat clear，这将清除掉频道#Chat的所有自动踢列表项

--------------------------------------------------------------------------------
CLEAR 命令
【语法】
      /msg chanserv clear <#频道名称> <频道设置>
【描述】
    用于清除指定频道的设置，这些设置包括：
      Modes　　　复位所有频道模式(例如：清除模式i、k、l、m、n、p、s、t)
      Bans　　　 清除频道所有禁止(Ban)信息
      OPs　　　　摘掉频道里所有的帽子
      Voices　　 去掉频道里所有的发言权
      Users　　　踢走频道里所有的人
【举例】
    /msg chanserv clear #Chat modes，这将复位频道#Chat的模式。
    /msg chanserv clear #Chat bans，这将清除掉频道#Chat里所有被禁止了的地址。

--------------------------------------------------------------------------------
DROP 命令
【语法】
      /msg chanserv drop <#频道名称>
【描述】
    用来注销指定的频道。
    只有频道的创始者可以使用该命令，而且在使用前还必须通过ChanServ的频道验证。
【举例】
    /msg chanserv drop #Chat，这将注销掉频道#Chat

--------------------------------------------------------------------------------
INFO 命令
【语法】
      /msg chanserv info <#频道名称>
【描述】
    用来查看指定频道的信息。包括频道创始者、注册时间、最后使用时间、频道描述和模式锁等。
【举例】
    /msg chanserv info #Chat，将可以查看到频道#Chat的相关信息

--------------------------------------------------------------------------------
LIST 命令
【语法】
      /msg chanserv list <关键字>
【描述】
    根据关键字列出相应的已注册定频道，关键字可以使用通配符。
  * 如果某个频道设置了Private选项，则在这里将看不到该频道。
【举例】
    /msg chanserv list #C*，将列出所有以#C打头的频道

--------------------------------------------------------------------------------
INVITE 命令
【语法】
      /msg chanserv invite <#频道名称>
【描述】
    用于让ChanServ邀请你到指定的频道。但默认情况下，只有在该频道权限大于0级别的用户才可以使用。
【举例】
    /msg chanserv invite #Chat，这将让ChanServ邀请你到频道#Chat

--------------------------------------------------------------------------------
OP 命令
【语法】
      /msg chanserv op <#频道名称> <昵称>
【描述】
    用于在指定频道给指定用户频道管理权限(帽子)。默认情况下，只有在该频道权限大于5级别的用户才可以使用。
【举例】
    /msg chanserv op #Chat TigTag，这将让ChanServ在频道#Chat给TigTag帽子

--------------------------------------------------------------------------------
DEOP 命令
【语法】
      /msg chanserv deop <#频道名称> <昵称>
【描述】
    用于在指定频道去掉指定用户的频道管理权限(帽子)。默认情况下，只有在该频道权限大于5级别的用户才可以使用。
【举例】
    /msg chanserv deop #Chat TigTag，这将让ChanServ在频道#Chat摘掉TigTag的帽子

--------------------------------------------------------------------------------
UNBAN 命令
【语法】
      /msg chanserv unban <#频道名称>
【描述】
    用于通知ChanServ取消所有因为Ban而阻止你进入该频道的设置。默认情况下，只有在该频道权限大于0级别的用户可以使用。
【举例】
    /msg chanserv unban #Chat，这将让ChanServ在频道#Chat取消所有对你设置的BAN

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

留言服务(MemoServ)命令

--------------------------------------------------------------------------------
LIST 命令
【语法】
      /msg memoserv list [#频道名称] [留言序号 | 留言序号范围 | new]
【描述】
    用来列出当前你或者指定频道所收到的留言。
    参数“new”则表示列出所有未阅读过的留言。
【举例】
    /msg memoserv list 1-2，将列出你当前的第1-2条留言
    /msg memoserv list new，将列出你当前尚未阅读过的所有留言
    /msg memoserv list #Chat 1，将列出频道#Chat的第一条留言

--------------------------------------------------------------------------------
SEND 命令
【语法】
      /msg memoserv send <昵称 | #频道名称> <留言内容>
【描述】
    用来给一个已注册昵称或者频道发送留言。
【举例】
    /msg memoserv send TigTag Hello, 最近还好吧？，这样就给TigTag发送了个留言，内容是“Hello, 最近还好吧？”
    /msg memoserv send #Chat 这是谁的频道？，这样就给频道#Chat发送了个留言，内容是“这是谁的频道？”

--------------------------------------------------------------------------------
READ 命令
【语法】
      /msg memoserv read [#频道名称] <留言序号 | 留言序号范围 | last | new>
【描述】
    用来阅读当前你或者指定频道所收到的留言。
    参数“new”表示阅读最新的一条留言。
    参数“new”表示依次阅读所有未阅读过的留言。
【举例】
    /msg memoserv read 2，表示阅读当前你的第二条留言
    /msg memoserv read #Chat 2-5，表示阅读频道#Chat的第2-5条留言
    /msg memoserv read last，表示阅读当前你收到的最后一条留言
    /msg memoserv read new，表示依次阅读当前你尚未阅读过的所有留言

--------------------------------------------------------------------------------
DEL 命令
【语法】
      /msg memoserv del [#频道名称] <选项> <相应参数>
【描述】
    用来删除掉当前昵称或者指定频道所接收到的留言。
    参数“All”则表示删除所有的留言。
【举例】
    /msg memoserv del 5，可以删除掉你当前的第5条留言
    /msg memoserv del all，可以删除掉你已经接收到的所有留言
    /msg memoserv del #Chat 3-5，可以删除掉频道#Chat的第3-5条留言

--------------------------------------------------------------------------------
SET 命令
【语法】
      /msg memoserv set <留言选项> <相应参数>
【描述】
    用来设置各种留言选项，这些选项包括：
      Notify　　　用于改变新留言到来时的通知类型(仅针对昵称的留言)。参数“ON”表示当你登录到你的名字时、当你取消AWAY状态时以及当新留言被发送时，MemoServ都将通知你；参数“LOGON”表示当你登录到你的名字时和当你取消AWAY状态时被通知；参数“NEW”表示当有新留言到来时被通知；参数“OFF”则表示不通知有留言信息。
      Limit　　　 用于设置你或者是指定频道的最大留言条目数，如果设置成0，则别人将无法给你发送留言。最大留言条目数不能大于系统规定的20条。
【举例】
    /msg memoserv set notify off，将关闭掉自己有新留言时的通告
    /msg memoserv set limit #Chat 5，限制频道#Chat所能接收的最大留言条目为5条

--------------------------------------------------------------------------------
    P.S: 在很多IRC服务网络上，/msg nickserv、/msg chanserv和/msg memoserv命令都分别可以用/ns、/cs和/ms来代替。

【返回】


IRC之BOT篇（函数）

阅读次数：920
2000-09-08 13:28:52
函数篇

mIRC里函数的定义和其他语言是一样的，都是用来返回一个特定的值。它的基本格式是英文的“$”号+函数名称，例如“$time”，这可以返回当前的系统时间。当mIRC在Alias、Popup或者Remote里遇到这些函数时，都将用这些函数的真实值来代替并且将脚本运行下去，从而就使得我们在编写BOT时有了更多的灵活性。
    当一个函数不存在或者没有值时，它将返回一个“$null”值，即为空值，这样主要是为了更好地在If-Then-Else语句里进行比较。部分函数还可以带有参数，例如“$nick(#, 2)”，作用是返回当前聊天室人名列表里的第二个人名，由此可见，函数本身也是有很大的灵活性的。
    总的说来，mIRC里常见的函数可以分为以下几类（注：有些函数的链接为空是因为那些函数我自己都没弄清楚，就不在这里献丑了）：
    1. 时间和日期函数 (Time and Date Identifiers)

$asctime() $ctime $ctime() $date
$day $daylight $duration() $fulldate
$gmt $idle $ltimer $online
$ticks $time $timer() $timestamp
$timezone .

    2. 昵称和地址函数 (Nick and Address Identifiers)

$address() $banlist() $comchan() $ial()
$ialchan() $level() $link() $mask()
$me $nick() $notify() $snicks
$snick() $snotify .

    3. 文字和数字函数 (Text and Number Identifiers)

$abs() $and() $asc() $base()
$biton() $bitoff() $bytes() $calc()
$chr() $cos() $acos() $count()
$int() $isbit() $islower() $isupper()
$left() $len() $log() $longip()
$lower() $mid() $not() $or()
$ord() $pos() $rand() $remove()
$replace() $right() $round() $sin()
$asin() $sqrt() $str() $strip()
$tan() $atan() $upper() $xor()

    4. 文件和目录函数 (File and Directory Identifiers)

$abook() $alias() $crc() $dir
$file $hfile $sdir $disk()
$exists() $file() $filtered $finddir()
$findfile() $getdir $getdir() $ini()
$isdir() $isfile() $lines() $logdir
$longfn() $mididir $mircexe $mklogfn()
$nofile() $nopath() $mircdir $mircini
$read $readn $readini $shortfn()
$wavedir .

    5. 脚本事件函数 (Remote Scripts Identifiers)

$1- $+ $0 $(...)
$address $chan $clevel $dlevel
$event $fulladdress $group() $ial
$maddress $matchkey $mode() $nick
$numeric $script $script() $scriptdir
$site $target $ulevel $ulist()
$wildsite .

    6. 窗口函数 (Window Identifiers)

$active $appactive $appstate $chan()
$chat() $fserv() $get() $query()
$send() .

    7. Token 函数 (Token Identifiers)

$addtok() $deltok() $findtok() $gettok()
$instok() $istok() $matchtok() $numtok()
$puttok() $remtok() $reptok() $sorttok()
$wildtok() .

    8. 其它函数 (Other Identifiers)

$?*!="message" $$... $& $ansi2mirc()
$auto $away $bits $cb
$cb() $colour() $cr $creq
$crlf $dccignore $dccignore() $dccport
$ddename $dll() $editbox() $email
$hash() $highlight $highlight() $host
$ifmatch $ignore $ignore() $iif()
$inmidi $inwave $ip $isalias()
$isid $lf $lock() $network
$os $port $protect $result
$rgb() $server $server() $show
$sreq $titlebar $url $url()
$usermode $version .

    9. 自定义函数
    最后再来说说自定义函数。在mIRC里的自定义函数是利用/ALIAS命令实现的，方法是在Alias命令的最后使用一条/RETURN命令，即返回指定的值，这个值也就是自定义函数所具有的值了。例如这样一个Alias：
    /add {
      return $calc($$1 + $$2)
    }
    这实际上就定义了一个$add函数，当我们使用$add(234, 324)时，它就会返回“558”了。

【返回】


IRC之BOT篇（基本语法）

阅读次数：761
2000-09-08 13:27:42
基本语法篇

变量(Variables)

--------------------------------------------------------------------------------
    变量是用来暂时储存某个数据以便以后在mIRC脚本中使用的。它的基本构成是"%"+"变量名"，例如%a、%b、%test。在mIRC中对变量的限制很宽松，甚至连任何符号都可以用来作为变量，比如%a@b、%[names等都是合法的变量。当某个变量不存在或者未设置变量值时，该变量的值将被认为是$null(空值)。
    下面介绍一下如何对变量进行设置，以及如何对它们进行操作。
    在mIRC中专门有一个与Alias、Popup和Remote类似的变量编辑窗口(按Alt+R，再选择Variables选项卡)，你可以直接在这里写入变量名以及所对应的变量值。但是，建议你用如下的mIRC命令根据需要来设置变量，因为这样更便于在脚本中引用。

--------------------------------------------------------------------------------
/SET 命令
【语法】
      /set [-szuN] <变量> [变量值]
【描述】
    用来设置一个变量，并可以给它赋予初始值。参数-uN是指在设置变量N秒后，如果没有其它脚本引用该变量，则将其自动删除；-s是指在设置变量时让mIRC做出回显(下同)；-z是指递减该变量值，直至其为0的时候将其自动删除。
    利用/SET命令设置的变量都可以在变量(Variables)编辑窗口看到，并可以进行编辑。

--------------------------------------------------------------------------------
/UNSET 命令
【语法】
      /unset [-s] <变量>
【描述】
    用来从变量编辑窗口中删除掉指定的变量。可以使用通配符，例如：/unset %chan*，这将删除掉所有以%chan开头的变量。

--------------------------------------------------------------------------------
/UNSETALL 命令
【语法】
      /unsetall
【描述】
    这将删除掉变量编辑窗口中的所有变量。

--------------------------------------------------------------------------------
/INC 命令
【语法】
      /inc [-cszuN] <变量> [步长]
【描述】
    根据指定的步长来增加某个指定变量的值。参数-uN是指只增加该变量的值一次，然后在N秒后删除该变量；-c是指每秒增加该变量的值一次；-z指递减该变量的值，直至其为0的时候将其自动删除。

--------------------------------------------------------------------------------
/DEC 命令
【语法】
      /dec [-cszuN] <变量> [步长]
【描述】
    根据指定的步长来减少某个指定变量的值。参数-uN是指只减少该变量的值一次，然后在N秒后删除该变量；-c是指每秒递减该变量的值一次；-z指递减该变量的值，直至其为0的时候将其自动删除。

--------------------------------------------------------------------------------
    你也可以在脚本中(注意，不是在命令输入栏)直接用英文等号("=")来设置某个变量，如“%x = 88”；你也可以利用英文等号来对变量进行一个简单的运算，如“%x = 88 + 5”（注意，如果要进行更复杂的运算，则必须使用$calc()函数）
    你还可以利用/VAR命令来设置一个临时变量，它将只能在脚本中进行设置，并且当该脚本运行完毕时将被自动删除。例如：/var %x、 /var %x = hello、 /var %x = hello, %y, %z = $me …

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

运算符

--------------------------------------------------------------------------------
    在mIRC中也有很多运算符，基本的包括：+(加)、-(减)、*(乘)、/(除)、%(求余数)、^(乘方)，不过通常都要配合$calc()函数使用，以让mIRC识别这是一个运算式。例如：%count = $calc((%x + 1) * 4)
    在编写mIRC脚本时还经常会用到一个很有用的运算符，那就是“[”和“]”。当表达式或者函数被这两个符号包括起来时，则mIRC会优先执行这里面的运算(按从左到右的顺序)。需要注意的是在“[”和“]”的两旁必须留有一个英文空格，否则将不起作用。
    其它还有很多运算符，如关系运算符等，这将在判断语句中进行介绍。

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

判断语句

--------------------------------------------------------------------------------
    在mIRC中，判断语句(If-Then-Else)的基本句法是：
      if (v1 运算符 v2) { 命令 }
      elseif (v1 运算符 v2) { 命令 }
      else { 命令 }
    “()”括号里的内容是表明进行判断，如果为真，则执行“{}”括号里的命令(可以是任何命令)。
    这里的运算符包括：
      ==　　　　等于
      ===　 　　等于(对大小写敏感)
      !=　　　　不等于
      <　　　 　小于
      >　 　　　大于
      >=　　　　不小于
      <=　　　　不大于
      //　　　　存在倍数关系
      \\　　　　不存在倍数关系
      &　 　　　存在位与关系

      isin　　　字符串v1被包含在字符串v2里
      isincs　　字符串v1被包含在字符串v2里(对大小写敏感)
      iswm　　　v2符合包含通配符的字符串v1
      isnum　 　数字v1在指定的v2范围内(v2可省略)；例如：(8 isnum 6-10)、(6 isnum)
      isletter　字母v1包含在v2列出的英文字母里(v2可省略)；例如：(t isletter fantasy)、(s isletter)
      isalnum　 v1为一个英文字母或者数字
      isalpha　 v1为一个英文字母

      ison　　　别名v1在闲聊室v2里
      isop　　　别名v1是闲聊室v2的主持人(有@帽子)
      isowner 　别名v1是闲聊室v2的拥有者(OWNER, 见于IRCX服务器)
      isvo　　　别名v1在闲聊室v2里有发言权
      ishelp　　别名v1是闲聊室v2里的一个提供帮助者
      isreg　 　v1是闲聊室v2里的一个普通别名
      ischan　　v1是你目前已经进入的闲聊室

      isauto　　v1是自动给帽子(Auto-Op)列表中的人(v2用来指明是在哪个闲聊室，可选)
      isignore　v1是忽略(Ignore)列表中的人
      isprotect v1是自动保护(Protect)列表中的人(v2用来指明是在哪个闲聊室，可选)
      isnotify　v1是你的通知(Notify)列表中的人

    要进行相反的判断，则在运算符前面加“!”号，例如：(55 !isletter)、(TigTag !ison #Chat) 等等。
    函数$ifmatch可以用来返回被IF判断语句捕获的第一个参数，例如：if (TigTag isin TigTagIsHelisheep) { ... }，由于“TigTag”被包含在了“TigTagIsHelisheep”这个字符串中，因此这里的$ifmatch就将返回TigTag。
    你也可以利用逻辑运算符&&(And)和||(Or)来组合更为复杂的判断，例如：if (($nick ison #Chat) && ($nick == TigTag)) { ... }

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

循环语句

--------------------------------------------------------------------------------
    在mIRC中目前只提供了一种循环语句，即While循环。它的基本句法如下：
      while (v1 运算符 v2) {
        命令
      }
    (v1 运算符 v2)表示判断(参见判断语句)，如果为真则进行循环。你可以用/break跳出该循环，也可以用/continue跳到循环的最开始处。
    使用While语句的时候很容易造成一个死循环，用它只是可以让程序流程看起来更清晰明了罢了(个人观点)。你当然也可以利用IF语句+GOTO语句形成一个循环(尽管GOTO语句会让程序变得很晦涩，而且容易打乱程序的结构)。例如：
      ...
      var %i = 0
      :nexti
        inc %i 1
        if (%i >= 10) { goto endi }
        goto nexti
      :endi
      ...
    PS: 在编写Remote脚本的时候，所有用到的IRC命令都可以省略掉前面的“/”号。

【返回】


IRC之BOT篇（机器人编写）

阅读次数：1067
2000-09-08 13:26:34
BOT 篇

    什么是BOT？BOT就是ROBOT(机器人)的缩写，是一组用来自动管理IRC聊天室、辅助进行聊天、甚至进行搞笑的程序。例如，大家可能都在聊天室里看到过某些人能够每次都打出不同的彩色文字、或者某人因为一说脏话就被踢出的情景吧？这就是用到了BOT！
    很多IRC客户端软件都提供了编写BOT的功能，例如Microsoft Chat、Pirch、mIRC...，这里就以目前最为流行的mIRC来为大家详细地介绍一下如何编写一个属于自己的BOT。有人问我，在哪儿编写BOT呢？呵呵，按下Alt+R键或者直接用鼠标点击工具栏上的按钮就可以调出编写BOT的窗口了，在这里你就可以利用mIRC提供的脚本功能来编写Bot。(该脚本在mIRC中被称为Remote)
    就让我们从下面这个简单的实例开始吧：
    ON @*:TEXT:*:#:{
      if ((shit isin $1-) || (fuck isin $1-)) { kick $chan $nick 说粗口？我踢！ }
    }
    这个例子的作用是，只要有人在闲聊室里说到了“shit”或者“fuck”，而你又有@(帽子，即表明是主持人)时，就可以把他踢出闲聊室。大家可以看到，ON ...TEXT在这里表明了这个事件的类型，即捕获说话这个事件；而IF则是基本语法中的一个判断语句；$1-、$chan、$nick在这里都是mIRC里的函数(Identifiers)。因此，接下来的内容将分别从这三部分来进行介绍，相信你看了之后，很快就能够编写出自己的mIRC BOT了。
    ● 基本语法篇
    ● 函数篇
    ● 事件篇

【返回】

Powered by 站点管理系统 v3.0. CopyRight? 2001 篝火. All Rights Reserved.


IRC使用技巧

阅读次数：841
2000-09-08 13:22:28
mIRC 的使用技巧

● 如何打出彩色字、粗体字、下划线字以及反显字
    很简单的，分别是按Ctrl+K(彩色字)、Ctrl+B(粗体字)、Ctrl+U(下划线字)和Ctrl+R(反显字——在某些IRC客户端软件上显示为斜体字)，当用这些字体修饰代码把某段文字包括起来时，那么该段文字即变成了相应的修饰文字。
    注意在打彩色字时，在按了第一个Ctrl+K之后还必须选择一种色彩代码(从0到15)以表明具体的颜色；你也可以同时指定两个色彩代码，用英文逗号隔开，这样第一个色彩代码就是表明文字的前景色，而第二个色彩代码则表明的是背景色。
    如果要去掉所有的修饰，可以打Ctrl+O，这样在其之后的文字就没有任何修饰了(除非你又使用了修饰代码)。

--------------------------------------------------------------------------------
● 使用刚才用过的命令
    在mIRC里，你可以使用键盘上的“↑”键和“↓”键选择刚刚才输入了的命令(或文字)，这样就不必费力地再次输入了；如果你是使用的多重输入栏，则是用Ctrl+↑和Ctrl+↓进行选择。

--------------------------------------------------------------------------------
● 自动完成功能
    mIRC可以帮你在输入栏里自动完成某人别名以及闲聊室名称的输入。方法是在打了某人名字的前面一部分后按键盘上的Tab键，这样mIRC就会将其自动完成为当前闲聊室中符合该部分的第一个别名(再按Tab键可以切换到下一个)；如果是要完成当前闲聊室的名称，则在打了“#”号之后再按Tab键即可。
    注意，在名字前或者“#”号前必须留有一英文空格mIRC才会使用自动完成功能。如果没有输入任何文字或命令，而是直接按Tab，则mIRC将自动在输入栏出现/msg <最后一个给你发送了小窗信息的别名>命令。

--------------------------------------------------------------------------------
● 快速窗口操作
    对于mIRC切换栏上的各个窗口图标按钮，按照其从左到右的排列顺序，你可以按下键盘上的Alt+对应的数字键来进行快速切换。当然，按Ctrl+Tab也可以在各个窗口间轮流切换；按Ctrl+N可以在各个闲聊室窗口之间轮流切换；按Ctrl+Q可以在各个小窗之间轮流切换。
    要想快速关闭某个内部窗口，可以按Ctrl+F4，或者Alt+Z亦可。

--------------------------------------------------------------------------------
● 对于主显示窗口的快速操作
    按下Page Up或Page Down可以快速查看刚才的屏幕显示信息(以页为单位滚动)；如果想以行为单位滚动来查看信息，可以按Ctrl+Page Up或Ctrl+Page Down。
    按Ctrl+F可以在当前的窗口中查找信息；按下Shift键进行复制则可以将修饰代码一并复制下来。

--------------------------------------------------------------------------------
● 在闲聊室中将焦点快速从人名列表切换到输入栏
    很简单，按下Shift+Tab即可以在二者之间切换了。

--------------------------------------------------------------------------------
● 在输入栏中使用“//”号作为IRC命令标志
    如果你在输入栏中使用了“//”号作为IRC命令标志，那么你就可以直接引用mIRC的各种函数和变量。例如你想告诉某人现在的时间，则用命令“//say $time”就可以了，mIRC会自动调用$time函数的值，而你也就不必去细细查看当前的时间了。
    当然，使用“//”的前提是你已经对mIRC的各种函数有所了解。具体请参照BOT 篇之函数篇。

--------------------------------------------------------------------------------
● 如何说出第一个字符是“/”号的话
    也许你遇到过这种尴尬——当你想告诉对方某条IRC命令时，却怎么也不能让它显示到屏幕上去，因为一按下回车mIRC就会把该命令直接执行了。那该怎么办呢？按下Ctrl再回车吧，这样mIRC就不会把第一个字符是“/”的信息当作IRC命令去处理了。

--------------------------------------------------------------------------------
● “.”号和“!”号的妙用
    在IRC命令前面使用一个“.”号(例如/.mode)，则mIRC将不会在窗口里作出任何回显，这样在编写脚本的时候就可以充分利用它来隐藏一些不必要的信息了。
    而在IRC命令前面使用一个“!”号(例如/!time)，则mIRC将会忽略掉自身的IRC命令，而直接向服务器查询并请求执行该命令。这也非常有用——例如在你的Aliases里已经有了/time这条命令，那么任何时候你打/time都将执行该命令；这时如果你想查看一下服务器的当前时间就比较难办了，因为所对应的命令也是/TIME。然而用/!TIME就可以绕过Aliases直接执行该命令了，大家可以自己试试。

--------------------------------------------------------------------------------
● 列出非英文的闲聊室
    默认情况下，用/LIST列出闲聊室名称，显示在Channel窗口的结果是不包含非英文闲聊室的。这时你只需要在该窗口点鼠标右键，选择List options...，然后去掉Hide non-alphanumeric channels前面的小勾。以后再打/LIST命令就可以看到那些非英文名称的闲聊室了。
    在List options...还可以设置是否隐藏名称中包含关键字的闲聊室、是否只列出标题里包含特定文字的闲聊室等等。


Alias(别名) 和 Popup(菜单)

阅读次数：550
2000-09-08 13:21:35
Alias 与 Popup 篇

Alias

--------------------------------------------------------------------
    所谓Alias，其实就相当于命令缩写的意思，实际上它可以让你自定义IRC命令。比如，你肯定不想每次给人帽子都要费力地去打/mode #某闲聊室 +o 某人命令吧？所以你就可以设定/OP这条Alias，那么以后只需在该闲聊室打/op 某人就可以给他/她帽子了，是不是感觉方便多了呢？
    要往mIRC里添加Alias，可以用/Alias命令。不过，我还是推荐大家用mIRC专门提供的Alias编辑窗口，点击工具栏上的按钮或者按下Alt+A即可调出该编辑窗口。
    Alias的编写也很简单，例如在Alias编辑窗口里写入：
      /OP /MODE # +o $$1
    这样就有了/OP这个Alias，以后你就可以用/OP命令给人加帽子了。（至于其中用到的函数如$$1等，请参照BOT 篇之函数篇）
    你也可以用“|”符号来把多个并列的命令都合为一条Alias，如：
      /BKICK /BAN # $$1 | /KICK # $$1
    当你对某人执行/BKICK这条Alias时，mIRC就会先禁止他进入当前闲聊室，然后再把他踢出去。不仅如此，你还可以在一条Alias里包含更为复杂的命令，甚至还可以用上各种编写BOT的技巧(参BOT 篇)，例如下面这条Alias：
      /OPALL {
        %i = 0
        %nicks = ""
        :nextnick
        inc %i
        if ($nick(#,%i) == $null) { if ($len(%nicks) > 0) mode # +oooo %nicks | halt }
        %nicks = %nicks $nick(#,%i)
        if (4 // %i) { mode # +oooo %nicks | %nicks = "" }
        goto nextnick
      }
    以后再用/OPALL就可以给所有闲聊室的人发帽子了。
    Alias不仅可以把复杂的IRC命令定义成为一条新的命令，甚至还可以定义为键盘上的功能键。如下例：
      /F1 /say 大家好！
      /sF2 /kick # $$1 我看你不爽~
      /cF3 /me Faint...
    这样定义后，按下功能键F1就可以说出“大家好！”；按下Shift+F2可以把从人名列表中选定的人踢出去；按下Ctrl+F3则可以做出“Faint...”这个动作。

Popup

--------------------------------------------------------------------------------
    Popup在这里是弹出式菜单的意思，即允许你在mIRC里自定义菜单（包括状态窗口菜单、闲聊室窗口菜单、小窗菜单、人名列表菜单以及主菜单中的Commands菜单——可以在Popup编辑窗口点菜单里的“View”，然后分别选择“Status”、“Channel”、“Query/Chat”、“Nickname list”或者“Menubar”以决定）。一套功能强大的Popup菜单会让你的聊天变得更加轻松。
    点击工具栏上的按钮或者按下Alt+P可以调出Popup菜单的编辑窗口。一条完整的菜单命令是这样组成的：[菜单级数]<菜单名称>:<点击该菜单所要执行的命令>。其中，菜单级数是用英文的句号来表示，例如不加句号便是一级菜单，一个句号便是二级菜单，三个句号便是三级菜单……；要给菜单添加快捷键，可以用符号&+英文字母表示；要在菜单里面添加分隔线，可以在编辑窗口里添加“-”号。大家可以参照一下如下的这个示例菜单。

问候(&H)
.问候(&1):/say 大家好，我是 $me ，初次见面，请多关照！
.-
.再见(&2):/say 走了，各位慢聊！

    Popup的编写也是可以使用Remote的语法以及函数的，详见BOT 篇，在此不再赘述。

在Remote文件里写Alias和Popup

--------------------------------------------------------------------------------
    为了方便保存，你还可以把Alias或者Popup都写进一个Remote文件里，具体的格式是：
      对于Alias：
      Alias [-l] <Alias名称> {
        ......
      }
      参数“-l”表示这个Alias只能在包含它的Remote脚本里引用，除此以外是无法使用的。
      对于Popup：
      Menu <status|channel|nicklist|query|menubar|窗口名称[,窗口名称..]> {
        ......
      }
      其中，“status”表示是状态窗口菜单、“channel”表示是大窗菜单、“nicklist”表示是大窗人名列表菜单、“query”表示是小窗菜单、“menubar”则表示是菜单栏里的菜单；“窗口名称”则必须是自定义窗口(Custom Window)的名称。
    例如在Remote里定义一条Alias：
      Alias add {
        var %total = $calc($$1 + $$2)
        echo -a %total
      }
    又如在Remote里定义一条自定义窗口@test的菜单：
      Menu @test {
        菜单&1:/echo -a 这是个测试
        菜单&2:/echo -a 这是个测试
      }
    再定义一条同时存在于状态窗口和大窗的菜单：
      Menu status,channel {
        菜单&1:/echo -a 这是个测试
        菜单&2:/echo -a 这是个测试
      }


IRC脚本命令

阅读次数：971
2000-09-08 13:19:43
mIRC 脚本命令篇

/AJINVITE 命令
【语法】
      /ajinvite [on | off]
【描述】
    用来打开或者关闭mIRC的收到邀请自动加入设置。

--------------------------------------------------------------------------------
/BACKGROUND 命令
【语法】
      /background [-aemsgdluhcfnrtpx] [窗口名称] [背景文件名]
【描述】
    用来设置mIRC内部指定窗口的背景(也可以设置工具栏和窗口切换栏的背景)。
    参数“-a”是指当前窗口；“-m”是指mIRC主窗口；“-s”是指mIRC的状态窗口；“-g”是指Finger窗口；“-d”是指mIRC的专门用于接受小窗信息的窗口(需要在mIRC里设置)；“-e”是指设置为mIRC的默认背景。
    参数“-cfnrtp”分别是指将背景图案设置为居中(Center)、填充(Fill)、正常大小(Normal)、拉伸(Stretch)、平铺(Tile)或者是相片(Photo)模式。
    参数“-luh”则分别是指设置工具栏的背景、工具栏按钮的背景和窗口切换栏的背景。
    参数“-x”可以取消背景图案。
  * 窗口名称仅仅是在没有指定窗口参数的时候才需要；如果只是想改变背景图案的显示方式，可以不需要指定背景文件名。
  * 你也可以点击mIRC菜单栏上“File”旁边的图标来进行背景文件的设置。

--------------------------------------------------------------------------------
/BEEP 命令
【语法】
      /beep [次数] [间隔时间]
【描述】
    用来发出WINDOWS的默认声音。你可以指定发出声音的次数及每两次之间的间隔时间(以毫秒计)。

--------------------------------------------------------------------------------
/CLIPBOARD 命令
【语法】
      /clipboard [-a] <文本>
【描述】
    用于将指定的文本复制到剪贴板内。
    参数“-a”可以将该文本追加到剪贴板的原有内容之后。

--------------------------------------------------------------------------------
/COLOUR 命令
【语法】
      /colour <屏幕信息名称> <颜色代码>
【描述】
    用于改变mIRC里的各种信息的默认颜色。
  * 你也可以直接点击工具栏上的左起第十个按钮以进行更细的设置。

--------------------------------------------------------------------------------
/COPY 命令
【语法】
      /copy -ao <源文件名> <目标文件名>
【描述】
    用来拷贝文件。参数“-a”是指将源文件内容追加到目标文件之后；参数“-o”是如果已经存在目标文件，则将其覆盖。
  * 源文件名可以使用通配符，目标文件名也可以是一个目录名。

--------------------------------------------------------------------------------
/CREQ 命令
【语法】
      /creq [+m|-m] [ask | auto | ignore]
【描述】
    用来设置当有人对你发出DCC Chat请求时mIRC的反应——是弹出对话框询问(ask)、自动接受(auto)还是自动忽略(ignore)。参数“+m”和“-m”可以设置是否将该DCC Chat窗口最小化。
  * 你也可以在mIRC的设置选项里对此进行具体设置。

--------------------------------------------------------------------------------
/CTCPREPLY 命令
【语法】
      /ctcpreply <别名> <CTCP信息> [回复信息]
【描述】
    用于回复指定的CTCP查询。
【举例】
    回复TigTag的TIME查询，用命令：/ctcpreply TigTag TIME 不告诉你

--------------------------------------------------------------------------------
/DLL 命令
【语法】
      /dll <DLL文件名> <进程名称> [数据信息]
【描述】
    这条命令可以让你调用为mIRC编写的库文件。

--------------------------------------------------------------------------------
/DNS 命令
【语法】
      /dns [-ch] <别名 | 地址>
【描述】
    用于解析域名或者IP地址。如果给出的对象是别名，则mIRC会先查找该别名所在的地址，然后再对这个地址进行DNS解析。
    参数“-c”可以清除欲被解析的地址列表；“-h”可以强制mIRC把一个地址作为域名进行解析。

--------------------------------------------------------------------------------
/DQWINDOW 命令
【语法】
      /dqwindow [on | off | show | hide | min ]
【描述】
    用于对Dedicated Window进行设置，是允许使用(on)、禁止使用(off)、显示(show)、隐藏(hide)或者是最小化(min)。
  * 所谓Dedicated Window，就是指mIRC开辟的一个专门用于接收小窗信息的窗口，但这需要在mIRC的设置选项里进行设置。

--------------------------------------------------------------------------------
/EDITBOX 命令
【语法】
      /editbox [-sap | [=]窗口名称] <信息>
【描述】
    用于在指定窗口的输入栏里显示指定信息。
    参数“-s”是指mIRC的状态窗口(Status Window)，“-a”是指当前窗口；参数“-p”是指在指定信息的后面接一个英文空格。
  * 如果指定窗口是一个DCC Chat窗口，则需要在窗口名称前面前缀一个“=”号，例如“=TigTag”。

--------------------------------------------------------------------------------
/EMAILADDR 命令
【语法】
      /emailaddr [E-Mail地址]
【描述】
    用于改变你在mIRC的设置选项里所填的E-Mail地址。

--------------------------------------------------------------------------------
/FILTER 命令
【语法】
      /filter [-sgdfwxnpriocteu] [n-n2] [c s] <源文件名或窗口名 | 自定义对话框ID> <输出文件名或窗口名 | 自定义对话框ID>
【描述】
    用于扫描指定文件或窗口里的包含某个关键字的行，并将结果输出到指定的文件或者自定义窗口里。
    参数“-f”和“-w”分别用来表明源文件(或窗口)及输出文件(或窗口)的类型，例如：
      /filter -ff in.txt out.txt *xirc*
    这里的“-ff”即表明作为扫描源的in.txt是个文件，而作为输出结果的out.txt也是个文件。又如：
      /filter -wf #in.txt #out.txt *xirc*
    这里的“-wf”则表明作为扫描源的#in.txt是个窗口名称，而作为输出结果的#out.txt则是个文件名称。
    参数“-x”表明除却包含关键字的其他行；“-n”表明在扫描到的行前面注明行号；“-s”表明将mIRC的状态窗口作为扫描源；“-g”表明将mIRC的Finger窗口作为扫描源；“-q”表明将mIRC的Dedicated Query窗口作为扫描源；“-p”表明将扫描到的行自动卷行后再输出到某个自定义窗口里；“-r”则是指定扫描的范围——是从第n行到第n2行。
    参数“-i”指提供一个mIRC的自定义对话框ID来作为扫描源；“-o”指提供一个mIRC的自定义对话框ID来作为输出结果。
    参数“-c”指在输出结果到指定的文件(或窗口)之前，先清除掉该文件(或窗口)的内容。
    参数“-t”指按照给定的[c s]参数对输出结果排序，用ASCII码表示的s是列c的分隔符(我也不知道这里究竟是什么意思，原文是：column C using character S as the columns separator)。
    参数“-e”表示将输出结果反向排序；“-u”表示将输出结果按数字排序。
  * 注：在完成了一次/filter命令之后，有个$filtered函数可以返回扫描到的符合条件的总行数。

--------------------------------------------------------------------------------
/FINDTEXT 命令
【语法】
      /findtext [-n] <要查找的信息>
【描述】
    用于查找当前窗口的指定信息(事实上，按下Ctrl+F似乎更方便些)。

--------------------------------------------------------------------------------
/FLASH 命令
【语法】
      /flash [-bwrN] <提示文字>
【描述】
    用于闪烁mIRC的程序图标，并且在其窗口的标题栏上显示指定的提示文字。
    参数“-b”可以使mIRC在闪烁的同时，每秒还发出一次Windows的默认声音。
    参数“-w”可以使mIRC在闪烁的同时还播放指定的声音文件(参见此处)。
    参数“-rN”表明只闪烁N次。

--------------------------------------------------------------------------------
/FLUSHINI 命令
【语法】
      /flushini <INI文件名>
【描述】
    mIRC在使用时，所有相关的INI文件都是被读入内存中的；如果你修改了某个INI文件后想要让它立刻生效，则可以使用本命令。

--------------------------------------------------------------------------------
/FONT 命令
【语法】
      /font [-asgb | 窗口名称] [字号] [字体名称]
【描述】
    用于改变指定窗口的显示字体。
    参数“-a”是指当前窗口；“-s”是指mIRC的状态窗口；“-g”是指Finger窗口；“-b”是指采用粗体字。
  * 如果只输入“/font”，则mIRC会弹出一个字体设置对话框让你设置当前窗口的字体。

--------------------------------------------------------------------------------
/HELP 命令
【语法】
      /help [关键字]
【描述】
    用于打开mIRC的帮助文件。如果你指定了一个关键字，则mIRC会在打开帮助文件后自动转到包含该关键字的位置(如果有的话)。

--------------------------------------------------------------------------------
/HOP 命令
【语法】
      /hop [#闲聊室]
【描述】
    退出当前闲聊室并且转入另一个指定的闲聊室。如果没有指定则是立刻再次转入当前闲聊室。
  * 注：本命令是在mIRC 5.7之后才成为内部命令的，在以前的mIRC版本里都是作为一条Alias命令而存在。

--------------------------------------------------------------------------------
/JOIN 命令
【语法】
      /join [-inx] <#闲聊室> [闲聊室密码]
【描述】
    用于创建或者进入指定的闲聊室，如果该闲聊室被设置了密码也可以用此命令来指定。
    参数“-i”表示进入你最后一次被邀请去的闲聊室(使用此参数时不需要指定闲聊室名)；参数“-n”表示进入闲聊室后将该窗口最小化；“-x”表示进入闲聊室后将该窗口最大化。

--------------------------------------------------------------------------------
/LINESEP 命令
【语法】
      /linesep [-s | 窗口名称]
【描述】
    用于显示指定窗口的行分隔符(可以在mIRC里设定行分隔符)。

--------------------------------------------------------------------------------
/LOAD 命令
【语法】
      /load <-a | -pscqnm | -ruvsN> <脚本文件名>
【描述】
    用于载入指定的脚本文件。
    参数“-a”用于载入Alias文件。
    参数“-ps”用于载入状态窗口的Popup菜单；“-pc”用于载入大窗的Popup菜单；“-pq”用于载入小窗的Popup菜单；“-pn”用于载入大窗人名列表的Popup菜单；“-pm”用于载入菜单栏里的Popup子菜单。
    参数“-ru”用于载入一个自定义用户访问级别文件；“-rv”用于载入一个变量文件；“-rs”用于载入一个Remote脚本文件。
  * 你也可以使用/RELOAD命令来载入一个脚本文件，参数同上，但使用/reload却不会触发on LOAD和on START事件。
  * 当使用/load -rsN时，这里的参数“N”将会把该Remote脚本载入到指定的第N个位置。
【注意】
    一次只能载入一个脚本文件。

--------------------------------------------------------------------------------
/LOADBUF 命令
【语法】
      /loadbuf [行数] [-prsglecoNt<topic>] <窗口名称 | 自定义对话框ID> <文件名>
【描述】
    用于将指定文件从文件尾计起的指定行输出到指定的窗口里。
    参数“-p”表明自动卷行后再输出；“-r”表明在输出结果前先将窗口内容清空；“-s”表明输出到mIRC的状态窗口；“-g”表明输出到mIRC的Finger窗口；“-l”表明输出到一个带有目录列表的自定义窗口里的目录列表里；“-cN”表明用指定的颜色(N为颜色序号)来显示输出结果。
    参数“-t”表示在指定文件的指定标题([topic])下寻找某行并输出。
    参数“-o”则表明用一个自定义对话框ID来代替输出窗口名称，以便将文件内容输出到自定义对话框里。
【举例】
    /loadbuf 20 @test test.txt，这将把test.txt的最后20行输出到@test这个自定义窗口里
    /loadbuf 10-20 -p #Chat test.txt，这将把test.txt的第10-20行自动卷行后输出到窗口#Chat里
    /loadbuf 10 -spc3 test.txt，这将以绿色把test.txt的最后10行输出mIRC的状态窗口里并自动卷行

--------------------------------------------------------------------------------
/LOCALINFO 命令
【语法】
      /localinfo -uh
【描述】
    查找并自动设置你的本机信息。
    参数“-u”是指使用/USERHOST命令查找；而参数“-h”是指进行普通的查找。

--------------------------------------------------------------------------------
/LOG 命令
【语法】
      /log <on | off> <窗口名称> [-f 文件名]
【描述】
    开始或者停止对指定窗口的记录。可以用“-f”参数来指定记录文件名。

--------------------------------------------------------------------------------
/MDI 命令
【语法】
      /mdi [-act]
【描述】
    允许你对窗口的分布进行调整——是排列图标(-a)、将所有窗口层叠(-c)，还是将所有窗口平铺(-t)。

--------------------------------------------------------------------------------
/MKDIR 命令
【语法】
      /mkdir <目录名>
【描述】
    用于创建一个指定的目录。

--------------------------------------------------------------------------------
/REMINI 命令
【语法】
      /remini <INI文件> <标题> [条目]
【描述】
    用于删除指定INI文件里指定标题下的所有内容或者指定的条目。
【注意】
    当一个INI文件正在使用时不要使用本命令来修改该INI文件。

--------------------------------------------------------------------------------
/REMOVE 命令
【语法】
      /remove <文件名>
【描述】
    用于删除指定文件。

--------------------------------------------------------------------------------
/RENAME 命令
【语法】
      /rename <原文件名> <新文件名>
【描述】
    用于将指定文件更名。

--------------------------------------------------------------------------------
/RESETIDLE 命令
【语法】
      /resetidle [秒数]
【描述】
    用于将$idle函数的值重置为0或者指定的秒数。

--------------------------------------------------------------------------------
/RMDIR 命令
【语法】
      /rmdir <目录名>
【描述】
    用于删除指定目录。
  * 注：只有当该目录确实为空时才可以被本命令删除掉。

--------------------------------------------------------------------------------
/RUN 命令
【语法】
      /run [-n] <文件名> [参数]
【描述】
    本命令可以使mIRC运行其它的程序(或文件)，如果该程序可以带参数则也可以用此命令指定。
    如果给出的文件名不是一个可执行文件，则mIRC会先去查找与该文件相关联的程序，然后再使用该程序将这个文件打开。
    参数“-n”可以使得该文件在运行时处于最小化状态。

--------------------------------------------------------------------------------
/SAVE 命令
【语法】
      /save <-pscqnm | -ruv> <文件名>
【描述】
    用于保存指定的Popup文件、自定义用户访问级别文件(Users)或者变量(Variables)文件。
    参数“-ps”用于保存状态窗口的Popup菜单；“-pc”用于保存大窗的Popup菜单；“-pq”用于保存小窗的Popup菜单；“-pn”用于保存大窗人名列表的Popup菜单；“-pm”用于保存菜单栏里的Popup子菜单。
    参数“-ru”用于保存自定义用户访问级别文件；“-rv”用于保存变量文件。

--------------------------------------------------------------------------------
/SAVEBUF 命令
【语法】
      /savebuf [-sga] [行数] <窗口名称> <文件名>
【描述】
    用于将指定窗口从后面计起的指定行保存到一个指定文件里。
    参数“-s”表明保存mIRC状态窗口的内容；“-g”表明保存mIRC Finger窗口的内容。
    参数“-a”表明将要保存的内容追加到指定文件的最后。
【举例】
    /savebuf 20 @test test.txt，此命令将把@test这个自定义窗口里的末20行保存在文件test.txt里

--------------------------------------------------------------------------------
/SAVEINI 命令
【语法】
      /saveini
【描述】
    用于把当前的设置保存在所有与mIRC相关的INI文件里。

--------------------------------------------------------------------------------
/SERVER 命令
【语法】
      /server -sar [IRC服务器地址] [-p 端口] [-g 所属的组] [-w 密码] [-d 连接描述]
【描述】
    用于修改mIRC的服务器列表。
    参数“-s”表示将服务器列表排序；“-a”表示新增添一个连接到mIRC的服务器列表(如果已存在该连接则将其更新)；“-r”是指从mIRC的服务器列表里删除一个连接。
    当使用“-g”、“-w”和“-d”参数时，如果指定的值为“none”，则表明将该信息删除。
【注意】
    要用此命令修改mIRC的服务器列表，则必须指定参数“-sar”中的至少一个。

--------------------------------------------------------------------------------
/SHOWMIRC 命令
【语法】
      /showmirc [-nrstxop]
【描述】
    用于调整mIRC的主窗口。
    参数“-n”表示将主窗口最小化；“-r”表示将主窗口还原；“-s”表示将主窗口显示出来；“-t”表示将mIRC显示在系统托盘里；“-x”表示将主窗口最大化；“-o”表示将主窗口始终置于桌面的最上面；“-p”表示将主窗口不再置于桌面的最上面。

--------------------------------------------------------------------------------
/SLINE 命令
【语法】
      /sline [-a | -r] <#闲聊室名称> <N | 别名>
【描述】
    用于选择(或者取消选择)指定闲聊室人名列表里的别名。
    参数“-a”表示在原有基础上再多选择一个别名；“-r”表示不再选中任何别名。
  * 可以使用具体的名称来选取别名，也可以使用数字来选取人名列表中的第N个别名。

--------------------------------------------------------------------------------
/SREQ 命令
【语法】
      /sreq [+m|-m] [ask | auto | ignore]
【描述】
    用来设置当有人对你发出DCC Send请求时mIRC的反应——是弹出对话框询问(ask)、自动接受(auto)还是自动忽略(ignore)。参数“+m”和“-m”可以设置是否将该DCC Send窗口最小化。
  * 你也可以在mIRC的设置选项里对此进行具体设置。

--------------------------------------------------------------------------------
/STRIP 命令
【语法】
      /strip [+-burc]
【描述】
    用来设置是否过滤其他人的字体修饰。
    参数“+b”表示过滤粗体字；“+u”表示过滤下划线字；“+r”表示过滤反显字；“+c”表示过滤字体的色彩。当被设置为“-b”、“-u”、“-r”、“-c”的时候则表示不过滤。
  * 你也可以在mIRC的设置选项里对此进行具体设置。
【举例】
    /strip +b-urc，此命令表示让mIRC过滤掉其他人的粗体字。

--------------------------------------------------------------------------------
/TIMESTAMP 命令
【语法】
      /timestamp [-fs | a | e] [on | off | default] [窗口名称]
【描述】
    用来打开或者关闭指定窗口的时间戳。
    参数“-s”表明针对mIRC的状态窗口；“-a”表明针对当前窗口；“-e”表明针对当前你所打开的所有窗口。
    参数“on”表示打开时间戳；“off”表示关闭时间戳；“default”表示使用mIRC设置选项里的设置。
    使用“-f”参数可以自定义时间戳的显示方式(具体时间格式请参考$asctime()函数)，例如：/timestamp -f [HH:nn]。

--------------------------------------------------------------------------------
/TITLEBAR 命令
【语法】
      /titlebar [@窗口名称] <指定文本>
【描述】
    用来将mIRC主程序窗口的标题栏信息改成指定文本。
    如果指定了某个自定义窗口的名称，则是改变该自定义窗口的标题栏信息。

--------------------------------------------------------------------------------
/TOKENIZE 命令
【语法】
      /tokenize <C> <Token文本>
【描述】
    此命令可以将以ASCII字符C分隔开的Token文本(参见Token 函数)赋予$1、$2...$N(参见$1- 函数)。
【举例】
    /tokenize 44 a,b,c,d,e，此命令将把“a”赋给$1，“b”赋给$2，“c”赋给$3，“d”赋给$4，“e”赋给$5。

--------------------------------------------------------------------------------
/UNLOAD 命令
【语法】
      /unload <-a | -rs> <文件名>
【描述】
    用于卸载指定的Alias文件或者Remote脚本文件。
    参数“-a”是指卸载Alias文件；“-rs”是指卸载Remote脚本文件。
【举例】
    /unload -a aliases.ini，此命令将卸载aliases.ini这个Alias文件
    /unload -rs script.ini，此命令将卸载script.ini这个Remote脚本文件
【注意】
    一次只能卸载一个文件。

--------------------------------------------------------------------------------
/UPDATENL 命令
【语法】
      /updatenl
【描述】
    在通常情况下，mIRC在一个kick/part/quit事件中所用到的IAL列表和闲聊室人名列表，都是在脚本运行完之后才进行更新的；而使用此命令可以让mIRC立刻进行更新。

--------------------------------------------------------------------------------
/URL 命令
【语法】
      /url [on | off | show | hide | -dran] [[N | mark] | 地址]
【描述】
    用于显示或者隐藏mIRC的URL窗口，并允许你修改该窗口所列出的地址。
  * 使用该命令时，mIRC将捕获屏幕上所有看起来象是个网络地址(URL, Universal Resource Locator)的信息，并将其保存在一个专门的URL窗口里。
    参数“-r”表示从URL窗口里删除第N条地址，或者删除符合参数“mark”的所有地址。
    参数“-a”和“-n”允许你打开浏览器连接到给出的地址；其中，“-a”表示使用当前被激活的浏览器窗口；而“-n”表示另外打开一个新的浏览器窗口。

--------------------------------------------------------------------------------
/USERNAME 命令
【语法】
      /username <新名字>
【描述】
    用于改变你在mIRC的设置选项里所填的真实姓名。

--------------------------------------------------------------------------------
/WINHELP 命令
【语法】
      /winhelp <帮助文件名> [关键字]
【描述】
    调用Windows的帮助系统来打开一个帮助文件，并可以根据你所给的关键字而转到相应内容。

--------------------------------------------------------------------------------
/WRITE 命令
【语法】
      /write [-cida l# s# w#] <文件名> [文本]
【描述】
    用于将指定文本写入指定的文件。
    参数“-c”表示在写入文件之前先将目标文件的内容清空；参数“-l#”表示将指定文本写入到目标文件的指定行，并将原来的行覆盖；参数“-i”表示以插入方式将文本写入到目标文件里，如果没有指定文本则是在“-l#”处插入一个空行，如果连“-l#”参数也没有指定则是在目标文件的末尾插入一个空行；参数“-d”表示从目标文件里删除掉指定的行(如果没有使用“-l#”参数则表示删除目标文件的最后一行)；参数“-s#”表示查找以指定文本作为开始的行，然后符合条件的第一行进行操作；参数“-w#”表示查找包含指定文本的行，然后对符合条件的第一行进行操作；参数“-a”表示让mIRC把文本追加到目标文件的指定行之后。
【警告】
    不要使用本命令来对一个INI文件进行操作，否则有可能将该文件损坏！
【举例】
    /write test.txt Welcome to xIRC.，此命令将把“Welcome to xIRC.”增加到test.txt文件的最后一行
    /write -c test.txt Welcome to xIRC.，此命令将先清空test.txt文件的内容，然后把“Welcome to xIRC.”写入进去
    /write -l10 test.txt Welcome to xIRC.，此命令将把“Welcome to xIRC.”写入到test.txt文件的第10行，如果第10行已有内容则将其覆盖
    /write -dsxirc test.txt，此命令将在test.txt文件里查找以“xirc”作为开始单词的行，如果找到则将其删除

--------------------------------------------------------------------------------
/WRITEINI 命令
【语法】
      /writeini -n [INI文件名] <标题> [条目] [值]
【描述】
    用于将指定文本写入指定的INI文件。
    参数“-n”表示即使目标文件大于64K，mIRC也将对其进行操作。
【举例】
    假设有这样一个INI文件(假设文件名是mirc.ini)：
    ...
    [DDE]
    ServerStatus=on
    ServiceName=mirc

    ...
    使用命令/writeini mirc.ini DDE ServerStatus off则可以将上面的DDC标题下ServerStatus条目的值从“on”改为“off”
    使用命令/writeini mirc.ini DDE ServerName xirc则可以将上面的DDC标题下ServerName条目的值从“mirc”改为“xirc”
    使用命令/writeini mirc.ini DDE CheckName off则可以在上面的DDC标题下新建一个CheckName条目，并将“off”作为它的值

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

【返回】


IRC高级命令

阅读次数：1081
2000-09-08 13:18:34
IRC 高级命令篇

/OPER 命令
【语法】
      /oper <OP别名> <OP密码>
【描述】
    用来向IRC服务器请求OP。如果输入的OP别名和OP密码都正确的话，那么服务器就会给你“+o”属性，这样你就成为了一个IRC管理员(IRC-OP、OPER)了。
【注意】
    几乎在所有的IRC服务器上，对于OP别名和OP密码的大小写都是敏感的。
    一般情况下，IRC服务器在给你+o时还会给你+s，这样你就会自动接收到从服务器发来的注意信息了（如某人被管理员KILL掉、KLINE掉等等）。
    一旦你通过/OPER命令成为了一个IRC-OP，那么，任何闲聊室里的@（即帽子）对你来说都将不再重要，你可以无条件行使所有闲聊室里主持人的几乎一切权力（比如让某人成为闲聊室的主持人、把某人踢出闲聊室等等）。
    要想取消自己的IRC-OP状态，可以使用命令：/mode <自己的别名> -o

--------------------------------------------------------------------------------
/KILL 命令
【语法】
      /kill <别名> [原因]
【描述】
    用来将某人踢出IRC服务器，并可以给出原因。

--------------------------------------------------------------------------------
/KLINE 命令
【语法】
      /kline <电子邮件别名@地址> [原因]
【描述】
    用来把来自某个地址的所有别名踢出IRC服务器，并且禁止他们再次通过该地址连接到当前的IRC服务器。
【举例】
    禁止所有来自127.0.0.1的人登录IRC，用命令：/kline *@127.0.0.1
    TigTag在登录IRC时填写的电子邮件是who@where.com，来自192.168.0.*，要禁止他登录IRC，用命令：/kline who@192.168.0.*
【注意】
    电子邮件别名，又称UserID、ID，指的是用户在连接到IRC服务器时通过IRC客户端软件所提供的电子邮件里的名字（例如某人登录时个人信息里填的电子邮件为who@where.com，那么他的电子邮件别名就是who）；地址则是指该用户连接到IRC服务器时的IP地址或主机名(HostName)。
    一旦使用了KLINE，那么所有符合KLINE中电子邮件别名@地址的用户都将被KILL掉，而且他们将无法再次登录上该IRC服务器（一登录上就会被服务器自动KILL掉），除非被UNKLINE。
  * 如果你是ADMIN，那么你还可以使用/AKILL命令和/RAKILL命令，其用法同/KLINE及/UNKLINE，但作用是全服务器封杀，而且普通的IRC-OP无法使用/UNKLINE解除。

--------------------------------------------------------------------------------
/UNKLINE 命令
【语法】
      /unkline <电子邮件别名@地址>
【描述】
    用来把某个电子邮件别名@地址从KLINE列表里移除。

--------------------------------------------------------------------------------
/STATS 命令
【语法】
      /stats [ko]
【描述】
    /STATS是一个很有用的命令，根据各个IRC服务器的不同和使用的参数不同，它可以查看到许多与服务器相关的信息。这里只介绍两个非常有用的参数：“o”参数是列出IRC服务器上所有的IRC-OP列表（不管他们是否在线）；“k”参数则是列出IRC服务器上当前被KLINE或者AKILL了的地址。

--------------------------------------------------------------------------------
/SHUN 命令
【语法】
      /shun [+|-][别名!电子邮件别名@地址]
【描述】
    用来禁止某个别名或者来自某个地址的所有别名在IRC服务器上发出信息。一旦某人或来自某个地址的所有人被SHUN了，那么他们在IRC服务器上发出的所有信息都将被忽略。这样，他们就相当于成为了当前IRC服务器上的旁听者，不能做任何事情。
【举例】
    禁止TigTag在服务器上发出任何信息，用命令：/shun +TigTag!*@*
    不再禁止来自192.168.0.2的人在服务器上发出信息，用命令：/shun -*!*@192.168.0.2
    列出当前所有被SHUN了的别名或地址，用命令：/shun
【注意】
    在某些服务器上，有专门的/UNSHUN命令以清除SHUN列表

--------------------------------------------------------------------------------
/WALLOPS 命令
【语法】
      /wallops <消息>
【描述】
    用来对IRC服务器上当前的所有IRC-OP发信息。
【注意】
    WALLOPS信息并非只有IRC-OP或以上管理员才能看到，只要自身属性被+w，则任何人都可以看到该信息。

--------------------------------------------------------------------------------
/GLOBOPS 命令
【语法】
      /globops <消息>
【描述】
    用来对IRC服务器上当前的所有IRC-OP发信息，和/WALLOPS不同的是，这是以服务器通告的形式发给IRC-OP或以上级别的管理员。

--------------------------------------------------------------------------------
/LOCOPS 命令
【语法】
      /locops <消息>
【描述】
    作用同/GLOBOPS命令，唯一不同的是/LOCOPS只发送信息给本IRC服务器上的管理员，而/GLOBOPS是发给全服务器的管理员。

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

【返回】


IRC进阶命令

阅读次数：849
2000-09-08 13:17:14
mIRC 进阶命令篇

/ALIAS 命令
【语法】
      /ALIAS [Alias文件名] <命令缩写> <具体命令>
【描述】
    用来为某一条命令提供一个简单的缩写方式，这将使你聊天时更为方便，尤其是与对方纸上谈兵时。 ;>
    你也可以为该命令缩写指定一个保存的文件名。
【注意】
    使用/ALIAS命令只能为一条单行命令提供缩写。事实上大家使用得更多的还是按ALT+A直接调出mIRC的ALIAS编辑框，在这里可以直接对命令缩写进行编辑或者创建、删除等，而且在编辑框里还可以为多行命令设置一个缩写(ALIAS)，这是单单用/ALIAS命令所做不到的。
【举例】
    在mIRC的命令行里输入：/alias /faint /me 晕倒…，这样就有了/faint这个命令缩写。以后你再打/faint就等于是输入了/me 晕倒…这一串命令。
    在mIRC的命令行里输入：/alias /bye /say $1 慢聊，我去了。注意这里的“$1”，它指代了/bye这个命令缩写的第一个参数。以后你打“/bye TigTag”，TigTag就等于成了/bye这个命令缩写的第一个参数的具体值。于是这个命令缩写的最终执行形式实际上就是/say TigTag 慢聊，我去了。

--------------------------------------------------------------------------------
/AME 命令
【语法】
      /AME <消息>
【描述】
    向你在的所有闲聊室发送你的动作。（注意，不是小窗口）

--------------------------------------------------------------------------------
/AMSG 命令
【语法】
      /AMSG <消息>
【描述】
    向你在的所有闲聊室发送话语。（注意，不是小窗口）

--------------------------------------------------------------------------------
/AUTO 命令
【语法】
    /auto [-r] [on|off|别名/地址] [#闲聊室1,#闲聊室2,..] [类型]
【描述】
    用来往mIRC的自动给帽子名单里添加或者删除名字。也就是说，假设TigTag在你的AUTO名单里，那么以后当你在某个闲聊室是主持人的时候，TigTag进来了，则mIRC会自动以你的名义给他加上帽子（即让他变成主持人）。
【注意】
    关于地址类型请参照/IGNORE命令帮助。
【举例】
    要查看当前是否允许mIRC自动给帽子，直接打“/auto”即可。
    要打开mIRC自动给帽子开关，用命令“/auto on”。
    要添加TigTag到自动给帽子名单，用命令“/auto TigTag”。
    要添加TigTag到自动给帽子名单，并限定只有他在#Chat时才自动给帽子，用命令“/auto TigTag #Chat”。
    要从自动给帽子名单移除TigTag，用命令“/auto -r TigTag”。
    要让从127.0.0.1来的所有人都自动给帽子，用命令“/auto *!*@127.0.0.1”。

--------------------------------------------------------------------------------
/BAN 命令
【语法】
      /ban [-ruN] [#闲聊室] <别名|地址> [类型]
【描述】
    禁止某人进入某个闲聊室（根据他的地址）。
    加参数-r是不再禁止某人；参数-uN是指只禁止某人N秒钟。
【注意】
    这和/MODE命令的禁止稍有不同，/BAN在执行时首先要在当前的服务器上查找你要禁止的那个人，找到了才执行禁止这个动作；而/MODE则是任何时候都可以对指定的别名或地址进行禁止。
    关于地址类型请参照/IGNORE命令帮助。

--------------------------------------------------------------------------------
/CHANNEL 命令
【语法】
      /channel
【描述】
    弹出一个对话框，让你可以快速地对当前的闲聊室设置属性。
【注意】
    你必须要在某个闲聊室中，并且你的当前窗口必须是该闲聊室才能执行这条命令。

--------------------------------------------------------------------------------
/CLEAR 命令
【语法】
      /clear [-sghlc] [窗口名称]
【描述】
    用来清除指定窗口的所有信息，如果不指定则清除当前窗口。
    参数“-s”是指清除mIRC的状态窗口的内容；“-g”是指清除mIRC的Finger窗口的内容；“-h”是指清除指定窗口的输入栏的缓冲；“-l”是指清除一个带有目录列表的自定义窗口的目录列表；“-c”是指清除一个自定义图形窗口的鼠标点击历史。

--------------------------------------------------------------------------------
/CLOSE 命令
【语法】
      /close [-icfgms@] [别名1]...[别名N]
【描述】
    用来关闭指定类型的所有窗口。其中，参数-i指未被激活的DCC窗口；-c指闲聊室；-f指文件服务窗口；-g指接收文件窗口；-m指聊天小窗口；-s指发送文件窗口；@指自定义窗口。

--------------------------------------------------------------------------------
/CLOSEMSG 命令
【语法】
      /closemsg <密聊小窗口名称>
【描述】
    用来关闭指定的密聊小窗口。
【提示】
    事实上，用CTRL+F4或者Alt+Z似乎更加快捷。

--------------------------------------------------------------------------------
/CTCP 命令
【语法】
      /ctcp <别名> <PING|TIME|VERSION|FINGER|...>
【描述】
    用来向某人发出特定的CTCP(Client To Client Protocol, 客户端到客户端协议)查询。
    * 标准的CTCP查询有：
    PING　　　　　延迟时间
    TIME　　　　　本地时间
    VERSION　　 　聊天软件版本
    FINGER　　　　指针信息
【举例】
    要查询到TigTag的延迟时间，用命令：/ctcp TigTag ping
    要查询TigTag的本地时间，用命令：/ctcp TigTag time
    要查询TigTag的聊天软件版本，用命令：/ctcp TigTag version
    要查询TigTag的指针信息，用命令：/ctcp TigTag finger

--------------------------------------------------------------------------------
/DCC 命令(Direct Chat Connection, 直接对话连接)
【语法】
      /dcc <SEND [别名] [完整的文件名]|CHAT [别名]>
【描述】
    用来向某人发送文件或者进行密聊。
【注意】
    “完整的文件名”在这里是指包含整个路径信息的文件名。
    用/DCC CHAT进行密聊和/QUERY的密聊有所不同，用/QUERY进行密聊，所有的消息都要经过IRC服务器转送；而用/DCC CHAT，只是在聊天的最初需要IRC服务器初始化一下，此后双方就等于是通过IP建立起了点对点的连接，所有的消息就直接转送而不是通过IRC服务器转送了，相对就更加安全和隐蔽一些，而且即使这时候IRC服务器DOWN了双方也可以继续聊。
    值得注意的是，在用/DCC命令的同时，你的IP地址会暴露给对方，如果是怀有恶意的人……所以，不要随便对陌生人使用/DCC。

--------------------------------------------------------------------------------
/DESCRIBE 命令
【语法】
      /describe <#闲聊室|别名> <动作>
【描述】
    用来向某个闲聊室或者某个人做出动作，效果等同于/ME命令，主要用于mIRC的脚本编写。
【举例】
      /describe #Chat 晕倒，#Chat里的人就会看到你晕倒了。
      /describe TigTag 晕倒，TigTag就会在小窗里看到你晕倒了。

--------------------------------------------------------------------------------
/DISCONNECT 命令
【语法】
      /disconnect
【描述】
    强制和IRC服务器断开连接。
【注意】
    这和/QUIT不同，/QUIT是先向IRC服务器发出一个断开请求，然后由服务器切断连接；而/DISCONNECT则是在本地强制断开连接。

--------------------------------------------------------------------------------
/ECHO 命令
【语法】
      /echo [颜色码] [-dehiNtsaqlbf] [窗口名称] <信息>
【描述】
    用指定的颜色值(0～15)在指定窗口显示信息。其中，参数-a是指在当前窗口；-s是指在mIRC的状态窗口；-d是指在mIRC的Dedicated Query窗口。
    参数“-e”是指在信息的前后一行分别放置一个行分隔符；“-iN”是指在指定的第N个字符处将信息自动卷行；“-h”是强制使用硬回车进行卷行；“-t”是指在前缀一个时间戳(当然，时间戳必须设置为打开)；“-q”是指如果/echo命令用于一个Alias里，则当调用这条Alias并在命令前前缀一个“.”号时，不显示该信息；“-l”是指采用mIRC的高亮设置来显示信息；“-bf”则是指采用该窗口的Beep/Flash设置来显示信息。
【注意】
    用/ECHO显示的信息只有你本人才看得到。

--------------------------------------------------------------------------------
/EXIT 命令
【语法】
      /exit
【描述】
    用来关闭mIRC这个应用程序（即相当于用鼠标点击了mIRC窗口最右上方的“×”）。

--------------------------------------------------------------------------------
/IGNORE 命令
【语法】
      /ignore [-lrpcntikxu#] [on|off|别名/地址] [类型]
【描述】
    用来往mIRC的忽略名单里添加或者删除名字。在忽略名单里的别名或者地址，mIRC都将根据你所指定的方式对他们进行忽略。
      参数　　　　说明
      l 　　　　　根据你所指定的忽略方式列出忽略名单
      r 　　　　　从忽略名单中删除掉指定的别名或地址
      p 　　　　　忽略指定别名或地址的私人信息
      c 　　　　　忽略指定别名或地址的闲聊室信息
      n 　　　　　忽略指定别名或地址的NOTICE信息
      t 　　　　　忽略指定别名或地址的CTCP信息
      i 　　　　　忽略指定别名或地址对你发出的邀请
      k 　　　　　忽略指定别名或地址的颜色代码
      x 　　　　　忽略除了指定别名或地址的其他人的信息
      u#　　　　　在指定秒数内忽略指定的别名或地址
【注意】
    这里的类型是指“别名!电子邮件别名@地址”格式的地址类型，你如果指定了某人的名字，同时也指定了类型，那么mIRC首先会在当前的服务器上查找你指定的那个人，得到他的地址后，以如下的类型形式反馈出来，并添加到mIRC的忽略名单中。
    假设此人叫TigTag，电子邮件是who@where.com，来自127.0.0.1，那么他的地址类型表现如下：
      地址类型　　　　表现形式
      0 　　　　　　　*!who@127.0.0.1
      1 　　　　　　　*!*who@127.0.0.1
      2 　　　　　　　*!*@127.0.0.1
      3 　　　　　　　*!*who@127.0.0.*
      4 　　　　　　　*!*@127.0.0.*
      5 　　　　　　　TigTag!who@127.0.0.1
      6 　　　　　　　TigTag!*who@127.0.0.1
      7 　　　　　　　TigTag!*@127.0.0.1
      8 　　　　　　　TigTag!*who@127.0.0.*
      9 　　　　　　　TigTag!*@127.0.0.*
    * 地址类型也可以是10～19，只是通配符的位置较上面又有些变化。
    * 这些地址类型也适合其它地方，比如/AUTO命令等。
    * 当你正在与人开小窗时，对方的小窗信息无法忽略，除非关掉它。
【举例】
    要查看当前是否允许mIRC进行忽略，直接打“/ignore”即可。
    要允许mIRC进行忽略，用命令“/ignore on”。
    要忽略来自TigTag的所有信息，用命令“/ignore TigTag”。
    要忽略来自TigTag的地址，电子邮件别名也与他相同的所有别名的CTCP信息，用命令“/ignore -t TigTag 0”。
    只忽略TigTag60秒，用命令“/ignore -u60 TigTag”。
    要从忽略名单移除TigTag，用命令“/ignore -r TigTag”。
    要从忽略名单移除所有的别名和地址，用命令“/ignore -r”。

--------------------------------------------------------------------------------
/ISON 命令
【语法】
      /ison <别名1> [别名2] [别名3...]
【描述】
    用来向服务器查询指定的别名是否在线，你可以一次查询多个别名。事实上，很多IRC客户端软件的自动通告功能就是借助于/ISON命令实现的。

--------------------------------------------------------------------------------
/NOTIFY 命令
【语法】
      /notify [-r] [on|off|别名] [注释]
【描述】
    用来往mIRC的通告名单里添加或删除名字，这样当通告名单里的人在线或离线时，mIRC都会自动通告你。
    参数-r是指从通告名单中将指定的名字移除。
  * 如果在别名前面加上个“+”号，则表示在mIRC通告你的同时也自动对其做一个/WHOIS命令。【举例】
    允许mIRC根据通告名单进行通告，用命令：/notify on
    把TigTag加到mIRC的通告名单，用命令：/notify +TigTag Helisheep是也
    把TigTag从mIRC的通告名单移除，用命令：/notify -r TigTag

--------------------------------------------------------------------------------
/OMSG 命令
【语法】
      /omsg [#闲聊室] <消息>
【描述】
    用来给指定闲聊室的所有主持人发送密聊话语，前提是你必须也是主持人。如果未指定闲聊室，那么当前所处的闲聊室就是默认闲聊室。

--------------------------------------------------------------------------------
/ONOTICE 命令
【语法】
      /onotice [#闲聊室] <消息>
【描述】
    用来给指定闲聊室的所有主持人发送注意信息，前提是你必须也是主持人。如果未指定闲聊室，那么当前所处的闲聊室就是默认闲聊室。

--------------------------------------------------------------------------------
/PARTALL 命令
【语法】
      /partall [退出的原因]
【描述】
    用来退出所有闲聊室，在某些IRC服务器上，你还可以指定退出的原因。

--------------------------------------------------------------------------------
/PLAY 命令
【语法】
      /play [-escpb q# m# rl# t#] [#闲聊室/别名/stop] <文本文件名> [间隔时间]
【描述】
    用来播放文本文件到指定的闲聊室或者密聊小窗口。
    参数“-e”是指将文本文件作为只有自己可以看到的显示信息播放出来；“-s”是指允许离线使用/play命令；“-c”是指要mIRC把文本文件的内容当成IRC命令强制执行。
    如果你连续使用了多个/play命令，则在前一个文本文件尚未播放完之前，后面的文本文件是处于等待状态的，意即在同一时刻mIRC只允许你播放一个文本文件(这样主要是为了防止你FLOOD服务器)。参数“-p”可以把文件的等待序列提前，即优先播放；“-q#”可以指定总共允许的最大等待序列(超出的PLAY请求将被忽略)；“-m#”则可以指定每个闲聊室或者别名可以接收的最大等待序列(超出的PLAY请求将被忽略)。注意“-q#”和“-m#”参数都必须是在Remote脚本里使用才有效。
    参数“-b”是指将剪贴板里的文本作为文本文件播放出来；参数“-r”是指从文本文件里随机播放一行；参数“-l#”则是指从文本文件里播放指定的行。
    参数“-t”是指播放指定标题下的所有内容(直到遇到下一个标题为止)。
    使用参数“stop”可以停止播放文本文件。
  * 在使用/PLAY命令时，函数$pnick可以返回当前的接收对象。
【注意】
    间隔时间的单位是毫秒，默认值是1000

--------------------------------------------------------------------------------
/POP 命令
【语法】
      /pop [延迟时间] [#闲聊室] <别名>
【描述】
    用来对某人进行一个延迟给帽子。这主要是为了防止大家同时对同一个人给帽子，从而造成系统信息提示的泛滥。
【注意】
    间隔时间的单位是秒，如果为0则表明立刻给帽子。

--------------------------------------------------------------------------------
/PROTECT 命令
【语法】
    /protect [-r] [on|off|别名] [#闲聊室1,#闲聊室2,..]
【描述】
    用来往mIRC的保护名单里添加或者删除名字。也就是说，假设TigTag在你的保护名单里，那么以后当你在某个闲聊室是主持人的时候，TigTag被踢出去了或者帽子被摘了，mIRC就会自动以你的名义把踢TigTag/摘TigTag帽子的人踢出去/摘帽子。
【举例】
    要查看当前是否允许mIRC自动保护，直接打“/protect”即可。
    要打开mIRC自动保护开关，用命令“/protect on”。
    要添加TigTag到保护名单，用命令“/protect TigTag”。
    要从保护名单移除TigTag，用命令“/protect -r TigTag”。

--------------------------------------------------------------------------------
/RAW 命令
【语法】
    /raw [-q] <命令>
【描述】
    用来往IRC服务器发送命令并要求其执行。在某些IRC服务器上，该命令等同于/QUOTE。
    参数“-q”可以使mIRC不显示你所发出去的命令。

--------------------------------------------------------------------------------
/SAY 命令
【语法】
    /say <消息>
【描述】
    用来向当前的闲聊室说话。其实就等于在命令输入栏里直接敲话。

--------------------------------------------------------------------------------
/SERVER 命令
【语法】
    /server [服务器地址] [端口] [密码]
【描述】
    用来连接某个IRC服务器，并可以指定端口(默认是6667)和密码。
    如果不带任何参数，则mIRC默认连接到上一次连接的IRC服务器。

--------------------------------------------------------------------------------
/SILENCE 命令
【语法】
      /silence [+|-][地址]
【描述】
    用来通知IRC服务器为你建立一个忽略列表，凡是符合SILENCE列表里的人发给你的信息都将被服务器忽略，直至你从SILENCE列表里移除这些地址或者退出IRC服务器。
    关于地址的类型请参考/IGNORE命令。
  * 这个命令其实与/IGNORE命令非常类似，只不过/SILENCE是利用IRC服务器来忽略，而/IGNORE是利用mIRC本身来忽略。
【举例】
    忽略TigTag的任何信息，用命令：/silence +TigTag!*@*
    不再忽略来自192.168.*的任何信息，用命令：/silence -*!*@192.168.*
    查看服务器为你建立的SILENCE列表，用命令：/silence

--------------------------------------------------------------------------------
/SOUND 命令
【语法】
    /sound [on|off|别名/#闲聊室] <file.wav|file.mid> [消息]
【描述】
    用来向某人或者某个闲聊室发出声音(可以是*.wav文件或者*.mid文件)，同时还可以夹带上一句话。
【举例】
    打开mIRC的声音开关，用命令：/sound on
    对#Chat发出passport.mid，用命令：/sound #Chat passport.mid
    对TigTag发出tada.wav，并且说Hi，用命令：/sound TigTag tada.wav Hi

--------------------------------------------------------------------------------
/SPLAY 命令
【语法】
    /splay [-qwm] <stop|file.wav|file.mid>
【描述】
    用来对自己放出声音(可以是*.wav文件或者*.mid文件)，只有自己才听得到。
    也可以用来停止当前mIRC正在播放的声音，用命令：/play stop
    如果只想停止当前mIRC正在播放的*.wav文件，用命令：/play -w stop
    如果只想停止当前mIRC正在播放的*.mid文件，用命令：/play -m stop
    参数“-q”可以让你将要播放的声音文件自动排成一个序列，然后顺次播放。

--------------------------------------------------------------------------------
/TIMER 命令
【语法】
  /timer[数字/名称] [-ceom] [时间] <重复次数> <间隔时间> <命令>
【描述】
    用来重复执行某个命令。默认情况下mIRC使用的是在线TIMER，也就是说，一旦和IRC服务器断开连接，所有的TIMER自动被清除，而参数-o可以强制某个TIMER成为一个离线TIMER；mIRC默认的间隔时间是以秒为单位，而参数-m可以使之以毫秒为单位。
    如果重复次数为0，则该TIMER将一直重复下去，直到用/timer[数字/名称] off停止该任务。（用/timers可以查看所有的TIMER；用/timers off可以清除所有的TIMER；在清除TIMER时也允许使用通配符，例如：/timer3? off、/timerflood_* off）
    /TIMER命令也可以指定在某个时间才开始重复执行命令。
  * 函数$ltimer可以返回你最后一次使用/TIMER命令时所起的计时器的序号或者名称。
【举例】
    重复说10次“大家好”，间隔1秒，用命令：/timer 10 1 /say 大家好
    在23:00的时候报一次时，用命令：/timer 23:00 1 1 /say 现在的时间是晚上11点整！
    终止所有以1开头的TIMER，用命令：/timer1* off

--------------------------------------------------------------------------------
/USERHOST 命令
【语法】
      /userhost <别名>
【描述】
    用于查找某人的IP。

--------------------------------------------------------------------------------
/WHOWAS 命令
【语法】
      /whowas <别名>
【描述】
    用来查询最近某人是否登录过当前的IRC服务器。如果有此人的记录，则通过/WHOWAS命令便可得知他/她末次登录的时间，以及末次登录时使用的地址等等信息

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

【返回】


IRC基本命令

阅读次数：910
2000-09-08 13:16:01
IRC 基本命令篇

/JOIN 命令
【语法】
      /join <#闲聊室> [该闲聊室的密码]
【描述】
    用来加入某个闲聊室。如果该闲聊室设置了密码，你可以指定它。

--------------------------------------------------------------------------------
/PART 命令
【语法】
      /part <#闲聊室> [退出的原因]
【描述】
    用来退出某个闲聊室，在某些IRC服务器上，你还可以指定退出的原因。

--------------------------------------------------------------------------------
/LIST 命令
【语法】
      /list [#闲聊室] [-MIN #] [-MAX #]
【描述】
    用来列出服务器上的闲聊室名称(可以使用通配符)。如果不指定名称则列出当前服务器上的所有可用闲聊室；“-MIN #”和“-MAX #”用来限定列出包含指定人数的闲聊室。
【举例】
    列出包含2～100个人的所有闲聊室：/list -min 2 -max 100

--------------------------------------------------------------------------------
/MSG 命令
【语法】
      /msg <别名|#闲聊室> <消息>
【描述】
    用来向某人发出密聊话语，或者对某个闲聊室的所有人说话。
【举例】
    假设你敲/msg TigTag 你好，那么TigTag就会在他的小窗口里看到你在说“你好”，而且这句话只有你跟TigTag才会看到；
    假设你敲/msg #Chat 大家好，那么在#Chat中的全体成员都会看到你在说“大家好”。
【注意】
    当用/MSG命令对某人发出密聊话语时，其作用与/QUERY相同。唯一的区别就是：使用/MSG命令时，自己这边不单独开个小窗口；而使用/QUERY命令时，双方都会各自开一个小窗口进行对侃。

--------------------------------------------------------------------------------
/ME 命令
【语法】
      /me <动作>
【描述】
    用来在当前闲聊室或者密聊小窗口做出动作。
【举例】
    假设你在#Chat，那么当你敲/me 晕倒，#Chat的其他所有人就会看到你“晕倒”了。

--------------------------------------------------------------------------------
/QUERY 命令
【语法】
      /query <别名> [密聊话语]
【描述】
    用来向某人发出密聊话语。
【举例】
    假设你敲/query TigTag 你好，那么你和TigTag双方都会各自弹出一个小窗口，“你好”这句话会同时出现在你跟TigTag各自的小窗口里，而且这句话只有你跟TigTag才会看到。
【注意】
    当用/MSG命令对某人发出密聊话语时，其作用与/QUERY相同。唯一的区别就是：使用/MSG命令时，自己这边不单独开个小窗口；而使用/QUERY命令时，双方都会各自开一个小窗口进行对侃。

--------------------------------------------------------------------------------
/NOTICE 命令
【语法】
      /notice <别名> <消息>
【描述】
    用来向某人发出注意信息。与/MSG和/QUERY不同，这种注意信息不会在双方开小窗。

--------------------------------------------------------------------------------
/WHOIS 命令
【语法】
      /whois <别名>
【描述】
    用来获取某人的一些信息，如对方的真实名字，对方的IP，对方是何时登录IRC服务器的，等等。

--------------------------------------------------------------------------------
/WHO 命令
【语法】
      /who [别名/地址|#闲聊室]
【描述】
    用来获取某人的一些信息，如对方的IP；也可根据指定的IP找人；还可以列出指定闲聊室的人名。
【举例】
    查找IP地址是127.0.0.1的人，用命令：/who 127.0.0.1
    查找IP地址以192.168打头的人，用命令：/who 192.168.*
    列出当前IRC服务器上的所有非隐藏的人，用命令：/who
【注意】
    不是所有的IRC服务器都支持用/WHO命令找人

--------------------------------------------------------------------------------
/NICK 命令
【语法】
      /nick <别名1> [别名2]
【描述】
    用来更改自己的别名。你可以同时指定两个别名，但是第二个是备用别名。

--------------------------------------------------------------------------------
/QUIT 命令
【语法】
      /quit [退出连接的理由]
【描述】
    用来退出与当前服务器的连接，并可以给出退出的理由。
【注意】
    退出的理由只有那些在你退出的时候，与你在同一闲聊室的人才能看见。

--------------------------------------------------------------------------------
/AWAY 命令
【语法】
      /away [暂时离开的原因]
【描述】
    用来留下一条信息以说明你暂时要离开，你可以指定该信息。以后当某人再向你发送密聊话语或者对你做一个“/WHOIS”命令时，他/她就会看到你留下的信息并且得知你已经暂时离开了。
    如果敲不带任何参数的/AWAY命令则可以解除离开状态。

--------------------------------------------------------------------------------
/ADMIN 命令
【语法】
      /admin
【描述】
    用来查询当前IRC服务器上Admin(即Administrator，IRC里最高级别的管理员)的相关信息

--------------------------------------------------------------------------------
/INFO 命令
【语法】
      /info
【描述】
    用来查询IRC服务器的信息，例如服务器的名称、版本号等等。

--------------------------------------------------------------------------------
/LUSERS 命令
【语法】
      /lusers
【描述】
    用来查询当前IRC服务器上的统计信息，例如当前的在线总人数、已经建立了多少个闲聊室等等。

--------------------------------------------------------------------------------
/MOTD 命令
【语法】
      /motd
【描述】
    用来查询当前IRC服务器上的今日信息(Message Of The Day)。

--------------------------------------------------------------------------------
/LINKS 命令
【语法】
      /links
【描述】
    用来解析当前的IRC有几个服务器，然后把解析到的结果放到一个单独的小窗口里。

--------------------------------------------------------------------------------
/NAMES 命令
【语法】
      /names [#闲聊室]
【描述】
    如果未指定闲聊室，则列出当前IRC服务器上的所有别名；否则只列出指定闲聊室的所有别名。
【注意】
    如果某人利用/MODE命令对自己使用了“+i”（即设置为隐藏模式），则/NAMES将无法列出他的别名。

--------------------------------------------------------------------------------
/INVITE 命令
【语法】
      /invite <别名> <#闲聊室>
【描述】
    用来邀请某人到你指定的闲聊室。

--------------------------------------------------------------------------------
/TOPIC 命令
【语法】
      /topic <#闲聊室> [新主题]
【描述】
    用来更改指定闲聊室的聊天主题。
    如果不指定新主题，则系统会告诉你指定闲聊室的当前主题。

--------------------------------------------------------------------------------
/KICK 命令
【语法】
      /kick <#闲聊室> <别名> [踢他的原因]
【描述】
    用来把某人从你指定的闲聊室赶出去。你可以指定赶他的理由。
【注意】
    要使用/KICK命令，你必须在该闲聊室拥有帽子（也就是是主持人），或者是这个聊天服务器的管理员才可以。

--------------------------------------------------------------------------------
/MODE 命令
【语法】
      /mode <#闲聊室|别名> [[+|-]参数]
【描述】
    /MODE命令是一个强有力的命令，它使得一个闲聊室的主持人能够更改所属闲聊室以及该闲聊室成员的属性。
  * 更改闲聊室的属性
      参数　　　　　效果
        b <别名>　 　禁止某人加入该闲聊室
        i　　　　　 　把闲聊室设置成只有被邀请的人才能进入
        l <人数>　 　限定进入该闲聊室的最大人数
        m　 　　　　　旁听模式—只有主持人和被许可的人才能说话
        n　　 　　　　是否接受从闲聊室外传来的信息(+n为不接受)
        o <别名>　 　使指定的人也成为闲聊室的主持人，即给他/她@符号(帽子)
        p　　　　　 　把闲聊室设置成私人房间
        s　　　　 　　把闲聊室设置成隐藏
        t　　　　 　　锁定主题—只有主持人才能更改它
        k <密码>　 　为闲聊室设置密码—只有知道密码的人才能进来
  * 更改用户的属性
      参数　　　　　效果
        i　　　　 　　使你变得不可见—如果你不在任何闲聊室里，而别人又不知道你的别名的话，他/她就看不到你
        o　　　　 　　IRC管理员(IRC-OP)状态，/MODE命令只能取消该状态。要设置该状态必须用/OPER命令
        s　　　　 　　是否接受服务器的通告(+s为接受)
        v　　　　 　　允许某人在一个设置成旁听模式的闲聊室说话
        w　　　　 　　是否接收WALLOPS信息
【注意】
    要在某个闲聊室使用/MODE命令，大多数情况下，你必须在该闲聊室拥有帽子（也就是是主持人）才可以。
    你只能更改某人在某个闲聊室的属性，而不能更改其在IRC服务器上的属性（自己除外）。
【举例】
    使TigTag成为#Chat的主持人，用命令：/mode #Chat +o TigTag
    使TigTag不再是#Chat的主持人，用命令：/mode #Chat -o TigTag
    禁止TigTag进入#Chat，用命令：/mode #Chat +b TigTag
    不再禁止TigTag进入#Chat，用命令：/mode #Chat -b TigTag
    限定#Chat的最大人数是100，用命令：/mode #Chat +l 100
    使TigTag在服务器上隐藏起来，用命令：/mode TigTag +i
    ……
  * 如果要使多个人成为主持人，这里有个更快捷的方法：/mode #Chat +oooo nicka nickb nickc nickd

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

【返回】


MIRC设置篇（鼠标操作篇）

阅读次数：776
2000-09-08 13:13:51
mIRC 设置篇

> Connect
    IRC Servers：在这里可以添加IRC服务器地址到mIRC的服务器列表。点击Add按钮将弹出一个添加服务器对话框，其中Description栏是服务器名称描述；IRC Server则是服务器的地址；Port(s)是指服务器的端口（默认是6667）；Groups是指设置这个IRC服务器所属的组名称（便于给服务器分类）；最后的Password是如果该服务器需要连接验证的话，则在此处输入验证密码。例如在Description填入“心情聊天中心”，IRC Server填入“61.128.193.47”，Ports沿用6667，再点右边的Add按钮，这样就在mIRC的服务器列表里添加了一个叫“心情聊天中心”的连接。之后任何时候在下拉式菜单里选中“心情聊天中心”，再点击Connect to IRC Server按钮，mIRC就会连接到心情聊天中心的IRC服务器了。
    Full Name：这里填入你的真实名字（虽然意义不大）。
    E-Mail Address：这里填入你的电子邮件地址（可以随便填，例如user@company.com）。
    Nickname：这里填入你的昵称，这将是你连接到IRC服务器后所用的名字。注意其中不能有空格，在某些服务器上还只允许是英文。
    Alternative：这里填入你的备用昵称。即如果你上面的那个昵称已经被某人使用了的话，那么mIRC将自动采用这个昵称。(PS: 如果两个昵称不幸都已经有人在使用了怎么办呢？没关系，这时mIRC会自动在状态窗口或聊天窗口的输入栏里出现/NICK命令，以提示你更改昵称）
    Invisible mode：如果你选中了这个选项，那么当你连接到IRC服务器后，除非你已经进入了某个闲聊室或者别人知道你的昵称，否则别人将很难发现你。（参见/MODE <别名> +i命令）

--------------------------------------------------------------------------------
>> Options
    Connect on startup：是否在打开mIRC的时候立即连接到上一次连接过的IRC服务器。
    Reconnect on disconnection：是否在非正常断开服务器后立刻进行重新连接。
    Pop up connect dialog on startup：是否在打开mIRC的时候自动弹出连接对话框。
    Move to top of list of connect：是否自动把当前连接的服务器排到mIRC服务器列表的最前面。
    When Connecting Retry：是否在连接服务器未成功时自动重试，并可以指定重试次数。
    When Connecting Delay：如果允许在连接服务器未成功时自动重试，在这里可以指定每次重试的间隔时间(秒)。
    When Connecting Try next server in group：是否重试与在服务器列表中相同组内的下一个服务器进行连接。
    Default Port：设置mIRC中所有新建IRC服务器连接的默认端口。

--------------------------------------------------------------------------------
>> Local Info
    这一页里主要是mIRC在试图建立某些连接时所要用到的设置。一般可以不予理会，否则反而可能使mIRC工作不正常。

--------------------------------------------------------------------------------
>> Identd
    Enable Ident server：是否允许mIRC充当一个验证服务器(? Ident Server)，把指定的用户名和操作系统送出去作为验证。在某些IRC服务器上，如果连接时缺少了这一步，将会被拒绝连接，因此一般情况下将其设置为开启比较好。
    User ID：指定用户名（必须为英文或数字）。
    System：指定操作系统。
    Port：指定连接端口。一般是113。
    Show Ident requests：是否显示验证连接请求。
    Enable only when connecting：是否只在连接到IRC服务器的时候启用验证服务器。

--------------------------------------------------------------------------------
>> Firewall
    Use SOCKS firewall：是否允许使用SOCKS防火墙进行连接。
    Protocol：指定使用的防火墙协议是Socks4还是Socks5。
    Hostname：在这里填入防火墙的地址。
    User ID：如果该防火墙不是公共防火墙，在这里填入用户名。
    Password：如果该防火墙不是公共防火墙，在这里填入用户名所对应的密码。
    Port：设置SOCKS防火墙使用的端口。一般是1080。
    Initiate DCCs through firewall：是否通过防火墙初始化DCC连接。选中此项可以建立安全的DCC连接，但是会影响速度。

--------------------------------------------------------------------------------
> IRC
    Prefix own messages：是否在发言时前缀上自己的昵称。
    Show mode prefix：是否在闲聊室里注明发言者的模式(例如@、%、+等)。
    Iconify query window：当某人跟你开小窗时，是否把焦点转到该小窗。选中此项为否。
    Use single message window：是否把所有的小窗对话都显示在一个窗口里，这样的话就不会有很多的小窗口，但是你也就必须用/MSG命令来回答跟你开小窗的人了，除非你用/QUERY命令主动跟他们开小窗。
    copy messages to query：指在选中Use single message window的情况下，当你用/QUERY命令与某人开小窗时，是否自动把Single message window里与其相关的信息全部拷贝到小窗里。
    Whois on query：是否在某人跟你开小窗时自动对他/她做一个/WHOIS命令。
    Auto-join channel on invite：是否在接收到邀请时自动加入该闲聊室。
    Rejoin channel when kicked：当你在某个闲聊室被踢出时，是否立即尝试重新进入该闲聊室。
    Rejoin channels on connect：当你再次连接上某个IRC服务器时，是否再次进入当前已打开的闲聊室窗口。
    Cancel away on keypress：当你被标记为离开状态后，是否在你说出任何一句话时自动取消离开状态。
    Skip MOTD on connect：当连接到IRC服务器时，是否忽略掉今日信息(MOTD, Messages Of The Day)。
    Hide ping? pong! event：是否隐藏掉PING? PONG!事件(即IRC服务器定时对你发出的在线状态查询)。
    Short join/parts：是否以更简洁的方式显示某人进入/退出闲聊室时的屏幕回显信息。
    Show addresses：是否在某人进入/退出/被踢出闲聊室以及从服务器断开时显示他/她的地址。
    Show in active: Invites：是否在当前的活动窗口显示邀请信息。
    Show in active: Queries：是否在当前的活动窗口显示小窗信息。
    Show in active: Notices：是否在当前的活动窗口显示注意信息。
    Show in active: Whois：是否在当前的活动窗口显示/WHOIS命令的查询结果。
    Show in active: Ctcps：是否在当前的活动窗口显示CTCP(Clients To Clients Protocol, 客户端到客户端协议）查询。
    Show...：弹出一个对话框以让你自定义如何显示闲聊室里的各种屏幕回显信息。

--------------------------------------------------------------------------------
>> Perform
    On connect, perform these commands：在这里可以设置是否在连接到IRC服务器时自动执行指定的IRC命令。例如将本选项打上勾，然后在下面写上/.timer 0 60 /raw ping $server，则当你重新连接到任一个IRC服务器上后，mIRC每隔1分钟就会自动向服务器发出PING命令（这在大多数服务器上可以有效地防止因发呆太久而导致的被服务器自动断开）

--------------------------------------------------------------------------------
>> Highlight
    Enable highlighting：是否允许高亮显示，即当聊天室里出现你指定的词时，mIRC会自动把那句话变成高亮以突出显示。
    点击Add按钮可以打开高亮显示的编辑对话框：
    >>> Highlight lines which contain these words：指定高亮显示要捕获的词，可以设置多个词，用英文逗号隔开；也可以使用函数，例如$me。
    >>> Colour：指定用何种颜色将捕获的话进行高亮。
    >>> Play sound：是否在高亮时发出声音，并可以指定声音文件。
    >>> Flash message：当mIRC不是当前的活动窗口，而mIRC又捕获到指定的词时，是否闪烁mIRC的图标。这里也可以指定闪烁时的信息，以及闪烁时播放声音文件的次数。
    >>> Include nicks in match：是否也从说话者的名字里捕获指定的词。

--------------------------------------------------------------------------------
>> Messages
    Timestamp events, formats：是否打开时间戳，如果打开，则mIRC会为聊天室里的每一个事件标明时间。你也可以在这里指定时间戳的显示方式。
    Strip codes from incoming messages: Bold：是否从mIRC接收到的信息中过滤掉粗体字代码（这样就不会显示对方的粗体字）。
    Strip codes from incoming messages: Underline：是否从mIRC接收到的信息中过滤掉下划线字代码（这样就不会显示对方的下划线字）。
    Strip codes from incoming messages: Colour：是否从mIRC接收到的信息中过滤掉色彩代码（这样就不会显示对方的字体色彩）。
    Strip codes from incoming messages: Reverse：是否从mIRC接收到的信息中过滤掉反显字代码（这样就不会显示对方的反显字，对于其它的IRC客户端软件，这可能是斜体字代码，如Microsoft Chat）。
    Strip codes from incoming messages: Only if the number of codes exceeds：是否在对方的话中出现了超过指定数量的代码时才进行过滤。
    Process ANSI codes in incoming messages：是否把接收到的标准ANSI色彩代码转换成mIRC的色彩代码。
    Ctcp finger reply：在这里可以指定当对方用CTCP查询你的指针时，反馈给他/她的信息。
    Quit message：在这里可以指定在默认情况下，当你退出IRC服务器时所留下的信息（你可以用/QUIT指定退出信息）。

--------------------------------------------------------------------------------
>> Control
    Ignore：编辑mIRC的忽略列表，凡是符合列表中地址的别名所发出的信息都将被mIRC自动忽略。（地址的表现形式请参照/IGNORE命令里的相关介绍）
    Auto-Op：编辑mIRC的Auto-OP(自动给帽子)列表，这样当你是某个闲聊室的主持人(有@符号）时，凡是符合列表中地址的别名进到这个聊天室，mIRC都会自动以你的名义给他/她帽子。（地址的表现形式请参照/IGNORE命令里的相关介绍）
    Protect：编辑mIRC的Protect(自动保护)列表，这样当你是某个闲聊室的主持人(有@符号）时，凡是列表中的别名被DEOP(摘帽子)或者被KICK时，mIRC都会自动以你的名义把对他/她不利的人给DEOP或KICK。
    Active：指定是否激活上面的三种自动控制列表（可分别设置）
    Random delay auto-op：是否随机延迟给Auto-OP列表中的人给帽子。这样做是为了防止在某些服务器上，当有多个人同时给某个人帽子时可能造成的一些混乱。

--------------------------------------------------------------------------------
>> Catcher
    Enable address catching for URLs Emails：是否自动捕获聊天室中出现的URL或者Email（打/URL命令可以打开URL窗口查看已经捕获的URL或者Email）
    On View...：指定当在URL窗口里对一个URL选择弹出式菜单里的“View”时，mIRC是为这个URL打开一个新的浏览器窗口还是激活一个已经开着的浏览器窗口。
    On Send...：指定当在URL窗口里对一个URL选择弹出式菜单里的“Send”时，mIRC是只发送地址还是连同对地址的描述一起发送出去。
    Markers: Place ? marked items at top：指定在URL窗口是把标记了“?”号的地址放在最上面还是最下面（选中是放在最上面）。
    Markers: Delete ? marked items on exit：指定是否在退出mIRC时将URL窗口里标记了“?”号的地址删除掉。
    On Double-click：指定在URL窗口里当对一个URL用鼠标进行双击时是修改这个URL还是查看这个URL。
    Location and name of Web Browser：在这里可以指定使用何种浏览器，并给出浏览器程序所在的路径。

--------------------------------------------------------------------------------
>> Logging
    Automatically log：是否对聊天室的各种信息进行自动记录，并可以指定是仅仅记录闲聊室信息、还是小窗信息、或者二者兼之。
    Strip codes：是否在记录文件中过滤掉各种文本修饰代码。
    Lock log files：是否锁定记录文件。按mIRC作者的说法，如果mIRC的自动记录工作正常则不必理会该选项，否则就将该选项取相反值。
    Timestamp logs：如果选中该选项，则记录文件中的每一行都将被记录下具体的产生时间。
    Trim log files to：是否限制每个记录文件到指定大小。
    Date filenames：是否在每个记录文件名里后缀一个当前日期，并可以指定是日、周还是月。
    Log files：这里列出了指定目录下的LOG文件，你还可以利用旁边的View、Merge或者Delete按钮对其进行查看、合并以及删除操作。
    Logs and buffer saves folder：在这里指定LOG文件的储存路径。

--------------------------------------------------------------------------------
>> Flood
    Enable flood protection：是否打开mIRC的Flood(即短时间内发出大量的信息)防护。该选项并不能防止别人对你的Flood，而是用来防止你发送过多的信息给IRC服务器，从而让IRC服务器认为你是在Flood而把你断开。
    Trigger flood check after：指定mIRC进行Flood检查的字节数，当检查到在同一时间发送到服务器的信息超过该字节数时，mIRC则会进行下一步的处理。（PS: 一般情况下mIRC并不会检查你手动发出的字节数，而是检查通过mIRC脚本发出的字节数）
    Max. lines in buffer：设置在缓冲区里在同一时刻允许容纳的最大行数。
    Max. lines per persons：设置在缓冲区里在同一时刻允许发送给每个人的最大行数。
    Ignore person for：设置当发送给某人的最大行数超过指定值时，对他/她进行自动忽略的秒数(为“0”则表示不忽略)。

--------------------------------------------------------------------------------
> Sounds
    Enable event beep section：是否允许为聊天室里的事件发出声音。并可以指定当事件发生时，发出声音的次数以及间隔时间。
    On Event：在这里可以针对各种发生在聊天室的事件设置是否让mIRC发出声音，并且还可以指定具体的声音文件。
    Beep on channel message：如果某个闲聊室窗口不是当前窗口，当有任何信息从该出传出时，则发出系统的默认声音。
    Beep on query message：如果某个小窗不是当前窗口，当有任何信息从该出传出时，则发出系统的默认声音。
    Beep on message while in buffer：当你在利用滚动条查看以前的对话时，如果这时又有人发言，则发出系统的默认声音。

--------------------------------------------------------------------------------
>> Requests
    Accept sound requests：是否接收对方的声音请求。选中该选项，则当某人用/SOUND命令发出声音请求时，如果你这里在指定目录下也有相同的声音文件，则播放该声音文件。
    On sound request: Ignore if a sound is currently playing：如果当你正在执行上一个声音请求时，对方又发出了新的请求，你可以在这里设置是否立刻执行新请求。
    On sound request: Warn if sound doesn't exist：如果对方发出了声音请求，而你这里却没有该文件，你可以在这里设置是否让mIRC发出警告。
    Listen for '!nick file' get requests：如果选中此项，则当有人打出“!<你的别名> <声音文件名>”时，则mIRC会自动在指定的声音文件所在目录下查找该文件，如果找到了则立刻DCC传给对方。
    Send '!nick file' as private message：选中了该选项后，当你打出“!<某人的别名> <声音文件名>”以索取声音文件时，mIRC都会把这个请求自动发送到他/她的小窗口里。这样做是为了防止如果是在某个闲聊室里发送文件索取请求的话，可能会同时有很多人对你DCC该文件。
    Wave files folder：指定mIRC的默认*.wav文件所在目录，当mIRC接收到声音请求时都将自动到该目录下寻找声音文件。
    Midi files folder：指定mIRC的默认*.mid文件所在目录，当mIRC接收到声音请求时都将自动到该目录下寻找声音文件。

--------------------------------------------------------------------------------
>> Agents
    这个选项是从mIRC 5.71版开始专门针对MS Agent的支持而设置的。只有当你的系统里安装了MS Agent后它才能起作用。
    Agent character：在这里你可以选择使用已安装的MS Agent角色文件。
    Size：设定MS Agent角色的默认大小。
    Agent options:Balloons：是否显示MS Agent的弹出式对话框。
    Agent options:Idle effects：是否在MS Agent角色未接到任务时进入发呆状态（这可以让Agent看起来更可爱，呵呵）。
    Agent options:Sounds：是否打开MS Agent角色的音效。
    Agent options:Auto-hide：是否在MS Agent角色未接到任务时自动隐藏。
    Enable Agent for:：是否让MS Agent角色捕获发生在闲聊室(Channels)、小窗(Privates)以及其它地方的各种事件。
    Agent events：点击这个按钮可以具体设置需要MS Agent角色发出信息的IRC事件。
    Lexicon：点击这个按钮可以具体设定MS Agent角色在发出信息时需要被替换掉的词。。
    Speech Options：点击这个按钮可以设置一些MS Agent角色在发出语音的相关参数，例如调整语速(Speed)、音量(Volume)等等。由于这项功能主要是就英文发音而言，在中文操作系统中好象不太好使(反正在我的WIN98上没用起过)，故不再赘述。

--------------------------------------------------------------------------------
> Mouse
    这里可以设定当你在不同的窗口里双击时mIRC要执行的命令。Status是指在状态窗口；Query是指在小窗；Channel是指在闲聊室(大窗)；Nick List是指在闲聊室的人名列表；Notify List是指在mIRC的通知窗口。

--------------------------------------------------------------------------------
>> Drag Drop
    File dropped with：这里可以指定当把文件拖到mIRC窗口时mIRC要执行的操作。No Key是指纯粹用鼠标拖动时执行的动作；Shift Key是指当按下键盘上的“Shift”键并用鼠标拖动时mIRC要执行的动作。

--------------------------------------------------------------------------------
> DCC
    On Send request：指定当有人对你传文件时，是弹出接收文件的对话框(Show get dialog)、自动接收(Auto-get file)还是忽略任何人对你传文件(Ignore all)。当设置为自动接收时还可以指定是否把该DCC窗口最小化(minimize)。
    If Auto-get and file exists：指定当设置为自动接收文件时，如果该文件已存在，是选择询问(Ask)、断点续传(Resume)还是覆盖(Overwrite)。
    On Chat request：指定当有人对你发出DCC Chat请求时，是弹出DCC Chat对话框(Show chat dialog)、自动接受请求(Auto-accept)还是忽略任何人对你发出的DCC Chat请求(Ignore all)。当设置为自动接受请求时还可以指定是否把该DCC窗口最小化(minimize)。

--------------------------------------------------------------------------------
>> Options
    On DCC completion Notify with beep：当指定的DCC类型(Send、Get或者Chat)连接结束时，是否发出系统默认声音。
    On DCC completion Close window：当DCC连接结束时，是否自动关掉指定的DCC窗口(Send、Get或者Chat)。
    Time-out in seconds：这里可以设定各种DCC连接的超时秒数，包括DCC Get/Chat对话框的确认超时(Get/Chat Dialog)、DCC Send/Get的传送超时(Send/Get Transfer)以及文件服务器(Fileserver)超时。
    DCC Ports：在这里可以设定DCC连接所需要的起止端口范围(First和Last)。
    Max remotely requested DCC Sends：设定由mIRC脚本引发的最大DCC Send数。

--------------------------------------------------------------------------------
>> Folders
    DCC Get folders：在这里可以为通过DCC收到的不同类型的文件创建各自的文件夹，以便于更好地进行分类管理。
    点击Add按钮可以打开DCC Get的文件夹设定对话框：
    >>> Save files with these Extensions：添加需要在此保存的文件类型(如*.txt、*.doc等)，如果有多个类型，用英文的逗号隔开。
    >>> Into this Folder：指定保存上述类型文件的默认文件夹。
    >>> Sort files by nickname into own files：指定是否用每一个对你发送文件的人的别名创建一个文件夹，以分别保存来自他们的文件。
    >>> And then Open them with this application：是否在接收完文件后立即用指定的应用程序打开它。
    >>> Or perform this Command on them：可以在这里对接收完的文件指定一条命令（可以用“$1-”来代替文件名）。
    Ignore all files except：如果对方传来的文件不属于下列文件类型，则将其自动忽略掉（用英文逗号隔开每种类型）。
    Turn ignore back on in X mins：指定在接收对方的DCC Send几分钟后重新恢复忽略状态。

--------------------------------------------------------------------------------
>> Fserve
    Max. Fileservers：设置最大文件服务器(Fileserver)数。
    Max. DCC Gets per user：设置每个用户的最大允许DCC Get数。
    Max. Cps per send：设置每次发送时所允许的最大Cps数。。
    Root folder：设置文件服务器的根目录。
    Welcome text file：指定一个文本文件作为文件服务器的欢迎词。
    Display fileserver warning：指定当有文件服务器连接请求时，是否发出警告。

--------------------------------------------------------------------------------
>> Server
    Enable DCC Server：是否允许mIRC充当DCC服务器。
    Listen on Port：设置DCC服务器的监听端口。
    Listen for：指定需要监听的DCC类型（Send、Chat或者Fserve）。
    Perform DNS lookup：是否在建立DCC连接时进行DNS解析。

--------------------------------------------------------------------------------
> Display
    Show Toolbar：是否显示mIRC的工具栏。
    Tooltips：是否显示mIRC的各种提示。
    Show Swichbar：是否显示mIRC的切换栏(即显示各个窗口的图标按钮那一栏，默认是在工具栏之下，主窗口之上)，并可以指定切换栏的高度(Size)。
    Switchbar position：在这里可以指定切换栏在mIRC主窗口的位置——是在上(Top)、在下(Bottom)、在左(Left)还是在右(Right)。
    Stretch buttons to fill switchbar：是否将窗口的图标按钮大小扩展到整个切换栏。
    Include DCC Send/Get windows：是否将DCC Send/Get的窗口图标按钮显示到切换栏中。
    Sort buttons by window type：是否按窗口类型自动排列切换栏中的各个窗口图标按钮。
    Always highlight on new message：当窗口里有新的信息时，如果该窗口不是当前窗口，是否将其在切换栏中的图标按钮高亮。
    Messages：选择当某窗口不是当前窗口而又有新的信息时，该窗口在状态栏上对应的图标按钮颜色。
    Highlight：选择当某窗口不是当前窗口而又有高亮信息被捕获时，该窗口在状态栏上对应的图标按钮颜色。

--------------------------------------------------------------------------------
>> Options
    Show text in mIRC titlebar：可以在这里设置显示在mIRC窗口标题栏的文字。
    Use multi-line editboxes in chat windows：是否在聊天时使用多重编辑栏(即多重输入栏)。
    Speed up display by updating less often：是否减少屏幕的刷新间隔时间，以加快mIRC的显示速度。
    Show options listbox on right-hand side：是否将左边的设置项显示在右边。

--------------------------------------------------------------------------------
>> Windows
    在这里可以设置是否将mIRC的各个内部窗口(如Status窗口、Chat窗口…)显示在mIRC主窗口以外。
    Hide minimized desktop windows：如果选择了上面的窗口，当其最小化时是否将其隐藏。
    Main mIRC window always on top：是否将mIRC主窗口始终放置于桌面的最上层。

--------------------------------------------------------------------------------
>> Tray
    Always show mIRC icon in tray：是否把mIRC的图标一直显示在WINDOWS的系统托盘里。
    On startup minimize mIRC to tray：是否在打开mIRC时就将其最小化到WINDOWS的系统托盘里。
    Place mIRC in tray when minimized：是否在mIRC最小化时将其放置到WINDOWS系统托盘里。
    Animate icon when there is activity：当mIRC的图标被放置到系统托盘里时，如果有任何新信息，是否动画显示该图标。
    Locate and name of Icon to use in tray：设置mIRC显示在系统托盘里的图标。

--------------------------------------------------------------------------------
> General
    Command prefix：设置mIRC的命令识别符号。例如，设置成“#”号，则IRC命令就变成以“#”开头了。
    Windows buffer：设置mIRC窗口的缓冲区大小，即mIRC窗口最大能够保留的行数。
    Line separator：设置mIRC状态窗口的信息回显中，行与行之间的间隔符。
    ESCape key minimizes windows：是否在按下键盘上的“ESC”键时最小化当前窗口。
    Control-K pops up colour index：是否当按下快捷键“Ctrl+K”插入色彩代码时弹出颜色对照表。
    Hotlinks only when Shift-key is pressed：是否在只有按下键盘上的“Shift”键时才捕捉屏幕上的热点链接（例如别名、闲聊室名称、URL等）。
    Right-click in listbox selects line：对于闲聊室的人名列表，是否在按下鼠标右键时也做出别名的选定。
    Titlebar right-click needs Shift-key：是否只有在按下键盘上的“Shift”键时，才能用右键点击标题栏以打开/关闭窗口。

--------------------------------------------------------------------------------
>> Servers
    DDE Server: Enable DDE Server：是否允许mIRC作为一个DDE服务器。
    DDE Server: Check if Service Name in use at startup：在启动时检查服务名称是否已被占用。
    DDE Server: Service Name：设置DDE服务名称。
    DDE Server: DDE delay：设置DDE的延时时间。
    Finger Server: Enable finger server：是否允许mIRC作为一个Finger服务器。
    Finger Server: Show finger requests：当接收到Finger请求时，是否在mIRC窗口里作出显示。
    Finger Server: Finger text file：选择Finger文件。
    Finger Server: Edit file：编辑Finger文件。
    注：Finger文件的编写，是以“[”和“]”作为一个Finger名称，然后换行再编写Finger的具体内容。例如：
    ...
    [TigTag]
    TigTag就是直升羊
    [Helisheep]
    ...
    假设自己的IP是192.168.0.1，这样当有人打出/finger TigTag@192.168.0.1时，就会获得“TigTag就是直升羊”这条信息。

--------------------------------------------------------------------------------
>> Lock
    Lock：是否设定一个密码以锁定mIRC的使用权以及下面的其它选项。
    Ask for password: On Startup：是否在打开mIRC时询问使用密码。
    Disable：这里可以选择是否允许DCC发送(Send)和接收(Get)文件、私下密谈(Private Chats)以及文件服务(Fserve)。
    Disable commands：这里可以选择是否允许使用/run和/dll命令。
    Limit channels to：是否只允许mIRC的使用者加入指定的闲聊室。

【返回】


IRC别名

阅读次数：517
2000-09-08 11:44:20

mIRC提供的别名功能可以让你快速而容易的去完成某些任何，当然你必须与IRC命令与函数合起来使用，关于IRC命令与函数请到相应栏目查看，同时你自已编写的别名能够被菜单命令以及脚本文件调用，但不能自已调用自已。
下面是最简单的一个例子：
/js /join #shangdu,表示你只要在编辑框中输入/js，IRC就会执行/join #shangdu这条语句。
◆别名中经常会用到参数传递，即你在输入别名命令的时候，常常要输入一些必要的参数，如：
/j /join $1,像这样的别名会更具有通用性，如果你在输入框中输入/j #oldhawk，那么#oldhawk会作为一个参数传递给命令/join,相当于执行了命令/join #oldhawk,在这里，$1保存了你输入的第一个参数。当然别名支持多个参数传递，如：
/mymsg /msg $1 $2，你在输入命令/mymsg 的时候，你必须给出两个参数,如你输入/mymsg oldhawk hello!,这样，就会执行命令/msg oldhawk hello!。但是这样的别名你在使用的时候你必须要记清后面得跟上几个参数，这样也不太方便，你可以用下面的方式让IRC弹出一个对话框，你再输入相应的参数也可。
◆IRC弹出参数对话框。如：
/j /join $?,当你打命令/j 的时候，会弹出一个对话框，你可以在框内输入你要加入的房间名，你如果将别名命令中的$?换成$?="Please enter channel name:",那么弹出对话框将显示"please enter channel name"这个提示，让你知道是让你输入一个房间名。
◆如果你想在再次用到刚刚在弹出框中输入的内容是，就要用到$!符号了，如：
/ay /away $?="please enter away message:" | /say $1,在这条别名中，你指定了离开的信息，如果你需再次用到这个信息时，用符号$!,它也保存了你刚刚输入的信息。
◆如果你的别名需要执行多条语句，你必需用{}号括起来，如：
/bankick {
/mode $chan +b $1
/kick $chan $1
/msg $1 踢出的原因
}
在用这个别名的时候，你只要打命令/bankick <nick>，就会先BAN他，再踢他，然后用小窗告诉你踢他的原因。
◆在需要返回当前频道的时候，可以用到这个#符号，它表示当前房间，如：
/p /part #,这条别名命令你只要打/p,就可以退出当前房间了。再如：
/op3 /op # +ooo $1 $2 $3,你在频道内打别名命令/ops,后面再跟三个昵称参数，就可以在当前房间为这三人加帽子了。
◆return与halt命令。return可以终止当前正在运行的过程，回到调用处，并继续执行调用处的下一条命令。当然你也可以在return命令返回时让其返回一个值供调用处的命令使用。如：
/say total is $add(5,10),这是一条命令，其中在调用add别名，并输入了两个参数。
add {
%x = $1 + $2
return %x
}
这样，add把5和10相加，并把结果15返回给调用处,用过/say命令发出来。其实这里的add就是一个自定义函数。
而halt命令可以终止当前脚本，并防止更深的调用，比如你如果在ctcp事件中加入halt命令，那么执行到halt命令时，就不会再回复一个ctcp消息了，这样就有效的防止别人ctcp你了。
◆如果你要从编辑框中执行一条命令，并且命令中有函数等，你就必须在前加两个/符号，如你要退出当然房间你可以用命令/part <房间名>，这里你必须跟出当前房间名，如果你想将<房间名>换成#号的话，你必须输入命令：//part #。再如:
/echo my nickname is $me,它将会显示"my nickname is $me"，并没有将$me换成你的昵称。
//echo my nickname is $me,它将显示"my nickname is 你的昵称"。
◆别名中的注释语句。
平常在写一些脚本的时候，最好养成一个加注释的习惯，这样的脚本便于自已或他人阅读，注释符号是;号，加注释的语句不会被执行。如：
;this is a content line.
◆$&符号是用来分隔超长行的符号，你可以把一行超长的行分为多行来显示。如：
longline {
echo This is an example of a long $&
line that has been split into multiple lines $&
to make it easier to edit
}
◆功能键F1--F12的重定义。
mIRC允许你对F1--F12这些功能键的功能进行重新定义，格式如下：
/F1 /say Hello!
/sF2 /query $1
/cF3 /ctcp $1 version
s表示与shift键组合，c表示与ctrl键组合。
◆你也可以在remote脚本中定义一些别名，但必须以alias做为别名说明，如：
alias add {
%x = $1 + $2
return %x
}
这样，在remote中定义的别名与在别名中定义的别名使用是一样的，并可以完成同样的功能。
下面给出几个小例子和我的一部分别名代码：
例1：用鼠标选中谁给谁帽子。
/myop {
%nick = $snick($chan,1)
/mode $chan +o %nick
}
在这个例子中，$snick返回的是被选中的第一个昵称。这样你选中一个人后，输入别名命令/myop就行了，还不用任何跟参数。
例2：用鼠标选中所有人，你打入一句命令可以向所有人说同样的话。省事多了。
/myall {
%i = 0
:here
inc %i
if (%i <= $snick($chan,0) ) {
%nick = $snick($chan,%i)
/msg $chan $me $+ 对 $+ %nick $+ 说道:$+ $1
goto here
}
}
这个别名我在商都IRC已经用过了，在这里给大家写出源码，其实很简单的。$snick($chan,0)会返回当前频道中你选中的人总数。然后一个一个的对其说一句话，这句话是在打别名命令/myall时做为参数输入的，如输入：/myall 晚上好！，那么你会对你选中的所有人说一句晚上好。
注意这段代码中的第七句：你也可以这样写出来：
/msg $chan $me 对 %nick 说道：$1,但这样在%nick前后都会有空格出现，因为在变量调用的前后都必须用空格隔开，如用用$+号把它们连起来就不会出现这种情况了。
◆大家可以再看看我的这一段带表情的对人说话的别名：

; ----- Remote script by OldHawk. 99.9.30 -----
; --------------------------------------------------
/my1 {
%nick = $snick($chan,1)
/msg $chan 12对4 $+ %nick $+ 12说道:5 $+ $1
}
/my2 {
%nick = $snick($chan,1)
/msg $chan 12对4 $+ %nick $+ 12微笑着说道:5 $+ $1
}
/my3 {
%nick = $snick($chan,1)
/msg $chan 12对着4 $+ %nick $+ 12哈哈大笑说道:5 $+ $1
}
/my4 {
%nick = $snick($chan,1)
/msg $chan 12对4 $+ %nick $+ 12悄悄哼道:5 $+ $1
}
/my5 {
%nick = $snick($chan,1)
/msg $chan 12抱着4 $+ %nick $+ 12说道:5 $+ $1
}
在上面这些别名中，其中的数字是一些颜色码，你只要把这些代码复制到你的别名文件中就可以使用了，使用的时候，格式如下：
/my5 要说的话。但在使用之前，你必须先用鼠标在昵称列表框中选中你要说话的对像。
这只是我这些别名中的一部分，你可以根据这个格式写出自已更多的表情别名来，这样你在大窗说话，你的风格会很受人关注的哟，说不定会有很多人问你是怎么弄出来的呢，:-D

注意：
这些别名代码是在mIRC的一个专门编辑别名命令的工具中输入的，你可以按Alt+A来弹出这个编辑框，并在框中编写。

【返回】


IRC菜单

阅读次数：514
2000-09-08 11:43:16
mIRC在弹出菜单这方面留了很多接口供用户进行二次开发，包括状态窗口，频道窗口，昵称列表窗口，以及小窗和主菜单等地方的弹出菜单，如果为了想简化一些操作，你可以把一些常用的命令做到菜单上，这样使用起来相当方便，这样你的菜单看起来就很酷了，:),弹出菜单都是通过点击鼠标右键来实现的。
同样，在你的菜单中也可以使用自已编写过的别名命令，也可以使用mIRC提供的函数，变量，命令与语法，只是各自运行的方式不一样罢了。
◆弹出菜单的定义格式是这样的：<menuitem>:<command>,<menuitem>表是在弹出菜单上显示的菜单名，而<command>才是点了菜单后执行的命令。如：
给自已加帽子:/msg chanserv op $chan $me，表示，在菜单上显示的是“给自已加帽子”,而实际上执行的是命令/msg chanserv op $chan $me,其中$chan返回当然频道，也就是你打入命令的当前频道，$me返回是自已的昵称，这样你就给自已加上帽子了。
◆如果你想创建一个菜单的子菜单，你就在你的命令行前加一个.号，如：
加入房间
.加入商都:/join #shangdu
.加入老鹰:/join #oldhawk
这样将显示一个“加入房间”的一级菜单，点开后将显示"加入商都"与"加入老鹰"两个二级子菜单。
当然你在命令中也可以有交互式的参数出现，即由用户输入的内容做为执行的参数。如：
认证我的名字:/msg chanserv identify $?="Enter your Password?"，执行这个菜单命令的时候，首先弹出一个对话框，叫你输入你的密码，$?就记住了用户输入的内容，同时做为命令的参数传给/msg 命令，
◆如果你想再做三级，四级菜单，就在命令行前加几个.号。如：
.权限设置
..cfounder
...add:/msg chanserv cfounder $chan add $?="加cfounder给谁？"
...del:/msg chanserv cfounder $chan del $?="去谁的cfounder?"
..sop
...add:/msg chanserv sop $chan add $?="加sopr给谁？"
...del:/msg chanserv sop $chan del $?="去谁的sop?"
这样"权限设置"是二级菜单，cfounder是三级菜单，add是四级菜单。
◆在菜单中加分隔符：这很简单，如是是一级分隔符就是一个-号，二级分隔符是一个.-号，三级分隔符是..-号，四级分隔符是...-号，呵呵。如
权限设置
.cfounder add:/msg chanserv cfounder $chan add $?="add who?"
.-
.sop add:/msg chanserv sop $chan add $?="add who?"
-
其它设置
◆如果菜单命令执行的是多个命令的话，你可以用{}来限定要执行的语句。如：
bankick:{ mode $chan +b $1
kick $chan $nick
}
注意：如果是在昵称列表中使用弹出菜单，你应该先选中一个昵称再弹出菜单，并且这个昵称会自动作为第一个参数传给执行的命令。
◆用menu关键字在remote脚本中添加弹出菜单,如：
menu nicklist {
op
.modeop:/mode $chan +o $nick
.chanservop:/msg chanserv op $chan $nick
}
这样，会在你的昵称列表的弹出菜单中加入一条"op"的一级菜单，它包括"modeop" 与 "chanservop"两个二级子菜单。
注意：
这些别名代码是在mIRC的一个专门编辑弹出菜单命令的工具中输入的，你可以按Alt+P来弹出这个编辑框，并在框中编

【返回】


IRC函数二

阅读次数：640
2000-09-08 11:39:10

与程序语言一样，mIRC提供了它自已的一系列函数，利用各种函数能写出功能很强大的代码，并且很能体现自已的风格与特色，要想用好各种函数，你必须了解函数在调用时附加的各个参数，你必须按照函数预先定认的格式去调用。
mIRC的函数大致可分为七种，在IRC函数(一)中已经介绍了三种，这里介绍剩下的四种，包括：文本与数据类，标识符号类，窗口类与其它四部分。
+-------------------+
| 一，文本与数据类： |
+-------------------+
$abs(N) 返回N的绝对值。
如：$abs(5)返回5，$abs(-2)返回2。
$asc(C) 返回字母C的Ascii码，如$asc(A)返回65。
$calc(operations) 返回指字的复合操作的结果。
如$calc(3.14159 * (2 ^ %x % 3) - ($ticks / (10000 + 1)))
$chr(N) 将Ascii码转换为字符，如$chr(65)返回A
$cos(N) 返回N的余弦值。
$cont(string,substring) 返回子串substring在字符串string中出现的次数。
如：$count(hello,el)返回1，$count(hello,l)返回2。
$int(N) 对N进行取整，不进行四舍五入。
如：$int(3.1415926)返回3。
$islower(text) 如果字符串text中的字全全是小写则返回$true(真)。
$isupper(text) 如果字符串text中的字全全是大写则返回$true(真)。
$left(text,N) 取左子串。
如：$left(Goodbye,4)返回Good。
$len(text) 返回文本串的字符长度。
如：$len(Goodbye)返回7。
$lower(text) 将文本text中的大写字母转成小写字母。
如：$lower(HeLlo)返回hello。
$mid(text.S,N) 取中子串。从第S个字符开始，到第N个字符结束。
如：$mid(Goodbye,3,2)返回od,如果N为0，则取到尾。
$and,$not,$or 二进制数的与，或，非操作。
$pos(text,string,N) 返回string在text中第N次出现的位置，如没有出现，则返回$null.
$rand(V1,V2) 产生一个在V1与V2之间的随机数字或字符。
$remove(string,substring) 返回从string中移去substring后的字符串。
如：$remove(Goodbye,bye)返回Good
$remove(Goodbye,o,b,e)返回Gody
$replace(text,string1,string2) 在字符串text中用string2指定的字符换掉string1.
如：$replace(Goodbye,by,bb)返回Goddbbe.
$right(text,N) 取右子串。
如：$right(Goodbye,5)返回odbye.
$sin(N) 返回N的正弦值。
$str(text,N) 返回一个由N次出到的text组成的字符串。
如：$str(o,5)返回ooooo.
$strip(text) 返回text中的文本，不包括颜色，控制码。
$tan(N) 返回N的正切值。
$upper(text) 将text中的所有小写字母转成大写字母。
如：$upper(goodBYE)返回GOODBYE.
+-----------------+
| 二，标识符号类： |
+-----------------+
说明：这类函数格式都大体一样，我这里只把使用格式与例子写出来，具体意思自已的想吧。其中46表示小数点的Ascii码。
$addtok(text,token,C) 加入标识。
$addtok(a.b.c,d,46) returns a.b.c.d
$addtok(a.b.c.d,c,46) returns a.b.c.d(因为C已经存在了)
$deltok(text,N1-N2,C) 删除标识。
$deltok(a.b.c.d,3,46) returns a.b.d
$deltok(a.b.c.d,2-3,46) returns a.d
$findtok(text,token,N,C) 寻找标识。
$findtok(a.b.c.d,c,1,46) returns 3
$findtok(a.b.c.d,e,1,46) returns $nul(因为e不存在)
$gettok(text,N,C) 返回指定标识。
$gettok(a.b.c.d.e,3,46) returns c
$gettok(a.b.c.d.e,9,46) returns $null
你也可以指定一个范围。
$gettok(a.b.c.d.e,2-,46) returns 2nd token onwards b.c.d.e
$gettok(a.b.c.d.e,2-4,46) returns tokens 2 through 4 b.c.d
$instok(text,token,N,C) 插入标识。
$instok(a.b.d,c,3,46) returns a.b.c.d
$instok(a.b.d,c,9,46) returns a.b.d.c(如N不存在则插在尾部)
$istok(text,token,C) 如果标识token在text中存在则返回$true,否则返回$false
$numtok(text,C) 返回test中标识符的个数。
$puttok(text,token,N,C) 用新的标识文本替换。
$puttok(a.b.c.d,e,2,46) returns a.e.c.d
$reptok(
text,token,new,N,C) $reptok(a.b.c.d,b,e,1,46) returns a.e.c.d
$reptok(a.b.c.d,f,e,1,46) returns a.b.c.d
$reptok(a.b.a.c,a,e,2,46) returns a.b.e.c
$remtok(text,token,N,C) $remtok(a.b.c.d,b,1,46) returns a.c.d
$remtok(a.b.c.d,e,1,46) returns a.b.c.d
$remtok(a.c.c.d,c,1,46) returns a.c.d
$wildtok(
tokens,wildstring,N,C) $wildtok(one two three, t*, 0, 32) returns 2
$wildtok(one two three, t*e, 1, 32) returns three
+-------------+
| 三，窗口类： |
+-------------+
$active 返回IRC当前活动窗口的全名。
$appactive 如果mIRC是当前活动的程序则返回$true,否则返回$false.
$chan(N/#) 返回你进入的指定频道的信息。它的成员包括topic,mode,key,limit,ial
$chan(0)返回你进入的频道总数.
$chan(1)返回你进入的第一个频道名字。
$chat(N/nick,N) 返回你当前的DCC chat窗口信息。成员包括ip, status
$chat(0)返回你当前的dcc chat窗口总数。
$chat(2)返回当然第二个dcc chat窗口的昵称名。
$chat(3).ip返回第三个dcc chat窗口的IP地址。
$query(N/nick) 返回当前的小窗信息。
$query(0)返回你当前的小窗总数。
$query(2)返回当然第二个小窗的昵称。
$send(N/nick,N) 返回当然的Dcc窗口信息。成员有ip,status,file,path,size,sent,lra,cps,pc
$send(0)返回当然dcc窗口总数。
$send(2)返回当前第二个dcc窗口的昵称。
+-----------+
| 四，其它： |
+-----------+
$?*!="Message" 你可以用来定制一个弹出对话框，以取得用户输入的一些信息。
$?="Please Enter Your NickName?",则弹出一个框让你输入你的昵称。
$?*="Please Enter Your Password?",弹出一个框让你输入你的密码，并且输入的字符成*****符号显示。
$?!="Do you sure to quit?"，弹出一个框，有yes与no两铵钮，你必须二选一，如果你选击yes,则返回$true,否则返回$false。
$auto 如果自动发帽子设置为开则返回$true,否则返回为$false.
$away 如果你的离开设置为真则返回$true,否则反回$false.
$dccport 返回dcc设置的端口。
$email 返回在设置选项框中设置的email地址 。
$host 返回你的主机名。
$ignore 如果你的忽略设置为ON，则返回$true,否则返回$false.
$ignore(N/address) 返回忽略表中第N个被忽略的地址。
$inmide 如果当前正在播放midi文件则返回$true,否则返回$false.
$inwave 如果当前正在播放声单文件则返回$true,否则返回$false.
$ip 返回你的IP地址。
$os 返回你的操作系统类型，有3.1,95,98,NT

【返回】


IRC函数一

阅读次数：725
2000-09-08 11:38:11
与程序语言一样，mIRC提供了它自已的一系列函数，利用各种函数能写出功能很强大的代码，并且很能体现自已的风格与特色，要想用好各种函数，你必须了解函数在调用时附加的各个参数，你必须按照函数预先定认的格式去调用。
mIRC的函数大致可分为七种，在这里介绍第一部分IRC函数(一)，包括时间与日期类，文件与目录操作类，昵称与地址类，剩下的四种在IRC函数(二)中介绍。
+-------------------+
| 一，时间与日期类： |
+-------------------+
$asctime(N,format) 可以以文本格式返回当前的时间与日期，format参数格式看这里，N参数可以省略。
$asctime(dd/mm/yyyy) 返回12/15/1999
$asctime(hh:nn:ss)返回14:03:25
$ctime 返回以你系统时间1/1/1970年00:00:00至现在已经过去的秒数。
$ctime(text) 返回你指定时间至现在已过去的秒数。
$ctime(January 1 1970 00:00:00)
$ctime(3rd August 1987 3:46pm)
$ctime(21/4/72 1:30:37)
$ctime(Wed 1998-3-27 21:16)
$date 返回当前日期，格式为：日/月/年
$day 返回当天的星期，如返回Monday,Tuesday,等等。
$fulldate 返回如下格式的当前时间： Wed Jun 26 21:41:02 1996。
$gmt 返回当前的GMT时间。
$ltimer 返回你用/timer命令运行的最后一个时钟开始到现在的时间。
$online 返回你最近一次连接的在线时间秒数。
$time 返回当前时间，格式为：小时:分:秒
$timer(N/name) 返回时钟在当前时钟序列中的ID号。
$timer(0)返回当前正在运行的时钟。
$timer(1)返回时钟序列中第一个时钟的ID号。
$timer(1).com返回在第一个时钟计时器中触发的命令行。
$timer(3).type返回第三个时钟在序列中的工作状态。
$timer(3).secs返回第三个时钟从触发开始到现在的秒数。
+-------------------+
| 二，文件与目录类： |
+-------------------+
$abook(nick,N) 返回昵称在address book中的信息。
它的成员包括nick, info, email, website, picture, noteN
$alias(N/filename) 返回在别名文件中装载的第N个文件的文件名，如果你指定一个文件做为参数，如果文件没有被装载，则返回$null
$dir,$sdir,$file,$hfile 弹出一个自已构造的目录或文件选择对话框，允许你选择一个目录或一个文件。
$dir[="Select a file"] <路径或者文件名>
$sdir[="Select a directory"] <路径>
$file[="Select a file"] <路径或者文件名>
$hfile[="Select a file"] <路径或者文件名>
如：Play A Wave:/splay $file="Choose a wave!" c:\mywaves\*.wav
$disk(C) 返回指定的硬盘的信息。它的成员包括type,free.lable
如：$disk(c:)，如果c:不存在则返回$null
$exists(filename) 如果文件存在则返回$true，否则返回$false
$finddir(dir,wildcard,N,depth) 在指定的目录与其子目录中查找符全条件的目录，如该目录存在则返回目录的全路径。
如：$finddir(c:\,mirc*,1)则在c:找以mirc开头的第一个出现的目录名。
$findfile(dir,wildcard,N,depth) 与$finddir使用参数一样。
如：$findfile(c:\mirc,*.exe,1)则在c:盘mirc目录下查找第一个以exe为扩展名的文件
$getdir 返回在DCC选项中设置的DCC收取文件存放目录。
$isdir(dirname) 如果指定的dir存在则返回$true,否则返回$false。
$isfile(filename) 与上一个函数一们，是用来查看文件是否存在的。
$lines(TxtFilename) 返回指定文本文件的总行数。
$logdir 返回在选项对话框中设置的Log文件存放目录。
$mididir 返回在选项对话框中设置的midi文件存放目录。
$mircexe 返回mirc可执行文件的全路径。
$nofile(filename) 返回指定文件的全路径，但不包括文件名在内。
$nopath(filename) 返回指定文件的文件名，即去掉目录路径部分。
$mircdir 返回mIRC可执行文件所在的目录路径。
$mircini 返回mIRC使用的主INI文件，通常都是mirc.ini。
$read 从指定文件中读出一行放到指定位置。
如：/say $read c:\funny.txt，从c盘funny.txt中随机读出一行发送出去。
/say $read -l24 c:funny.txt,从c盘funny.txt中读出第24行发送出去。
$readini 读取INI文件。
如：$readini c:mirc\mirc.ini option name读mirc.ini中option段的name值。
$wavedir 返回在选项对话框中设置的wave文件存放目录。
+-------------------+
| 三，昵称与地址类： |
+-------------------+
$address(nick,N) 返回指定昵称的mask串，返回值有以下几种类型：
0: *!user@host.domain
1: *!*user@host.domain
2: *!*@host.domain
3: *!*user@*.domain
4: *!*@*.domain
5: nick!user@host.domain
6: nick!*user@host.domain
7: nick!*@host.domain
8: nick!*user@*.domain
9: nick!*@*.domain
如：$address(OldHawk,2)驼回*!*@203.93.3.124
$chancom(nick,N) 返回指定昵称所在的频道信息。它的成员有op,help,voice
如：$chancom(nick,0)返回nick当然进入的房间总数。
$chancom(nick,1)返回nick进入的第一个房间的名字。
$chancom(nick,1).op如果nick在进入的第一个房间有op,则返回$true
$level(address) 返回指定地址的人在用户列表中的级别值。
$link(N) 返回第N个links连接的服务器信息。它的成员有ip,addr,level,info
$mask(address,N) 从给定的定地址中返回指定类型的mask。类型与$address中的类型一样。
$me 返回你当前正在使用的昵称名字。
$nick(#,N/nick,aohvr,aohvr) 返回当前频道内的昵称列表内的昵称信息。
a = all nicks, o = ops, h = helpers, v = voiced, r = regular
第一个aohvr是被包含的选项，第二个aohvr是被排除的选项。
如：$nick(#oldhawk,0)返回频道oldhawk中的昵称总数。
$nick(#oldhawk,1)返回频道oldhawk中的第一个昵称的名字。
$nick(#oldhawk,1,o)返回频道oldhawk中的第一个有帽子的名字。
$nick(#oldhawk,0,a,o)返回频道oldhawk中没有帽子的昵称总数。
$notify(N/nick) 返回你的通知列表的用户信息。它的成员有 ison, note, sound, whois
如：$notify(0)返回你的通知列表的昵称总数。
$notify(3)返回你的通知列表中的第三个昵称。
$notify(3).ison如果你的第三个通知昵称目前在线，则返回$true
$snicks 返回一个字串，包括你当前选中的所有昵称，格式为：
nick1,nick2,nick3,......nickn
$snick(#,N) 返回在昵称列表中你选中的第N个昵称名字。
如：$snick(0)返回你当前选中的昵称总数。
$snick(3)返回你当前选中的第三个昵称的名字。
$snotify 返回当前在通知列表中选中的昵称名字。

【返回】


IRC services 使用简介

阅读次数：3710
2001-06-12 16:14:04
nickserv简介：
昵称服务，它提供了客户昵称的注册，认证，设置等相关命令。
命令名 用 途 使 用 格 式
register 注册昵称 /msg nickserv register <password> <email>
identify 认证昵称 /msg nickserv identify <password>
kill 设置昵称保护开关 /msg nickserv set kill <on/off>
secure 设置昵称的安全性 /msg nickserv set secure <on/off>
private 设置昵称的保密性 /msg nickserv set private <on/off>
password 修改昵称密码 /msg nickserv set password <newpassword>
url 设置昵称的web连接 /msg nickserv set url <web address>
email 设置昵称的email连接 /msg nickserv set email <youremail>
drop 注销昵称 /msg nickserv drop <nick>
ghost 杀掉死名字 /msg nickserv ghost <nick> <password>

chanserv简介：
频道服务，它提供了客户频道的注册，认证，设置等相关命令。下面的#channel表示房间名，password表示密码。
命令名 用 途 使 用 格 式
register 注册房间 /msg chanserv register <#channel> <密码> <简介>
drop 注销房间 /msg chanserv drop <#channel>
op 用服务器给客人加帽子 /msg chanserv op <#channel> <nick>
deop 服务器摘掉某人的帽子 /msg chanserv deop <#channel> <nick>
identify 认证你的房主身份 /msg chanserv identify <#channel> <nick>
akick 增加，删除，列表频道内不受欢迎名单 /msg chanserv akick <#channel> add <nick>
/msg chanserv akick <#channel> del <nick>
/msg chanserv akick <#channel> list
unban 让服务器为自已解ban /msg chanserv unban <#channel> <nick>
info 查看房间信息 /msg chanserv info <#channel>
founder 设置房间的主人 /msg chanserv set <#channel> founder <nick>
password 设置房间的密码 /msg chanserv set <#channel> password <pass>
successor 设置房间继承人 /msg chanserv set <#channel> successor <nick>
entrymsg 设置用户进入时的频道信息 /msg chanserv set <#channel> entrymsg <info>
url 设置房间的web连接 /msg chanserv set <#channel> url <address>
email 设置房间的email连接 /msg chanserv set <#channel> email <email>
topic 设置房间的主题 /msg chanserv set <#channel> topic <newtopic>
keeptopic 设置保留房间的主题 /msg chanserv set <#channel> keeptopic <on/off>
topiclock 锁房间的主题 /msg chanserv set <#channel> topiclock <on/off>
secure 设置房间的安全控制 /msg chanserv set <#channel> secure <on/off>
secureops 设置房间管理员控制模式 /msg chanserv set <#channel> secureops <on/off>
clear bans 清除房间的所有ban /msg chanserv clear <#channel> bans
clear modes 清除房间的模式设置 /msg chanserv clear <#channel> modes
clear ops 清除房间的所有帽子 /msg chanserv clear <#channel> ops
clear users 清除房间的所有用户 /msg chanserv clear <#channel> users

memoserv简介：它提供了客户之间互相留言的功能。
命令名 用 途 使 用 格 式
send 发送留言 /msg memoserv send <nick> <内容>
list 列表留言 /msg memoserv list [new]
read 阅读留言 /msg memoserv read <num/last>
del 删除留言 /msg memoserv del <num/all>

botserv简介:
提供对频道机器人的设置与操作。
dontkickops 设置机器人踢人时是否踢op /msg botserv set <#channel> dontkickops <on/off>
dontkickvoices 设置机器人踢人时是否踢voice /msg botserv set <#channel> dontkickvoices <on/off>
fantasy 设置是否起用机器人命令 /msg botserv set <#channel> fantasy <on/off>
symbiosis 设置机器人是否像真人一样动作 /msg botserv set <#channel> symbiosis <on/off>
badwords 设置机器人脏字踢内容 /msg botserv help set badwords
botlist 列出服务器当前可用机器人 /msg botserv botlist
say 用机器人说话 /msg botserv say <#channel> <info>
set flood 设置机器人flood踢人参数 /msg botserv help set flood
set repeat 设置机器人重复踢人参数 /msg botserv help set repeat
set badwords 设置机器人脏字踢人参数 /msg botserv help set badwords

【返回】


IRC服务器简介

阅读次数：2341
2000-09-08 13:31:18
Server 篇

    现在我们来初步了解一下IRC服务器。
    作为一个标准的IRC服务器，它首先应该符合“RFC 1459”规范(参见http://www.cis.ohio-state.edu/rfc/rfc1459.txt)，在这种服务器里，将只能进行聊天；管理员的分级也很单调，大抵只有Admin、IRC-OP以及各个房间的主持人之分；而且，在这里你是无法使用频道服务或者昵称服务的（因为根本就没有）。
    因此，人们又在RFC 1459标准的基础上做了些扩展，形成了“IRCX”规范。其最明显的表现就是增加了一些频道服务，并且使闲聊室房间的主持人有了进一步的OWNER和HOST之分。OWNER就是第一个进入某闲聊室的人(又称为FOUNDER，用mIRC可以看到他的别名前面有一个英文的句点)，他/她比HOST更高一级，而且只有OWNER才可以更改闲聊室的某些属性(利用/ACCESS和/PROP命令)。自IRCX服务器起便开始有了AOP这个概念，即当你进入某个房间的时候，系统会自动给你加帽子。不过这个概念仍然很模糊，因为只要你在闲聊室里有了帽子，你便可以通过/ACCESS命令把自己设定为AOP。但比起单纯的RFC 1459服务器，这已经是有了很大的进步了。（利用/IRCX命令可以查询当前IRC服务器是否为IRCX服务器，如果是，则会返回诸如“1 0 NTLM,ANON 512 *”之类的信息；否则从服务器返回错误信息）
    IRC是在不断发展的。因此，到了后来，IRC服务器的设计者们在现有基础上又增添了一些实用的服务功能，这就是ChanServ(频道服务)、NickServ(昵称服务)以及MemoServ(留言服务)等。ChanServ具有注册、管理房间的功能(这就已经与IRCX服务器不相上下，甚至还要超出一等)；NickServ则可以让你在IRC服务器注册自己的名字(这样就可以避免有他人来冒充自己了)；而MemoServ则可以让你给已注册名字的人留言。在这种服务器上的管理制度也变得更加有等级，并且在AOP和FOUNDER之间还出现了SOP(Super Operator)。由于这些服务都是设计者们自行增添的，所以并没有形成诸如RFC 1459和IRCX那样的明文规范，但是却已在不知不觉中成为了目前IRC服务器的主流。（在这种服务器上是利用/msg [chanserv | nickserv | memoserv] <服务内容>来获取相应的服务；/msg [chanserv | nickserv | memoserv] help则可以获得相应的帮助信息）
    IRC服务器的发展大抵如此。怎么样？现在你是不是对IRC有了更深一步的了解了呢？如果你有兴趣的话，本站点也提供了IRC服务器的下载，请点击这里。
    由于目前国内比较大的IRC大部分都具有NickServ、ChanServ以及MemoServ等服务系统(国际上也是如此)，因此如果你想对它们有所了解的话，也可以点下面的链接(注：以下命令均以心情聊天中心的服务系统为例，其它IRC类同)：
    Z 昵称服务(NickServ)命令
    Z 频道服务(ChanServ)命令
    Z 留言服务(MemoServ)命令


开始聊天

    ● 连接到服务器
    打开Microsoft Chat，首先它就会自动弹出一个叫“Chat 连接”的对话窗口，其中“服务器(S)”这一栏就是叫你输入IRC服务器的地址了。当然你也可以从它预设的服务器中选择，不过，由于这些服务器都是国外的，所以要想跟更多的中国人聊天，这一栏还是自己填吧。以湖北楚天热线为例，我们填入服务器地址：10.55.2.19
    然后在“服务器”的下面你会看到有三个选择项：“转到闲聊室(G)”、“仅连接到服务器(C)”和“显示所有可以加入的闲聊室(H)”。“转到闲聊室”是指当你连接到服务器上后立刻转到你指定的闲聊室中；“仅连接到服务器”是指仅仅连接到IRC服务器上，什么事情也不做；“显示所有可以加入的闲聊室”则是指当连接到服务器上后，立即在一个窗口里列出当前服务器上的所有闲聊室。一步步来吧，我们选择“仅连接到服务器”，再点“确定”，Microsoft Chat就会开始与楚天热线IRC服务器进行连接了。
    连接上服务器之后，Microsoft Chat会又弹出一个叫“今日消息”的对话框，这里面就详细描述了当前服务器的状况，例如有多少用户在线、多少管理员在线、已经创建了几个闲聊室等等。“今日消息”通常还可以看到服务器上最新的通知，因此，建议大家把最下面的“连接时显示该信息(S)”选上。之后继续点“确定”，至此，我们就已经完成了用Microsoft Chat与IRC服务器进行连接的整个过程了。

    ● 加入/创建闲聊室
    既然已经连接到服务器上了，该怎么进行聊天呢？呵呵，这当然是到闲聊室里去聊了。点击工具栏上的 “闲聊室名单”按钮 按钮，就会弹出“闲聊室名单”窗口，其中就列有当前服务器上所有的闲聊室。当我们选定一个闲聊室后，可以看到“聊客”一栏就是指那个聊天室目前的人数，“主题”则是指那个聊天室目前的谈话主题。选好闲聊室后，请双击它，或者点最下面的“加入闲聊室(J)”，这样就进入那个闲聊室了。怎么样，很简单吧？
    如果你愿意的话，你还可以自己创建一个闲聊室，而且作为创建者你还能够得到主持人的权力（后述）。具体方法是点击工具栏上的 “闲聊室名单”按钮 按钮，再点击“新设闲聊室(C)...”；或者直接点取菜单栏上的“闲聊室(R)” → “创建闲聊室(T)...”。这时就会弹出一个“创建闲聊室”的对话窗口，在“闲聊室名”一栏输入你想要的闲聊室名称，然后按照这个对话窗口给出的选项给闲聊室设置一些属性，比如设置个标题、限定一下人数等等，最后再点“确定”，你的闲聊室就建好了。
    （注意：在设定闲聊室名称的时候，最好在名称前面加个“#”号，例如“#Chat”、“#Chinese”等等，不然在某些IRC服务器上会出错）

    ● 了解界面/开始聊天
    这时，我们可以看到Microsoft Chat的主窗体由三个部分组成：右边是当前闲聊室的人名列表；左边最大的那个部分则是用来显示这个闲聊室中大家所说的话；而最下面那窄窄的一行则是留给自己做输入栏用的（输入文字或者IRC命令）。也许你已经发现，在输入栏的右边依次还有5个小按钮，其实它们的作用分别就是：说、想、耳语、动作和播放声音。“说”是默认的方式，也就等于在输入栏直接敲入文字后回车；“想”则是指当你在输入栏输入文字后，按这个按钮大家就会看到你“在想”你刚才输入的那些文字；“耳语”则是用来对别人说悄悄话的，当你在右边的人名列表中选中了另外一个人，再在输入栏里输入要说的话，然后按“耳语”按钮，那么这句话就只有你和那个人才能看到，闲聊室中的其他人是看不到的；至于“动作”按钮，举个例来说，当你输入“晕倒”，再按这个按钮，闲聊室里的其他人就会看到你“晕倒”了，你所敲入的“晕倒”也就成了你所做的一个动作；而“播放声音”按钮当然也就是用来往当前闲聊室播放声音的了，需要注意的是，Microsoft Chat只支持三种音乐格式：*.wav、*.mid和*.rmi，而且只有在其他人也有你所播放的声音文件时，他们才能听得到。当然你也可以在播放声音的同时附带说一些话，不过这些话将是以做动作的方式发送到闲聊室。这5个按钮也可以分别用快捷键Ctrl+Y、Ctrl+T、Ctrl+W、Ctrl+J和Ctrl+H来完成。

    ● 更改个人信息
    你是不是发现，在闲聊室里你的昵称是叫作“Anonymous”？没错，如果在第一次打开Microsoft Chat的时候你没有填写你的个人信息，Microsoft Chat将会默认你的昵称是“Anonymous”。那该怎么更改呢？点击菜单栏上的“查看” → “选项...”，这时你就会看到“别名”这一栏实际上就是你现在的昵称，把它改成你想改成的其他名字就OK了。你也可以在这里设置你的电子邮件地址、WWW主页以及个人简介，以供给别人查询。至于“真实姓名”这一栏，要更改它只有在断开服务器后才可以。点击工具栏上的 “断开连接”按钮 按钮可以把Microsoft Chat从当前服务器断开。

    ● 做一个主持人
    在“ 入门ABC ”里我们提到过，IRC有很详细的等级制度。而最常见的权力拥有者也就是OP(Operator)，在Microsoft Chat里被叫做“主持人”，也就是那些在人名列表中，别名前面有个小锤子的人。主持人的权力可以由其他主持人或者更高级别的管理员赋予，也可以在创建一个新的闲聊室的时候由系统自动赋予。主持人的权力在于：可以对闲聊室的属性进行更改，比如更改聊天主题；也可以把不受欢迎的人驱逐出闲聊室甚至禁止其再进入。如果你是一个主持人，那么你可以通过点击菜单栏上的“闲聊室(R)” → “闲聊室属性(P)...”来对当前闲聊室的属性进行设置；也可以在人名列表上选定人名后点击右键以对其进行驱逐、禁止或者设置（设置成主持人、参与者或者是旁听者）。
    （注意：只有闲聊室的主持人才能将其他人指定为主持人。而且闲聊室所拥有的主持人的数目没有限制，每个主持人都可以更改闲聊室的属性。）

    ● 开小窗/邀请/小憩/传送文件
    也许你已经开始觉得每次都要按Ctrl+W跟人耳语是一种比较累人的方式了，那么，请在对方的名字上点右键，选择“耳语对话框(W)...”，Microsoft Chat就会自动弹出一个小窗口，以后你就可以和他/她在这里说悄悄话，而不用每次都在闲聊室里按Ctrl+W了。这也就是我们常说的“开小窗”。
    邀请某人到自己的闲聊室来也很简单，首先请确保自己已经在指定的闲聊室中，然后就可以从菜单栏里点取“聊客(M)” → “邀请(N)...”来邀请他/她加入你的闲聊室了。
    如果你突然有事情要离开一会儿，这时就可以用到Microsoft Chat的小憩功能。从菜单栏里点取“聊客(M)” → “小憩(A)...”，或者直接在工具栏上点击 “小憩”按钮 按钮，然后输入离开的原因，再“确定”，Microsoft Chat就会通知IRC服务器把你标记为离开，之后任何人再发给你信息就会得知你已经不在这里了。如果要取消小憩状态，再点击一次“小憩”菜单或者按钮即可。
    通过Microsoft Chat也可以给其他人传文件：右键点击那个人的名字，选“发送文件(F)...”即可。

    ● 文本方式与漫画方式
    Microsoft Chat最值得一用的功能就是它的“漫画方式”了。默认情况下Microsoft Chat使用的是文本方式，点击工具栏上的 “漫画视图”按钮 按钮则可以将其切换到漫画方式。此时你会发现在右边的窗口里多了个漫画人物，这个漫画人物就成为了你的代言人，你所说的每一句话都将由这个人以漫画的方式表达出来。这是不是比纯粹文本的方式更加形象、更加生动呢？赶快来试试吧。
    时间一长，自然而然地你就会对Microsoft Chat默认的这个漫画人物感到厌倦了。但是别着急，人物是可以更换的。方法是在屏幕右边代表你的那个漫画人物上双击，这时Microsoft Chat就会弹出一个对话框让你选择其他的漫画人物了。Microsoft Chat一共给我们提供了22个漫画人物和5个背景图案，但并不代表这些就已经足够了，大家还可以到网上去下载更多的人物及背景，有兴趣的可以去找找看。

    ● 打出有特色的文字
    这里所谓的“有特色的文字”，其实主要也就是指粗体字、斜体字、下划线字以及彩色字而言。关于这些字体风格的切换，通过工具栏上相应的按钮已经可以完成。但是这未免显得稍微麻烦了一点，因为你大可用快捷键Ctrl+B、Ctrl+I、Ctrl+U和Ctrl+K来完成。实际上在其它的很多IRC客户端软件以及字处理软件里，这些快捷键都是通用的。

    ● 查看对方信息
    如果在IRC里有个陌生人突然说出了你的所在地，别惊奇，那是因为他“偷偷地”查看了你的IP，然后利用IP与地域的相应关系推出了你的大致所在地。其实你也可以查看他的IP的，在人名列表上选中人名后点右键，再点“获取标识(D)”即可。同样的道理，你也可以通过右键查看到对方的聊天软件、来回延迟时间以及对方的当地时间等等。


高级应用

    ● Microsoft Chat的自动功能
    如同微软的大部分软件一样，Microsoft Chat本身也有很多自动功能。比如，你也许在某个聊天室看到过这样一种情况：当某人进来的时候，另外一个人会说“您好 某人！欢迎进入闲聊室 #某闲聊室。在这里，您可以尽情享受聊天的乐趣。”；又比如，你可能也经常看到过在聊天室斗嘴时，双方都能针对对方很快地打出来很多话……其实，这就是Microsoft Chat自动功能的体现之一，或者说，利用Microsoft Chat能够很轻松地完成这些功能。下面，就让我们一步步地活用这些自动功能吧。

    ● 创建登录通知
    经常去聊天室的人，肯定会结识不少的朋友，而每次到聊天室，寻找朋友也成了必不可少的一件事情。能不能让这些事情完全自动化呢？当然可以的。按Ctrl+L打开“Microsoft Chat 自动规则”窗口，选择“登录通知”选项卡。看见了吧？这就是Microsoft Chat的登录通知设置窗口。例如在“别名”这一栏选择“%相等%”，然后在旁边填上“直升羊”，再点击最下面的“添加”按钮，“直升羊”这个别名就被添加进Microsoft Chat的登录通知列表了。这样，当“直升羊”来到聊天服务器上时(哪怕他还没进入任何一个闲聊室)，Microsoft Chat都会弹出一个窗口告诉你：“直升羊”已经在线了。
    在网络上，经常会遇到很多别名相同的人。为了区分哪些才是你所认识的朋友，你也可以在Microsoft Chat的登录通知设置窗口里增设一些附加条件，比如限定“用户名”(即对方在“ 个人设置 ”里填的真实姓名)、“网络地址”以及“网络服务器”(即指定聊天服务器)等等。这样就能更加准确地找到自己的朋友了。

    ● 设定自动忽略
    任何聊天室都会有一些无聊的捣乱者，最常见的捣乱方式就是不停地发送一些废话到聊天室或者耳语对话框。对于这些人，如果有管理员在当然应该毫不留情地把他们驱逐出去；如果没有管理员呢？那就只好眼不见心不烦了——忽略掉他！Microsoft Chat可以自动帮你完成这项工作！“Ctrl+L” → “常规” → “自动忽略聒噪者”。默认情况下“启用自动忽略(U)”是已经被打上勾的，你也可以在这里设置指定时间内Microsoft Chat允许的消息次数，这样当某个人发出的消息超过指定的次数时，Microsoft Chat就会把他忽略掉了。
    如果不想再忽略某个人，选中那个人的别名，然后在工具栏上点击被按下的 “忽略”按钮 按钮即可。

    ● 创建规则
    这里所谓的规则，其实是指针对IRC中的各种事件(例如某人对你耳语、某人被驱逐出闲聊室等等)让Microsoft Chat做出反应。一个最常见的规则应用就是“自动问候”，即当你是主持人的时候，可以对每一个进入闲聊室的人打招呼(具体设置在“Ctrl+L” → “常规” → “自动问候”)。实际上更多的规则设置在“规则”选项卡里，这里可以设置更多的触发事件，包括自动登录通知、自动忽略等功能都可以在这里实现。由于基本上是一些简单的人机对话，所以具体的规则设置这里就不再赘述。
    设置好的规则可以在“规则集”选项卡里将其保存下来。一个好的规则集是绝对能够让你在IRC聊天更加得心应手的。

    ● 创建宏
    微软的许多软件里都有“宏”这个功能。在Microsoft Chat里的宏，指的就是当你按下键盘上的“Alt”+数字键0～9时Microsoft Chat自动帮你完成的动作(具体在“Ctrl+L” → “常规” → “宏”)。例如当你选择的组合键为“Alt+1”，随便起个名称，然后在下面的文本输入区里输入“呵呵”，再点“添加宏(M)”按钮完成这个宏。这样以后你在聊天时一按下“Alt+1”，其他人就会看到你在“呵呵”地笑了。
    在创建宏的时候，文本输入区里还可以是一条或几条 IRC命令 ，甚至可以用上规则里的那些变量。这样通过Microsoft Chat提供的这十个宏按键，你甚至可以完成诸如邀请、踢人等的动作。怎么样，是不是觉得很方便呢？


Microsoft Chat篇

MS Chat的IRC命令

    IRC命令是指以斜杠“/”为前缀的命令，灵活地运用它们可以让你轻松自如地进行IRC聊天或者IRC的管理。(毕竟，这可以算是一个IRC高手的必修课嘛)。
    IRC命令分为三种类型：用“RFC 1459”标准定义的 IRC 命令、用扩展的“RFC 1459”标准定义的IRC命令（也称做IRCX命令），以及闲聊客户程序所特有的IRC命令。如果你对某条命令的语法没有把握，请在消息窗口键入相应的命令名，随后出现的错误信息会提供给你它的参数。
    下面列出了Microsoft Chat所支持的大部分IRC命令。其中，有些符号不是语法结构的一部分，而是提示你输入相应类型的信息：竖线 ( | ) 表示 or（“或”操作），尖括号 ( < > ) 指示你要输入的信息的属性。方括号 ( [ ] ) 代表语法结构中的可选部分，而花括号 ( { } ) 则表明该项可以输入多个对象。例如：如果给定的语法结构为 /Msg <Nickname|room_name>{,< Nickname|room_name >}<message>，你可以输入 /Msg SusanB,JoeC How are you?
    IRCX命令只能用于支持扩展功能的服务器。你可以通过键入“/IRCX”命令来获知服务器是否支持IRCX。一些带有扩展功能的IRC命令会包含一些额外的参数，特别是/mode命令带有附加模式，只有IRCX服务器才能支持。
命令 | 语法 | 注释
/Access（仅用于 IRCX） | /Access <room_name> ADD|DELETE <entry_type> <nick!user@host.domain> <time> :[reason] | 用于主人和主持人指定对某一闲聊室用户可以采用的访问类型。 提供五种访问类型：GRANT、DENY、VOICE、HOST和OWNER。
/Access（仅用于 IRCX） | /access <room_name> LIST | 此参数列出当前闲聊室中定义的所有访问入口。
/Access（仅用于 IRCX） | /access <room_name> CLEAR [entry_type] | 此参数用于清除某闲聊室的整个访问列表或该闲聊室中特定类型的入口。如果忽略 [entry_type] 选项，将清除所有入口。 注意：只有闲聊室主人可以使用 OWNER 入口的 /access <room_name> CLEAR 命令。
/Action | /Action <text> | 显示你的别名 + 特定文本
/Admin | /Admin | 用于查找服务器管理员的姓名。
/Away | /Away | 通知他人你在“离开”之后重新回到闲聊室。（参见下条）。
/Away | /Away <reason> | 将你的设置改为“离开”，并显示原因。
/Create | /create <room_name> <modes> <mode arguments> | 创建一个新的闲聊室，并设置其属性。有关参数，请参阅下面的 /Mode 命令
/Info | /Info | 查询服务器中的信息。
/Invite | /Invite <nickname> <room_name> | 邀请其他聊客加入闲聊室。
/IRCX（仅用于 IRCX） | /IRCX or /ISIRCX | 查询服务器与 IRCX 的兼容性。
/Ison | /Ison {<nickname> <nickname>...} | 确认某个或某几个特定用户是否在服务器上。
/Join | /Join <room_name> [<password>] | 创建或加入闲聊室。
/Kick | /Kick <room_name> <nickname>[<reason>] | 用于闲聊室的主持人将用户由特定的闲聊室驱逐出去。
/Kill | /Kill <nickname|room_name> [<reason>] | 用于系统管理员由服务器删除用户。同一命令如果应用于闲聊室名，则将关闭指定闲聊室。
/Links | /Links | 返回被查询服务器所查到的所有服务器的列表。
/List | /List [<room_name>] | 打开“闲聊室名单”对话框。若要查看特定的闲聊室，请指定闲聊室名，并用逗号（而不是空格）分隔，此处允许使用通配符。
/Listx | /Listx [<room_name>] | 将所有闲聊室及其主题的列表返回到“状态”窗口。若要查看特定的闲聊室，请指定闲聊室名，并用逗号（而不是空格）分隔，此处允许使用通配符。
/Me | /Me <message> | 显示你的别名 + 特定文本（与 /Action 相同）。
/Mode (Nickname) | /Mode <nickname> <user_modes> | 更改指定别名的用户状态。<user_modes> 前面的加号 (+) 将按照下述说明更改用户的状态；减号 (-) 将取消用户的状态。 <user_modes> 如下所示： i 将用户标记为不可见。 o 将用户标记为操作员。 q 允许闲聊室主人为其他用户提供主人权限。（仅用于 IRCX）
/Mode (Room_Name) | /Mode <room_name> [<room_modes>] [<max_member>] [<nickname>] [<nickname_mask>] [<password>] | <room_modes> 前面的加号 (+) 将按照下述说明更改闲聊室的状态；减号 (-) 将取消闲聊室的状态。 a 设置一种闲聊室模式，仅有授权用户方可加入此闲聊室。只有系统管理员可以使用此参数。（仅用于 IRCX） b 设置禁令，不允许用户在闲聊室内活动。 d 设置一种闲聊室模式，如果某闲聊室已满，将随之创建另一闲聊室。只有系统管理员可以使用此参数。（仅用于 IRCX） h 设置隐藏闲聊室模式。（仅用于 IRCX） i 设置非邀请莫入的闲聊室模式。Sets invitation-only room mode. k 设置闲聊室的口令。 l 设置闲聊室中的用户限制。 m 设置“将进入者设为旁听者”的闲聊室模式。Sets moderated room mode. n 禁止闲聊室外部的消息发送到闲聊室。 o 授予某人对指定闲聊室的操作员权限。 p 设置私人闲聊室模式。 r 设置已注册闲聊室模式。（仅用于 IRCX） s 设置秘密闲聊室模式。 将闲聊室模式设置为只有主持人和主人才能更改闲聊室主题。 u 将闲聊室模式设置为：如果用户无法进入闲聊室，则将消息发送给主持人。（仅用于 IRCX） v 将闲聊室模式设置为：用户可在“将进入者设为旁听者”的闲聊室中发言。 w 将闲聊室模式设置为：无人可在闲聊室中进行耳语。（仅用于 IRCX） x 设置听众闲聊室模式。该参数只能与 /Create 一起使用（仅用于 IRCX） z 将闲聊室模式设置为：用户可以看到服务器中的某一服务是否在监测闲聊室。该模式由服务器设置。（仅用于 IRCX）
/MOTD | /MOTD | 在“状态”窗口显示今天服务器中的消息。
/Msg | /Msg <nickname|room_name> {,< nickname|room_name >} <message> | 如果你使用别名，则将消息作为耳语向一个或多个用户发送；如果你指定闲聊室名，则作为常规消息向你所在闲聊室的所有聊客发送。
/Names | /Names | 在“状态”窗口中显示连接到你服务器的其他用户的列表。
/Nick | /Nick <nickname> | 更改别名。
/Notice | /Notice <nickname> <message> | 用消息打开收件人的“耳语框”。
/Oper（仅用于 IRCX） | /Oper <user_name> <password> | 将用户状态改为管理员状态。
/Part | /Part | 用于你离开当前闲聊室。
/Privmsg（与 /Msg 命令相同） | /Privmsg <nickname|room_name> {,<nickname|room_name>} <message> | 如果你使用别名，则将消息作为耳语向一个或多个用户发送；如果你指定闲聊室名，则作为常规消息向你所在闲聊室的所有聊客发送。
/Prop | /Prop <room_name> <property_name> <parameters> | 允许闲聊室主持人修改闲聊室的扩展属性，这些属性在 IRCX 服务器上有效。 <room_name> 是指要应用这些设置的闲聊室。 <property_name> 是指要修改的闲聊室属性。 有效属性如下所示： OwnerKey :<OwnerKey> 设置闲聊室的口令，只要有人持主持人钥匙加入闲聊室，就可以被授予主人权限。 HostKey :<HostKey> 设置闲聊室的口令，只要有人持主持人钥匙加入闲聊室，就可以被授予主持人权限。 MemberKey :<MemberKey> 设置闲聊室的口令，所有用户必须持该口令才能加入闲聊室。 OnJoin :<Message> 设置闲聊室的欢迎词，任何人加入该闲聊室都会接收到由该闲聊室发出的欢迎词。 OnPart :<Message> 设置闲聊室的告别词，任何人离开该闲聊室都会接收到由该闲聊室发出的告别词。
/Quit | /Quit | 断开与服务器的连接。
/Quote （与 /Raw 命令相同） | /Quote <command> | 允许你将未处理的命令发送给服务器。例如，对于 Microsoft Chat 不支持的命令，你就可以应用 /quote 将其发送给服务器。
/Raw | /Raw <command> | 允许你将未处理的命令发送给服务器。例如，对于 Microsoft Chat 不支持的命令，你就可以应用 /raw 将其发送给服务器。
/Server | /Server <server[port]network> | 将你连接到服务器或网络。
/Sound | /Sound <nickname|room_name> <"sound_file"> [<message>] | 将声音文件发送到选定的聊客或闲聊室。
/Sound off | /Sound off | 停止在计算机上播放任何声音文件。
/Think | /Think <message> | 将消息显示为想法。
/Time | /Time | 返回服务器名，以及服务器的当前日期和时间。
/Topic (Room host) | /Topic <room_name> <topic> | 用于闲聊室主持人设置当前闲聊室的主题。
/Topic: (All users) | /Topic <room_name> | 在“状态”窗口显示闲聊室的主题。
/Userhost | /Userhost <nickname> {<space><nickname>} | 确认选定用户是否已登录到服务器。
/Version | /Version | 查询服务器，并将其版本返回到“状态”窗口。
/Who | /Who [<nickname>] | 如果存在的话，在“用户名单”对话框中显示与查询内容相匹配的聊客。可以使用通配符。
/Whois | /Whois <nickname>{,<nickname>} | 在“状态“窗口中显示选定聊客的信息。
/Whisper | /Whisper <room_name> <nickname> | 向选定的聊客发送耳语。

注意：
    有关 IRC 规范的详细内容，请查阅 http://www.cis.ohio-state.edu/rfc/rfc1459.txt 或者直接点此处。有关 IRCX 规范的详细内容，请查阅 IETF 的站点，地址为 http://www.ietf.org/，然后在 Internet-Drafts 中查找 IRCX 规范。


mIRC是由Khaled Mardam-Bay编写的一个文本式IRC客户端程序，由于所占带宽极小，而且也有着极好的扩充性（通过编写脚本），因此出来没多久就在全世界流行了起来，成为了IRC高手们最常用的工具之一。　（下载mIRC）
    和Microsoft Chat不同，微软的程序员们总是想法设法避免让用户接触一些复杂的操作；而对于mIRC，要想把它用得得心应手，你就非得学会一系列大大小小的IRC命令不可，虽然，通过鼠标的指指点点，你也同样能够完成mIRC的大部分基本功能。
    因此，本站点根据操作是以鼠标为主还是以键盘为主，把接下来的重点内容分为了“mIRC 设置篇”和“mIRC 命令篇”以分别进行详细的介绍。至于mIRC的另一主要功能——如何编写脚本以响应IRC里的各种事件，将会在本站目录中的“BOT 篇”里进行细致的阐述。
    另外，除了基本的聊天功能以外，mIRC也提供了许多的花边功能，例如充当文件服务器、对MS Agent的支持等等。这些功能或许能够给你带来某些方便，也或许能够给你带来更多的娱乐性。本站点都将一一为你介绍。


mIRC Options

mIRC 设置篇

> Connect
    IRC Servers：在这里可以添加IRC服务器地址到mIRC的服务器列表。点击Add按钮将弹出一个添加服务器对话框，其中Description栏是服务器名称描述；IRC Server则是服务器的地址；Port(s)是指服务器的端口（默认是6667）；Groups是指设置这个IRC服务器所属的组名称（便于给服务器分类）；最后的Password是如果该服务器需要连接验证的话，则在此处输入验证密码。例如在Description填入“心情聊天中心”，IRC Server填入“61.128.193.137”，Ports沿用6667，再点右边的Add按钮，这样就在mIRC的服务器列表里添加了一个叫“心情聊天中心”的连接。之后任何时候在下拉式菜单里选中“心情聊天中心”，再点击Connect to IRC Server按钮，mIRC就会连接到心情聊天中心的IRC服务器了。
    Full Name：这里填入你的真实名字（虽然意义不大）。
    E-Mail Address：这里填入你的电子邮件地址（可以随便填，例如user@company.com）。
    Nickname：这里填入你的昵称，这将是你连接到IRC服务器后所用的名字。注意其中不能有空格，在某些服务器上还只允许是英文。
    Alternative：这里填入你的备用昵称。即如果你上面的那个昵称已经被某人使用了的话，那么mIRC将自动采用这个昵称。(PS: 如果两个昵称不幸都已经有人在使用了怎么办呢？没关系，这时mIRC会自动在状态窗口或聊天窗口的输入栏里出现/NICK命令，以提示你更改昵称）
    Invisible mode：如果你选中了这个选项，那么当你连接到IRC服务器后，除非你已经进入了某个闲聊室或者别人知道你的昵称，否则别人将很难发现你。（参见/MODE <别名> +i命令）
>> Options
    Connect on startup：是否在打开mIRC的时候立即连接到上一次连接过的IRC服务器。
    Reconnect on disconnection：是否在非正常断开服务器后立刻进行重新连接。
    Pop up connect dialog on startup：是否在打开mIRC的时候自动弹出连接对话框。
    Move to top of list of connect：是否自动把当前连接的服务器排到mIRC服务器列表的最前面。
    When Connecting Retry：是否在连接服务器未成功时自动重试，并可以指定重试次数。
    When Connecting Delay：如果允许在连接服务器未成功时自动重试，在这里可以指定每次重试的间隔时间(秒)。
    When Connecting Try next server in group：是否重试与在服务器列表中相同组内的下一个服务器进行连接。
    Default Port：设置mIRC中所有新建IRC服务器连接的默认端口。
>> Local Info
    这一页里主要是mIRC在试图建立某些连接时所要用到的设置。一般可以不予理会，否则反而可能使mIRC工作不正常。
>> Identd
    Enable Ident server：是否允许mIRC充当一个验证服务器(? Ident Server)，把指定的用户名和操作系统送出去作为验证。在某些IRC服务器上，如果连接时缺少了这一步，将会被拒绝连接，因此一般情况下将其设置为开启比较好。
    User ID：指定用户名（必须为英文或数字）。
    System：指定操作系统。
    Port：指定连接端口。一般是113。
    Show Ident requests：是否显示验证连接请求。
    Enable only when connecting：是否只在连接到IRC服务器的时候启用验证服务器。
>> Firewall
    Use SOCKS firewall：是否允许使用SOCKS防火墙进行连接。
    Protocol：指定使用的防火墙协议是Socks4还是Socks5。
    Hostname：在这里填入防火墙的地址。
    User ID：如果该防火墙不是公共防火墙，在这里填入用户名。
    Password：如果该防火墙不是公共防火墙，在这里填入用户名所对应的密码。
    Port：设置SOCKS防火墙使用的端口。一般是1080。
    Initiate DCCs through firewall：是否通过防火墙初始化DCC连接。选中此项可以建立安全的DCC连接，但是会影响速度。
> IRC
    Prefix own messages：是否在发言时前缀上自己的昵称。
    Show mode prefix：是否在闲聊室里注明发言者的模式(例如@、%、+等)。
    Iconify query window：当某人跟你开小窗时，是否把焦点转到该小窗。选中此项为否。
    Use single message window：是否把所有的小窗对话都显示在一个窗口里，这样的话就不会有很多的小窗口，但是你也就必须用/MSG命令来回答跟你开小窗的人了，除非你用/QUERY命令主动跟他们开小窗。
    copy messages to query：指在选中Use single message window的情况下，当你用/QUERY命令与某人开小窗时，是否自动把Single message window里与其相关的信息全部拷贝到小窗里。
    Whois on query：是否在某人跟你开小窗时自动对他/她做一个/WHOIS命令。
    Auto-join channel on invite：是否在接收到邀请时自动加入该闲聊室。
    Rejoin channel when kicked：当你在某个闲聊室被踢出时，是否立即尝试重新进入该闲聊室。
    Rejoin channels on connect：当你再次连接上某个IRC服务器时，是否再次进入当前已打开的闲聊室窗口。
    Cancel away on keypress：当你被标记为离开状态后，是否在你说出任何一句话时自动取消离开状态。
    Skip MOTD on connect：当连接到IRC服务器时，是否忽略掉今日信息(MOTD, Messages Of The Day)。
    Hide ping? pong! event：是否隐藏掉PING? PONG!事件(即IRC服务器定时对你发出的在线状态查询)。
    Short join/parts：是否以更简洁的方式显示某人进入/退出闲聊室时的屏幕回显信息。
    Show addresses：是否在某人进入/退出/被踢出闲聊室以及从服务器断开时显示他/她的地址。
    Show in active: Invites：是否在当前的活动窗口显示邀请信息。
    Show in active: Queries：是否在当前的活动窗口显示小窗信息。
    Show in active: Notices：是否在当前的活动窗口显示注意信息。
    Show in active: Whois：是否在当前的活动窗口显示/WHOIS命令的查询结果。
    Show in active: Ctcps：是否在当前的活动窗口显示CTCP(Clients To Clients Protocol, 客户端到客户端协议）查询。
    Show...：弹出一个对话框以让你自定义如何显示闲聊室里的各种屏幕回显信息。
>> Perform
    On connect, perform these commands：在这里可以设置是否在连接到IRC服务器时自动执行指定的IRC命令。例如将本选项打上勾，然后在下面写上/.timer 0 60 /raw ping $server，则当你重新连接到任一个IRC服务器上后，mIRC每隔1分钟就会自动向服务器发出PING命令（这在大多数服务器上可以有效地防止因发呆太久而导致的被服务器自动断开）
>> Highlight
    Enable highlighting：是否允许高亮显示，即当聊天室里出现你指定的词时，mIRC会自动把那句话变成高亮以突出显示。
    点击Add按钮可以打开高亮显示的编辑对话框：
    >>> Highlight lines which contain these words：指定高亮显示要捕获的词，可以设置多个词，用英文逗号隔开；也可以使用函数，例如$me。
    >>> Colour：指定用何种颜色将捕获的话进行高亮。
    >>> Play sound：是否在高亮时发出声音，并可以指定声音文件。
    >>> Flash message：当mIRC不是当前的活动窗口，而mIRC又捕获到指定的词时，是否闪烁mIRC的图标。这里也可以指定闪烁时的信息，以及闪烁时播放声音文件的次数。
    >>> Include nicks in match：是否也从说话者的名字里捕获指定的词。
>> Messages
    Timestamp events, formats：是否打开时间戳，如果打开，则mIRC会为聊天室里的每一个事件标明时间。你也可以在这里指定时间戳的显示方式。
    Strip codes from incoming messages: Bold：是否从mIRC接收到的信息中过滤掉粗体字代码（这样就不会显示对方的粗体字）。
    Strip codes from incoming messages: Underline：是否从mIRC接收到的信息中过滤掉下划线字代码（这样就不会显示对方的下划线字）。
    Strip codes from incoming messages: Colour：是否从mIRC接收到的信息中过滤掉色彩代码（这样就不会显示对方的字体色彩）。
    Strip codes from incoming messages: Reverse：是否从mIRC接收到的信息中过滤掉反显字代码（这样就不会显示对方的反显字，对于其它的IRC客户端软件，这可能是斜体字代码，如Microsoft Chat）。
    Strip codes from incoming messages: Only if the number of codes exceeds：是否在对方的话中出现了超过指定数量的代码时才进行过滤。
    Process ANSI codes in incoming messages：是否把接收到的标准ANSI色彩代码转换成mIRC的色彩代码。
    Ctcp finger reply：在这里可以指定当对方用CTCP查询你的指针时，反馈给他/她的信息。
    Quit message：在这里可以指定在默认情况下，当你退出IRC服务器时所留下的信息（你可以用/QUIT指定退出信息）。
>> Control
    Ignore：编辑mIRC的忽略列表，凡是符合列表中地址的别名所发出的信息都将被mIRC自动忽略。（地址的表现形式请参照/IGNORE命令里的相关介绍）
    Auto-Op：编辑mIRC的Auto-OP(自动给帽子)列表，这样当你是某个闲聊室的主持人(有@符号）时，凡是符合列表中地址的别名进到这个聊天室，mIRC都会自动以你的名义给他/她帽子。（地址的表现形式请参照/IGNORE命令里的相关介绍）
    Protect：编辑mIRC的Protect(自动保护)列表，这样当你是某个闲聊室的主持人(有@符号）时，凡是列表中的别名被DEOP(摘帽子)或者被KICK时，mIRC都会自动以你的名义把对他/她不利的人给DEOP或KICK。
    Active：指定是否激活上面的三种自动控制列表（可分别设置）
    Random delay auto-op：是否随机延迟给Auto-OP列表中的人给帽子。这样做是为了防止在某些服务器上，当有多个人同时给某个人帽子时可能造成的一些混乱。
>> Catcher
    Enable address catching for URLs Emails：是否自动捕获聊天室中出现的URL或者Email（打/URL命令可以打开URL窗口查看已经捕获的URL或者Email）
    On View...：指定当在URL窗口里对一个URL选择弹出式菜单里的“View”时，mIRC是为这个URL打开一个新的浏览器窗口还是激活一个已经开着的浏览器窗口。
    On Send...：指定当在URL窗口里对一个URL选择弹出式菜单里的“Send”时，mIRC是只发送地址还是连同对地址的描述一起发送出去。
    Markers: Place ? marked items at top：指定在URL窗口是把标记了“?”号的地址放在最上面还是最下面（选中是放在最上面）。
    Markers: Delete ? marked items on exit：指定是否在退出mIRC时将URL窗口里标记了“?”号的地址删除掉。
    On Double-click：指定在URL窗口里当对一个URL用鼠标进行双击时是修改这个URL还是查看这个URL。
    Location and name of Web Browser：在这里可以指定使用何种浏览器，并给出浏览器程序所在的路径。
>> Logging
    Automatically log：是否对聊天室的各种信息进行自动记录，并可以指定是仅仅记录闲聊室信息、还是小窗信息、或者二者兼之。
    Strip codes：是否在记录文件中过滤掉各种文本修饰代码。
    Lock log files：是否锁定记录文件。按mIRC作者的说法，如果mIRC的自动记录工作正常则不必理会该选项，否则就将该选项取相反值。
    Timestamp logs：如果选中该选项，则记录文件中的每一行都将被记录下具体的产生时间。
    Trim log files to：是否限制每个记录文件到指定大小。
    Date filenames：是否在每个记录文件名里后缀一个当前日期，并可以指定是日、周还是月。
    Log files：这里列出了指定目录下的LOG文件，你还可以利用旁边的View、Merge或者Delete按钮对其进行查看、合并以及删除操作。
    Logs and buffer saves folder：在这里指定LOG文件的储存路径。
>> Flood
    Enable flood protection：是否打开mIRC的Flood(即短时间内发出大量的信息)防护。该选项并不能防止别人对你的Flood，而是用来防止你发送过多的信息给IRC服务器，从而让IRC服务器认为你是在Flood而把你断开。
    Trigger flood check after：指定mIRC进行Flood检查的字节数，当检查到在同一时间发送到服务器的信息超过该字节数时，mIRC则会进行下一步的处理。（PS: 一般情况下mIRC并不会检查你手动发出的字节数，而是检查通过mIRC脚本发出的字节数）
    Max. lines in buffer：设置在缓冲区里在同一时刻允许容纳的最大行数。
    Max. lines per persons：设置在缓冲区里在同一时刻允许发送给每个人的最大行数。
    Ignore person for：设置当发送给某人的最大行数超过指定值时，对他/她进行自动忽略的秒数(为“0”则表示不忽略)。
> Sounds
    Enable event beep section：是否允许为聊天室里的事件发出声音。并可以指定当事件发生时，发出声音的次数以及间隔时间。
    On Event：在这里可以针对各种发生在聊天室的事件设置是否让mIRC发出声音，并且还可以指定具体的声音文件。
    Beep on channel message：如果某个闲聊室窗口不是当前窗口，当有任何信息从该出传出时，则发出系统的默认声音。
    Beep on query message：如果某个小窗不是当前窗口，当有任何信息从该出传出时，则发出系统的默认声音。
    Beep on message while in buffer：当你在利用滚动条查看以前的对话时，如果这时又有人发言，则发出系统的默认声音。
>> Requests
    Accept sound requests：是否接收对方的声音请求。选中该选项，则当某人用/SOUND命令发出声音请求时，如果你这里在指定目录下也有相同的声音文件，则播放该声音文件。
    On sound request: Ignore if a sound is currently playing：如果当你正在执行上一个声音请求时，对方又发出了新的请求，你可以在这里设置是否立刻执行新请求。
    On sound request: Warn if sound doesn't exist：如果对方发出了声音请求，而你这里却没有该文件，你可以在这里设置是否让mIRC发出警告。
    Listen for '!nick file' get requests：如果选中此项，则当有人打出“!<你的别名> <声音文件名>”时，则mIRC会自动在指定的声音文件所在目录下查找该文件，如果找到了则立刻DCC传给对方。
    Send '!nick file' as private message：选中了该选项后，当你打出“!<某人的别名> <声音文件名>”以索取声音文件时，mIRC都会把这个请求自动发送到他/她的小窗口里。这样做是为了防止如果是在某个闲聊室里发送文件索取请求的话，可能会同时有很多人对你DCC该文件。
    Wave files folder：指定mIRC的默认*.wav文件所在目录，当mIRC接收到声音请求时都将自动到该目录下寻找声音文件。
    Midi files folder：指定mIRC的默认*.mid文件所在目录，当mIRC接收到声音请求时都将自动到该目录下寻找声音文件。
>> Agents
    这个选项是从mIRC 5.71版开始专门针对MS Agent的支持而设置的。只有当你的系统里安装了MS Agent后它才能起作用。
    Agent character：在这里你可以选择使用已安装的MS Agent角色文件。
    Size：设定MS Agent角色的默认大小。
    Agent options:Balloons：是否显示MS Agent的弹出式对话框。
    Agent options:Idle effects：是否在MS Agent角色未接到任务时进入发呆状态（这可以让Agent看起来更可爱，呵呵）。
    Agent options:Sounds：是否打开MS Agent角色的音效。
    Agent options:Auto-hide：是否在MS Agent角色未接到任务时自动隐藏。
    Enable Agent for:：是否让MS Agent角色捕获发生在闲聊室(Channels)、小窗(Privates)以及其它地方的各种事件。
    Agent events：点击这个按钮可以具体设置需要MS Agent角色发出信息的IRC事件。
    Lexicon：点击这个按钮可以具体设定MS Agent角色在发出信息时需要被替换掉的词。。
    Speech Options：点击这个按钮可以设置一些MS Agent角色在发出语音的相关参数，例如调整语速(Speed)、音量(Volume)等等。由于这项功能主要是就英文发音而言，在中文操作系统中好象不太好使(反正在我的WIN98上没用起过)，故不再赘述。
> Mouse
    这里可以设定当你在不同的窗口里双击时mIRC要执行的命令。Status是指在状态窗口；Query是指在小窗；Channel是指在闲聊室(大窗)；Nick List是指在闲聊室的人名列表；Notify List是指在mIRC的通知窗口。
>> Drag Drop
    File dropped with：这里可以指定当把文件拖到mIRC窗口时mIRC要执行的操作。No Key是指纯粹用鼠标拖动时执行的动作；Shift Key是指当按下键盘上的“Shift”键并用鼠标拖动时mIRC要执行的动作。
> DCC
    On Send request：指定当有人对你传文件时，是弹出接收文件的对话框(Show get dialog)、自动接收(Auto-get file)还是忽略任何人对你传文件(Ignore all)。当设置为自动接收时还可以指定是否把该DCC窗口最小化(minimize)。
    If Auto-get and file exists：指定当设置为自动接收文件时，如果该文件已存在，是选择询问(Ask)、断点续传(Resume)还是覆盖(Overwrite)。
    On Chat request：指定当有人对你发出DCC Chat请求时，是弹出DCC Chat对话框(Show chat dialog)、自动接受请求(Auto-accept)还是忽略任何人对你发出的DCC Chat请求(Ignore all)。当设置为自动接受请求时还可以指定是否把该DCC窗口最小化(minimize)。
>> Options
    On DCC completion Notify with beep：当指定的DCC类型(Send、Get或者Chat)连接结束时，是否发出系统默认声音。
    On DCC completion Close window：当DCC连接结束时，是否自动关掉指定的DCC窗口(Send、Get或者Chat)。
    Time-out in seconds：这里可以设定各种DCC连接的超时秒数，包括DCC Get/Chat对话框的确认超时(Get/Chat Dialog)、DCC Send/Get的传送超时(Send/Get Transfer)以及文件服务器(Fileserver)超时。
    DCC Ports：在这里可以设定DCC连接所需要的起止端口范围(First和Last)。
    Max remotely requested DCC Sends：设定由mIRC脚本引发的最大DCC Send数。
>> Folders
    DCC Get folders：在这里可以为通过DCC收到的不同类型的文件创建各自的文件夹，以便于更好地进行分类管理。
    点击Add按钮可以打开DCC Get的文件夹设定对话框：
    >>> Save files with these Extensions：添加需要在此保存的文件类型(如*.txt、*.doc等)，如果有多个类型，用英文的逗号隔开。
    >>> Into this Folder：指定保存上述类型文件的默认文件夹。
    >>> Sort files by nickname into own files：指定是否用每一个对你发送文件的人的别名创建一个文件夹，以分别保存来自他们的文件。
    >>> And then Open them with this application：是否在接收完文件后立即用指定的应用程序打开它。
    >>> Or perform this Command on them：可以在这里对接收完的文件指定一条命令（可以用“$1-”来代替文件名）。
    Ignore all files except：如果对方传来的文件不属于下列文件类型，则将其自动忽略掉（用英文逗号隔开每种类型）。
    Turn ignore back on in X mins：指定在接收对方的DCC Send几分钟后重新恢复忽略状态。
>> Fserve
    Max. Fileservers：设置最大文件服务器(Fileserver)数。
    Max. DCC Gets per user：设置每个用户的最大允许DCC Get数。
    Max. Cps per send：设置每次发送时所允许的最大Cps数。。
    Root folder：设置文件服务器的根目录。
    Welcome text file：指定一个文本文件作为文件服务器的欢迎词。
    Display fileserver warning：指定当有文件服务器连接请求时，是否发出警告。
>> Server
    Enable DCC Server：是否允许mIRC充当DCC服务器。
    Listen on Port：设置DCC服务器的监听端口。
    Listen for：指定需要监听的DCC类型（Send、Chat或者Fserve）。
    Perform DNS lookup：是否在建立DCC连接时进行DNS解析。
> Display
    Show Toolbar：是否显示mIRC的工具栏。
    Tooltips：是否显示mIRC的各种提示。
    Show Swichbar：是否显示mIRC的切换栏(即显示各个窗口的图标按钮那一栏，默认是在工具栏之下，主窗口之上)，并可以指定切换栏的高度(Size)。
    Switchbar position：在这里可以指定切换栏在mIRC主窗口的位置——是在上(Top)、在下(Bottom)、在左(Left)还是在右(Right)。
    Stretch buttons to fill switchbar：是否将窗口的图标按钮大小扩展到整个切换栏。
    Include DCC Send/Get windows：是否将DCC Send/Get的窗口图标按钮显示到切换栏中。
    Sort buttons by window type：是否按窗口类型自动排列切换栏中的各个窗口图标按钮。
    Always highlight on new message：当窗口里有新的信息时，如果该窗口不是当前窗口，是否将其在切换栏中的图标按钮高亮。
    Messages：选择当某窗口不是当前窗口而又有新的信息时，该窗口在状态栏上对应的图标按钮颜色。
    Highlight：选择当某窗口不是当前窗口而又有高亮信息被捕获时，该窗口在状态栏上对应的图标按钮颜色。
>> Options
    Show text in mIRC titlebar：可以在这里设置显示在mIRC窗口标题栏的文字。
    Use multi-line editboxes in chat windows：是否在聊天时使用多重编辑栏(即多重输入栏)。
    Speed up display by updating less often：是否减少屏幕的刷新间隔时间，以加快mIRC的显示速度。
    Show options listbox on right-hand side：是否将左边的设置项显示在右边。
>> Windows
    在这里可以设置是否将mIRC的各个内部窗口(如Status窗口、Chat窗口…)显示在mIRC主窗口以外。
    Hide minimized desktop windows：如果选择了上面的窗口，当其最小化时是否将其隐藏。
    Main mIRC window always on top：是否将mIRC主窗口始终放置于桌面的最上层。
>> Tray
    Always show mIRC icon in tray：是否把mIRC的图标一直显示在WINDOWS的系统托盘里。
    On startup minimize mIRC to tray：是否在打开mIRC时就将其最小化到WINDOWS的系统托盘里。
    Place mIRC in tray when minimized：是否在mIRC最小化时将其放置到WINDOWS系统托盘里。
    Animate icon when there is activity：当mIRC的图标被放置到系统托盘里时，如果有任何新信息，是否动画显示该图标。
    Locate and name of Icon to use in tray：设置mIRC显示在系统托盘里的图标。
> General
    Command prefix：设置mIRC的命令识别符号。例如，设置成“#”号，则IRC命令就变成以“#”开头了。
    Windows buffer：设置mIRC窗口的缓冲区大小，即mIRC窗口最大能够保留的行数。
    Line separator：设置mIRC状态窗口的信息回显中，行与行之间的间隔符。
    ESCape key minimizes windows：是否在按下键盘上的“ESC”键时最小化当前窗口。
    Control-K pops up colour index：是否当按下快捷键“Ctrl+K”插入色彩代码时弹出颜色对照表。
    Hotlinks only when Shift-key is pressed：是否在只有按下键盘上的“Shift”键时才捕捉屏幕上的热点链接（例如别名、闲聊室名称、URL等）。
    Right-click in listbox selects line：对于闲聊室的人名列表，是否在按下鼠标右键时也做出别名的选定。
    Titlebar right-click needs Shift-key：是否只有在按下键盘上的“Shift”键时，才能用右键点击标题栏以打开/关闭窗口。
>> Servers
    DDE Server: Enable DDE Server：是否允许mIRC作为一个DDE服务器。
    DDE Server: Check if Service Name in use at startup：在启动时检查服务名称是否已被占用。
    DDE Server: Service Name：设置DDE服务名称。
    DDE Server: DDE delay：设置DDE的延时时间。
    Finger Server: Enable finger server：是否允许mIRC作为一个Finger服务器。
    Finger Server: Show finger requests：当接收到Finger请求时，是否在mIRC窗口里作出显示。
    Finger Server: Finger text file：选择Finger文件。
    Finger Server: Edit file：编辑Finger文件。
    注：Finger文件的编写，是以“[”和“]”作为一个Finger名称，然后换行再编写Finger的具体内容。例如：
    ...
    [TigTag]
    TigTag就是直升羊
    [Helisheep]
    ...
    假设自己的IP是192.168.0.1，这样当有人打出/finger TigTag@192.168.0.1时，就会获得“TigTag就是直升羊”这条信息。

>> Lock
    Lock：是否设定一个密码以锁定mIRC的使用权以及下面的其它选项。
    Ask for password: On Startup：是否在打开mIRC时询问使用密码。
    Disable：这里可以选择是否允许DCC发送(Send)和接收(Get)文件、私下密谈(Private Chats)以及文件服务(Fserve)。
    Disable commands：这里可以选择是否允许使用/run和/dll命令。
    Limit channels to：是否只允许mIRC的使用者加入指定的闲聊室。


IRC 基本命令篇

/JOIN 命令
【语法】
      /join <#闲聊室> [该闲聊室的密码]
【描述】
    用来加入某个闲聊室。如果该闲聊室设置了密码，你可以指定它。
/PART 命令
【语法】
      /part <#闲聊室> [退出的原因]
【描述】
    用来退出某个闲聊室，在某些IRC服务器上，你还可以指定退出的原因。
/LIST 命令
【语法】
      /list [#闲聊室] [-MIN #] [-MAX #]
【描述】
    用来列出服务器上的闲聊室名称(可以使用通配符)。如果不指定名称则列出当前服务器上的所有可用闲聊室；“-MIN #”和“-MAX #”用来限定列出包含指定人数的闲聊室。
【举例】
    列出包含2～100个人的所有闲聊室：/list -min 2 -max 100
/MSG 命令
【语法】
      /msg <别名|#闲聊室> <消息>
【描述】
    用来向某人发出密聊话语，或者对某个闲聊室的所有人说话。
【举例】
    假设你敲/msg TigTag 你好，那么TigTag就会在他的小窗口里看到你在说“你好”，而且这句话只有你跟TigTag才会看到；
    假设你敲/msg #Chat 大家好，那么在#Chat中的全体成员都会看到你在说“大家好”。
【注意】
    当用/MSG命令对某人发出密聊话语时，其作用与/QUERY相同。唯一的区别就是：使用/MSG命令时，自己这边不单独开个小窗口；而使用/QUERY命令时，双方都会各自开一个小窗口进行对侃。
/ME 命令
【语法】
      /me <动作>
【描述】
    用来在当前闲聊室或者密聊小窗口做出动作。
【举例】
    假设你在#Chat，那么当你敲/me 晕倒，#Chat的其他所有人就会看到你“晕倒”了。
/QUERY 命令
【语法】
      /query <别名> [密聊话语]
【描述】
    用来向某人发出密聊话语。
【举例】
    假设你敲/query TigTag 你好，那么你和TigTag双方都会各自弹出一个小窗口，“你好”这句话会同时出现在你跟TigTag各自的小窗口里，而且这句话只有你跟TigTag才会看到。
【注意】
    当用/MSG命令对某人发出密聊话语时，其作用与/QUERY相同。唯一的区别就是：使用/MSG命令时，自己这边不单独开个小窗口；而使用/QUERY命令时，双方都会各自开一个小窗口进行对侃。
/NOTICE 命令
【语法】
      /notice <别名> <消息>
【描述】
    用来向某人发出通告信息。与/MSG和/QUERY不同，这种通告信息不会在双方开小窗。
/WHOIS 命令
【语法】
      /whois <别名>
【描述】
    用来获取某人的一些信息，如对方的真实名字，对方的IP，对方是何时登录IRC服务器的，等等。
/WHO 命令
【语法】
      /who [别名/地址|#闲聊室]
【描述】
    用来获取某人的一些信息，如对方的IP；也可根据指定的IP找人；还可以列出指定闲聊室的人名。
【举例】
    查找IP地址是127.0.0.1的人，用命令：/who 127.0.0.1
    查找IP地址以192.168打头的人，用命令：/who 192.168.*
    列出当前IRC服务器上的所有非隐藏的人，用命令：/who
【注意】
    不是所有的IRC服务器都支持用/WHO命令找人
/NICK 命令
【语法】
      /nick <新别名>
【描述】
    用来更改自己的别名。在高版本的mIRC里你也可以用/ANICK命令来更改自己的备用别名，格式同/NICK。
/QUIT 命令
【语法】
      /quit [退出连接的理由]
【描述】
    用来退出与当前服务器的连接，并可以给出退出的理由。
【注意】
    退出的理由只有那些在你退出的时候，与你在同一闲聊室的人才能看见。
/AWAY 命令
【语法】
      /away [暂时离开的原因]
【描述】
    用来留下一条信息以说明你暂时要离开，你可以指定该信息。以后当某人再向你发送密聊话语或者对你做一个“/WHOIS”命令时，他/她就会看到你留下的信息并且得知你已经暂时离开了。
    如果敲不带任何参数的/AWAY命令则可以解除离开状态。
/ADMIN 命令
【语法】
      /admin
【描述】
    用来查询当前IRC服务器上Admin(即Administrator，IRC里最高级别的管理员)的相关信息
/INFO 命令
【语法】
      /info
【描述】
    用来查询IRC服务器的信息，例如服务器的名称、版本号等等。
/LUSERS 命令
【语法】
      /lusers
【描述】
    用来查询当前IRC服务器上的统计信息，例如当前的在线总人数、已经建立了多少个闲聊室等等。
/MOTD 命令
【语法】
      /motd
【描述】
    用来查询当前IRC服务器上的今日信息(Message Of The Day)。
/LINKS 命令
【语法】
      /links
【描述】
    用来解析当前的IRC有几个服务器，然后把解析到的结果放到一个单独的小窗口里。
/NAMES 命令
【语法】
      /names [#闲聊室]
【描述】
    如果未指定闲聊室，则列出当前IRC服务器上的所有别名；否则只列出指定闲聊室的所有别名。
【注意】
    如果某人利用/MODE命令对自己使用了“+i”（即设置为隐藏模式），则/NAMES将无法列出他的别名。
/INVITE 命令
【语法】
      /invite <别名> <#闲聊室>
【描述】
    用来邀请某人到你指定的闲聊室。
/TOPIC 命令
【语法】
      /topic <#闲聊室> [新主题]
【描述】
    用来更改指定闲聊室的聊天主题。
    如果不指定新主题，则系统会告诉你指定闲聊室的当前主题。
/KICK 命令
【语法】
      /kick <#闲聊室> <别名> [踢他的原因]
【描述】
    用来把某人从你指定的闲聊室赶出去。你可以指定赶他的理由。
【注意】
    要使用/KICK命令，你必须在该闲聊室拥有帽子（也就是是主持人），或者是这个聊天服务器的管理员才可以。
/MODE 命令
【语法】
      /mode <#闲聊室|别名> [[+|-]参数]
【描述】
    /MODE命令是一个强有力的命令，它使得一个闲聊室的主持人能够更改所属闲聊室以及该闲聊室成员的属性。
  * 更改闲聊室的属性
      参数　　　　　效果
        b <别名>　 　禁止某人加入该闲聊室
        i　　　　　 　把闲聊室设置成只有被邀请的人才能进入
        l <人数>　 　限定进入该闲聊室的最大人数
        m　 　　　　　旁听模式—只有主持人和被许可的人才能说话
        n　　 　　　　是否接受从闲聊室外传来的信息(+n为不接受)
        o <别名>　 　使指定的人也成为闲聊室的主持人，即给他/她@符号(帽子)
        p　　　　　 　把闲聊室设置成私人房间
        s　　　　 　　把闲聊室设置成隐藏
        t　　　　 　　锁定主题—只有主持人才能更改它
        k <密码>　 　为闲聊室设置密码—只有知道密码的人才能进来
  * 更改用户的属性
      参数　　　　　效果
        i　　　　 　　使你变得不可见—如果你不在任何闲聊室里，而别人又不知道你的别名的话，他/她就看不到你
        o　　　　 　　IRC管理员(IRC-OP)状态，/MODE命令只能取消该状态。要设置该状态必须用/OPER命令
        s　　　　 　　是否接受服务器的通告(+s为接受)
        v　　　　 　　允许某人在一个设置成旁听模式的闲聊室说话
        w　　　　 　　是否接收WALLOPS信息
【注意】
    要在某个闲聊室使用/MODE命令，大多数情况下，你必须在该闲聊室拥有帽子（也就是是主持人）才可以。
    你只能更改某人在某个闲聊室的属性，而不能更改其在IRC服务器上的属性（自己除外）。
【举例】
    使TigTag成为#Chat的主持人，用命令：/mode #Chat +o TigTag
    使TigTag不再是#Chat的主持人，用命令：/mode #Chat -o TigTag
    禁止TigTag进入#Chat，用命令：/mode #Chat +b TigTag
    不再禁止TigTag进入#Chat，用命令：/mode #Chat -b TigTag
    限定#Chat的最大人数是100，用命令：/mode #Chat +l 100
    使TigTag在服务器上隐藏起来，用命令：/mode TigTag +i
    ……
  * 如果要使多个人成为主持人，这里有个更快捷的方法：/mode #Chat +oooo nicka nickb nickc nickd


mIRC 进阶命令篇

/ALIAS 命令
【语法】
      /ALIAS [Alias文件名] <命令缩写> <具体命令>
【描述】
    用来为某一条命令提供一个简单的缩写方式，这将使你聊天时更为方便，尤其是与对方纸上谈兵时。 ;>
    你也可以为该命令缩写指定一个保存的文件名。
【注意】
    使用/ALIAS命令只能为一条单行命令提供缩写。事实上大家使用得更多的还是按ALT+A直接调出mIRC的ALIAS编辑框，在这里可以直接对命令缩写进行编辑或者创建、删除等，而且在编辑框里还可以为多行命令设置一个缩写(ALIAS)，这是单单用/ALIAS命令所做不到的。
【举例】
    在mIRC的命令行里输入：/alias /faint /me 晕倒…，这样就有了/faint这个命令缩写。以后你再打/faint就等于是输入了/me 晕倒…这一串命令。
    在mIRC的命令行里输入：/alias /bye /say $1 慢聊，我去了。注意这里的“$1”，它指代了/bye这个命令缩写的第一个参数。以后你打“/bye TigTag”，TigTag就等于成了/bye这个命令缩写的第一个参数的具体值。于是这个命令缩写的最终执行形式实际上就是/say TigTag 慢聊，我去了。
/AME 命令
【语法】
      /AME <消息>
【描述】
    向你在的所有闲聊室发送你的动作。（注意，不是小窗口）
/AMSG 命令
【语法】
      /AMSG <消息>
【描述】
    向你在的所有闲聊室发送话语。（注意，不是小窗口）
/AUTO 命令
【语法】
    /auto [-r] [on|off|别名/地址] [#闲聊室1,#闲聊室2,..] [类型]
【描述】
    用来往mIRC的自动给帽子名单里添加或者删除名字。也就是说，假设TigTag在你的AUTO名单里，那么以后当你在某个闲聊室是主持人的时候，TigTag进来了，则mIRC会自动以你的名义给他加上帽子（即让他变成主持人）。
【注意】
    关于地址类型请参照/IGNORE命令帮助。
【举例】
    要查看当前是否允许mIRC自动给帽子，直接打“/auto”即可。
    要打开mIRC自动给帽子开关，用命令“/auto on”。
    要添加TigTag到自动给帽子名单，用命令“/auto TigTag”。
    要添加TigTag到自动给帽子名单，并限定只有他在#Chat时才自动给帽子，用命令“/auto TigTag #Chat”。
    要从自动给帽子名单移除TigTag，用命令“/auto -r TigTag”。
    要让从127.0.0.1来的所有人都自动给帽子，用命令“/auto *!*@127.0.0.1”。
/BAN 命令
【语法】
      /ban [-ruN] [#闲聊室] <别名|地址> [类型]
【描述】
    禁止某人进入某个闲聊室（根据他的地址）。
    加参数-r是不再禁止某人；参数-uN是指只禁止某人N秒钟。
【注意】
    这和/MODE命令的禁止稍有不同，/BAN在执行时首先要在当前的服务器上查找你要禁止的那个人，找到了才执行禁止这个动作；而/MODE则是任何时候都可以对指定的别名或地址进行禁止。
    关于地址类型请参照/IGNORE命令帮助。
/CHANNEL 命令
【语法】
      /channel
【描述】
    弹出一个对话框，让你可以快速地对当前的闲聊室设置属性。
【注意】
    你必须要在某个闲聊室中，并且你的当前窗口必须是该闲聊室才能执行这条命令。
/CLEAR 命令
【语法】
      /clear [-sghlc] [窗口名称]
【描述】
    用来清除指定窗口的所有信息，如果不指定则清除当前窗口。
    参数“-s”是指清除mIRC的状态窗口的内容；“-g”是指清除mIRC的Finger窗口的内容；“-h”是指清除指定窗口的输入栏的缓冲；“-l”是指清除一个带有目录列表的自定义窗口的目录列表；“-c”是指清除一个自定义图形窗口的鼠标点击历史。
/CLOSE 命令
【语法】
      /close [-icfgms@] [别名1]...[别名N]
【描述】
    用来关闭指定类型的所有窗口。其中，参数-i指未被激活的DCC窗口；-c指闲聊室；-f指文件服务窗口；-g指接收文件窗口；-m指聊天小窗口；-s指发送文件窗口；@指自定义窗口。
/CLOSEMSG 命令
【语法】
      /closemsg <密聊小窗口名称>
【描述】
    用来关闭指定的密聊小窗口。
【提示】
    事实上，用CTRL+F4或者Alt+Z似乎更加快捷。
/CTCP 命令
【语法】
      /ctcp <别名> <PING|TIME|VERSION|FINGER|...>
【描述】
    用来向某人发出特定的CTCP(Client To Client Protocol, 客户端到客户端协议)查询。
    * 标准的CTCP查询有：
    PING　　　　　延迟时间
    TIME　　　　　本地时间
    VERSION　　 　聊天软件版本
    FINGER　　　　指针信息
【举例】
    要查询到TigTag的延迟时间，用命令：/ctcp TigTag ping
    要查询TigTag的本地时间，用命令：/ctcp TigTag time
    要查询TigTag的聊天软件版本，用命令：/ctcp TigTag version
    要查询TigTag的指针信息，用命令：/ctcp TigTag finger
/DCC 命令(Direct Chat Connection, 直接对话连接)
【语法】
      /dcc <SEND [别名] [完整的文件名]|CHAT [别名]>
【描述】
    用来向某人发送文件或者进行密聊。
【注意】
    “完整的文件名”在这里是指包含整个路径信息的文件名。
    用/DCC CHAT进行密聊和/QUERY的密聊有所不同，用/QUERY进行密聊，所有的消息都要经过IRC服务器转送；而用/DCC CHAT，只是在聊天的最初需要IRC服务器初始化一下，此后双方就等于是通过IP建立起了点对点的连接，所有的消息就直接转送而不是通过IRC服务器转送了，相对就更加安全和隐蔽一些，而且即使这时候IRC服务器DOWN了双方也可以继续聊。
    值得注意的是，在用/DCC命令的同时，你的IP地址会暴露给对方，如果是怀有恶意的人……所以，不要随便对陌生人使用/DCC。
/DESCRIBE 命令
【语法】
      /describe <#闲聊室|别名> <动作>
【描述】
    用来向某个闲聊室或者某个人做出动作，效果等同于/ME命令，主要用于mIRC的脚本编写。
【举例】
      /describe #Chat 晕倒，#Chat里的人就会看到你晕倒了。
      /describe TigTag 晕倒，TigTag就会在小窗里看到你晕倒了。
/DISCONNECT 命令
【语法】
      /disconnect
【描述】
    强制和IRC服务器断开连接。
【注意】
    这和/QUIT不同，/QUIT是先向IRC服务器发出一个断开请求，然后由服务器切断连接；而/DISCONNECT则是在本地强制断开连接。
/ECHO 命令
【语法】
      /echo [颜色码] [-dehiNtsaqlbf] [窗口名称] <信息>
【描述】
    用指定的颜色值(0～15)在指定窗口显示信息。其中，参数-a是指在当前窗口；-s是指在mIRC的状态窗口；-d是指在mIRC的Dedicated Query窗口。
    参数“-e”是指在信息的前后一行分别放置一个行分隔符；“-iN”是指在指定的第N个字符处将信息自动卷行；“-h”是强制使用硬回车进行卷行；“-t”是指在前缀一个时间戳(当然，时间戳必须设置为打开)；“-q”是指如果/echo命令用于一个Alias里，则当调用这条Alias并在命令前前缀一个“.”号时，不显示该信息；“-l”是指采用mIRC的高亮设置来显示信息；“-bf”则是指采用该窗口的Beep/Flash设置来显示信息。
【注意】
    用/ECHO显示的信息只有你本人才看得到。
/EXIT 命令
【语法】
      /exit
【描述】
    用来关闭mIRC这个应用程序（即相当于用鼠标点击了mIRC窗口最右上方的“×”）。
/IGNORE 命令
【语法】
      /ignore [-lrpcntikxu#] [on|off|别名/地址] [类型]
【描述】
    用来往mIRC的忽略名单里添加或者删除名字。在忽略名单里的别名或者地址，mIRC都将根据你所指定的方式对他们进行忽略。
      参数　　　　说明
      l 　　　　　根据你所指定的忽略方式列出忽略名单
      r 　　　　　从忽略名单中删除掉指定的别名或地址
      p 　　　　　忽略指定别名或地址的私人信息
      c 　　　　　忽略指定别名或地址的闲聊室信息
      n 　　　　　忽略指定别名或地址的NOTICE信息
      t 　　　　　忽略指定别名或地址的CTCP信息
      i 　　　　　忽略指定别名或地址对你发出的邀请
      k 　　　　　忽略指定别名或地址的颜色代码
      x 　　　　　忽略除了指定别名或地址的其他人的信息
      u#　　　　　在指定秒数内忽略指定的别名或地址
【注意】
    这里的类型是指“别名!电子邮件别名@地址”格式的地址类型，你如果指定了某人的名字，同时也指定了类型，那么mIRC首先会在当前的服务器上查找你指定的那个人，得到他的地址后，以如下的类型形式反馈出来，并添加到mIRC的忽略名单中。
    假设此人叫TigTag，电子邮件是who@where.com，来自127.0.0.1，那么他的地址类型表现如下：
      地址类型　　　　表现形式
      0 　　　　　　　*!who@127.0.0.1
      1 　　　　　　　*!*who@127.0.0.1
      2 　　　　　　　*!*@127.0.0.1
      3 　　　　　　　*!*who@127.0.0.*
      4 　　　　　　　*!*@127.0.0.*
      5 　　　　　　　TigTag!who@127.0.0.1
      6 　　　　　　　TigTag!*who@127.0.0.1
      7 　　　　　　　TigTag!*@127.0.0.1
      8 　　　　　　　TigTag!*who@127.0.0.*
      9 　　　　　　　TigTag!*@127.0.0.*
    * 地址类型也可以是10～19，只是通配符的位置较上面又有些变化。
    * 这些地址类型也适合其它地方，比如/AUTO命令等。
    * 当你正在与人开小窗时，对方的小窗信息无法忽略，除非关掉它。
【举例】
    要查看当前是否允许mIRC进行忽略，直接打“/ignore”即可。
    要允许mIRC进行忽略，用命令“/ignore on”。
    要忽略来自TigTag的所有信息，用命令“/ignore TigTag”。
    要忽略来自TigTag的地址，电子邮件别名也与他相同的所有别名的CTCP信息，用命令“/ignore -t TigTag 0”。
    只忽略TigTag60秒，用命令“/ignore -u60 TigTag”。
    要从忽略名单移除TigTag，用命令“/ignore -r TigTag”。
    要从忽略名单移除所有的别名和地址，用命令“/ignore -r”。
/ISON 命令
【语法】
      /ison <别名1> [别名2] [别名3...]
【描述】
    用来向服务器查询指定的别名是否在线，你可以一次查询多个别名。事实上，很多IRC客户端软件的自动通告功能就是借助于/ISON命令实现的。
/NOTIFY 命令
【语法】
      /notify [-r] [on|off|别名] [注释]
【描述】
    用来往mIRC的通告名单里添加或删除名字，这样当通告名单里的人在线或离线时，mIRC都会自动通告你。
    参数-r是指从通告名单中将指定的名字移除。
  * 如果在别名前面加上个“+”号，则表示在mIRC通告你的同时也自动对其做一个/WHOIS命令。【举例】
    允许mIRC根据通告名单进行通告，用命令：/notify on
    把TigTag加到mIRC的通告名单，用命令：/notify +TigTag Helisheep是也
    把TigTag从mIRC的通告名单移除，用命令：/notify -r TigTag
/OMSG 命令
【语法】
      /omsg [#闲聊室] <消息>
【描述】
    用来给指定闲聊室的所有主持人发送密聊话语，前提是你必须也是主持人。如果未指定闲聊室，那么当前所处的闲聊室就是默认闲聊室。
/ONOTICE 命令
【语法】
      /onotice [#闲聊室] <消息>
【描述】
    用来给指定闲聊室的所有主持人发送注意信息，前提是你必须也是主持人。如果未指定闲聊室，那么当前所处的闲聊室就是默认闲聊室。
/PARTALL 命令
【语法】
      /partall [退出的原因]
【描述】
    用来退出所有闲聊室，在某些IRC服务器上，你还可以指定退出的原因。
/PLAY 命令
【语法】
      /play [-escpb q# m# rl# t#] [#闲聊室/别名/stop] <文本文件名> [间隔时间]
【描述】
    用来播放文本文件到指定的闲聊室或者密聊小窗口。
    参数“-e”是指将文本文件作为只有自己可以看到的显示信息播放出来；“-s”是指允许离线使用/play命令；“-c”是指要mIRC把文本文件的内容当成IRC命令强制执行。
    如果你连续使用了多个/play命令，则在前一个文本文件尚未播放完之前，后面的文本文件是处于等待状态的，意即在同一时刻mIRC只允许你播放一个文本文件(这样主要是为了防止你FLOOD服务器)。参数“-p”可以把文件的等待序列提前，即优先播放；“-q#”可以指定总共允许的最大等待序列(超出的PLAY请求将被忽略)；“-m#”则可以指定每个闲聊室或者别名可以接收的最大等待序列(超出的PLAY请求将被忽略)。注意“-q#”和“-m#”参数都必须是在Remote脚本里使用才有效。
    参数“-b”是指将剪贴板里的文本作为文本文件播放出来；参数“-r”是指从文本文件里随机播放一行；参数“-l#”则是指从文本文件里播放指定的行。
    参数“-t”是指播放指定标题下的所有内容(直到遇到下一个标题为止)。
    使用参数“stop”可以停止播放文本文件。
  * 在使用/PLAY命令时，函数$pnick可以返回当前的接收对象。
【注意】
    间隔时间的单位是毫秒，默认值是1000
/POP 命令
【语法】
      /pop [延迟时间] [#闲聊室] <别名>
【描述】
    用来对某人进行一个延迟给帽子。这主要是为了防止大家同时对同一个人给帽子，从而造成系统信息提示的泛滥。
【注意】
    间隔时间的单位是秒，如果为0则表明立刻给帽子。
/PROTECT 命令
【语法】
    /protect [-r] [on|off|别名] [#闲聊室1,#闲聊室2,..]
【描述】
    用来往mIRC的保护名单里添加或者删除名字。也就是说，假设TigTag在你的保护名单里，那么以后当你在某个闲聊室是主持人的时候，TigTag被踢出去了或者帽子被摘了，mIRC就会自动以你的名义把踢TigTag/摘TigTag帽子的人踢出去/摘帽子。
【举例】
    要查看当前是否允许mIRC自动保护，直接打“/protect”即可。
    要打开mIRC自动保护开关，用命令“/protect on”。
    要添加TigTag到保护名单，用命令“/protect TigTag”。
    要从保护名单移除TigTag，用命令“/protect -r TigTag”。
/RAW 命令
【语法】
    /raw [-q] <命令>
【描述】
    用来往IRC服务器发送命令并要求其执行。在某些IRC服务器上，该命令等同于/QUOTE。
    参数“-q”可以使mIRC不显示你所发出去的命令。
/SAY 命令
【语法】
    /say <消息>
【描述】
    用来向当前的闲聊室说话。其实就等于在命令输入栏里直接敲话。
/SERVER 命令
【语法】
    /server [服务器地址] [端口] [密码]
【描述】
    用来连接某个IRC服务器，并可以指定端口(默认是6667)和密码。
    如果不带任何参数，则mIRC默认连接到上一次连接的IRC服务器。
/SILENCE 命令
【语法】
      /silence [+|-][地址]
【描述】
    用来通知IRC服务器为你建立一个忽略列表，凡是符合SILENCE列表里的人发给你的信息都将被服务器忽略，直至你从SILENCE列表里移除这些地址或者退出IRC服务器。
    关于地址的类型请参考/IGNORE命令。
  * 这个命令其实与/IGNORE命令非常类似，只不过/SILENCE是利用IRC服务器来忽略，而/IGNORE是利用mIRC本身来忽略。
【举例】
    忽略TigTag的任何信息，用命令：/silence +TigTag!*@*
    不再忽略来自192.168.*的任何信息，用命令：/silence -*!*@192.168.*
    查看服务器为你建立的SILENCE列表，用命令：/silence
/SOUND 命令
【语法】
    /sound [on|off|别名/#闲聊室] <file.wav|file.mid> [消息]
【描述】
    用来向某人或者某个闲聊室发出声音(可以是*.wav文件或者*.mid文件)，同时还可以夹带上一句话。
【举例】
    打开mIRC的声音开关，用命令：/sound on
    对#Chat发出passport.mid，用命令：/sound #Chat passport.mid
    对TigTag发出tada.wav，并且说Hi，用命令：/sound TigTag tada.wav Hi
/SPLAY 命令
【语法】
    /splay [-qwm] <stop|file.wav|file.mid>
【描述】
    用来对自己放出声音(可以是*.wav文件或者*.mid文件)，只有自己才听得到。
    也可以用来停止当前mIRC正在播放的声音，用命令：/play stop
    如果只想停止当前mIRC正在播放的*.wav文件，用命令：/play -w stop
    如果只想停止当前mIRC正在播放的*.mid文件，用命令：/play -m stop
    参数“-q”可以让你将要播放的声音文件自动排成一个序列，然后顺次播放。
/TIMER 命令
【语法】
  /timer[数字/名称] [-ceom] [时间] <重复次数> <间隔时间> <命令>
【描述】
    用来重复执行某个命令。默认情况下mIRC使用的是在线TIMER，也就是说，一旦和IRC服务器断开连接，所有的TIMER自动被清除，而参数-o可以强制某个TIMER成为一个离线TIMER；mIRC默认的间隔时间是以秒为单位，而参数-m可以使之以毫秒为单位。
    如果重复次数为0，则该TIMER将一直重复下去，直到用/timer[数字/名称] off停止该任务。（用/timers可以查看所有的TIMER；用/timers off可以清除所有的TIMER；在清除TIMER时也允许使用通配符，例如：/timer3? off、/timerflood_* off）
    /TIMER命令也可以指定在某个时间才开始重复执行命令。
  * 函数$ltimer可以返回你最后一次使用/TIMER命令时所起的计时器的序号或者名称。
【举例】
    重复说10次“大家好”，间隔1秒，用命令：/timer 10 1 /say 大家好
    在23:00的时候报一次时，用命令：/timer 23:00 1 1 /say 现在的时间是晚上11点整！
    终止所有以1开头的TIMER，用命令：/timer1* off
/USERHOST 命令
【语法】
      /userhost <别名>
【描述】
    用于查找某人的IP。
/WHOWAS 命令
【语法】
      /whowas <别名>
【描述】
    用来查询最近某人是否登录过当前的IRC服务器。如果有此人的记录，则通过/WHOWAS命令便可得知他/她末次登录的时间，以及末次登录时使用的地址等等信息


IRC 高级命令篇

/OPER 命令
【语法】
      /oper <IRC-OP别名> <IRC-OP密码>
【描述】
    用来向IRC服务器请求IRC-OP。如果输入的IRC-OP别名和IRC-OP密码都正确的话，那么服务器就会给你“+o”属性，这样你就成为了一个IRC管理员(IRC-OP、OPER)了。
【注意】
    几乎在所有的IRC服务器上，对于IRC-OP别名和IRC-OP密码的大小写都是敏感的。
    一般情况下，IRC服务器在给你+o时还会给你+s，这样你就会自动接收到从服务器发来的注意信息了（如某人被管理员KILL掉、KLINE掉等等）。
    一旦你通过/OPER命令成为了一个IRC-OP，那么，任何闲聊室里的@（即帽子）对你来说都将不再重要，你可以无条件行使所有闲聊室里主持人的几乎一切权力（比如让某人成为闲聊室的主持人、把某人踢出闲聊室等等）。
    要想取消自己的IRC-OP状态，可以使用命令：/mode <自己的别名> -o
/KILL 命令
【语法】
      /kill <别名> [原因]
【描述】
    用来将某人踢出IRC服务器，并可以给出原因。
/KLINE 命令
【语法】
      /kline <电子邮件别名@地址> [原因]
【描述】
    用来把来自某个地址的所有别名踢出IRC服务器，并且禁止他们再次通过该地址连接到当前的IRC服务器。
【举例】
    禁止所有来自127.0.0.1的人登录IRC，用命令：/kline *@127.0.0.1
    TigTag在登录IRC时填写的电子邮件是who@where.com，来自192.168.0.*，要禁止他登录IRC，用命令：/kline who@192.168.0.*
【注意】
    电子邮件别名，又称UserID、ID，指的是用户在连接到IRC服务器时通过IRC客户端软件所提供的电子邮件里的名字（例如某人登录时个人信息里填的电子邮件为who@where.com，那么他的电子邮件别名就是who）；地址则是指该用户连接到IRC服务器时的IP地址或主机名(HostName)。
    一旦使用了KLINE，那么所有符合KLINE中电子邮件别名@地址的用户都将被KILL掉，而且他们将无法再次登录上该IRC服务器（一登录上就会被服务器自动KILL掉），除非被UNKLINE。
  * 如果你是ADMIN，那么你还可以使用/AKILL命令和/RAKILL命令，其用法同/KLINE及/UNKLINE，但作用是全服务器封杀，而且普通的IRC-OP无法使用/UNKLINE解除。
/UNKLINE 命令
【语法】
      /unkline <电子邮件别名@地址>
【描述】
    用来把某个电子邮件别名@地址从KLINE列表里移除。
/STATS 命令
【语法】
      /stats [ko]
【描述】
    /STATS是一个很有用的命令，根据各个IRC服务器的不同和使用的参数不同，它可以查看到许多与服务器相关的信息。这里只介绍两个非常有用的参数：“o”参数是列出IRC服务器上所有的IRC-OP列表（不管他们是否在线）；“k”参数则是列出IRC服务器上当前被KLINE或者AKILL了的地址。
/SHUN 命令
【语法】
      /shun [+|-][别名!电子邮件别名@地址] [原因]
【描述】
    用来禁止某个别名或者来自某个地址的所有别名在IRC服务器上发出信息。一旦某人或来自某个地址的所有人被SHUN了，那么他们在IRC服务器上发出的所有信息都将被忽略。这样，他们就相当于成为了当前IRC服务器上的旁听者，不能做任何事情。
【举例】
    禁止TigTag在服务器上发出任何信息，用命令：/shun +TigTag!*@* 你被SHUN了
    不再禁止来自192.168.0.2的人在服务器上发出信息，用命令：/shun -*!*@192.168.0.2
    列出当前所有被SHUN了的别名或地址，用命令：/shun
【注意】
    在某些服务器上，有专门的/UNSHUN命令以清除SHUN列表。/SHUN命令的格式也可能有所不同，请参照具体的帮助文档。
/WALLOPS 命令
【语法】
      /wallops <消息>
【描述】
    用来对IRC服务器上当前的所有IRC-OP发信息。
【注意】
    WALLOPS信息并非只有IRC-OP或以上管理员才能看到，只要自身属性被+w，则任何人都可以看到该信息。
/GLOBOPS 命令
【语法】
      /globops <消息>
【描述】
    用来对IRC服务器上当前的所有IRC-OP发信息，和/WALLOPS不同的是，这是以服务器通告的形式发给IRC-OP或以上级别的管理员。
/LOCOPS 命令
【语法】
      /locops <消息>
【描述】
    作用同/GLOBOPS命令，唯一不同的是/LOCOPS只发送信息给本IRC服务器上的管理员，而/GLOBOPS是发给全服务器的管理员。


mIRC 脚本命令篇

/AJINVITE 命令
【语法】
      /ajinvite [on | off]
【描述】
    用来打开或者关闭mIRC的收到邀请自动加入设置。
/BACKGROUND 命令
【语法】
      /background [-aemsgdluhcfnrtpx] [窗口名称] [背景文件名]
【描述】
    用来设置mIRC内部指定窗口的背景(也可以设置工具栏和窗口切换栏的背景)。
    参数“-a”是指当前窗口；“-m”是指mIRC主窗口；“-s”是指mIRC的状态窗口；“-g”是指Finger窗口；“-d”是指mIRC的专门用于接受小窗信息的窗口(需要在mIRC里设置)；“-e”是指设置为mIRC的默认背景。
    参数“-cfnrtp”分别是指将背景图案设置为居中(Center)、填充(Fill)、正常大小(Normal)、拉伸(Stretch)、平铺(Tile)或者是相片(Photo)模式。
    参数“-luh”则分别是指设置工具栏的背景、工具栏按钮的背景和窗口切换栏的背景。
    参数“-x”可以取消背景图案。
  * 窗口名称仅仅是在没有指定窗口参数的时候才需要；如果只是想改变背景图案的显示方式，可以不需要指定背景文件名。
  * 你也可以点击mIRC菜单栏上“File”旁边的图标来进行背景文件的设置。
/BEEP 命令
【语法】
      /beep [次数] [间隔时间]
【描述】
    用来发出WINDOWS的默认声音。你可以指定发出声音的次数及每两次之间的间隔时间(以毫秒计)。
/CLIPBOARD 命令
【语法】
      /clipboard [-a] <文本>
【描述】
    用于将指定的文本复制到剪贴板内。
    参数“-a”可以将该文本追加到剪贴板的原有内容之后。
/COLOUR 命令
【语法】
      /colour <屏幕信息名称> <颜色代码>
【描述】
    用于改变mIRC里的各种信息的默认颜色。
  * 你也可以直接点击工具栏上的左起第十个按钮以进行更细的设置。
/COPY 命令
【语法】
      /copy -ao <源文件名> <目标文件名>
【描述】
    用来拷贝文件。参数“-a”是指将源文件内容追加到目标文件之后；参数“-o”是如果已经存在目标文件，则将其覆盖。
  * 源文件名可以使用通配符，目标文件名也可以是一个目录名。
/CREQ 命令
【语法】
      /creq [+m|-m] [ask | auto | ignore]
【描述】
    用来设置当有人对你发出DCC Chat请求时mIRC的反应——是弹出对话框询问(ask)、自动接受(auto)还是自动忽略(ignore)。参数“+m”和“-m”可以设置是否将该DCC Chat窗口最小化。
  * 你也可以在mIRC的设置选项里对此进行具体设置。
/CTCPREPLY 命令
【语法】
      /ctcpreply <别名> <CTCP信息> [回复信息]
【描述】
    用于回复指定的CTCP查询。
【举例】
    回复TigTag的TIME查询，用命令：/ctcpreply TigTag TIME 不告诉你
/DLL 命令
【语法】
      /dll <DLL文件名> <进程名称> [数据信息]
【描述】
    这条命令可以让你调用为mIRC编写的库文件。
/DNS 命令
【语法】
      /dns [-ch] <别名 | 地址>
【描述】
    用于解析域名或者IP地址。如果给出的对象是别名，则mIRC会先查找该别名所在的地址，然后再对这个地址进行DNS解析。
    参数“-c”可以清除欲被解析的地址列表；“-h”可以强制mIRC把一个地址作为域名进行解析。
/DQWINDOW 命令
【语法】
      /dqwindow [on | off | show | hide | min ]
【描述】
    用于对Dedicated Window进行设置，是允许使用(on)、禁止使用(off)、显示(show)、隐藏(hide)或者是最小化(min)。
  * 所谓Dedicated Window，就是指mIRC开辟的一个专门用于接收小窗信息的窗口，但这需要在mIRC的设置选项里进行设置。
/EDITBOX 命令
【语法】
      /editbox [-sap | [=]窗口名称] <信息>
【描述】
    用于在指定窗口的输入栏里显示指定信息。
    参数“-s”是指mIRC的状态窗口(Status Window)，“-a”是指当前窗口；参数“-p”是指在指定信息的后面接一个英文空格。
  * 如果指定窗口是一个DCC Chat窗口，则需要在窗口名称前面前缀一个“=”号，例如“=TigTag”。
/EMAILADDR 命令
【语法】
      /emailaddr [E-Mail地址]
【描述】
    用于改变你在mIRC的设置选项里所填的E-Mail地址。
【提示】
    可以用$emailaddr函数来返回该E-Mail地址。
/FULLNAME 命令
【语法】
      /fullname [真实名字]
【描述】
    用于改变你在mIRC的设置选项里所填的真实名字。
【提示】
    可以用$fullname函数来返回当前的真实名字。
/FILTER 命令
【语法】
      /filter [-sgdfwxnpriocteu] [n-n2] [c s] <源文件名或窗口名 | 自定义对话框ID> <输出文件名或窗口名 | 自定义对话框ID>
【描述】
    用于扫描指定文件或窗口里的包含某个关键字的行，并将结果输出到指定的文件或者自定义窗口里。
    参数“-f”和“-w”分别用来表明源文件(或窗口)及输出文件(或窗口)的类型，例如：
      /filter -ff in.txt out.txt *xirc*
    这里的“-ff”即表明作为扫描源的in.txt是个文件，而作为输出结果的out.txt也是个文件。又如：
      /filter -wf #in.txt #out.txt *xirc*
    这里的“-wf”则表明作为扫描源的#in.txt是个窗口名称，而作为输出结果的#out.txt则是个文件名称。
    参数“-x”表明除却包含关键字的其他行；“-n”表明在扫描到的行前面注明行号；“-s”表明将mIRC的状态窗口作为扫描源；“-g”表明将mIRC的Finger窗口作为扫描源；“-q”表明将mIRC的Dedicated Query窗口作为扫描源；“-p”表明将扫描到的行自动卷行后再输出到某个自定义窗口里；“-r”则是指定扫描的范围——是从第n行到第n2行。
    参数“-i”指提供一个mIRC的自定义对话框ID来作为扫描源；“-o”指提供一个mIRC的自定义对话框ID来作为输出结果。
    参数“-c”指在输出结果到指定的文件(或窗口)之前，先清除掉该文件(或窗口)的内容。
    参数“-t”指按照给定的[c s]参数对输出结果排序，用ASCII码表示的s是列c的分隔符(我也不知道这里究竟是什么意思，原文是：column C using character S as the columns separator)。
    参数“-e”表示将输出结果反向排序；“-u”表示将输出结果按数字排序。
  * 注：在完成了一次/filter命令之后，有个$filtered函数可以返回扫描到的符合条件的总行数。
/FINDTEXT 命令
【语法】
      /findtext [-n] <要查找的信息>
【描述】
    用于查找当前窗口的指定信息(事实上，按下Ctrl+F似乎更方便些)。
/FLASH 命令
【语法】
      /flash [-bwrN] <提示文字>
【描述】
    用于闪烁mIRC的程序图标，并且在其窗口的标题栏上显示指定的提示文字。
    参数“-b”可以使mIRC在闪烁的同时，每秒还发出一次Windows的默认声音。
    参数“-w”可以使mIRC在闪烁的同时还播放指定的声音文件(参见此处)。
    参数“-rN”表明只闪烁N次。
/FLUSHINI 命令
【语法】
      /flushini <INI文件名>
【描述】
    mIRC在使用时，所有相关的INI文件都是被读入内存中的；如果你修改了某个INI文件后想要让它立刻生效，则可以使用本命令。
/FONT 命令
【语法】
      /font [-asgb | 窗口名称] [字号] [字体名称]
【描述】
    用于改变指定窗口的显示字体。
    参数“-a”是指当前窗口；“-s”是指mIRC的状态窗口；“-g”是指Finger窗口；“-b”是指采用粗体字。
  * 如果只输入“/font”，则mIRC会弹出一个字体设置对话框让你设置当前窗口的字体。
/HELP 命令
【语法】
      /help [关键字]
【描述】
    用于打开mIRC的帮助文件。如果你指定了一个关键字，则mIRC会在打开帮助文件后自动转到包含该关键字的位置(如果有的话)。
/HOP 命令
【语法】
      /hop [#闲聊室]
【描述】
    退出当前闲聊室并且转入另一个指定的闲聊室。如果没有指定则是立刻再次转入当前闲聊室。
  * 注：本命令是在mIRC 5.7之后才成为内部命令的，在以前的mIRC版本里都是作为一条Alias命令而存在。
/JOIN 命令
【语法】
      /join [-inx] <#闲聊室> [闲聊室密码]
【描述】
    用于创建或者进入指定的闲聊室，如果该闲聊室被设置了密码也可以用此命令来指定。
    参数“-i”表示进入你最后一次被邀请去的闲聊室(使用此参数时不需要指定闲聊室名)；参数“-n”表示进入闲聊室后将该窗口最小化；“-x”表示进入闲聊室后将该窗口最大化。
/LINESEP 命令
【语法】
      /linesep [-s | 窗口名称]
【描述】
    用于显示指定窗口的行分隔符(可以在mIRC里设定行分隔符)。
/LOAD 命令
【语法】
      /load <-a | -pscqnm | -ruvsN> <脚本文件名>
【描述】
    用于载入指定的脚本文件。
    参数“-a”用于载入Alias文件。
    参数“-ps”用于载入状态窗口的Popup菜单；“-pc”用于载入大窗的Popup菜单；“-pq”用于载入小窗的Popup菜单；“-pn”用于载入大窗人名列表的Popup菜单；“-pm”用于载入菜单栏里的Popup子菜单。
    参数“-ru”用于载入一个自定义用户访问级别文件；“-rv”用于载入一个变量文件；“-rs”用于载入一个Remote脚本文件。
  * 你也可以使用/RELOAD命令来载入一个脚本文件，参数同上，但使用/reload却不会触发on LOAD和on START事件。
  * 当使用/load -rsN时，这里的参数“N”将会把该Remote脚本载入到指定的第N个位置。
【注意】
    一次只能载入一个脚本文件。
/LOADBUF 命令
【语法】
      /loadbuf [行数] [-prsglecoNt<topic>] <窗口名称 | 自定义对话框 ID> <文件名>
【描述】
    用于将指定文件从文件尾计起的指定行输出到指定的窗口里。
    参数“-p”表明自动卷行后再输出；“-r”表明在输出结果前先将窗口内容清空；“-s”表明输出到mIRC的状态窗口；“-g”表明输出到mIRC的Finger窗口；“-l”表明输出到一个带有目录列表的自定义窗口里的目录列表里；“-cN”表明用指定的颜色(N为颜色序号)来显示输出结果。
    参数“-t”表示在指定文件的指定标题([topic])下寻找某行并输出。
    参数“-o”则表明用一个自定义对话框ID来代替输出窗口名称，以便将文件内容输出到自定义对话框里。
【举例】
    /loadbuf 20 @test test.txt，这将把test.txt的最后20行输出到@test这个自定义窗口里
    /loadbuf 10-20 -p #Chat test.txt，这将把test.txt的第10-20行自动卷行后输出到窗口#Chat里
    /loadbuf 10 -spc3 test.txt，这将以绿色把test.txt的最后10行输出mIRC的状态窗口里并自动卷行
/LOCALINFO 命令
【语法】
      /localinfo -uh
【描述】
    查找并自动设置你的本机信息。
    参数“-u”是指使用/USERHOST命令查找；而参数“-h”是指进行普通的查找。
/LOG 命令
【语法】
      /log <on | off> <窗口名称> [-f 文件名]
【描述】
    开始或者停止对指定窗口的记录。可以用“-f”参数来指定记录文件名。
/MDI 命令
【语法】
      /mdi [-act]
【描述】
    允许你对窗口的分布进行调整——是排列图标(-a)、将所有窗口层叠(-c)，还是将所有窗口平铺(-t)。
/MKDIR 命令
【语法】
      /mkdir <目录名>
【描述】
    用于创建一个指定的目录。
/REMINI 命令
【语法】
      /remini <INI文件> <标题> [条目]
【描述】
    用于删除指定INI文件里指定标题下的所有内容或者指定的条目。
【注意】
    当一个INI文件正在使用时不要使用本命令来修改该INI文件。
/REMOVE 命令
【语法】
      /remove <文件名>
【描述】
    用于删除指定文件。
/RENAME 命令
【语法】
      /rename <原文件名> <新文件名>
【描述】
    用于将指定文件更名。
/RESETIDLE 命令
【语法】
      /resetidle [秒数]
【描述】
    用于将$idle函数的值重置为0或者指定的秒数。
/RMDIR 命令
【语法】
      /rmdir <目录名>
【描述】
    用于删除指定目录。
  * 注：只有当该目录确实为空时才可以被本命令删除掉。
/RUN 命令
【语法】
      /run [-n] <文件名> [参数]
【描述】
    本命令可以使mIRC运行其它的程序(或文件)，如果该程序可以带参数则也可以用此命令指定。
    如果给出的文件名不是一个可执行文件，则mIRC会先去查找与该文件相关联的程序，然后再使用该程序将这个文件打开。
    参数“-n”可以使得该文件在运行时处于最小化状态。
/SAVE 命令
【语法】
      /save <-pscqnm | -ruv> <文件名>
【描述】
    用于保存指定的Popup文件、自定义用户访问级别文件(Users)或者变量(Variables)文件。
    参数“-ps”用于保存状态窗口的Popup菜单；“-pc”用于保存大窗的Popup菜单；“-pq”用于保存小窗的Popup菜单；“-pn”用于保存大窗人名列表的Popup菜单；“-pm”用于保存菜单栏里的Popup子菜单。
    参数“-ru”用于保存自定义用户访问级别文件；“-rv”用于保存变量文件。
/SAVEBUF 命令
【语法】
      /savebuf [-sga] [行数] <窗口名称> <文件名>
【描述】
    用于将指定窗口从后面计起的指定行保存到一个指定文件里。
    参数“-s”表明保存mIRC状态窗口的内容；“-g”表明保存mIRC Finger窗口的内容。
    参数“-a”表明将要保存的内容追加到指定文件的最后。
【举例】
    /savebuf 20 @test test.txt，此命令将把@test这个自定义窗口里的末20行保存在文件test.txt里
/SAVEINI 命令
【语法】
      /saveini
【描述】
    用于把当前的设置保存在所有与mIRC相关的INI文件里。
/SERVER 命令
【语法】
      /server -sar [IRC服务器地址] [-p 端口] [-g 所属的组] [-w 密码] [-d 连接描述]
【描述】
    用于修改mIRC的服务器列表。
    参数“-s”表示将服务器列表排序；“-a”表示新增添一个连接到mIRC的服务器列表(如果已存在该连接则将其更新)；“-r”是指从mIRC的服务器列表里删除一个连接。
    当使用“-g”、“-w”和“-d”参数时，如果指定的值为“none”，则表明将该信息删除。
【注意】
    要用此命令修改mIRC的服务器列表，则必须指定参数“-sar”中的至少一个。
/SHOWMIRC 命令
【语法】
      /showmirc [-nrstxop]
【描述】
    用于调整mIRC的主窗口。
    参数“-n”表示将主窗口最小化；“-r”表示将主窗口还原；“-s”表示将主窗口显示出来；“-t”表示将mIRC显示在系统托盘里；“-x”表示将主窗口最大化；“-o”表示将主窗口始终置于桌面的最上面；“-p”表示将主窗口不再置于桌面的最上面。
/SLINE 命令
【语法】
      /sline [-a | -r] <#闲聊室名称> <N | 别名>
【描述】
    用于选择(或者取消选择)指定闲聊室人名列表里的别名。
    参数“-a”表示在原有基础上再多选择一个别名；“-r”表示不再选中任何别名。
  * 可以使用具体的名称来选取别名，也可以使用数字来选取人名列表中的第N个别名。
/SREQ 命令
【语法】
      /sreq [+m|-m] [ask | auto | ignore]
【描述】
    用来设置当有人对你发出DCC Send请求时mIRC的反应——是弹出对话框询问(ask)、自动接受(auto)还是自动忽略(ignore)。参数“+m”和“-m”可以设置是否将该DCC Send窗口最小化。
  * 你也可以在mIRC的设置选项里对此进行具体设置。
/STRIP 命令
【语法】
      /strip [+-burc]
【描述】
    用来设置是否过滤其他人的字体修饰。
    参数“+b”表示过滤粗体字；“+u”表示过滤下划线字；“+r”表示过滤反显字；“+c”表示过滤字体的色彩。当被设置为“-b”、“-u”、“-r”、“-c”的时候则表示不过滤。
  * 你也可以在mIRC的设置选项里对此进行具体设置。
【举例】
    /strip +b-urc，此命令表示让mIRC过滤掉其他人的粗体字。
/TIMESTAMP 命令
【语法】
      /timestamp [-fs | a | e] [on | off | default] [窗口名称]
【描述】
    用来打开或者关闭指定窗口的时间戳。
    参数“-s”表明针对mIRC的状态窗口；“-a”表明针对当前窗口；“-e”表明针对当前你所打开的所有窗口。
    参数“on”表示打开时间戳；“off”表示关闭时间戳；“default”表示使用mIRC设置选项里的设置。
    使用“-f”参数可以自定义时间戳的显示方式(具体时间格式请参考$asctime()函数)，例如：/timestamp -f [HH:nn]。
/TITLEBAR 命令
【语法】
      /titlebar [@窗口名称] <指定文本>
【描述】
    用来将mIRC主程序窗口的标题栏信息改成指定文本。
    如果指定了某个自定义窗口的名称，则是改变该自定义窗口的标题栏信息。
/TOKENIZE 命令
【语法】
      /tokenize <C> <Token文本>
【描述】
    此命令可以将以ASCII字符C分隔开的Token文本(参见Token 函数)赋予$1、$2...$N(参见$1- 函数)。
【举例】
    /tokenize 44 a,b,c,d,e，此命令将把“a”赋给$1，“b”赋给$2，“c”赋给$3，“d”赋给$4，“e”赋给$5。
/UNLOAD 命令
【语法】
      /unload <-a | -rs> <文件名>
【描述】
    用于卸载指定的Alias文件或者Remote脚本文件。
    参数“-a”是指卸载Alias文件；“-rs”是指卸载Remote脚本文件。
【举例】
    /unload -a aliases.ini，此命令将卸载aliases.ini这个Alias文件
    /unload -rs script.ini，此命令将卸载script.ini这个Remote脚本文件
【注意】
    一次只能卸载一个文件。
/UPDATENL 命令
【语法】
      /updatenl
【描述】
    在通常情况下，mIRC在一个kick/part/quit事件中所用到的IAL列表和闲聊室人名列表，都是在脚本运行完之后才进行更新的；而使用此命令可以让mIRC立刻进行更新。
/URL 命令
【语法】
      /url [on | off | show | hide | -dran] [[N | mark] | 地址]
【描述】
    用于显示或者隐藏mIRC的URL窗口，并允许你修改该窗口所列出的地址。
  * 使用该命令时，mIRC将捕获屏幕上所有看起来象是个网络地址(URL, Universal Resource Locator)的信息，并将其保存在一个专门的URL窗口里。
    参数“-r”表示从URL窗口里删除第N条地址，或者删除符合参数“mark”的所有地址。
    参数“-a”和“-n”允许你打开浏览器连接到给出的地址；其中，“-a”表示使用当前被激活的浏览器窗口；而“-n”表示另外打开一个新的浏览器窗口。
/USERNAME 命令
【语法】
      /username <新名字>
【描述】
    用于改变你在mIRC的设置选项里所填的真实姓名。
/WINHELP 命令
【语法】
      /winhelp <帮助文件名> [关键字]
【描述】
    调用Windows的帮助系统来打开一个帮助文件，并可以根据你所给的关键字而转到相应内容。
/WRITE 命令
【语法】
      /write [-cida l# s# w#] <文件名> [文本]
【描述】
    用于将指定文本写入指定的文件。
    参数“-c”表示在写入文件之前先将目标文件的内容清空；参数“-l#”表示将指定文本写入到目标文件的指定行，并将原来的行覆盖；参数“-i”表示以插入方式将文本写入到目标文件里，如果没有指定文本则是在“-l#”处插入一个空行，如果连“-l#”参数也没有指定则是在目标文件的末尾插入一个空行；参数“-d”表示从目标文件里删除掉指定的行(如果没有使用“-l#”参数则表示删除目标文件的最后一行)；参数“-s#”表示查找以指定文本作为开始的行，然后符合条件的第一行进行操作；参数“-w#”表示查找包含指定文本的行，然后对符合条件的第一行进行操作；参数“-a”表示让mIRC把文本追加到目标文件的指定行之后。
【警告】
    不要使用本命令来对一个INI文件进行操作，否则有可能将该文件损坏！
【举例】
    /write test.txt Welcome to xIRC.，此命令将把“Welcome to xIRC.”增加到test.txt文件的最后一行
    /write -c test.txt Welcome to xIRC.，此命令将先清空test.txt文件的内容，然后把“Welcome to xIRC.”写入进去
    /write -l10 test.txt Welcome to xIRC.，此命令将把“Welcome to xIRC.”写入到test.txt文件的第10行，如果第10行已有内容则将其覆盖
    /write -dsxirc test.txt，此命令将在test.txt文件里查找以“xirc”作为开始单词的行，如果找到则将其删除
/WRITEINI 命令
【语法】
      /writeini -n [INI文件名] <标题> [条目] [值]
【描述】
    用于将指定文本写入指定的INI文件。
    参数“-n”表示即使目标文件大于64K，mIRC也将对其进行操作。
【举例】
    假设有这样一个INI文件(假设文件名是mirc.ini)：
    ...
    [DDE]
    ServerStatus=on
    ServiceName=mirc

    ...
    使用命令/writeini mirc.ini DDE ServerStatus off则可以将上面的DDE标题下ServerStatus条目的值从“on”改为“off”
    使用命令/writeini mirc.ini DDE ServerName xirc则可以将上面的DDE标题下ServerName条目的值从“mirc”改为“xirc”
    使用命令/writeini mirc.ini DDE CheckName off则可以在上面的DDE标题下新建一个CheckName条目，并将“off”作为它的值


Alias 与 Popup 篇

Alias
    所谓Alias，其实就相当于命令缩写的意思，实际上它可以让你自定义IRC命令。比如，你肯定不想每次给人帽子都要费力地去打/mode #某闲聊室 +o 某人命令吧？所以你就可以设定/OP这条Alias，那么以后只需在该闲聊室打/op 某人就可以给他/她帽子了，是不是感觉方便多了呢？
    要往mIRC里添加Alias，可以用/Alias命令。不过，我还是推荐大家用mIRC专门提供的Alias编辑窗口，点击工具栏上的 “Alias definitions”按钮 按钮或者按下Alt+A即可调出该编辑窗口。
    Alias的编写也很简单，例如在Alias编辑窗口里写入：
      /OP /MODE # +o $$1
    这样就有了/OP这个Alias，以后你就可以用/OP命令给人加帽子了。（至于其中用到的函数如$$1等，请参照BOT 篇之函数篇）
    你也可以用“|”符号来把多个并列的命令都合为一条Alias，如：
      /BKICK /BAN # $$1 | /KICK # $$1
    当你对某人执行/BKICK这条Alias时，mIRC就会先禁止他进入当前闲聊室，然后再把他踢出去。不仅如此，你还可以在一条Alias里包含更为复杂的命令，甚至还可以用上各种编写BOT的技巧(参BOT 篇)，例如下面这条Alias：
      /OPALL {
        %i = 0
        %nicks = ""
        :nextnick
        inc %i
        if ($nick(#,%i) == $null) { if ($len(%nicks) > 0) mode # +oooo %nicks | halt }
        %nicks = %nicks $nick(#,%i)
        if (4 // %i) { mode # +oooo %nicks | %nicks = "" }
        goto nextnick
      }
    以后再用/OPALL就可以给所有闲聊室的人发帽子了。
    Alias不仅可以把复杂的IRC命令定义成为一条新的命令，甚至还可以定义为键盘上的功能键。如下例：
      /F1 /say 大家好！
      /sF2 /kick # $$1 我看你不爽~
      /cF3 /me Faint...
    这样定义后，按下功能键F1就可以说出“大家好！”；按下Shift+F2可以把从人名列表中选定的人踢出去；按下Ctrl+F3则可以做出“Faint...”这个动作。

Popup
    Popup在这里是弹出式菜单的意思，即允许你在mIRC里自定义菜单（包括状态窗口菜单、闲聊室窗口菜单、小窗菜单、人名列表菜单以及主菜单中的Commands菜单——可以在Popup编辑窗口点菜单里的“View”，然后分别选择“Status”、“Channel”、“Query/Chat”、“Nickname list”或者“Menubar”以决定）。一套功能强大的Popup菜单会让你的聊天变得更加轻松。
    点击工具栏上的 “Popup menus”按钮 按钮或者按下Alt+P可以调出Popup菜单的编辑窗口。一条完整的菜单命令是这样组成的：[菜单级数]<菜单名称>:<点击该菜单所要执行的命令>。其中，菜单级数是用英文的句号来表示，例如不加句号便是一级菜单，一个句号便是二级菜单，三个句号便是三级菜单……；要给菜单添加快捷键，可以用符号&+英文字母表示；要在菜单里面添加分隔线，可以在编辑窗口里添加“-”号。大家可以参照一下如下的这个示例菜单。
问候(&H)
.问候(&1):/say 大家好，我是 $me ，初次见面，请多关照！
.-
.再见(&2):/say 走了，各位慢聊！
         Popup菜单示例
    Popup的编写也是可以使用Remote的语法以及函数的，详见BOT 篇，在此不再赘述。

在Remote文件里编写Alias和Popup
    为了方便保存，你还可以把Alias或者Popup都写进一个Remote文件里，具体的格式是：
      对于Alias：
      Alias [-l] <Alias名称> {
        ......
      }
      参数“-l”表示这个Alias只能在包含它的Remote脚本里引用，除此以外是无法使用的。
      对于Popup：
      Menu <status|channel|nicklist|query|menubar|窗口名称[,窗口名称..]> {
        ......
      }
      其中，“status”表示是状态窗口菜单、“channel”表示是大窗菜单、“nicklist”表示是大窗人名列表菜单、“query”表示是小窗菜单、“menubar”则表示是菜单栏里的菜单；“窗口名称”则必须是自定义窗口(Custom Window)的名称。
    例如在Remote里定义一条Alias：
      Alias add {
        var %total = $calc($$1 + $$2)
        echo -a %total
      }
    又如在Remote里定义一条自定义窗口@test的菜单：
      Menu @test {
        菜单&1:/echo -a 这是个测试
        菜单&2:/echo -a 这是个测试
      }
    再定义一条同时存在于状态窗口和大窗的菜单：
      Menu status,channel {
        菜单&1:/echo -a 这是个测试
        菜单&2:/echo -a 这是个测试
      }


mIRC 的花边功能

MS Agent
    ● 什么是MS Agent
    MS Agent是微软出品的一种人机对话软件，它的主要表现形式就是各种各样的卡通人物，而你则可以利用与他们之间的交流（例如通过语音）来控制电脑。事实上，相信你早就已经接触过MS Agent了——例如在微软的OFFICE 2000里，那些可爱的OFFICE助手正是MS Agent的体现之一——怎么样？是不是觉得他们很有个性+很实用呢？毫无疑问，MS Agent的出现使得与电脑之间的交流变得不再死板，而更加人性化了。并且我们完全有理由相信，基于建立更为亲切的人机对话考虑，MS Agent必将越来越广泛地被应用于各种WINDOWS软件当中。
    ● 如何安装MS Agent
    MS Agent的安装是很简单的。首先你必须有MS Agent的核心文件，这样你的WINDOWS系统就开始支持MS Agent了（注意，使用WINDOWS 2000的用户不必安装，因为其中已集成）；其次，如前所述，你必须下载一个MS Agent的卡通角色文件（这种文件的扩展名是*.ACS）并将其安装上，之后你就可以使用MS Agent为你服务了。点击此处可以下载Peedy——微软出品的最受欢迎的MS Agent角色文件。
    ● 在mIRC中使用MS Agent
     这就是Peedy! 在输入栏里打/gload peedy peedy.acs（假定你已经安装了MS Agent核心文件以及Peedy），然后在WINDOWS的任务栏里你就会看到一只鹦鹉的头像。再打/gshow peedy这就可以把Peedy显示出来了（如右图）,怎么样，是不是很可爱呀？OK! 接下来，我们就让Peedy来做点什么吧。打/gtalk peedy Hi，呵呵，是不是看到Peedy在说“Hi”了呀？如果在你的WINDOWS再安装一个利用文字发音(Text-To-Speech)的软件的话，Peedy甚至可以把你指定的话用语音念出来（虽然只限于英文）！
    好了，就介绍到这里吧，至于对MS Agent具体的操作命令请参考如下；相应的下载请参考本站相关下载中的其它工具。
/GLOAD 命令
【语法】
    /gload <名字> <Agent文件名 | N | 默认>
【描述】
    该命令用于载入一个MS Agent角色。
    名字是由你随便取的，这是为了方便在其它的命令里调用指定的MS Agent角色。
    不能在同一时间调用两个或以上Agent，但是可以调用任意多不同的Agent。
/GUNLOAD 命令
【语法】
    /gunload <名字>
【描述】
    该命令用于卸载指定的MS Agent角色。
    这里的名字就是指你在/GLOAD中所设定的Agent名字。
/GSHOW 命令
【语法】
    /gshow <名字> [x y]
【描述】
    该命令用于（在指定的X、Y位置）显示指定的MS Agent角色。
/GHIDE 命令
【语法】
    /ghide <名字>
【描述】
    该命令用于隐藏指定的MS Agent角色。
/GMOVE 命令
【语法】
    /gmove <名字> <x> <y> [速度]
【描述】
    该命令用于移动指定的MS Agent角色到屏幕上的某个位置（可以指定移动速度，如果为0则表示在一瞬间完成）。
/GSIZE 命令
【语法】
    /gsize <名字> <宽> <高>
【描述】
    该命令用于改变指定的MS Agent角色的大小。
/GTALK 命令
【语法】
    /gtalk -kw <名字> <信息 | <声音文件 | 信息>>
【描述】
    该命令可以让MS Agent角色“说”指定的话。如果加上参数-k，则可以让MS Agent角色以想的方式表达出这些话语；加参数-w则可以让MS Agent角色发出指定的声音。
/GPLAY 命令
【语法】
    /gplay <名字> <动画 | N> [时限]
【描述】
    该命令用于让MS Agent角色做出指定的预设动作（可以用动作名称或者动作所在的编号表示），并可以指定时限让MS Agent角色自动停止做动作（因为有些动作是循环的）。
    如果遇到循环动作而又没有指定时限，则可以使用/GSTOP命令将其停止。
/GPOINT 命令
【语法】
    /gpoint <名字> <x> <y>
【描述】
    该命令用于让MS Agent角色指向屏幕的某个特定位置。
/GSTOP 命令
【语法】
    /gstop -c <名字> [talk play]
【描述】
    该命令用于让MS Agent角色停止所有正在做的动作和将要做的动作。-c参数是仅仅让MS Agent角色停止当前动作；而talk和play是用于指定是让MS Agent角色停止说话、停止做动作、或者是二者皆停止。
/GOPTS 命令
【语法】
    /gopts -bieq <名字> <on off size pace hide>
【描述】
    该命令可以设定指定MS Agent角色的各种相关选项。
    -b参数可以让MS Agent是否将信息显示出来(on或者off)；也可以使用size参数设定MS Agent的弹出式信息窗(balloons)的大小；pace参数可以指定是否让MS Agent每念一个词才显示一个词；hide参数则可以指定MS Agent在没有收到发言指令时隐藏上一次的弹出式窗口。
    -i参数可以指定是否允许MS Agent在没有收到任何指令时发呆。
    -e参数则用于指定是否打开音效。
/GQREQ 命令
【语法】
    /gqreq <on | y>
【描述】
    在默认情况下，MS Agent如果在短时间内接收了大量的指令，那么它将逐个执行；而参数off可以指定是否在MS Agent正在执行某个指令的时候忽略掉此时对其下达的其它所有指令。


mIRC 的使用技巧

● 如何打出彩色字、粗体字、下划线字以及反显字
    很简单的，分别是按Ctrl+K(彩色字)、Ctrl+B(粗体字)、Ctrl+U(下划线字)和Ctrl+R(反显字——在某些IRC客户端软件上显示为斜体字)，当用这些字体修饰代码把某段文字包括起来时，那么该段文字即变成了相应的修饰文字。
    注意在打彩色字时，在按了第一个Ctrl+K之后还必须选择一种色彩代码(从0到15)以表明具体的颜色；你也可以同时指定两个色彩代码，用英文逗号隔开，这样第一个色彩代码就是表明文字的前景色，而第二个色彩代码则表明的是背景色。
    如果要去掉所有的修饰，可以按Ctrl+O，这样在其之后的文字就没有任何修饰了(除非你又使用了修饰代码)。
● 使用刚才用过的命令
    在mIRC里，你可以使用键盘上的“↑”键和“↓”键选择刚刚才输入了的命令(或文字)，这样就不必费力地再次输入了；如果你是使用的多重输入栏，则是用Ctrl+↑和Ctrl+↓进行选择。
● 自动完成功能
    mIRC可以帮你在输入栏里自动完成某人别名以及闲聊室名称的输入。方法是在打了某人名字的前面一部分后按键盘上的Tab键，这样mIRC就会将其自动完成为当前闲聊室中符合该部分的第一个别名(再按Tab键可以切换到下一个)；如果是要完成当前闲聊室的名称，则在打了“#”号之后再按Tab键即可。
    注意，在名字前或者“#”号前必须留有一英文空格mIRC才会使用自动完成功能。如果没有输入任何文字或命令，而是直接按Tab，则mIRC将自动在输入栏出现/msg <最后一个给你发送了小窗信息的别名>命令。
    你也可以先给出一个包含“*”号和/或“?”号的通配符字串，然后再按Tab键。此时mIRC将试图查找匹配该通配符字串的名字，并可以通过多次按Tab键进行选择。
● 快速窗口操作
    对于mIRC切换栏上的各个窗口图标按钮，按照其从左到右的排列顺序，你可以按下键盘上的Alt+对应的数字键来进行快速切换。当然，按Ctrl+Tab也可以在各个窗口间轮流切换；按Ctrl+N(或者Ctrl+W)可以在各个闲聊室窗口之间轮流切换；按Ctrl+Q可以在各个小窗之间轮流切换。
    要想快速关闭某个内部窗口，可以按Ctrl+F4，或者Alt+Z亦可。
● 对于主显示窗口的快速操作
    按下Page Up或Page Down可以快速查看刚才的屏幕显示信息(以页为单位滚动)；如果想以行为单位滚动来查看信息，可以按Ctrl+Page Up或Ctrl+Page Down。
    按Ctrl+F可以在当前的窗口中查找信息；按下Shift键进行复制则可以将修饰代码一并复制下来。
● 在闲聊室中将焦点快速从人名列表切换到输入栏
    很简单，按下Shift+Tab即可以在二者之间切换了。此方法也适合于在包含输入栏和列表栏的自定义窗口里使用。
● 在输入栏中使用“//”号作为IRC命令标志
    如果你在输入栏中使用了“//”号作为IRC命令标志，那么你就可以直接引用mIRC的各种函数和变量。例如你想告诉某人现在的时间，则用命令“//say $time”就可以了，mIRC会自动调用$time函数的值，而你也就不必去细细查看当前的时间了。
    当然，使用“//”的前提是你已经对mIRC的各种函数有所了解。具体请参照BOT 篇之函数篇。
● 如何说出第一个字符是“/”号的话
    也许你遇到过这种尴尬——当你想告诉对方某条IRC命令时，却怎么也不能让它显示到屏幕上去，因为一按下回车mIRC就会把该命令直接执行了。那该怎么办呢？按下Ctrl再回车吧，这样mIRC就不会把第一个字符是“/”的信息当作IRC命令去处理了。
● “.”号和“!”号的妙用
    在IRC命令前面使用一个“.”号(例如/.mode)，则mIRC将不会在窗口里作出任何回显，这样在编写脚本的时候就可以充分利用它来隐藏一些不必要的信息了。
    而在IRC命令前面使用一个“!”号(例如/!time)，则mIRC将会忽略掉Alias里的或自身的IRC命令，而直接使用内部的命令或者向服务器查询并请求执行该命令。这也非常有用——例如在你的Aliases里已经有了/time这条命令，那么任何时候你打/time都将执行该命令；这时如果你想查看一下服务器的当前时间就比较难办了，因为所对应的命令也是/TIME。然而用/!TIME就可以绕过Aliases直接执行该命令了，大家可以自己试试。
● 列出非英文的闲聊室
    默认情况下，用/LIST列出闲聊室名称，显示在Channel窗口的结果是不包含非英文闲聊室的。这时你只需要在该窗口点鼠标右键，选择List options...，然后去掉Hide non-alphanumeric channels前面的小勾。以后再打/LIST命令就可以看到那些非英文名称的闲聊室了。
    在List options...还可以设置是否隐藏名称中包含关键字的闲聊室、是否只列出标题里包含特定文字的闲聊室等等。
● 查看可能遗漏的信息
    当你在mIRC的各个窗口之间进行切换时，很可能会忘记自己上次在某个窗口所见到的最后的内容位置所在。这时如果你使用的是5.8以后的IRC版本，则可以在该窗口按下Ctrl+L快捷键，mIRC会用一根默认的红线(Line Marker)标记在它认为你可能开始错过信息的位置。再次按Ctrl+L则可以取消该标记。
● mIRC 快捷键一览表
快捷键 | 相关说明 | 快捷键 | 相关说明
F1 | 调出mIRC帮助文件 | Shift+F1 | 显示帮助文件的索引对话框
Ctrl+Tab | 在各种窗口之间快速切换 | Shift+Tab | 在大窗里快速进行输入栏和人名列表的切换
Ctrl+F | 弹出查找对话框 | Ctrl+N、Ctrl+W | 在各个频道窗口之间快速切换
Ctrl+Q | 在各个小窗之间快速切换 | 部分文字+Tab | 用于自动完成输入栏中的昵称或频道
↑↓键 | 调用刚才使用过的命令 | Ctrl+↑↓键 | 当使用多重输入栏时，调用刚才使用过的命令
PageUp、PageDown键 | 按页查看当前窗口的所有信息 | Ctrl+PageUp、PageDown键 | 按行查看当前窗口的所有信息
按住Shift键拷贝 | 可以连换行符一起拷贝下来 | 按住Ctrl键拷贝 | 可以连字符控制符一起拷贝下来
Ctrl+回车键 | 可以输出第一个字符是“/”的字串 | Ctrl+B/U/R/K | 设置粗体/下划线/反显字/颜色
Alt+1～9 | 快速切换到第1-9个内部窗口 | Ctrl+↑↓键 | 当使用多重输入栏时，调用刚才使用过的命令
Alt+S | 弹出DCC发送文件窗口 | Alt+C | 弹出DCC Chat窗口
Alt+B | 弹出地址簿窗口 | Alt+L | 弹出列房间对话框
Alt+O、Alt+E | 弹出mIRC设置窗口 | Alt+N | 弹出通告窗口
Alt+U | 弹出捕获URL的结果窗口 | Alt+I | 弹出mIRC的在线计时器窗口
Alt+G | 弹出mIRC的Finger查询窗口 | Alt+J | 弹出mIRC的频道文件夹窗口
Alt+K | 弹出mIRC的颜色设置窗口 | Alt+V | 弹出mIRC的字体设置窗口
Alt+Z | 关闭mIRC的当前窗口(状态窗口除外) | Ctrl+L | 查看当前窗口的新信息


基本语法篇

变量(Variables)
    变量是用来暂时储存某个数据以便以后在mIRC脚本中使用的。它的基本构成是"%"+"变量名"，例如%a、%b、%test。在mIRC中对变量的限制很宽松，甚至连任何符号都可以用来作为变量，比如%a@b、%[names等都是合法的变量。当某个变量不存在或者未设置变量值时，该变量的值将被认为是$null(空值)。
    下面介绍一下如何对变量进行设置，以及如何对它们进行操作。
    在mIRC中专门有一个与Alias、Popup和Remote类似的变量编辑窗口(按Alt+R，再选择Variables选项卡)，你可以直接在这里写入变量名以及所对应的变量值。但是，建议你用如下的mIRC命令根据需要来设置变量，因为这样更便于在脚本中引用。
/SET 命令
【语法】
      /set [-szuN] <变量> [变量值]
【描述】
    用来设置一个变量，并可以给它赋予初始值。参数-uN是指在设置变量N秒后，如果没有其它脚本引用该变量，则将其自动删除；-s是指在设置变量时让mIRC做出回显(下同)；-z是指递减该变量值，直至其为0的时候将其自动删除。
    利用/SET命令设置的变量都可以在变量(Variables)编辑窗口看到，并可以进行编辑。
/UNSET 命令
【语法】
      /unset [-s] <变量>
【描述】
    用来从变量编辑窗口中删除掉指定的变量。可以使用通配符，例如：/unset %chan*，这将删除掉所有以%chan开头的变量。
/UNSETALL 命令
【语法】
      /unsetall
【描述】
    这将删除掉变量编辑窗口中的所有变量。
/INC 命令
【语法】
      /inc [-cszuN] <变量> [步长]
【描述】
    根据指定的步长来增加某个指定变量的值。参数-uN是指只增加该变量的值一次，然后在N秒后删除该变量；-c是指每秒增加该变量的值一次；-z指递减该变量的值，直至其为0的时候将其自动删除。
/DEC 命令
【语法】
      /dec [-cszuN] <变量> [步长]
【描述】
    根据指定的步长来减少某个指定变量的值。参数-uN是指只减少该变量的值一次，然后在N秒后删除该变量；-c是指每秒递减该变量的值一次；-z指递减该变量的值，直至其为0的时候将其自动删除。
    你也可以在脚本中(注意，不是在命令输入栏)直接用英文等号("=")来设置某个变量，如“%x = 88”；你也可以利用英文等号来对变量进行一个简单的运算，如“%x = 88 + 5”（注意，如果要进行更复杂的运算，则必须使用$calc()函数）
    你还可以利用/VAR命令来设置一个临时变量，它将只能在脚本中进行设置，并且当该脚本运行完毕时将被自动删除。例如：/var %x、 /var %x = hello、 /var %x = hello, %y, %z = $me …

运算符
    在mIRC中也有很多运算符，基本的包括：+(加)、-(减)、*(乘)、/(除)、%(求余数)、^(乘方)，不过通常都要配合$calc()函数使用，以让mIRC识别这是一个运算式。例如：%count = $calc((%x + 1) * 4)
    在编写mIRC脚本时还经常会用到一个很有用的运算符，那就是“[”和“]”。当表达式或者函数被这两个符号包括起来时，则mIRC会优先执行这里面的运算(按从左到右的顺序)。需要注意的是在“[”和“]”的两旁必须留有一个英文空格，否则将不起作用。
    其它还有很多运算符，如关系运算符等，这将在判断语句中进行介绍。

判断语句
    在mIRC中，判断语句(If-Then-Else)的基本句法是：
      if (v1 运算符 v2) { 命令 }
      elseif (v1 运算符 v2) { 命令 }
      else { 命令 }
    “()”括号里的内容是表明进行判断，如果为真，则执行“{}”括号里的命令(可以是任何命令)。
    这里的运算符包括：
      ==　　　　等于
      ===　 　　等于(对大小写敏感)
      !=　　　　不等于
      <　　　 　小于
      >　 　　　大于
      >=　　　　不小于
      <=　　　　不大于
      //　　　　存在倍数关系
      \\　　　　不存在倍数关系
      &　 　　　存在位与关系

      isin　　　字符串v1被包含在字符串v2里
      isincs　　字符串v1被包含在字符串v2里(对大小写敏感)
      iswm　　　v2符合包含通配符的字符串v1
      isnum　 　数字v1在指定的v2范围内(v2可省略)；例如：(8 isnum 6-10)、(6 isnum)
      isletter　字母v1包含在v2列出的英文字母里(v2可省略)；例如：(t isletter fantasy)、(s isletter)
      isalnum　 v1为一个英文字母或者数字
      isalpha　 v1为一个英文字母

      ison　　　别名v1在闲聊室v2里
      isop　　　别名v1是闲聊室v2的主持人(有@帽子)
      isowner 　别名v1是闲聊室v2的拥有者(OWNER, 见于IRCX服务器)
      isvo　　　别名v1在闲聊室v2里有发言权
      ishop　　 别名v1是闲聊室v2里的一个助理主持人(HalfOP，旧称Helper)
      isreg　 　v1是闲聊室v2里的一个普通别名
      ischan　　v1是你目前已经进入的闲聊室
      isban　　 v1是mIRC的内部BAN列表里被BAN掉的地址

      isauto　　v1是自动给帽子(Auto-Op)列表中的人(v2用来指明是在哪个闲聊室，可选)
      isignore　v1是忽略(Ignore)列表中的人
      isprotect v1是自动保护(Protect)列表中的人(v2用来指明是在哪个闲聊室，可选)
      isnotify　v1是你的通知(Notify)列表中的人

    要进行相反的判断，则在运算符前面加“!”号，例如：(55 !isletter)、(TigTag !ison #Chat) 等等。
    函数$ifmatch可以用来返回被IF判断语句捕获的第一个参数，例如：if (TigTag isin TigTagIsHelisheep) { ... }，由于“TigTag”被包含在了“TigTagIsHelisheep”这个字符串中，因此这里的$ifmatch就将返回TigTag。
    你也可以利用逻辑运算符&&(And)和||(Or)来组合更为复杂的判断，例如：if (($nick ison #Chat) && ($nick == TigTag)) { ... }

循环语句
    在mIRC中目前只提供了一种循环语句，即While循环。它的基本句法如下：
      while (v1 运算符 v2) {
        命令
      }
    (v1 运算符 v2)表示判断(参见判断语句)，如果为真则进行循环。你可以用/break跳出该循环，也可以用/continue跳到循环的最开始处。
    使用While语句的时候很容易造成一个死循环，用它只是可以让程序流程看起来更清晰明了罢了(个人观点)。你当然也可以利用IF语句+GOTO语句形成一个循环(尽管GOTO语句会让程序变得很晦涩，而且容易打乱程序的结构)。例如：
      ...
      var %i = 0
      :nexti
        inc %i 1
        if (%i >= 10) { goto endi }
        goto nexti
      :endi
      ...
    PS: 在编写Remote脚本的时候，所有用到的IRC命令都可以省略掉前面的“/”号。


函数篇

    mIRC里函数的定义和其他大多数语言是一样的，都主要是用于返回一个特定的值。它的基本格式是英文的“$”号+函数名称，例如“$time”，这可以返回当前的系统时间。当mIRC在Alias、Popup或者Remote里遇到这些函数时，都将用这些函数的真实值来代替并且将脚本运行下去，从而就使得我们在编写BOT时有了更多的灵活性。
    当一个函数不存在或者没有值时，它将返回一个“$null”值，即为空值，这样主要是为了更好地在If-Then-Else语句里进行比较。部分函数还可以带有参数，例如“$nick(#, 2)”，作用是返回当前聊天室人名列表里的第二个人名，由此可见，函数本身也是有很大的灵活性的。
    总的说来，mIRC里常见的函数可以分为以下几类（注：个别函数的链接为空是因为那些函数我自己都没完全弄清楚，就不在这里献丑了）：
    1. 时间和日期函数 (Time and Date Identifiers)

$asctime() | $ctime | $ctime() | $date
$day | $daylight | $duration() | $fulldate
$gmt | $idle | $ltimer | $online
$ticks | $time | $timer() | $timestamp
$timezone | .

    2. 昵称和地址函数 (Nick and Address Identifiers)

$address() | $ibl() | $comchan() | $ial()
$ialchan() | $level() | $link() | $mask()
$me | $nick() | $notify() | $snicks
$snick() | $snotify | .

    3. 文字和数字函数 (Text and Number Identifiers)

$abs() | $and() | $asc() | $base()
$biton() | $bitoff() | $bytes() | $calc()
$chr() | $cos() | $acos() | $count()
$int() | $isbit() | $islower() | $isupper()
$left() | $len() | $log() | $longip()
$lower() | $mid() | $not() | $or()
$ord() | $pos() | $rand() | $remove()
$replace() | $right() | $round() | $sin()
$asin() | $sqrt() | $str() | $strip()
$tan() | $atan() | $upper() | $xor()
$wrap() |

    4. 文件和目录函数 (File and Directory Identifiers)

$abook() | $alias() | $crc() | $dir
$file | $hfile | $sdir | $disk()
$exists() | $file() | $filtered | $finddir()
$findfile() | $getdir | $getdir() | $ini()
$isdir() | $isfile() | $lines() | $logdir
$longfn() | $mididir | $mircexe | $mklogfn()
$nofile() | $nopath() | $mircdir | $mircini
$read | $readn | $readini | $shortfn()
$wavedir | $mp3dir | $sdir() | $sfile()

    5. 脚本事件函数 (Remote Scripts Identifiers)

$1- | $+ | $0 | $(...)
$address | $chan | $clevel | $dlevel
$event | $fulladdress | $group() | $ial
$maddress | $matchkey | $mode() | $nick
$numeric | $script | $script() | $scriptdir
$site | $target | $ulevel | $ulist()
$wildsite | .

    6. 窗口函数 (Window Identifiers)

$active | $appactive | $appstate | $chan()
$chat() | $fserv() | $get() | $query()
$send() | .

    7. Token 函数 (Token Identifiers)

$addtok() | $deltok() | $findtok() | $gettok()
$instok() | $istok() | $matchtok() | $numtok()
$puttok() | $remtok() | $reptok() | $sorttok()
$wildtok() | .

    8. 其它函数 (Other Identifiers)

$?*!="message" | $$... | $& | $ansi2mirc()
$auto | $away | $bits | $cb
$cb() | $colour() | $cr | $creq
$crlf | $dccignore | $dccignore() | $dccport
$ddename | $dll() | $editbox() | $email
$hash() | $highlight | $highlight() | $host
$ifmatch | $ignore | $ignore() | $iif()
$inmidi | $inwave | $ip | $isalias()
$isid | $lf | $lock() | $network
$os | $port | $protect | $result
$rgb() | $server | $server() | $show
$sreq | $titlebar | $url | $url()
$usermode | $version | $input() | .

    9. 自定义函数
    最后再来说说自定义函数。在mIRC里的自定义函数是利用ALIAS实现的，方法是在Alias命令的最后使用一条/RETURN命令，即返回指定的值，这个值也就是自定义函数所具有的值了。例如这样一个Alias：
    /add {
      return $calc($$1 + $$2)
    }
    这实际上就定义了一个$add函数，当我们使用$add(234, 324)时，它就会返回“558”了。
    现在mIRC还允许你通过$prop函数对自定义函数添加自己的属性，例如：
    /adds {
      if ($prop isnum) { return $calc(($$1 + $$2)^$prop) }
      return $calc($$1 + $$2)
    }
    对于这个自定义函数$adds，就多了一个以任何数字作为属性的功能，当使用该属性时，就会把计算结果进行指定的乘方后再返回：
    //echo -a $adds(2, 6) ，这将显示“8”
    //echo -a $adds(2, 6).3 ，这就显示“512”了(8的3次方)


事件篇

    在系统地学习mIRC的各种事件之前，我们有必要先了解一下mIRC的自定义用户访问级别(Access Levels)，因为各种事件都是基于此来运行的。
    按“Alt+R”，再选择“Users”选项卡则可以进入自定义用户访问级别的编辑窗口。访问级别的表现形式是这样的：<级别1,级别2,级别3,...,级别N>:<用户的昵称或者地址>。例如：“100:TigTag!*who@61.*”、“3,25,100:FoOl_BoT”……其中“级别1”是一个普适级别，即该用户可以同时拥有等于“级别1”和所有小于“级别1”的访问级别；而在“级别1”之后的其它级别则是专有级别，即该用户的访问级别必须是等于那些级别时才有效。如果要想让“级别1”也成为一个专有级别，可以在它前面加上个“=”号，例如“=99:TigTag”，这样用户“TigTag”就只有一个专有访问级别“99”了(从而不会被低于99级的事件所影响)。
    你也可以用文字来定义一个级别，例如“friends:TigTag!*who@61.*”，但这样定义的级别将只能作为专有级别使用。
    接下来就该认识一下事件的组成了。基本上一个事件的构成是：
      ON [用户前缀]<用户访问级别>:<事件名称>:[事件参数:]<脚本内容>
    但也有两种事件例外，即CTCP事件和RAW事件，它们的构成是<事件名称> [用户前缀]<用户访问级别>:[事件参数:]<脚本内容>，具体将在介绍这两种事件的时候提到。
    大家可以看到这里提到了“用户前缀”这个可选项，那么它又有什么用呢？

“+”号前缀：用于限定该事件仅适用于指定级别的用户。例如：
 | 100:TigTag CTCP +99:PING:/ctcpreply $nick PING $ctime | halt 用户TigTag将无法触发这个CTCP事件，因为该CTCP事件的用户已被限定至99级别。
“*”号前缀：表明该事件适用于所有级别的用户。例如：
 | ON *:TEXT:大家好:#:/msg # 你好， $+ $nick
“!”号前缀：用于阻止你自己触发改事件。例如：
 | CTCP !*:FINGER:?:/ctcpreply $nick FINGER No FINGER info available | halt 这样你自己将可以Finger到自己的指针信息，而其他人则无法Finger到。
“@”号前缀：用于在频道事件中，只有当你是该频道的OP时才触发。例如：
 | ON @*:JOIN:#Chat:/pop 5 $chan $nick 这个事件表示，只要你在#Chat有帽子，那么任何人进来你都将自动给他发帽子；而如果你没有帽子该事件则不会被触发。
“^”号前缀：用于阻止该事件继续运行或者阻止其显示默认的屏幕信息，但必须配合/halt或者/haltdef命令使用。例如：
 | ON ^*:JOIN:#:/echo 12 # * $nick $+ 走进了 $+ $chan | halt 使用这个事件，则当有人走进某个房间时，屏幕上就不会显示mIRC内定的信息，而是显示我们在这里定义的“某某走进了某个房间”。/halt和/haltdef在这里的区别是，一旦使用了/halt，则在该事件里其后的命令都不再运行，而使用/haltdef则只是默认的屏幕显示不再出现，而该事件仍然要继续运行下去。
“&”后缀：如果在前一个已运行的事件里使用了/halt或者/haltdef命令，则可以使用该符号以隐藏默认的屏幕提示。例如：
 | ON &1:TEXT:?:/echo 2 -a 如果你看到这条信息，则表明前一个脚本里运行了/halt或者/haltdef命令
    在这些事件里还可以使用两种后缀符号来限定事件的访问级别：

“=”后缀：用于阻止高级别的用户访问低级别的事件。例如：
 | 10:直升羊 5:Helisheep 3:TigTag ON 2:TEXT:*:*:/echo 2 -a $nick $+ 说： $+ $1- ON 5:TEXT:*:*:= 直升羊和Helisheep都将无法触发上面这个访问等级为2的ON TEXT事件，而TigTag却可以。
“!”后缀：用于阻止指定级别的用户触发该类事件的其它情况。例如：
 | 3:TigTag CTCP 2:PING:*:/echo 4 -a PING CTCP 2:*:*:! CTCP 2:FINGER:*:/echo 4 -a FINGER 则TigTag将只能触发CTCP PING事件，而不能触发其后的CTCP FINGER事件。
    在脚本里还可以把多个事件编成一个组(以“#”符号作为组的开始标志)，例如：
        #TEST ON　　-> 此为组开始标志
        ON *:TEXT:*:*:{
          ...
        }
        ON *:ACTION:*:*:{
          ...
        }
        #TEST END　 -> 此为组结束标志
    这样就建立了一个名为“#TEST”的事件组，你可以使用/enable和/disable命令来打开或者关闭指定的事件组。当某个事件组被关闭后，则mIRC在处理时会忽略掉这些组。例如上面这个事件组如果被关闭，则它的形式应该是：
        #TEST OFF
        ON *:TEXT:*:*:{
          ...
        }
        ON *:ACTION:*:*:{
          ...
        }
        #TEST END
    注意：在一个组中不能有另一个组，即组与组之间不能嵌套。
    最后值得一提的是，以上的各种访问级别、前后缀对于事件来说都是很敏感的，因此在写事件脚本时，最好依照其访问级别的不同，按由小到大的顺序来编写各类事件，这样可以最大可能地防止mIRC在处理时出错。
    接下来，就请点击相应的链接以查看各类事件吧。

ACTION | BAN | CHAT | CLOSE
CONNECT | CTCP | CTCPREPLY | DCCSERVER
DEHELP | DEOP | DEVOICE | DIALOG
DNS | ERROR | FILERCVD | FILESENT
GETFAIL | HELP | HOTLINK | INPUT
INVITE | JOIN | KEYDOWN | KEYUP
KICK | LOAD | MIDIEND | MODE
NICK | NOSOUND | NOTICE | NOTIFY
OP | OPEN | PART | PING
PLAYEND | QUIT | RAW | RAWMODE
SENDFAIL | SERV | SERVERMODE | SERVEROP
SNOTICE | START | TEXT | TOPIC
UNBAN | UNOTIFY | USERMODE | VOICE
WALLOPS | WAVEEND | WAVEEND | ACTIVE
APPACTIVE | AGENT |


自定义对话框

    不记得是从哪个版本的mIRC开始(印象中好象是5.6版)，mIRC就增加了一个可以自行编写对话框(Custom Dialog)的功能，这也是利用Remote的编写来实现的。经常编写mIRC BOT的人就会知道，需要设置的参数越多，BOT里要编写的Alias和Popup也就越多，使用起来也就越麻烦。例如，在BOT使用中，每每要更改一个参数值时，你就不得不从层层相嵌的菜单(Popup)里去点击相应的菜单，或者从记忆中去搜索相应的Alias。时间一长，如果执行该命令的的Popup也编写得比较烦琐的话(比如，一层套一层)，那么很明显它对于BOT的使用者就成了一块鸡肋，食之无肉，弃之有味。这时就该轮到mIRC的自定义对话框来大显身手了。可以说，mIRC的自定义对话框主要就是为了解决烦琐的参数设置和更方便的信息输入而诞生的，另一方面，合理地采用对话框，也能够使得BOT和使用者之间的人机对话更加亲切，当然，也能够美化BOT的使用界面，等等。
    下面就以最近才出的的mIRC 5.9版为基准，给大家讲解一下mIRC自定义对话框的编写以及应用：

自定义对话框的列表(Table)
    自定义对话框的调用有两种模式(将在后面提到)，但在运用这两种模式调用自定义对话框之前，你必须先定义好自定义对话框的外观、大小和具体设置(废话，不然就不叫自定义了，呵呵)，有关一个自定义对话框的外观、大小和具体布局等的设置信息，就存储在一个被称为“自定义对话框列表”的Remote脚本里。该Remote脚本的编写方式如下：
对话框列表(Table)的描述格式 | 说 明
dialog 对话框列表名称 { | 必须以"dialog"开头，这段脚本必须而且只能写在Remote里。
title "对话框窗口标题" | 给对话框窗口设定标题栏文字。
icon 文件名[, 图标索引] | 用于给对话框窗口指定一个图标，例如“icon c:\windows\system\shell32.dll, 13”，将用上Windows98/ME里的地球图标。本icon行可以省略，如果省略，则默认使用mIRC自己的图标。(注意，索引是从0开始而非从1开始)
size x y w h | 这里的x指代对话框左上角所在的屏幕上的横坐标，y为纵坐标，w为对话框的宽，h为对话框的高。如果将x y分别设置为-1，则表示设置该对话框的位置为屏幕正中央。
option 类型(dbu或者pixels) | dbu表示mIRC在创建对话框时使用mIRC自己的对话框基准单位(Dialog Base Units)，这可以让该对话框在不同显示模式下都为一个大小；而Pixels则表示按象素来描述对话框的大小宽高等。默认为Pixels。
text "要显示的标签文字", ID, x y w h[, 样式(right或者center)] | 用于在对话框的指定坐标显示指定的文字；ID为这个text对象的代号，必须指定，并且必须为数字所组成，不能与其它的ID重复，这主要是为了在以后的对话框事件里引用该text对象；x y w h则是该text对象相对于对话框左上角的横坐标、纵坐标、宽和高，也必须指定(下同)。 (图示)
edit "文本输入框里的默认文字", ID, x y w h[, 样式(right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs, limit N)] | 用于在对话框的指定坐标显示一个文本输入框；ID、x y w h的含义同前；样式中的right, center分别是右对齐和中间对齐，multi表示设定该edit对象里可以输入多行文字，pass表示该edit对象里的任何文字均以“*”号代替，即类似输入密码的方式，read表示只读方式，return表示该edit对象接受回车符，hsbar、vsbar表示是否给该edit对象设置水平滚动条或竖直滚动条，autohs、autovs表示当该edit对象里容纳不了更多文字时，文字是自动向水平方向滚动还是向竖直方向滚动，limit N则是限制该edit对象里的最大文字数量为N个字节。 (图示)
button "按钮上的文字", ID, x y w h[, 样式(default, ok, cancel)] | 用于在对话框的指定坐标显示一个按钮；ID、x y w h的含义同前；样式中的default指设置该按钮为默认按钮，而ok和cancel属性，在一个对话框里，必须要有它们中的至少一个按钮(或菜单，见后)，在点击设置为ok或者cancel的按钮时，将关闭掉该对话框。如果你不想在点击了一个设置为ok的按钮后关闭掉该对话框，那么可以在相应的对话框事件里加上/halt命令。 (图示)
check "复选对象的描述文字", ID, x y w h[, 样式(left, push, 3state)] | 用于在对话框的指定坐标显示一个复选对象；ID、x y w h的含义同前；样式中的left指复选对象的文字描述在左侧，push指把该复选对象设置为类似按钮的外观，3state则表示设置该复选对象的选取方式除了选中和不选中之外，还增加一种介于二者之间的选取方式。 (图示)
radio "单选对象的描述文字", ID, x y w h[, 样式(left, push)] | 用于在对话框的指定坐标显示一个单选对象；ID、x y w h、left、push的含义同前。 (图示)
box "框架的描述文字", ID, x y w h | 用于在对话框的指定坐标显示一个框架；ID、x y w h的含义同前；适当使用box对象可以让对话框的层次看起来更加清晰、分明。 (图示)
scroll "滚动条的文字", ID, x y w h[, 样式(top, left, bottom, right, horizontal, range N)] | 用于在对话框的指定坐标显示一个自定义的滚动条；ID、x y w h的含义同前。样式中的top(顶端)、left(靠左)、buttom(底端)和right(靠右)是指滚动条的位置，而horizontal则是指在水平方向显示滚动条(默认为垂直方向)，range N是指设定滚动条的总长度为指定的数字N。 (图示)
list ID, x y w h[, 样式(sort, extsel, size, vsbar, hsbar)] | 用于在对话框的指定坐标产生一个列表对象；ID、x y w h的含义同前；样式中的sort表示将添加到该列表中的内容自动排序，extsel表示该列表可以同时选取多个内容，size则是让该列表的大小控制更加精准，其他样式属性同edit。list对象里的内容不能在列表里指定，必须利用/DID命令来添加或修改。 (图示)
combo ID, x y w h[, 样式(sort, edit, drop, size, vsbar, hsbar)] | 用于在对话框的指定坐标产生一个组合框对象(即外观上类似文本输入框和列表对象的的组合)；ID、x y w h的含义同前；样式中的edit表示允许把该组合框的第一行作为文本输入框使用，drop表示以下拉按钮的方式显示除第一行以外的其他行，其他样式属性同list对象和edit对象。combo对象里的内容亦不能在列表里指定，它也必须利用/DID命令来添加或修改。 (图示)
icon ID, x y w h, 文件名[, 图标索引, 样式(noborder, top, left, bottom, right)] | 用于在对话框的指定坐标显示一个图片，图片的格式可以是.bmp、.jpg、.png和.ico；ID、x y w h的含义同前；样式中的noborder是不在该图象的周围产生一个边框(默认要产生)，top、left、bottom和right则是图象的对齐方式。 (图示)
link "链接文字", ID, x y w h | 用于在对话框的指定坐标显示链接文字(鼠标移上去会变成红色，移开则回复为蓝色)；ID、x y w h的含义同前。 (图示)
tab "选项卡文字", ID, x y w h tab "选项卡文字" | 用于在对话框的指定坐标显示一个选项卡；ID、x y w h的含义同前。您只能为第一个选项卡指定x y w h，其他选项卡将依次与其相接。如果要让其它的某个对象从属于某个选项卡，则只需在该对象的样式里指定“tab 选项卡ID”即可。 (图示)
menu "菜单文字", menuID[, menuID] item "菜单文字", ID[, menuID] item break, ID[, menuID] | 用于在对话框里产生菜单和子菜单；break表示产生一条分隔线；menuID则是该菜单的代号，对于一个item对象来说，如果没有指定menuID，则该item对象将沿用上次的item对象所指定的menuID。 (图示)
} |
P.S: 除了上面这些对象各自的样式之外，它们还有一些共同的样式，即：
    disable　　　　禁止该对象
    hide　 　　　　隐藏该对象
    group　　　　　作为一个组的开始
    result 　　　　当点击OK按钮时，被设置为result的对象的值将返回给调用该对话框的变量

自定义对话框的调用
    在前面的例子中，我们看到的对话框都是利用/dialog -m命令调用出来的，这就是mIRC自定义对话框调用方式的一种，即根据事先做好的对话框列表信息，用/dialog命令来产生对话框。这也是最常用的方式。但mIRC还有着另外的一种方式来调用对话框，即使用$dialog()函数。在这里$dialog()函数的具体用法为：
    $dialog(对话框内部名称, 对话框列表名称[, 对话框所基准的父窗口])
    其中的“对话框内部名称”可自行定义，但不能与已经产生的对话框的内部名称相同(这主要是为了让mIRC方便地调用某个对话框窗口)。
    例如假设我们在Remote里已经定义了test这个对话框列表，那么在输入栏里输入//echo -a $dialog(sample, test)，即可出现一个以test列表为基准的对话框了，其中的Sample便是我们随便起的名称。如果要让它方便地返回一个数值，别忘了在编写对话框列表时指定一个带result样式的对象。
    用这两种方式都可以根据同一个已定义好的对话框列表产生出多个不同内部名称的对话框，但它们之间还是有着一些区别的。第一种方式，即使用/dialog命令的调用方式，它在产生出一个对话框之后，你还可以对mIRC进行其它的操作；但第二种方式就不行了，你必须在关掉了用$dialog()函数产生的对话框之后才能对mIRC进行下一步的操作，并且mIRC不能够以这种方式在Remote里产生出一个对话框，因为这样会终止脚本的运行，但第一种方式却可以。所以如果非必要，还是多用第一种方式为好。
    附带给出/Dialog命令的具体用法如下：
/DIALOG 命令
【语法】
      /dialog -madxrtsonkcvbpie 对话框内部名称 [对话框列表名称] [x y w h] [文字信息]
【说明】
    用来产生一个对话框，或者对一个已经产生的对话框进行部分操作。
    参数“-m”表示根据一个已创建的对话框列表信息来产生一个对话框；参数“-a”则是一个配合“-m”使用的参数，表示产生的对话框将以当前窗口/对话框为父窗口；参数“-d”也必须配合“-m”使用，表示产生一个独立于mIRC之外的在桌面上的窗口；参数“-x”表示关闭掉指定内部名称的对话框；参数“-t”表示设置指定对话框的窗口标题；参数“-s”表示设置指定对话框的大小宽高；参数“-r”表示将指定对话框在屏幕上居中；参数“-b”或“-p”表示设置指定对话框的基准单位是dbu还是pixels；参数“-o”表示将指定对话框设置为一个始终在其他窗口之上的窗口；参数“-n”则是取消“-o”的设定；参数“-k”模拟点击了设置为ok的按钮；参数“-c”则是模拟点击设置为cancel的按钮；参数“-v”表示设置指定对话框为当前的活动窗口；参数“-i”和“-e”表示：指定对话框如果是一个独立于mIRC以外的在桌面上的窗口，则“-i”将其最小化，“-e”将其还原。
【举例】
    如果在Remote里已经定义了test这个对话框列表，那么输入/dialog -m Sample1 test可产生一个内部名称为Sample1的对话框，输入/dialog -md Sample2 test可在桌面上产生一个内部名称为Sample2的对话框
    要改变Sample1的窗口标题为“欢迎来到 http://xirc.yeah.net/”，用命令/dialog -t Sample1 欢迎来到 http://xirc.yeah.net/
    要关闭Sample2对话框，用命令/dialog -x Sample2
    把Sample1置于屏幕的左上角，用命令/dialog -s Sample1 0 0 100 100

对对话框里的对象进行操作
    看到这一节的标题，也许大家会觉得好笑：对话框还要怎么操作？用鼠标去点不就得了吗？呵呵，大部分的操作的确可以通过鼠标来完成，但对于有些特殊的操作，例如禁止使用对话框里的某个按钮、改变按钮上的文字、往list对象里增加一条内容等等，这就不是光用鼠标点击所能做到的了。这里我们要着重介绍的就是这个专门控制对话框里的各种对象的命令—/DID。
/DID 命令
【语法】
       /did -ftebvhnmcukradiogj 对话框内部名称 [N] [文字信息 | 文件名]
【说明】
    用来对一个已经产生的对话框里的各种对象进行操作。
    参数“-f”用于将焦点定位到指定ID的对象上；参数“-t”是设置指定ID的对象为默认的按钮；参数“-b”是禁止使用指定ID的对象，“-e”则是不再禁止；参数“-h”用于从对话框里隐藏指定ID的对象，“-v”则是不再隐藏；参数“-m”用于禁止一个edit对象(与“-b”稍有不同，“-m”的禁止不会把edit对象里的名字转成灰色，并且禁止后仍然可以从中进行复制)；参数“-n”则是取消“-m”的禁止；参数“-c”用于选中一个check/radio或者combo对象，“-u”则是不选择；参数“-k”是在“-c”或“-u”的基础上，保持check/radio/combo对象的其它已选中的条目不变；参数“-r”用于清除指定ID的对象上的所有文字内容；参数“-a”用于在指定ID的对象最后添加文字内容；参数“-d”用于删除第N行的内容(比如在一个list对象上)；参数“-i”用于在第N行插入指定内容；参数“-o”则是用指定文字覆盖掉第N行的原有内容；参数“-g”用于更换一个icon对象的图象文件名；参数“-z”用于重置list对象的水平滚动条的宽度；参数“-j”用于重置edit对象的设置。
【提示】
    在一个/did命令里，可以一次对多个ID作用，但这些ID之间必须用英文逗号隔开(不能用空格)。
    如果要选择一个3state的check对象的中间状态，则须同时使用-c和-u参数，例如：/did -cu Sample2 10。
    对于一个scroll对象，可以用-c参数来指定滚动条滑块的位置。
【举例】
    禁用对话框Sample1的ID为10的对象，用命令：/did -b Sample1 10
    不再禁用对话框Sample1的ID为10的对象，用命令：/did -e Sample1 10
    隐藏对话框Sample1的ID为20的对象，用命令：/did -h Sample1 20
    假设对话框Sample1的ID为30的对象是一个edit对象(文本输入框)，要在里面添加文字“欢迎来到xIRC”，用命令：/did -a Sample1 30 欢迎来到xIRC
    假设对话框Sample1的ID为40的对象是一个list对象，要在其中的第2行添加一行内容为“http://xirc.yeah.net/”，用命令：/did -i Sample1 40 2 http://xirc.yeah.net/；如果仅仅是想添加至list对象的最后一行，也可以用命令：/did -a Sample1 40 http://xirc.yeah.net/
    假设对话框Sample2的ID为10的对象是一个check对象(复选对象)，要将其选中，用命令：/did -c Sample2 10
    假设对话框Sample2的ID为90的对象是一个icon对象，要将里面的图象文件名改成..\Images\cloud.bmp，用命令：/did -g Sample2 90 ..\Images\cloud.bmp
    禁止对话框Sample1的ID为10、20、30、40的对象，用命令：/did -b Sample1 10,20,30,40

捕获发生在对话框里的事件
    有了前面的基础，现在我们就可以针对发生在对话框里的各种事件(比如点击了某个按钮)来编写脚本了。mIRC里有一个专门用于捕获自定义对话框事件的脚本，即on Dialog事件：
on DIALOG 事件
【语法】
     on [用户前缀]<用户访问级别>:DIALOG:<对话框名称>:<事件名称>:<事件发生对象的ID>:<脚本内容>
【说明】
    用于捕获发生在自定义对话框里的事件。这些事件包括：
        init　　　　　　对话框的初始化
        edit　　　　　　在一个edit对象上输入文字
        sclick　　　　　在一个button/check/radio等对象上进行单击
        dclick　　　　　在一个button/check/radio等对象上进行双击
        menu　　　　　　点击了一条菜单(menu对象)
        scroll　　　　　移动了一个滚动条(scroll对象)的滑块
    从5.9版开始，mIRC也开始支持在自定义对话框里使用鼠标事件了(原来是只能在图象窗口使用的)。这些事件包括：
        mouse　　　　　 移动鼠标
        sclick　　　　　按下鼠标左键
        uclick　　　　　松开鼠标左键
        dclick　　　　　双击鼠标左键
        rclick　　　　　单击鼠标右键
        drop　　　　　　完成鼠标左键的拖动动作
    同时也可以在自定义对话框里使用$mouse函数来返回跟鼠标相关的一些参数。
    至于对话框名称，则是在产生一个对话框时给它定义的对话框内部名称。
    在on DIALOG事件里，函数$dname可以返回对话框的名称；函数$devent可以返回当前所发生的事件；函数$did可返回当前事件所作用的对象ID。
【举例】
    on *:DIALOG:Sample1:init:*:/dialog -t $dname 这是一个测试对话框
    此例的作用是，在对话框Sample1进行初始化的时候，将其窗口标题改成“这是一个测试对话框”。
    on *:DIALOG:Sample1:sclick:20:/echo 3 -a * 单击事件：对话框- $+ $dname ID- $+ $did
    此例的作用是，当单击对话框Sample1上的ID20时，在mIRC的当前窗口显示“* 单击事件：对话框-Sample1 ID-20”的字样。
    on *:DIALOG:Sample2:dclick:10:/run http://xirc.yeah.net/
    此例的作用是，当单击对话框Sample2上的ID10时，打开浏览器连接到xIRC。
    on *:DIALOG:*:*:*:/echo 2 -a * 对话框名称： $+ $dname 作用ID： $+ $did 事件捕获： $+ $devent
    此例的作用是，捕获发生在任何已创建对话框的任何事件，并将其显示在mIRC的当前窗口。
    on *:DIALOG:Sample2:mouse:*:/echo 2 -a * 鼠标指针的坐标：( $+ $mouse.x $+ , $+ $mouse.y $+ )
    此例的作用是，当在对话框Sample2上移动鼠标时，显示鼠标指针相对于该对话框的坐标。

相关的函数
    看了上面的内容，现在的你应该能够初步做出一个对话框脚本了吧？这里再给出在编写对话框脚本时经常要用到的$dialog()和$did()等函数，把这也吃透了，相信你很快也就成了自定义对话框的编制高手了。;)
$dialog(name/N) 函数
【作用】
    产生一个自定义对话框，或者返回与一个自定义对话框相关的值。
【说明】
    产生自定义对话框的用法参见前面。
    $dialog()函数的属性很多，其中：
    “x”/“y”/“w”/“h”属性分别用于返回指定对话框的横坐标、纵坐标、宽度和高度；“cw”/“ch”则用于返回对话框客户端区域(Client Area)的宽和高；“title”用于返回对话框的窗口标题；“model”用于返回指定对话框是否是一个模块(Modal)对话框，是则返回$true，否则返回$false，只有用$dialog()函数创建的对话框才被认为是模块对话框；“table”用于返回指定对话框所基准的对话框列表名称；“ok”用于在一个设定了ok按钮的对话框上，返回该ok按钮的ID；“cancel”用于在一个设定了cancel按钮的对话框上，返回该cancel按钮的ID；“result”用于在一个设定了result按钮的对话框上，返回该result按钮的ID；“focus”返回指定对话框当前焦点所在的对象的ID；“tab”返回指定对话框当前正在显示的选项卡的ID；“active”用于返回指定对话框是否是当前窗口，是则返回“$true”，否则返回“$false”；“hwnd”则用于返回指定对话框的句柄。
【举例】
    $dialog(0)将返回当前已创建的对话框总数
    $dialog(2)将返回当前已创建的第二个对话框的名称
    $dialog(Sample1).h将返回对话框Sample1的高度
    $dialog(Sample1).table将返回对话框Sample1所基准的对话框列表的名称
$did(name, id[, N]) 函数
【作用】
    返回指定自定义对话框里与某个对象相关的值。
【说明】
    如果是在on DIALOG事件里引用当前对话框的对象时，可以省略掉“name”。
    “text”属性返回指定ID里的文字，可省略；“len”属性返回指定ID第N行里文字的字节长度；“lines”属性返回指定ID(例如list、combo对象)的总行数；“sel”属性返回指定ID(一般是list对象)第N个被选取的行的行号，如果N为0，则返回所选取的总行数；“seltext”用于返回指定ID里被选取的文字，或者是list对象中第一条被选取的内容；“selstart”用于返回在edit对象里被选取的第一个字符所在的位置；“selend”用于返回在edit对象里被选取的最后一个字符所在的位置；“edited”用于返回edit对象里的内容是否已改变，是则返回“$true”，反之返回“$false”；“state”用于返回指定ID(一般是check/radio对象)的状态，为0表示关闭(未选取)，为1表示开启(选取)，为2表示不确定(介于二者之间)；“next”用于返回指定ID的下一个对象的ID；“prev”用于返回指定ID的上一个对象的ID；“visible”用于返回指定对象是否处于隐藏状态，是则返回“$true”，反之返回“$false”；“enabled”用于返回指定对象是否处于可用状态，是则返回“$true”，反之返回“$false”。
    对于一个允许文本输入的combo对象，它的N值可以用0来代替。
    对于一个scroll对象，可以用.sel属性来返回滚动条滑块所在的位置，例如：$did(Sample3, 1).sel。
【举例】
    $did(Sample1, 40, 2)将返回对话框Sample1的ID40的第2行的文本内容，等同于$did(Sample1, 40, 2).text
    $did(Sample1, 40, 0).sel将返回对话框Sample1里ID40被选取的总行数
    $did(Sample2, 10).state将返回对话框Sample1里ID10的状态
$didwm(name, id, 通配符字串[, N]) 函数
【作用】
    返回指定对话框ID里，符合某个通配符字串的所有行的总数。
【说明】
    N为可选项，表示从第N行起开始往后搜索。
【举例】
    假设对话框Sample1的ID40里的第一行是“TigTag”，第二行是“Helisheep”，第三行是“Other”，则函数$didwm(Sample1, 40, *i*)将返回数字“2”，因为在这三行中匹配通配符*i*的字串只有前两行
$didtok(name, id, C) 函数
【作用】
    将一个list/combo/edit对象的所有行的内容按指定字符$chr(C)返回成一个Token字串。
【举例】
    假设对话框Sample1的ID40里的第一行是“TigTag”，第二行是“Helisheep”，第三行是“阿奔”，则函数$didtok(Sample1, 40, 32)将返回字串“TigTag Helisheep 阿奔”，而函数$didtok(Sample1, 40, 44)则返回字串“TigTag,Helisheep,阿奔”


自定义窗口

    mIRC里的窗口类型很多，常见的就有Status窗口(状态窗口)、频道窗口、密聊窗口、频道列表窗口、服务器列表窗口、DCC窗口以及上线通告窗口等。但不仅如此，mIRC还允许你自行定义出其它类型的窗口，例如CJCBOT中的多重服务器连接、Ghost-BOT中的CLONEs查找、WALLOPS广播接收等就用到了这个自定义窗口的功能。

产生一个自定义窗口
    自定义窗口在mIRC里是通过/window命令产生的，它带有很多的参数——恐怕是mIRC里参数最多的命令了。不过别着急，这些参数并不是平时个个都用得着的，除非你想让自己做的自定义窗口个性化十足，否则拣几个常用的参数使用就行了。/window命令的具体用法如下：
/WINDOW 命令
【语法】
   /window [-abcCdeEfg[N]hkl[N]mnoprswx] [-tN,..,N] [+bdeflLmnstx] <@自定义窗口名称> [x y [w h]] [/command] [popup.txt] [font [size]] [iconfile [N]]
【说明】
    怎么样，参数是很多吧？下面就一一讲解一下。
    先提一提自定义窗口的名称，自定义窗口的名称必须以“@”号打头，例如“@test”、“@xIRC”等，以示与其他类型的窗口区别。
    至于其它的参数则都是可选的，它们表示的含义分别如下：
    第一组参数：-abcCdeEfg[N]hkl[N]mnoprswx
    -a　　将自定义窗口设置为当前窗口
    -b　　更新一个带列表栏窗口的水平滚动条的宽度
    -c　　关掉指定自定义窗口
    -C　　在创建好自定义窗口时将其在屏幕上居中
    -d　　把自定义窗口设置为独立于mIRC之外的窗口
    -o　　如果用自定义窗口是一个独立于mIRC之外的窗口，则让其显示在最顶端
    -u　　取消-o参数的设置
    -e　　让自定义窗口带上一个单行输入框
    -E　　让自定义窗口带上一个多行输入框
    -f　　指定后面的w h参数分别代表自定义窗口里文字显示区域的宽和高(而不是窗口的宽和高)
    -g[N] 当自定义窗口里有信息变化时，在mIRC切换栏上的表示该窗口的按钮显示为何种颜色—N为0，不显示颜色；N为1，使用mIRC的信息设置颜色(message color)；N为2，使用mIRC的高亮设置颜色(hilight color)
    -h　　在mIRC的切换栏上隐藏表示指定自定义窗口的按钮
    -w　　取消-h参数的设置
    -k[N] 隐藏自定义窗口前的“@”前缀—N为0，表示隐藏；N为1，表示不隐藏
    -l[N] 给自定义窗口带上一个列表栏，N为该列表栏的宽度(以N个字符来衡量)
    -m　　允许在自定义窗口里使用新信息的标记线(Line Marker)，即允许使用Ctrl+L来显示该窗口里最新的信息
    -n　　最小化自定义窗口
    -x　　最大化窗口
    -r　　还原自定义窗口
    -p　　创建一个绘图窗口(Picture Window)
    -s　　对自定义窗口里的行进行排序
    -S　　对一个带列表栏窗口里的列表栏内容进行排序
    第二组参数：-t[N,...,N]，表示设置一个带列表栏窗口的列表栏的制表符位置(Tab Positions)。如果列表栏里的文字带有制表符(Tab)，则将根据指定的设置将其分隔开。(此参数的具体作用不详)
    至于第三组参数：+bdeflLmnstx (注意这里是“+”号)，则主要是用于个性化自定义窗口外表的了
    +b　　显示自定义窗口的边框
    +d　　不显示自定义窗口的边框
    +e　　显示带立体感的边框
    +f　　显示对话框类的边框
    +l　　将自定义窗口显示成工具窗口
    +L　　将自定义窗口显示成工具窗口，但是不显示在Windows的任务栏里
    +n　　禁止最小化按钮
    +x　　禁止最大化按钮
    +s　　允许用户调整自定义窗口的大小
    +t　　显示自定义窗口的标题栏
    剩下的参数：[x y [w h]] [/command] [popup.txt] [font [size]] [iconfile [N]]
    x y w h　　　　分别定义自定义窗口的横坐标、纵坐标、宽和高。均可以设置为“-1”，这时则表示使用默认值。
    /command　　　 如果一个窗口带有输入栏，则通过此参数设置默认要显示的命令
    popup.txt　　　如果需要菜单，则可以通过此命令来导入一个菜单文件(注意，该文件不得是类似.ini格式的文件)。你也可以通过在Remote里编写脚本来给指定窗口增加右键菜单，参见此处。
    font size　　　指定自定义窗口的字体font和字号size(默认为与Status窗口同)
    iconfile N　　 指定自定义窗口的图标，iconfile为图标文件名，N为图标索引
    注意：当使用某些参数时，有可能会自动开启或关闭其它的参数设置。
【举例】
    用默认值创建一个自定义窗口@test1，用命令：/window @test1
    创建一个自定义窗口@test2，并且让其带上宽20个字符的列表栏，用命令：/window -l20 @test2
    创建一个独立于mIRC之外的带多行输入栏的自定义窗口@test3，并且使用立体边框，用命令：/window -dE +e @test3
    创建一个不带边框的、不显示在切换栏上的自定义绘图窗口@test4，用命令：/window -ph +d @test4

对自定义窗口进行操作
有如下的命令可以对一个自定义窗口进行操作：
    /aline [参数] <@窗口名称> <文本信息>　　　给自定义窗口或者其中的列表栏添加一行内容
    /cline [参数] <@窗口名称> <N>　　　　　　 把自定义窗口(或列表栏)里指定的行改变成指定代码所代表的颜色。例如，/cline 3 @test 2，将把@test窗口的第二行颜色变成绿色
    /dline [参数] <@窗口名称> <N[-N2]>　　　　删除掉第N行的内容(也可以用N-N2来指定一个范围)
    /iline [参数] <@窗口名称> <N> <文本信息>　在第N行处插入一行新的内容
    /rline [参数] <@窗口名称> <N> <文本信息>　把第N行的内容替换成指定的内容
    /sline [参数] <@窗口名称> <N>　　　　　　 选中第N行
以上命令可以使用的参数有：
    c　　　　即具体的颜色代码c，例如0代表黑色，3代表绿色
    -s　　　 清除掉当前已选择的行并选中新添加的行
    -a　　　 在现有已选择的行中再增选上指定的行
    -h　　　 如果所处的窗口处于最小化，则高亮该窗口在切换栏上的图标
    -p　　　 如果某行文字超过的窗口的宽度，则将其自动卷成多行
    -r　　　 和/cline命令配合使用，以使某个大窗里人名列表的颜色恢复到默认值
    -l　　　 如果自定义窗口带有列表栏，则此参数表示对列表栏进行操作
    最后，别忘了还可以使用/ECHO命令来往自定义窗口里显示信息。
    说明：/cline命令和/sline命令还可以用于大窗的昵称列表(比如，用/cline命令改变昵称的颜色—我在Ghost-BOT里就是这样做的，呵呵)，这时均可省略-l参数，并且此时/sline命令还可以使用-r参数来取消选择。
    对于一个已创建的自定义窗口，还可以使用/renwin命令来更改窗口的名称或者标题栏文字，用法为：
    /renwin <原窗口名称> <新窗口名称> [标题栏主题]

与自定义窗口相关的函数
$window(N/@窗口名) 函数
【作用】
    返回与某个窗口相关的属性。
【说明】
    $window()函数的属性包括：
    x,y,w,h　　返回指定窗口的横坐标、纵坐标、宽和高
    dx,dy　　　返回指定窗口相对于左面的的横坐标和纵坐标
    dw,dh　　　返回指定窗口文本显示区域的宽和高
    bw,bh　　　返回指定绘图窗口位图显示区域的宽和高
    mdi　　　　返回指定窗口是否是mIRC的一个内部窗口，是则返回“$true”，否则返回“$false”
    state　　　针对指定窗口是否处于最小化/最大化/隐藏的状态分别返回minimized/maximized/hidden/normal
    title　　　返回指定窗口的标题栏文字
    font　　　 返回指定窗口所用字体的名称
    fontsize　 返回指定窗口所用字体的字号
    fontbold　 指定窗口的字体如果是粗体，返回“$true”，否则返回“$false”
    logfile　　指定窗口如果打开了记录，则返回记录文件的名称
    stamp　　　返回指定窗口的时间戳(Timestamp)设定
    icon　　　 如果指定窗口的图标可见，则返回“on”，否则返回“off”
【提示】
    可以使用$window(@带通配符的窗口名称, N)来返回第N个匹配该通配符窗口名称的自定义窗口名。
    如果使用$window(通配符字串, N)，则可以返回第N个匹配该通配符字串的窗口名(该窗口可以是任何类型的窗口，只要匹配该通配符字串)。
【举例】
    $window(@test).w，将返回窗口@test的宽
    $window(@test).title，将返回窗口@test的标题栏文字
    $window(@*, 0)，将返回所有自定义窗口的个数
    $window(*, 1)，将返回“Status Window”
    $window(*, 2).state，将返回mIRC里第二个内部窗口的状态
$line(窗口名, N, T) 函数
【作用】
    返回指定窗口第N行的文字。
【说明】
    如果N为0，则返回该窗口的总行数。
    如果指定窗口带有列表栏，则可以设置T为1以指向该列表栏；如果设置T为0，则指向普通显示区域。
【提示】
    本函数不只限于用在自定义窗口。
$fline(窗口名, 通配符字串, N, T) 函数
【作用】
    返回指定窗口中，第N个符合通配符字串的行所处的位置。
【说明】
    如果N为0，则返回符合该通配符字串的总行数。
    如果指定窗口带有列表栏，则可以设置T为1以指向该列表栏；如果设置T为0，则指向普通显示区域。
【提示】
    本函数不只限于用在自定义窗口。
$sline(窗口名, N) 函数
【作用】
    返回在一个带有列表栏窗口的列表栏的第N行被选中的内容(仅用于带列表栏的窗口，包括聊天大窗)。
【说明】
    如果N为0，则返回该列表栏被选中的总行数。
    $sline()函数有一个“ln”属性，可以返回指定行在列表栏里的行号。


BOT 篇

    什么是BOT？BOT就是ROBOT(机器人)的缩写，是一组用来自动管理IRC聊天室、辅助进行聊天、甚至进行搞笑的程序。例如，大家可能都在聊天室里看到过某些人能够每次都打出不同的彩色文字、或者某人因为一说脏话就被踢出的情景吧？这就是用到了BOT！
    很多IRC客户端软件都提供了编写BOT的功能，例如Microsoft Chat、Pirch、mIRC...，这里就以目前最为流行的mIRC来为大家详细地介绍一下如何编写一个属于自己的BOT。有人问我，在哪儿编写BOT呢？呵呵，按下Alt+R键或者直接用鼠标点击工具栏上的 “Remote scripts”按钮 按钮就可以调出编写BOT的窗口了，在这里你就可以利用mIRC提供的脚本功能来编写Bot。(该脚本在mIRC中被称为Remote)
    就让我们从下面这个简单的实例开始吧：
    ON @*:TEXT:*:#:{
      if ((shit isin $1-) || (fuck isin $1-)) { kick $chan $nick 说粗口？我踢！ }
    }
    这个例子的作用是，只要有人在闲聊室里说到了“shit”或者“fuck”，而你又有@(帽子，即表明是主持人)时，就可以把他踢出闲聊室。大家可以看到，ON ...TEXT在这里表明了这个事件的类型，即捕获说话这个事件；而IF则是基本语法中的一个判断语句；$1-、$chan、$nick在这里都是mIRC里的函数(Identifiers)。因此，接下来的内容将主要从这三部分来进行介绍，相信你看了之后，很快就能够编写出自己的mIRC BOT了。
    ● 基本语法篇
    ● 函数篇
    ● 事件篇
    另外，这里还有一些关于mIRC BOT编写的高级功能(相对复杂一点)，倘若你已经熟练掌握前述的脚本编写，那么不妨再看看下面的内容：
    ● 自定义对话框
    ● 自定义窗口
    ● 绘图窗口
    ● 自定义进程


现在我们来初步了解一下IRC服务器。
    作为一个标准的IRC服务器，它首先应该符合“RFC 1459”规范(参见此处)，在这种服务器里，将只能进行聊天；管理员的分级也很单调，大抵只有Admin、IRC-OP以及各个房间的主持人之分；而且，在这里你是无法使用频道服务或者昵称服务的（因为根本就没有）。
    因此，人们(主要是Microsoft)又在RFC 1459标准的基础上做了些扩展，形成了“IRCX”规范。其最明显的表现就是增加了一些频道服务，并且使闲聊室房间的主持人有了进一步的OWNER和HOST之分。OWNER就是第一个进入某闲聊室的人(又称为FOUNDER，用mIRC可以看到他的别名前面有一个英文的句点)，他/她比HOST更高一级，而且只有OWNER才可以更改闲聊室的某些属性(利用/ACCESS和/PROP命令)。自IRCX服务器起便开始有了AOP这个概念，即当你进入某个房间的时候，系统会自动给你加帽子。不过这个概念仍然很模糊，因为只要你在闲聊室里有了帽子，你便可以通过/ACCESS命令把自己设定为AOP。但比起单纯的RFC 1459服务器，这已经是有了很大的进步了。（利用/IRCX命令可以查询当前IRC服务器是否为IRCX服务器，如果是，则会返回诸如“1 0 NTLM,ANON 512 *”之类的信息；否则从服务器返回错误信息）
    IRC是在不断发展的。因此，到了后来，IRC服务器的设计者们在现有基础上又增添了一些实用的服务功能，这就是ChanServ(频道服务)、NickServ(昵称服务)以及MemoServ(留言服务)等。ChanServ具有注册、管理房间的功能(这就已经与IRCX服务器不相上下，甚至还要超出一等)；NickServ则可以让你在IRC服务器注册自己的名字(这样就可以避免有他人来冒充自己了)；而MemoServ则可以让你给已注册名字的人留言。在这种服务器上的管理制度也变得更加有等级，并且在AOP和FOUNDER之间还出现了SOP(Super Operator)。由于这些服务都是设计者们自行增添的，所以并没有形成诸如RFC 1459和IRCX那样的明文规范，但是却已在不知不觉中成为了目前IRC服务器的主流。（在这种服务器上是利用/msg [chanserv | nickserv | memoserv] <服务内容>来获取相应的服务；/msg [chanserv | nickserv | memoserv] help则可以获得相应的帮助信息）
    IRC服务器的发展大抵如此。怎么样？现在你是不是对IRC有了更深一步的了解了呢？如果你有兴趣的话，本站点也提供了IRC服务器的下载，请点击这里。
    由于目前国内比较大的IRC大部分都具有NickServ、ChanServ以及MemoServ等服务系统(国际上也是如此)，因此如果你想对它们有所了解的话，也可以点下面的链接(注：以下命令均以心情聊天中心的服务系统为例，其它IRC类同)：


IRC Serv命令篇

昵称服务(NickServ)命令
REGISTER 命令
【语法】
      /msg nickserv register <当前昵称的密码> [E-Mail地址]
【描述】
    用来注册当前你所使用的昵称，这样其他的用户就不能使用这个昵称了,除非你授予他/她权限在你的ACCESS列表。一但你的昵称被注册了，可以根据你的喜好使用SET命令或ACCESS命令来修改相应设置。请一定记住注册时的密码，这个密码在以后会经常用到。如果你忘记了密码，可以找系统管理员帮助你重新找回。
  * 在某些IRC服务器上在注册昵称时还要求你提供一个自己的E-Mail地址，以便在忘记密码时可以将密码邮到该信箱。
【举例】
    假设我现在的昵称是TigTag，那么我输入/msg nickserv register HdeestP double.j@ynmail.com，这样就会以Hdeestp这个密码将昵称TigTag注册了。
IDENTIFY 命令
【语法】
      /msg nickserv identify <当前昵称的密码>
【描述】
    用来验证当前你所使用的昵称，通常是在你登录IRC服务器或者改名后需要使用。如果在规定的时间内没有输入正确的验证命令和密码，则会被强制更名或者被杀出服务器。
【举例】
    假设我现在的昵称是TigTag，输入/msg nickserv identify HdeestP，就会将TigTag这个昵称进行验证了。这里我的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。
ACCESS 命令
【语法】
      /msg nickserv access <ADD | DEL | LIST> [地址掩码]
【描述】
    用于修改或者显示允许使用你当前这个昵称的地址列表。这里增加的网络地址掩码NickServ会自动识别，如果你在其他的网络地址中使用这个昵称，你仍然需要使用IDENTIFY命令让NickServ来识别您。
    地址掩码的格式是：userid@host.domain
【举例】
    /msg nickserv access add who@*.moodnet.org，这将允许在moodnet.org这个域里userid为who的人使用当前的这个昵称。
    /msg nickserv access del who@*.moodnet.org，这将删除上面所添加的这个ACCESS地址掩码。
    /msg nickserv access list，将列出允许使用你当前昵称的所有地址掩码。
LINK 命令
【语法】
      /msg nickserv link <主力昵称> <主力昵称的密码>
【描述】
    用于链接当前昵称到你的主力昵称。一旦当你做了链接，如果使用ACCESS命令查看这个昵称的网络列表时，你会发现该昵称的访问列表将被删除，取而带之的是主力昵称的网络列表，而对于当前昵称的所有的留言信息都将被追加到主力昵称上(这将导致主力昵称的留言信息的最小限制被打破，所以需要你及时删除一些没用的留言)。
    一但这个链接被建立，你当前的这个昵称将同主力昵称一样被NickServ识别，除非你使用了NickServ的UNLINK或者DROP命令。
    例如：你可以使用其它的别名来读取自己的留言信息(别人发给您经过链接的其他昵称的信息，你都可以接收)。如果你现在的昵称经过验证了，那么其他昵称同样自动得到验证。如果你在某个频道里有权限，则也会同样得到识别。
    在使用这个命令前，你必须先使用IDENTIFY命令来认证当前的这个昵称。
【举例】
    使用命令/msg nickserv link TigTag Hdeestp，将把当前的昵称链接到主力昵称TigTag。这里TigTag的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。
SET 命令
【语法】
      /msg nickserv set <选项> <相应参数>
【描述】
    用来对你的当前昵称进行一些设置。这些设置项目包括：
    Password　　用于改变当前昵称的密码
    Language　　用于选择使用何种语言(通过选择语言代码)让NickServ对该昵称发出信息
    URL　　　　 用于设置与当前昵称相关的主页地址，该地址可以在使用INFO命令时看到
    Email　　　 用于设置与当前昵称相关的电子信箱，该信箱可以在使用INFO命令时看到
    Kill　　　　用于设置对假冒用户的处理，使用的参数是“ON”、“QUICK”、“IMMED”和“OFF”。当选择“ON”打开这个开关时，如果有人想使用你的昵称，他/她将会被提示有1分钟的改名时间，如果到时他/她仍然没有改名，将会被NickServ强制杀出服务器。如果你选择了“QUICK”，他/她将会被提示有20秒改名时间；如果你选择了“IMMED”，则该用户将不会得到任何改名警告而被杀出服务器(请不要使用这个选择，除非你有特别的需要)
    Secure　　　用于打开或关闭NickServ的口令安全机制，使用的参数为“ON”或“OFF”。如果设置为“ON”，则无论当前昵称是否在ACCESS网络列表里，都需要通过输入密码来认证；如果当前昵称已经在ACCESS网络列表里，则即使设置了KILL选项，系统也不自动杀掉你
    Private　　 用于设置当别人使用/msg nickserv list命令时，是否隐藏你的注册信息。参数“ON”为是，“OFF”为否
    Hide　　　　用于设置当别人使用/msg nickserv info命令时，是否隐藏你的一部分信息。这些信息包括“Email”(电子邮件信息)、“UserMask”(网络地址信息)和“Quit”(最后退出时的信息)；使用参数“ON”为隐藏，参数“OFF”为不隐藏
【举例】
    更改密码：假设我现在的名字是TigTag，且已经通过了IDENTIFY验证，则使用/msg nickserv set password Kssoaqx命令可以将昵称密码改为Kssoaqx
    更改语种：假设系统提供了语言代码“1”为“简体中文”；代码“2”为“繁体中文”；代码“3”为“English”...，则使用命令/msg nickserv set language 2可以让NickServ以后使用繁体中文对当前昵称提供信息
    更改主页相关：/msg nickserv set url http://xirc.yeah.net/，这将把“http://xirc.yeah.net/”这个主页地址与当前昵称建立关联，这样别人就可以使用/msg nickserv info命令查看到了
    更改Email相关：/msg nickserv set email double.j@ynmail.com，这将把“double.j@ynmail.com”这个电子信箱与当前昵称建立关联，这样别人就可以使用/msg nickserv info命令查看到了
    限定假冒用户在60秒内更名：/msg nickserv set kill on
    打开NickServ的口令安全机制：/msg nickserv set secure on
    在LIST命令里隐藏注册信息：/msg nickserv set private on
    在INFO命令隐藏最网络地址信息：/msg nickserv set hide usermask on
DROP 命令
【语法】
      /msg nickserv drop
【描述】
    用来注销当前你所使用的昵称，这样别人就可以使用这个昵称了。
    在使用该命令前，必须先通过IDENTIFY命令进行的验证。
【举例】
    /msg nickserv drop，这就将注销掉当前你所使用的这个昵称。
RECOVER 命令
【语法】
      /msg nickserv recover <指定昵称> <该昵称的密码>
【描述】
    用于杀掉一个占用你昵称的人，该做法跟NickServ的自动杀保护是一样的。
    当您使用这个命令时，NickServ将假装成一个跟这个昵称一样的用户昵称，这样就导致服务器杀掉这个用户(或强制更名)。这个假装的用户将持续在线1分钟，防止那个用户的再次连接；一分钟以后，你就把你的昵称改变为该昵称了，但在这之前最好使用先使用一下RELEASE命令(/msg NickServ HELP RELEASE)释放掉开头设置的昵称占用。
  * 在使用RECOVER命令时你当前的网络地址必须在你的昵称的ACCESS网络列表里存在，而且你必须提供正确的密码。
RELEASE 命令
【语法】
      /msg nickserv release <被占用的昵称> <该昵称的密码>
【描述】
    用于通知NickServ去掉因为使用RECOVER命令而占用的昵称，通常这种占用持续1分钟。
  * 在使用RELEASE命令时你当前的网络地址必须在你的昵称的ACCESS网络列表里存在，而且你必须提供正确的密码。
UNLINK 命令
【语法】
      /msg nickserv link <昵称> <密码>
【描述】
    用于从你的链接列表里删除这个昵称。当这个昵称被删除后，主力昵称的一些标记和网络地址信息将被拷贝过来，这个昵称从此将独立存在。但留言信息不再拷贝过来，所有的留言信息将被存储在主力昵称那里。
    如果输入名字和口令参数，则删除跟你链接的其他名字。
    服务管理员可以不通过口令认证，取消一个用户的连接。
GHOST 命令
【语法】
      /msg nickserv ghost <昵称> <密码>
【描述】
    用于杀掉一个一直占用你昵称的“鬼魂”。当您的“鬼魂”还连接在IRC服务器上时，系统会认为这个“鬼魂”一直在线，从而导致你无法使用这个昵称。
    产生这种“鬼魂”的原因通常是因为你不正常掉线了，而当你再次连接上来时，就发生了。
  * 在使用GHOST命令时你当前的网络地址必须在该“鬼魂”的ACCESS网络列别里存在。
【举例】
    杀掉“鬼魂”TigTag，使用命令/msg nickserv ghost TigTag HdeestP。这里TigTag的密码是Hdeestp，即我们在示例REGISTER命令时所使用的密码。
INFO 命令
【语法】
      /msg nickserv info <昵称> [All]
【描述】
    用于查看某个已注册昵称的信息，例如该昵称的主人、网络地址、电子信箱、最后一次退出的信息等。
  * 对于某些昵称，增加参数“All”可以获取更详细的信息。
LIST 命令
【语法】
      /msg nickserv list <地址掩码>
【描述】
    用于根据指定的地址掩码列出相应的已注册昵称。地址掩码是按照“nick!userid@host.domain”的方式。
  * 如果用户设置了Private选项，则在这里将不显示他/她的注册信息。
【举例】
    /msg nickserv list *!*@61.128.*，将列出所有从61.128.*注册的昵称。
    /msg nickserv list *!bot@*，将列出所有userid是“bot”的昵称。
    /msg nickserv list *bot*!*@*，将列出所有包含“bot”字眼的昵称。
STATUS 命令
【语法】
      /msg nickserv status <昵称1[,昵称2,...昵称16]>
【描述】
    用于查询指定昵称是否已得到验证，返回的格式是：
        昵称 状态代码
    “状态代码”的意思如下：
        0　　该昵称当前不在线，或者根本没有注册
        1　　该昵称尚未通过验证的
        2　　该昵称在对应的ACCESS网络列表中，但是没有通过验证
        3　　该昵称已经得到验证
  * 最多一次可以查询16个名字，多余部分将被忽略。

频道服务(ChanServ)命令
REGISTER 命令
【语法】
      /msg chanserv register <#频道名称> <频道密码> <对该频道的描述>
【描述】
    用来注册一个指定的频道。使用这个命令之前你必须先进入这个频道，并成为频道管理员，也就是我们通常说的有帽子；“频道密码”是为了便于验明身份来改变频道的设置；“对该频道的描述”是必须有的，用以说明这个频道研讨的主题。
    当你注册了这个频道，你就成了这个频道的“创始者”(Founder)。创始者可以改变频道的所有设置，当创始者进入频道，ChanServ将会自动给予创始者频道管理员的权限。使用ChanServ的ACCESS命令可以为其他用户增加访问权限。
  * 在注册频道之前，你必须先注册你的昵称。具体请参照NickServ的REGISTER命令
【举例】
    /msg chanserv register #Chat kksSed 随便聊吧，这样就将注册#Chat这个频道，密码是kksSed，相应的频道描述是随便聊吧。
IDENTIFY 命令
【语法】
      /msg chanserv identify <#频道名称> <频道密码>
【描述】
    用来验证你是指定的频道的创始者(Founder)，ChanServ的很多命令都需要你事先使用它。
    这里的“频道密码”是你在使用REGISTER命令注册频道时所使用的密码。
【举例】
    /msg chanserv identify #Chat kksSed，这样就将把你验证成为频道#Chat的创始者。在这里我们所使用的密码是kksSed，即前面REGISTER命令示例时所提供的频道密码。
SET 命令
【语法】
      /msg chanserv set <频道名称> <选项> <相应参数>
【描述】
    用来对指定频道进行一些设置(但在进行设置前必须使用ChanServ的IDENTIFY命令进行验证)。这些设置项目包括：
    Founder　　　设置频道的创始者(必须是一个已注册的昵称)
    Successor　　设置频道的继承人。如果频道创始者的名字被取消或者失效，而频道还在使用，这样继承人就会变成频道的创始者。但是，如果这个继承人已经注册了太多的频道(>=20)，这个频道将被取消，就跟没有继承人设置是一样的。
    Password　　 设置创始者的密码(或者说是更改频道的密码)
    Desc　　　　 更改对该频道的描述
    URL　　　　　设置与该频道相关的主页地址信息(可以使用/msg chanserv info命令查看到)
    Email　　　　设置与该频道相关的电子信箱信息(可以使用/msg chanserv info命令查看到)
    EntryMsg　　 设置当有用户进入该频道时，由频道对该用户发出的Notice信息。如果没有参数，将没有信息发给该用户。
    Topic　　　　设置该频道的主题
    KeepTopic　　设置当没有人在该频道时，是否记忆频道的主题，这样当下一次频道建立时会自动恢复成该主题。参数“ON”表示记忆，参数“OFF”表示不记忆。
    TopicLock　　是否锁定频道的主题。参数“ON”表示锁定，“OFF”表示不锁定。如果频道主题被锁定，则只有使用ChanServ的Set Topic命令才可以更改主题。
    mLock　　　　根据指定参数来锁定频道的模式，这些参数是以“+”号表示锁定，“-”表示不锁定，例如“+nt-iklms”；如果仅有一个“+”号而没有跟任何频道模式则表示不锁定频道的模式。(频道模式的含义请参照/MODE命令)
    Private　　　设置是否从ChanServ的LIST命令里隐藏该频道(使用/msg chanserv list命令时，如果不知道该频道的完整名称则无法看到该频道)；参数“ON”为隐藏，“OFF”为不隐藏。
    Restricted　 设置是否打开该频道的限制使用权。当Restricted被设置后，普通用户将被Kick和Ban出频道。这些普通用户包括级别是负数和不在访问权限列表中的用户。参数“ON”表示打开，“OFF”表示关闭。
    Secure　　　 设置是否打开该频道的安全特性。当Secure被设置后，只有已注册、并且使用IDENTIFY命令的用户才可以访问这个频道。参数“ON”表示打开，“OFF”表示关闭。
    SecureOPs　　设置是否打开该频道的安全管理员特性。当SecureOPs被设置后，没有在频道用户列表中的用户将不会有频道管理员权限(即不会得到帽子)。参数“ON”表示打开，“OFF”表示关闭。
    LeaveOPs　　 设置是否打开该频道的保留管理员特性。当LeaveOPs被设置后，将不会自动DEOP用户，除非有DEOP命令被使用。参数“ON”表示打开，“OFF”表示关闭。
    OPNotice　　 设置是否打开该频道的OP/DEOP通告。当OPNotice被设置后，只要有人在该频道使用了ChanServ的OP或者DEOP命令，ChanServ都将在该频道发送Notice通告。参数“ON”表示打开，“OFF”表示关闭。
【举例】
    更改频道创始者：/msg chanserv set #Chat founder 阿奔，这将把频道#Chat的创始者设置为阿奔
    设置频道继承人：/msg chanserv set #Chat successor FoOl_BoT，这将把频道#Chat的继承人设置为FoOl_BoT
    更改频道描述：/msg chanserv set #Chat desc Welcome to chat here，这将把频道#Chat的描述更改为Welcome to Chat Here
    更改主页相关：/msg chanserv set #Chat url http://xirc.yeah.net/，这将把频道#Chat的主页相关信息更改为http://xirc.yeah.net/
    更改Email相关：/msg chanserv set #Chat email double.j@ynmail.com，这将把频道#Chat的Email信息更改为double.j@ynmail.com
    设定EntryMsg：/msg chanserv set #Chat entrymsg Hi，#Chat的世界，就是任你天南地北侃大山的世界，这样当任何人进入频道#Chat时，都将收到由ChanServ发出的“Hi，#Chat的世界，就是任你天南地北侃大山的世界”这条Notice信息
    更改频道主题：/msg chanserv set #Chat topic To chat or not to chat, this is a question..，这将把频道#Chat的房间主题设置为为To chat or not to chat, this is a question..
    设置保留频道#Chat主题：/msg chanserv set #Chat keeptopic on
    锁定频道#Chat的主题：/msg chanserv set #Chat topiclock on
    锁定频道#Chat的模式为+nt-ilkmps：/msg chanserv set #Chat mlock +nt-ilkmps
    不再锁定频道#Chat的模式：/msg chanserv set #Chat mlock +
    在LIST命令里隐藏频道#Chat：/msg chanserv set #Chat private on
    不再限制频道#Chat的使用权：/msg chanserv set #Chat restricted off
    关闭频道#Chat的安全特性：/msg chanserv set #Chat secure off
    关闭频道#Chat的安全管理员特性：/msg chanserv set #Chat secureops off
    打开频道#Chat的保留管理员特性：/msg chanserv set #Chat leaveops on
    打开频道#Chat的OP/DEOP通告：/msg chanserv set #Chat opnotice on
ACCESS 命令
【语法】
      /msg chanserv access <#频道名称> add <昵称> <级别>
      /msg chanserv access <#频道名称> del <昵称 | 权限访问列表行号>
      /msg chanserv access <#频道名称> list <昵称掩码 | 权限访问列表行号>
【描述】
    用来查看或者修改指定频道的访问权限列表。不同的级别有不同的权限，不在频道权限列表中的用户级别是0。按照ChanServ默认的设置，各种权限如下：
      10　　　可以使用AKICK命令；并在加入频道时自动获得频道管理权(即SOP、Super Operator)
       5　　　在加入频道时自动获得频道管理权(即AOP、Auto Operator)
       3　　　在加入频道时自动获得频道发言权(即VOP、Auto Voicer)
       0　　　没有指定权限(即普通用户)；可以被其他人给予@，但要保证SecureOPs没有设置
     < 0　　　不允许有权限@
    这些默认的权限级别也可以更改，参见LEVELS命令。
    ACCESS ADD命令是增加指定级别的用户名到频道权限列表中，如果用户名已经在频道列表中，则改变用户的访问级别（改变用户的级别时，不能输入高于自己级别的数值）。
    ACCESS DEL命令是从频道权限列表里删除指定的用户(可以直接指定用户名或权限访问列表里的行号)。
    ACCESS LIST命令则是列出指定频道的权限列表(可以使用通配符来指示昵称，也可以使用权限访问列表里的行号；如果什么都没有指定则列出频道的所有权限)。
【举例】
    /msg chanserv access #Chat add TigTag 10，这将把TigTag加入到频道#Chat的权限列表，并设置他的级别为10级(SOP)。
    /msg chanserv access #Chat del FoOl_BoT，这将把FoOl_BoT从频道#Chat的权限列表里删除。
    /msg chanserv access #Chat del 10-12，这将删除掉频道#Chat的权限列表里的第10-12项。
    /msg chanserv access #Chat list，这将列出频道#Chat的所有权限列表。
    /msg chanserv access #Chat list *t*，这将列出频道#Chat的权限列表里，包含字母“t”的昵称。
LEVELS 命令
【语法】
      /msg chanserv levels <#频道名称> set <类别名称> <级别>
      /msg chanserv levels <#频道名称> <类别名称>
      /msg chanserv levels <#频道名称> list
      /msg chanserv levels <#频道名称> reset
【描述】
    LEVELS命令可以很好的通过数值来更改不同级别所对应的权限。使用这个命令，你可以重新定义ChanServ所提供的默认访问级别。
    可以通过LEVELS命令来更改的类别有：
      AutoOP　　　自动频道管理员(AOP)
      AutoVoice　 自动获取频道发言权(VOP)
      AutoDEOP　　自动去除频道管理员
      NoJoin　　　自动禁止加入该频道
      Invite　　　允许使用ChanServ的Invite命令
      Akick　　　 允许使用ChanServ的Akick命令
      Set　　　　 允许使用ChanServ的Set命令
      Clear　　　 允许使用ChanServ的Clear命令
      Unban　　　 允许使用ChanServ的Unban命令
      OPDEOP　　　允许使用ChanServ的OP/DEOP命令
      Acc-List　　允许查看该频道的权限访问列表
      Acc-Change　允许修改该频道的权限访问列表
      Memo　　　　允许查看或者阅读该频道的留言
    LEVELS SET命令可以改变上述类别所对应的权限级别。
    LEVELS DIS命令则可以禁止非创始者使用类别所对应的功能。
    LEVELS LIST命令可以查看指定类别所对应的级别。
    LEVELS RESET命令则可以重置上述所有类别到默认设置。
【举例】
    /msg chanserv levels #Chat dis acc-list，这将禁止非创始者查看频道#Chat的权限访问列表。
    /msg chanserv levels #Chat disable set，这将禁止非创始者在频道#Chat使用ChanServ的Set命令。
    /msg chanserv levels #Chat set autovoice 0，这将设置频道#Chat的VOP级别为0，即普通用户的级别，这样任何人进入该频道都将被自动+v了。
    /msg chanserv levels #Chat list，可以查看频道#Chat的各类别所对应的级别。
    /msg chanserv levels #Chat reset，重置频道#Chat的所有类别到默认设置。
AKICK 命令
【语法】
      /msg chanserv akick <#频道名称> add <昵称 | 地址掩码> [原因]
      /msg chanserv akick <#频道名称> del <昵称 | 地址掩码>
      /msg chanserv akick <#频道名称> list [地址掩码]
      /msg chanserv akick <#频道名称> view [地址掩码]
      /msg chanserv akick <#频道名称> enforce
      /msg chanserv akick <#频道名称> clear
【描述】
    用于查看或修改指定频道的自动踢列表。一旦有符合自动踢列表的人加入该频道，都将被ChanServ自动Kick和Ban。
    AKICK ADD命令可以增加一个昵称或地址到自动踢列表里，并可以指定踢他/她的原因。
    AKICK DEL命令可以从自动踢列表删除指定的昵称或者地址掩码；但已经被BAN了的地址仍然需要被手工删除。
    AKICK LIST命令可以查看指定频道的自动踢列表，并可以指定地址掩码以查看对应的信息。
    AKICK VIEW命令是AKICK LIST更进一步的命令。
    AKICK ENFORCE命令则是通知ChanServ立即执行自动踢，将踢出指定频道里当前所有符合自动踢列表项的用户。
    AKICK CLEAR命令可以清空指定频道的自动踢列表。
【举例】
    /msg chanserv akick #Chat add *bot*!*@* 禁止BOT入内，这将把“*bot*!*@*”这个地址加入频道#Chat的自动踢列表；这样当昵称中包含“bot”字样的人进入该频道时都将被自动踢出并+b，理由是“禁止BOT入内”
    /msg chanserv akick #Chat del *bot*!*@*，这将从频道#Chat的自动踢列表里删除掉“*bot*!*@*”这个自动踢列表项
    /msg chanserv akick #Chat list，这将列出频道#Chat的所有自动踢列表项
    /msg chanserv akick #Chat clear，这将清除掉频道#Chat的所有自动踢列表项
CLEAR 命令
【语法】
      /msg chanserv clear <#频道名称> <频道设置>
【描述】
    用于清除指定频道的设置，这些设置包括：
      Modes　　　复位所有频道模式(例如：清除模式i、k、l、m、n、p、s、t)
      Bans　　　 清除频道所有禁止(Ban)信息
      OPs　　　　摘掉频道里所有的帽子
      Voices　　 去掉频道里所有的发言权
      Users　　　踢走频道里所有的人
【举例】
    /msg chanserv clear #Chat modes，这将复位频道#Chat的模式。
    /msg chanserv clear #Chat bans，这将清除掉频道#Chat里所有被禁止了的地址。
DROP 命令
【语法】
      /msg chanserv drop <#频道名称>
【描述】
    用来注销指定的频道。
    只有频道的创始者可以使用该命令，而且在使用前还必须通过ChanServ的频道验证。
【举例】
    /msg chanserv drop #Chat，这将注销掉频道#Chat
INFO 命令
【语法】
      /msg chanserv info <#频道名称>
【描述】
    用来查看指定频道的信息。包括频道创始者、注册时间、最后使用时间、频道描述和模式锁等。
【举例】
    /msg chanserv info #Chat，将可以查看到频道#Chat的相关信息
LIST 命令
【语法】
      /msg chanserv list <关键字>
【描述】
    根据关键字列出相应的已注册定频道，关键字可以使用通配符。
  * 如果某个频道设置了Private选项，则在这里将看不到该频道。
【举例】
    /msg chanserv list #C*，将列出所有以#C打头的频道
INVITE 命令
【语法】
      /msg chanserv invite <#频道名称>
【描述】
    用于让ChanServ邀请你到指定的频道。但默认情况下，只有在该频道权限大于0级别的用户才可以使用。
【举例】
    /msg chanserv invite #Chat，这将让ChanServ邀请你到频道#Chat
OP 命令
【语法】
      /msg chanserv op <#频道名称> <昵称>
【描述】
    用于在指定频道给指定用户频道管理权限(帽子)。默认情况下，只有在该频道权限大于5级别的用户才可以使用。
【举例】
    /msg chanserv op #Chat TigTag，这将让ChanServ在频道#Chat给TigTag帽子
DEOP 命令
【语法】
      /msg chanserv deop <#频道名称> <昵称>
【描述】
    用于在指定频道去掉指定用户的频道管理权限(帽子)。默认情况下，只有在该频道权限大于5级别的用户才可以使用。
【举例】
    /msg chanserv deop #Chat TigTag，这将让ChanServ在频道#Chat摘掉TigTag的帽子
UNBAN 命令
【语法】
      /msg chanserv unban <#频道名称>
【描述】
    用于通知ChanServ取消所有因为Ban而阻止你进入该频道的设置。默认情况下，只有在该频道权限大于0级别的用户可以使用。
【举例】
    /msg chanserv unban #Chat，这将让ChanServ在频道#Chat取消所有对你设置的BAN

留言服务(MemoServ)命令
LIST 命令
【语法】
      /msg memoserv list [#频道名称] [留言序号 | 留言序号范围 | new]
【描述】
    用来列出当前你或者指定频道所收到的留言。
    参数“new”则表示列出所有未阅读过的留言。
【举例】
    /msg memoserv list 1-2，将列出你当前的第1-2条留言
    /msg memoserv list new，将列出你当前尚未阅读过的所有留言
    /msg memoserv list #Chat 1，将列出频道#Chat的第一条留言
SEND 命令
【语法】
      /msg memoserv send <昵称 | #频道名称> <留言内容>
【描述】
    用来给一个已注册昵称或者频道发送留言。
【举例】
    /msg memoserv send TigTag Hello, 最近还好吧？，这样就给TigTag发送了个留言，内容是“Hello, 最近还好吧？”
    /msg memoserv send #Chat 这是谁的频道？，这样就给频道#Chat发送了个留言，内容是“这是谁的频道？”
READ 命令
【语法】
      /msg memoserv read [#频道名称] <留言序号 | 留言序号范围 | last | new>
【描述】
    用来阅读当前你或者指定频道所收到的留言。
    参数“new”表示阅读最新的一条留言。
    参数“new”表示依次阅读所有未阅读过的留言。
【举例】
    /msg memoserv read 2，表示阅读当前你的第二条留言
    /msg memoserv read #Chat 2-5，表示阅读频道#Chat的第2-5条留言
    /msg memoserv read last，表示阅读当前你收到的最后一条留言
    /msg memoserv read new，表示依次阅读当前你尚未阅读过的所有留言
DEL 命令
【语法】
      /msg memoserv del [#频道名称] <选项> <相应参数>
【描述】
    用来删除掉当前昵称或者指定频道所接收到的留言。
    参数“All”则表示删除所有的留言。
【举例】
    /msg memoserv del 5，可以删除掉你当前的第5条留言
    /msg memoserv del all，可以删除掉你已经接收到的所有留言
    /msg memoserv del #Chat 3-5，可以删除掉频道#Chat的第3-5条留言
SET 命令
【语法】
      /msg memoserv set <留言选项> <相应参数>
【描述】
    用来设置各种留言选项，这些选项包括：
      Notify　　　用于改变新留言到来时的通知类型(仅针对昵称的留言)。参数“ON”表示当你登录到你的名字时、当你取消AWAY状态时以及当新留言被发送时，MemoServ都将通知你；参数“LOGON”表示当你登录到你的名字时和当你取消AWAY状态时被通知；参数“NEW”表示当有新留言到来时被通知；参数“OFF”则表示不通知有留言信息。
      Limit　　　 用于设置你或者是指定频道的最大留言条目数，如果设置成0，则别人将无法给你发送留言。最大留言条目数不能大于系统规定的20条。
【举例】
    /msg memoserv set notify off，将关闭掉自己有新留言时的通告
    /msg memoserv set limit #Chat 5，限制频道#Chat所能接收的最大留言条目为5条
    P.S: 在很多IRC服务网络上，/msg nickserv、/msg chanserv和/msg memoserv命令都分别可以用/ns、/cs和/ms来代替。


《 Microsoft Chat上手指南 》

如果你安装的是Windows98，那么一般你的系统里可能已经安装有Mschat，建议开始从第二步做；如果没有，那么你还需要去下述地址下载并安装Mschat(注：使用Windows98内置的Mschat应该是中文版本；而若是按照下述地址下载的文件，是英文版本的Mschat）：
    http://www2.nease.net/files/Mschat25.exe
    第一步：安装
    双击下载得到的Mschat25.exe，在弹出的“Install Microsoft Chat2.5？”窗口中选择“Yes”，出现版权提示窗口，点击“Yes”按钮表示我们遵守版权约定。此时安装文件开始释放文件，随后会出现一个窗口，提示你安装文件的路径，一般是“C:\Program Files\Microsoft Chat”，如果你觉得需要安装到别的路径下，可以在输入条中输入自己想要安装的路径名，或者点击“Browse”按钮来选择，路径确定后，点击“Ok”按钮即可。此时安装文件开始复制文件到相应的目录里，复制完毕后，弹出一个窗口，告知你Mschat已经安装完毕，点击“确定”按钮关闭它。
    OK,安装这一步我们就做完了。
    第二步：进入聊天室
    安装好Mschat,点击Windows下的“开始”按钮，在“程序”中你可以看到Mschat的图标，那是一张滑稽的人脸图标。运行它，首先弹出的是服务器配置窗口。这里要求你输入Mschat服务器的地址，在这里我们输入国内IRC服务器——南京石头城的地址：202.102.15.149（你也可以输入其他的IRC服务器地址，比如上海的See是：202.96.210.166)。
    请注意地址下面的三个选项：“Go to chat room”是直接进入我们指定的聊天室；“Show all available chat room”是列出所有可以使用的聊天室；而“Just connect to server”是仅仅连接到服务器上。我们推荐使用第二种“ Show all available chat room”。
    下面我们点击窗口中的“Personal Info”选项，这里是要求你输入个人信息。“Real”里要求你输入你的姓名。“Nickname”里填的是你的昵称，这可要取得响亮点喔，比如我的就是“skywolf”（为了保证和服务器以及其他的聊天软件兼容，建议使用英文的Nickname）。下面的“E－mail address”(电子信箱地址）以及“WWW Home Page”(个人主页地址），可以看需要填或者不填。最后点击“确定”即可。（注意：点击“确定”前，我们需要先拨号上网）
    配置好的服务器设置窗口。
    此时Mschat开始连接主机，左下角开始显示“Attempting to connect...”，连接成功后，首先会出现一个窗口，用蓝色的文字提示你，目前在服务器上共有多少人，多少聊天室等信息，点击“OK”按钮关闭它。这时会出现一个名字为“Chat Room List”的窗口，显示的正是目前服务器上现存的聊天室名字和主题。注意窗口下方的五个按钮，分别是：“Update List”（刷新列表信息），“List Members”（列出目前聊天室内的人员)，“Join Room”（加入聊天室），“Creat Room...”（自己建立一个聊天室），“Close”（关闭窗口）。用鼠标点击一个你想参加的聊天室后，选择“Join Room”按钮即可加入。
    我们正式进入了聊天室。注意屏幕上的画面主要分成4个部分，首先是位于窗口上方的菜单和工具条，其次是中间的这个大窗口，就是我们关注的聊天室窗口，左下角细长的长方形是个输入窗口，所有我们要说的话，都是在此输入条中输入的。输入条右边是5个聊天按钮，在下面我们要具体讲述他们的用法。最右边则是个有很多人名的窗口，这是用户名字窗口。
    聊天室显示。
    注意：由于很多的聊天室采用了注册名字制，所以如果不巧你取的名字和某个已经注册的用户名相同，那么你在连接入服务器后不一会，就会弹出一个警告窗口，提示你输入密码或者更换一个nickname(昵称）。
    这时你最好在弹出来的警告窗口中的输入条里输入如下命令：
    /nickname你的昵称
    然后点击窗口中的“Delete Tab”按钮关闭警告窗口。此时可以照常选择聊天室，并点击“Join Room”按钮进入。
    如果你注册好了自己的名字，那么此时你需要输入“/password你的口令”的命令来保证自己获得系统的认可，而不是再用“/nickname 新的昵称”的命令来更换自己的名字。
    第三步：开始发言
    正如我们在第二步中所讲述的那样，大窗口就是聊天室窗口，所以大家在聊天室里说的话都会在这个窗口中显示出来。要参与大家的讨论，只要在输入窗口中输入你要说的话，然后点击输入条右侧的第一个按钮（或者直接回车），你说的话就会出现在聊天室的窗口中了！比如你输入了“Hello!”后，直接回车或者按右侧第一个按钮，在聊天室中的其他人就会看到：“Skywolf says: Hello!”的字样！
    学会了基本的发言后，我们来介绍一下输入条右侧的另外4个按钮：
    第二个：聊天室思考按钮。输入“大家好”这几个字，按下此按钮，聊天室里其他人将看到“skywolf thinks: 大家好”的字样。
    第三个：聊天室耳语按钮。用于和其他玩家说悄悄话。按下前，除必须先输入文字外，还要先用鼠标点击你要说话人的名字。按下后，对方将看到你的耳语，除了你们对话双方外，其他人将看不到你们的谈话内容。
    第四个：聊天室动作按钮。为了弥补文字的不足，这里让你使用文字来表示你正在做某个动作。比如在输入条中输入：“喝了一口茶”，然后按下按钮，聊天室的人们将看到“skywolf喝了一口茶”的字样。
    第五个：声音按钮。按下后将出现播放文件的选择（选择mid文件或者wav文件），此按钮一般很少用，所以我们在此不再累述。如果要关闭已经打开的音乐，可以选择菜单“View”里的“Stop Playing Sound”即可。
    第四步：退出和保存
    退出：当我们聊天结束或者你不再想聊天的时候，要退出聊天室，可以直接用鼠标点击工具条从左数第二个按钮，即可断开和服务器的连接。
    保存：如果你对谈话内容感兴趣，想保留下来，那么你可以点击菜单“File”，选择“Save as”,然后给你要保存的内容取个名字，点击“保存”按钮即可（一般我们都存为.rtf格式)。
    第五步：提高
    1.变脸
    经过了上述的4个步骤，你和其他人聊天已经没有问题了。但是如果仅仅是那么干巴巴的用文字来聊，我们也不用费这么大的劲来推荐Mschat了。现在让我们来看看Mschat最有趣的部分：拟人化聊天。
    首先按照上述的步骤，连入主机，进入聊天室。当出现我们已经熟悉的聊天室窗口后，请点击菜单“View”里的“Comic Strip”，或者用鼠标单击工具条上的左数第六个按钮（对，就是那张小人脸）。此时你会惊异地发现，原本死气沉沉的聊天室立刻变成了一幅又一幅有趣的黑白漫画！
    哈哈，这下子聊天开始变得妙趣横生了，不过在正式开聊前你有没有觉得有什么不对？对，代表你的那个图像竟然是个小姐，如果你是位女孩自然是不觉有什么，不过各位男士一定想改变她，请按如下步骤：
    鼠标点击菜单“View”中的“Options”（选项），然后点击“Character”(角色），好了，在系统预先为你准备好的人物中挑选一个最像你的吧？选好后，点击“确定”按钮。此时你可以注意到，除了聊天室里变成了一幅一幅的漫画，连人物栏窗口中的人名也被一张张和你类似的漫画头像所代替。同时，代表你的小人下面，又出来一个新窗口，里面有八张表情各异的脸，围成一个圆形；如果你试着点击它们，你会发现代表你的小人会做出和这些脸同样的表情。对，这个窗口就是“表情窗”，里面的脸就是用来控制你角色的表情的。另外，如果你对漫画中人物的背景不满的话，你还可以选择另外的背景，就是“Options”里的“Background”(背景）项。选好角色、背景，点击“确定”按钮，此刻再说两句话看看？是不是很喜欢？（本人则是很喜欢用DEN的背景形式）
    2.私下聊天
    虽然我们已经有了耳语的方法，但是想和朋友好好聊聊的恐怕还是觉得不太满意。总觉得在满屏其他人的言语中睁大眼睛去找朋友的耳语是件非常吃力和麻烦的事情。其实要解决也很简单：用鼠标右键点击你朋友的名字，然后在弹出来的右键菜单中选择“Whisper Box…”(耳语盒）即可。此时会专门弹出一个窗口供你和朋友聊天谈话，从而彻底免去了上述烦恼。在此窗口中发言和做动作与前述聊天并无区别，因此不再累述。
    3.关注某人
    聊了一些时候，一般或多或少都会交上几个朋友。一上线，就会先找一找，看看朋友在不在。但是一个一个去找，既麻烦又费力，所以这里介绍将对方加入自己“关注名单”的做法：
    用鼠标右键点击自己朋友的名字，然后在弹出的菜单中选择“Add to Notifications…”,随后会弹出一个窗口，点击“Add”按钮，再点“确定”按钮即可。这里显示出的都是你朋友的一些情况，诸如Nickname(昵称）,User name（用户名），Net address（当前网络地址）等，这里是你指示Mschat如何关注你朋友消息的地方。由于我们大多是拨号上网，所以Netaddress和Nickname都是很可能经常改变的，唯有“Username”需要特别留意，因为一般人的Username是不会改变的。幸好Mschat已经考虑到了这些，所以将我们的工作简化到了只要按下“Add”按钮就可以了。以后我们一上网，Mschat就会自动对这些朋友的到来进行关注：当这些朋友连上来的时候，会提醒你。
    4.不理睬某人
    有些时候，一些无聊的人会在聊天室里大放厥词，或者趁管理员不在的时候，胡扯一通甚至故意捣乱。此时你就可以将他列入“黑名单”，不再听他说出来的任何话：用鼠标右键点击他的名字，然后在弹出的菜单中选择“Ignore”。
    5.自动反应机制
    要实现自动反应机制，如下进行：
    用鼠标选择菜单“View”中的“Automations…”，显示出来的窗口中，最上面的框是选择当其他人进入聊天室时，你是否自动打招呼。一共有三种模式：
    1）None（什么也不做）
    2）Whisper I（耳语对方）
    3）Say I（在聊天室里打招呼） 招呼言辞就在下面的输入框内，你可以根据自己的习惯去进行修改。
    中间是自动不理睬“灌水者”，所谓“灌水者”就是恶意向你发送大量文字的人。这里可以设定如果出现灌水情况，如何不理睬对方。一般直接选“Auto ignore enabled”即可。
    最下面是定义宏(macro)，宏是非常有用的功能，可以让你用一组合键，代替输入多条命令。这里可以分别指定组合键（KEY)所对应的宏（macro),组合完毕后，点击“Add macro”命令即可加入系统中。
    6.传送文件
    如果要想给对方传送文件，用鼠标右键点击他的名字，选“Send File…？”后，再选择文件即可。
    7.建立自己的“最爱”
    如果你很喜欢某个聊天室，你可以用菜单“Favorites”中的“Add to Favorites”将其加入到自己的列表清单里，想去的时候直接点一下即可。
    8.建立自己的聊天室
    有些服务器是允许玩家自己建立一片自由天地的，要想自己设定一个聊天室，首先需要点菜单“Room”中的“Create Room...”，然后在弹出的窗口中输入：Chat room(聊天室名字），Topic（设定讨论的主题），设定聊天室的类型——比如 Hidden(隐藏）,Set Maximum Users（最多玩家数)，Optional Password（可选的口令）等。一切输入完毕，点“OK”按钮即可。
    愿天下网虫都可以快快乐乐的聊天！
<h


mIRC命令列表

命令 | 解释
/LIST | 查看服务器上有哪些房间和房间的主题。
/LIST {＃age} | 只会调出来＃age。
/LIST {－MIN A} {－MAX B} | 那么您看的是人数大于A个人小于B个人的房间
/LIST {＊ABC＊} | 那么您所查看的是所有含有ABC字符串的房间。
/WHO | 查看所有房间里面的人的名单。
/JOIN [＃房间名] | 用来加入这个房间，如果这个房间不存在，那么服务器将创建一个这样的房间，当然，不是所有的服务器都提供这项服务的。
/PART [＃房间名] {离开房间的原因} | 用来离开这间屋子，并可以留下您离开的原因。
/QUIT {退出的原因} | 用来退出服务器，并可附上退出的原因。
/NICK [昵称] | 用来改您的昵称。
/AWAY [原因] | 这命令用来告诉别人你暂时离开一会，比如/AWAY 我去上一号，马上回来，^－^， 那么别人和你开小窗说话，他将看到这样的信息:fortune IS AWAY:我去上一号，马上回来，^－^。要取消您的AWAY信息,打/AWAY就行了。
/WHOIS [昵称] | 用来看别人的“完整名称”、“IP号”、“ID号”和他在哪个房间。
/INVITE [昵称] [＃房间名] | 用来邀请别人到指定房间的命令。
/KICK [＃房间名] [昵称] {原因} | 如果您是这个房间的主持人，就可以把你讨厌的人踢出去，并可以说明原因。
/TOPIC [＃房间名] [房间主题] | 如果您是这个房间的主持人，用来改变房间的主题。
/ME [您要作的动作] | 比如:/ME 长长叹了一口气，那么别人就会看到这样的信息:＊fortune 长长叹了一口气。
/MSG [昵称|＃房间] [要说的话] | 用来向别人单独发送信息的命令，比如:/MSG MM 这话就跟你一个人说的，那么MM就会在她的小窗收到这样一条信息:＊fortune 这话就跟你一个人说的。
/QUERY [昵称] {要说的话} | 用来和别人开小窗来聊天。
/NOTICE [昵称|＃房间名] [要说的话] | 用来跟别人说密语的，和/MSG不同的是，你不用开小窗，收到信息的人也不会另开一个小窗，不过别担心，别人是看不到的。
/NOTIFY [昵称|ON|OFF] | 将别人的昵称加入到你的通知列表，比如:/NOTIFY fortune， 你会看到这样的信息:添加fortune到通知列表，以后你再打/NOTIFY，你就会看到:fortune 在(或不在)IRC。/NOTIFY ON是打开通知列表，/NOTIFY OFF是关掉通知列表。
/IGNORE [昵称|E－Mail] | 用来忽略某人的讲话，比如说你很讨厌fortune这个人，不想听他说话，打/IGNORE fortune，就会把fortune加入忽略列表，他的话你就看不到了!当然，fortune可能会改名字，有办法:/IGNORE fortune的E－Mail地址。
/MODE [＃房间名] ＋O [昵称] | 给人带“帽帽”,即成为房间主持人，这时您的昵称前面多了一个@，有了帽帽您才可以做下面的命令!。
/MODE [＃房间名] ＋B [MASK] | 这个命令是用来BAN(扁)人的棗即禁止你讨厌的人进你的房间。什么是MASK呢?比如说我的昵称叫fortune，ID号是AH98，IP是202.103.28.50，那么我的MASK就是fortune!AH98@202.103.28.50。/MODE ＃age ＋B fortune，那么凡是昵称叫fortune的人，不管他的ID和IP是什么，都不能进入＃age，这个命令等同于/MODE ＃age ＋B fortune!@；/MODE ＃age ＋B !AH98@，那么凡是ID为AH98的人，不管他的昵称和IP是什么，都不能进入你的房间；/MODE ＃age ＋B !@202.103.28.50，那么IP地址是这个的人，不管他的昵称和ID是什么都不能进入房间。去掉禁止的命令是:/MODE [＃房间名] －B [MASK]。
/MODE [＃房间名] ＋I | 如果这个房间加I了，那么只有被邀请的人才能进入房间，解除用－I。
/MODE [＃房间名] ＋L [数字] | 是用来限制房间人数的命令。
/MODE [＃房间名] ＋M | 那么这个房间除了主持人和有V的人才能说话，其他的人即使说了别人也听不到。
/MODE [＃房间名] ＋V [昵称] | 给人发言权。
/MODE [＃房间名] ＋N | 外面的人就不能把他的话传进房间里来。
/MODE [＃房间名] ＋P | 别人用/WHOIS也看不到你。
/MODE [＃房间名] ＋S | 别人用/LIST就看不到这个房间了。
/MODE [＃房间名] ＋T | 加T后只有主持人才可以改房间的主题。
/MODE [＃房间名] ＋K [密码] | 只有知道密码的人才能进来，比如说:/MODE ＃age ＋K 110，要用/JOIN ＃age 110才能进入房间。
/MODE [你的昵称] ＋I | 即在复选框“可见模式”中打勾。
/MODE [你的昵称] ＋S | 接收服务器的通知。


MIRC提高篇

  我怎么才能像别人一样做出彩色漂亮的花朵？
  我想把我的谈话纪录都自动保存起来，可以吗？
  怎么样设置防火墙(也是proxy)， 有什么好处？
  什么是ALIAS，有什么功能？
  我能在MIRC中给别人发送文件吗？
  什么是DCC密谈，跟普通的密谈有区别吗？
  什么CTCP？有什么功能？
  我可以忽视别人的CTCP查询，让别人查不到我的CTCP信息吗？
  PING是什么？有什么功能？
  我想察看某个IRC上的所有或某些用户或者某个CHANNEL中的用户，可以吗？
  我有一些固定的朋友，每次我上了IRC时想知道他们在不在上边，可以吗？
  说话人太多了，我看不到别人叫我的名字，怎么办？
  当别人进入CHANNEL时，我怎么样才能对别人自动问候？
  什么是REMOTE，怎么运用它？
  为什么我的REMOTE不起作用，怎么解决？
  我的REMOTE可识别朋友，然后自动给他OP吗？或识别他是敌人，自动KICK他出去吗？
  什么是USERS，怎么样用它？
  什么是VARIABLES？(计数器示例)
  谁是IRC的管理员(IRCOP，ADMINISTER)，他们能做什么？怎么样找出他们？
  什么是KILL和KLINE？
  什么是BOT？
  我可以做一个BOT，让他一直呆在IRC上吗？
  什么是IRCII脚本？
  什么是DNS？有什么用？

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

  我怎么才能像别人一样做出彩色漂亮的花朵？
    首先你要学会些彩色字， 按 CTRL-K键后，你会看到一个调色板，你可以选个颜色，这是你的话语就
    变成了有颜色的了。 其次你要学会ALIAS，可以方便的编辑你的命令， 不过最方便的办法是问别人
    要现成的脚本(INI文件)，这里的下载区就有(mirc777。zip)，你可以在这里下载。

back

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

  我想把我的谈话纪录都自动保存起来，可以吗？
    可以的，先选择FILE菜单--OPTION--LOGGING，然后选上automatically log里边的复选框就可以了。

back

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

  怎么样设置防火墙(也是proxy)， 有什么好处？
    好处是， 第一: 可以隐藏ip， 第二: 如果你连接某个irc效果不好， 速度太慢， 你可以试一下这种办
    法， 我试过， 效果很好， 有些原本连不到西安irc的通过proxy连接的很好。
    方法: 打开mirc5。4x， 单击左上角第二个按钮， 选择firewall， 给use SOCKS firewall打勾
    hostname填入proxy或者wingate的ip地址(地址也许可以用proxy hunter查找， 请到下载区下载)，
    port填入1080， 选择socks5， 这样配置就完成了。

back

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

  什么是ALIAS，有什么功能？
    ALIAS是MIRC的一个功能，是给懒人设计的东西，不过它很有用，你千万要了解一下。举个例子:
      如果你觉得每次打/LIST 命令很麻烦，你就可以在ALIAS中加入/L /LIST这样的语句，然后你只要
      打入/L， 就可以完成/LIST的功能了。
    这是一个简单的例子，有时候你的ALIAS需要加参数的。你可以根据这个自己做ALIAS，比如:
      /hug /me {{{{{{{{{{ $$1 }}}}}}}}}}}} (这条ALIAS语句是表示HUG拥抱的友好用， $$1表示参数。
      你可以打入/HUG fortune，这样你就拥抱了fortune了)
      在制作ALIAS时，你需要敲击MIRC标有"/A"的绿色按钮， 看到一个小窗口，你就可以开始编辑了。

back

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

  我能在MIRC中给别人发送文件吗？
    当然可以，用DCC SEND。
      菜单方法: 选取DCC菜单--〉SEND(或者ALT-S键)(弹出一个SEND窗口)
      行命令: /DCC SEND fortune
      注释：用DCC传文件速度快，因为它是IP对IP的传输

back

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

  什么是DCC密谈，跟普通的密谈有区别吗？
    DCC密谈的方法跟DCC SEND FILE方法相似:/DCC CHAT fortune
    DCC密谈比普通方法密谈的保密性高，因为它也是IP对IP的交流，不通过IRC服务器，如果你谈要事
    的话，最好用DCC，否则别人有可能偷听的到。另外不要接受陌生人的DCC CHAT或者DCC SEND，这样
    可以减少不必要的麻烦(为什么？答:安全问题，照做就是了)。

back

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

  什么CTCP？有什么功能？
    CTCP也是一个比较有用的功能，它可以查出对方的信息
        行命令: /ctcp fortune ping (查对方的PING值)
                /ctcp fortune version (查对方的IRC聊天器的版本)
                /ctcp fortune time (查对方的当地时间)
                /ctcp fortune userinfo (查对方的用户信息)
                /ctcp fortune clientinfo (查对方的用户信息)
        鼠标操作: 用鼠标右键点击NICKNAME， 然后再谈出菜单中找相应的CTCP项。

back

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

  我可以忽视别人的CTCP查询，让别人查不到我的CTCP信息吗？
    可以的，先选择FILE菜单--OPTION--CONTROL--IGNORE，然后选上ACTIVE复选框。
    然后执行行命令:/IGNORE -T *
    取消这个操作要FILE菜单--OPTION--CONTROL--IGNORE中删除"*!*@*，ctcp"这一条纪录。

back

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

  PING是什么？有什么功能？
    PING是用来查询对方和你通讯的情况，如果你CTCP PING一个人，你会看到"PINRG REPLY 3 SECONDS"
    的字样，他表示你跟他通讯一个来回用3秒钟的时间。服务器需要不停的PING你，以确保你是跟他联络
    着，如果你的线路不好，很长时间IRC服务器PING不到你，他会认为你已经断开了， 别人会看到
    *fortune QUIT(PING TIMEOUT)的字样。

back

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

  我想察看某个IRC上的所有或某些用户或者某个CHANNEL中的用户，可以吗？
    在某些IRC上可以，你可以试一下以下命令:
        行命令: /TRACE
        行命令: /WHO
        如果你想查找特定的一些人，比如:EMAIL为PANDA*@202。100。96。*， 你可以打入:
        行命令: /WHO PANDA*@202。100。96。*
        *是通配符，这样所有EMAIL地址以PANDA打头，IP是202。100。96。*的用户就都显示出来了。
        用WHO命令还可以在CHANNEL外边查出CHANNEL中谁在里边，不过如果这个CHANNEL被设为
        SECREAT你就查不出来了。
        /WHO #CHINESE (这是#CHINESE中的用户就都列出来了)

back

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

  我有一些固定的朋友，每次我上了IRC时想知道他们在不在上边，可以吗？
    可以的，只要你的朋友不变名字。以下是mirc5。4的用法(跟mirc5。3不一样， 你最好先下载mirc5。4)
    按钮行--ADDRESS BOOK--NOTIFY中加入fortune，然后选上"NOTIFY"旁边的复选框，这是只要fortune
    在IRC上，你就知道了， 不论他在不在CHANNEL中。

back

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

  说话人太多了，我看不到别人叫我的名字，怎么办？
    MIRC可以帮助你注意到别人叫你
    选FILE菜单--OPTION--PERFORM，然后选上"HIGHLIGHT LINES CONTAINING THESE WORDS"旁边的复选框，
    然后在下边一行加入PANDA，这样，别人一叫PANDA，你就会看到他的话变成了特殊的颜色。如果这时你在
    WINDOWS的其他窗口，MIRC的任务栏会闪烁，你就知道有人叫你了。

back

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

  当别人进入CHANNEL时，我怎么样才能对别人自动问候？
    你最好学习一下IRC的REMOTE的功能。
    选择菜单TOOLS--REMOTE，(或者按ALT-R键)这是看到一个窗口，在这个窗口的最后加入:
    on 1:JOIN:#:/msg $nick Hi， I am fortune， welcome to $chan 。
    这样就ok了。

back

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

  什么是REMOTE，怎么运用它？
    REMOTE可以让你对IRC上的某些事件自动采取行动，比如当别人进入CHANNEL是对他自动问候，有人
    说脏话的时候自动KICK他，自动OP等等。
    要想仔细学习REMOTE，你可以参看MIRC的帮助。这里我给你几个例子。
        自动OP:
            选择菜单TOOLS--REMOTE，(或者按ALT-R键)这是看到一个窗口，在这个窗口的最后加入:
            on 1:JOIN:#:/mode $chan +o $nick ($chan代表当前的channel，$nick代表join到这
            个channel的人)
        自动kick:
            on 1:TEXT:*fuck*:#:/kick # $nick Don not speak vulgar words， ok？(这是如果在
            channel中有人说了fuck这个脏字你就自动kick他了，当然你要有OP)
            要让这些命令失效只要在前边加个分号;

back

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

  为什么我的REMOTE不起作用，怎么解决？？
    首先察看你的REMOTE是否打开，行命令:/REMOTE或者直接打开REMOTE:/REMOTE ON
    如果还不行，请注意一个事件不能用两条语句表示，比如:
      on 1:JOIN:#:/msg $nick Hi， I am fortune， welcome to $chan 。
      on 1:JOIN:#:/mode $chan +o $nick
    这时MIRC只执行第一条语句，如果你想同时执行这两个动作，因该改为:
      on 1:JOIN:#:{
        /msg $nick Hi， I am fortune， welcome to $chan 。
        /mode $chan +o $nick
        }
    如果还不行，请检查所有的REMOTE脚本是否有重叠的事件(MIRC可以载入多个REMOTE脚本。
    如果还不行，请检查所有的REMOTE脚本是否载入太多？如果太多的话也会使REMOTE失灵。

back

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

  我的REMOTE可以识别朋友，然后自动给他OP吗？或者识别他是敌人，自动KICK他出去吗？
    可以的:你可以把所有的用户分成不同的类，使你的REMOTE对不同的人采取不同的行动。你需要学习
    MIRC的USERS这个概念(天哪，这么多东西要学)

back

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

  什么是USERS，怎么样用它？
    USERS也是IRC的重要功能，它同REMOTE配合使用，所以你先需要了解REMOTE
    **USERS可以使你的REMOTE识别其他人，而采取不同的行动。例如你的朋友是fortune，每次他进来
    channel时你想自动op他，那你需要定义他为你的朋友，这里就定义他为USER 88级的吧。
    行命令: /auser -a =88 fortune
    然后在REMOTE中加入:
    on 88:JOIN:#:/mode $chan +o $nick
    以后fortune一进CHANNEL你就自动OP他了。
    **同样的方法你也可以定义你的敌人，一但他有了帽子，你就立刻摘掉他的帽子。
    行命令: /auser -a =101 JOHNSON
    然后在REMOTE中加入:
    on 101:OP:#:/mode $chan -o $opnick
    **自动UNBAN，假设有人想BAN你，而这是你也有帽子:
    首先定义你自己为99级用户，NICKNAME是fortune
    /auser -a =99 fortune
    然后在REMOTE中加入:
        on 99:BAN:#:{
          /mode $chan -o $nick
          /mode $chan -b $banmask
          } (如果你想对一个事件作两个动作，需要这种格式加入"{}")
    这是一旦有人BAN你，你的REMOTE就会自动UNBAN你自己，而且摘掉对方的帽子。
    如果你想取消对某人的USER定义可以用这个命令:
    /RUSER fortune (你就取消了对fortune了的定义了)
    如果你想继续深入学习USERS，看看MIRC的帮助吧，注意:第一级是特定的，它代表所有未定义的用户。

back

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

  什么是VARIABLES？
    VARIABLE是编写MIRC脚本是你需要定义的变量，一般情况你不需要学习他，如果你需要编写一些复杂
    的需要临时或者系统变量的时候你就需要他了。你可以通过VARIABLE编写一个计数器，做法如下:
      1。首先打开remote编辑窗口，转换到variable那一项，增加一个值为1的变量: %counter 1
      2。转换到remote那一项，增加一个事件
          on 1:JOIN:#:{
            /msg $chan hi， $nick 你是自从我来这里以后的第 %counter 个客人
            /inc %counter (这是使counter变量增加1的函数)
          }
      3。如果想从新设定counter的值，执行: /set %counter 1
    现在你的计数器就做好了，一有用户进入你的channel，你就可以告诉他是第几个客
    人了。(不过刚才我试验的时候，别人嫌吵，把我赶出来了，哈哈。)

back

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

  谁是IRC的管理员(IRCOP，ADMINISTER)，他们能做什么？怎么样找出他们？
    IRC的管理员可分为IRCOP，ADMINISTER等等，他们有很大的权限，可以使你变成OP，也可以把你
    赶出IRC。你需要帮助的话，就找他们喽，用下边的命令寻找他们:
    行命令(寻找IRCOP):/stats o
    行命令(寻找ADMINISTER):/admin

back

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

  什么是KILL和KLINE？？
    KILL和KLINE是IRC管理员用的命令，一般人可没有。/KILL fortune的功能是把fortune赶出了IRC。
    不过fortune还可以再回来。/KLINE *!*@202。96。286。205是把IP是202。96。286。205的人赶出去，而且
    他再也回不来了，你在IRC上千万别捣乱，否则被KLINE了就惨了。

back

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

  什么是BOT？
    BOT就是ROBOT，机器人，有些IRC服务器放置了一些机器人用来控制了CHANNEL，它的主人可以通过给他
    发送命令执行某些功能。BOT的种类繁多，功能也不一样， 有些BOT的功能只是说一些有趣的话，增添轻
    松的气氛，你自己也可以编写REMOTE，或者在网上下载MIRC脚本，然后运行另一个MIRC进入同一个
    CHANNEL，实现某种功能，比如保护你自己。

back

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

  我可以做一个BOT，让他一直呆在IRC上吗？
    如果你有某个ISP的SHELL账号或者你自己有专线就可以，你可以在网上寻找IRCII脚本然后你通过
    TELNET，将它放到ISP的服务器上，在编译运行就可以了。比较有名的IRCII BOT脚本有EGGDROP BOT，
    X BOT等等，这里的下载区有一个jianjian苦心编制的xbot，绝对好用，是linux系统下运行的。

back

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

  什么是IRCII脚本？？
    IRCII脚本是用C或者PERL语言编写的，运行在UNIX或者LINUX系统上的IRC程序，一般可以做BOT用。

back

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

  什么是DNS，有什么用？
    DNS是DOMAIN NAME SERVICE，给你的IP地址提供域名服务的。在IRC上你可以用/DNS这个命令，解析
    出对方或自己的IP(某些服务器解析不出来，因为它掩盖了IP和DOMAIN NAME。)，知道了自己的IP就
    可以方便的做一些其它事情，比如打INTERNET PHONE等等。
    行命令: /DNS fortune