2005-04-26, 06:15 PM | |
榮譽會員
|
mIRC教學--全攻略
mIRC是由Khaled Mardam-Bay編寫的一個文本式IRC客戶端程序,由於所佔帶寬極小,而且也有著極好的擴充性(通過編寫指令碼),因此出來沒多久就在全世界流行了起來,成為了IRC高手們最常用的工具之一。
mIRC.v6.16下載 http://www.hanzify.org/index.php?Go=Show::List&ID=6588 和Microsoft Chat不同,微軟的程序員們總是想法設法避免讓用戶接觸一些複雜的操作;而對於mIRC,要想把它用得得心應手,你就非得學會一系列大大小小的IRC指令不可,雖然,通過滑鼠的指指點點,你也同樣能夠完成mIRC的大部分基本功能。 因此,本站點根據操作是以滑鼠為主還是以鍵盤為主,把接下來的重點內容分為了「mIRC 設定篇」和「mIRC 指令篇」以分別進行詳細的介紹。至於mIRC的另一主要功能——如何編寫指令碼以回應IRC裡的各種事件,將會在「BOT 篇」裡進行細緻的闡述。 另外,除了基本的聊天功能以外,mIRC也提供了許多的花邊功能,例如充當文件伺服器、對MS Agent的支持等等。這些功能或許能夠給你帶來某些方便,也或許能夠給你帶來更多的娛樂性。本篇都將一一為你介紹。 ● mIRC 設定篇(滑鼠操作) 初次接觸mIRC,你也許會被mIRC裡眾多的參數設定搞得頭昏眼花。沒關係,在看了這一篇之後,你也能夠輕鬆搞定它們了。 ● mIRC 指令篇(鍵盤操作) 本篇的重點則是介紹mIRC支持的各種指令。掌握了這些指令,你會發現,原來用mIRC聊天是如此的方便…… ◆ 基礎指令 介紹IRC的基礎指令,這些指令在任何一個標準IRC伺服器上都是適用的。 ◆ 進階指令 包括mIRC自身的多種指令以及只有在某些IRC伺服器上才被支持的指令。 ◆ 進階指令 主要介紹一下當一個IRC管理員(IRC-OP)應該熟悉的IRC指令。 ◆ 指令碼指令 這裡是一些mIRC內部的主要用於指令碼編寫的指令。 ● Alias與Popup篇 在這一篇裡,你將瞭解到什麼是Alias?什麼又是Popup?以及如何編寫它們。 ● mIRC 的花邊功能 也許你還沒注意,mIRC其實隱藏了很多小功能的。就讓我們逐一把它們挖掘出來吧。 ● mIRC 的使用技巧 為了方便聊天,在mIRC裡還有著很多的實用技巧…… |
__________________ |
|
送花文章: 3,
|
2005-04-26, 06:47 PM | #16 (permalink) |
榮譽會員
|
mIRCBOT函數
文件和目錄函數 $abook(nick, N) 函數 【作用】 返回關於mIRC通信錄裡某個暱稱的訊息。 【說明】 $abook()函數有六個內容——「nick」、「info」、「email」、「website」、「picture」和「noteN」,分別用來返回暱稱、相關描述、E-Mail、主頁、照片和相關註釋(N可以指定是第幾行註釋)。 【舉例】 $abook(1),將返回通信錄裡的第一個暱稱 $abook(TigTag).email,將返回通信錄裡TigTag的E-Mail $alias(N/filename) 函數 【作用】 返回指定的已載入的Alias檔案名。 【說明】 當使用filename時,如果該檔案尚未載入,則返回「$null」,否則返回該檔案名。 【舉例】 $alias(1),將返回第一個已載入的Alias檔案名 $alias(alias_hello.ini),如果「alias_hello.ini」這個文件已被載入,則返回「alias_hello.ini」,否則返回「$null」 $crc(filename) 函數 【作用】 返回指定文件的CRC。 $dir, $file, $hfile, $sdir 函數 【作用】 顯示一個開啟目錄或者開啟文件的對話視窗,並將選定的目錄名或者檔案名返回。 【說明】 這些函數的具體語法都是「<函數名>="對話視窗的標題" <文件或目錄的路徑>」。$dir函數彈出一個包含完整目錄名和文件的對話視窗供人選項;而$file僅彈出一個包含文件的對話視窗;$hfile與$file作用相同,但是是將文件水準排列的;至於$sdir,則是彈出一個只有目錄可供選項的對話視窗。 【注意】 $dir、$file和$hfile僅在老版本的mIRC(比如5.6)裡才有區別,在新版本的mIRC(比如5.71)裡已經不再有什麼區別了。 在mIRC 5.82之後的版本裡,$dir、$file、$hfile和$sdir函數都已經被逐漸取消,而取代為$sdir(dir, title)和$sfile(dir, title, oktext)函數,其中的「dir」表示目錄名,「title」是對話視窗的視窗標題,「oktext」則是對話視窗確定按鈕上的文字。「title」和「oktext」均為可選項。 【舉例】 $dir="請選項一個文件" c:\,將以路徑C:\為基礎開啟一個文件選項對話視窗 $file="請選項一個聲音文件" c:\windows\media\*.wav,將以路徑C:\WINDOWS\Media\為基礎開啟一個*.wav文件的選項對話視窗 $sdir="請選項一個資料夾" d:\logs,將以路徑D:\logs為基礎開啟一個目錄選項對話視窗 以上為舊版本的mIRC函數用法,下面是高版本的$sdir()和$sfile()用法: $sdir(d:\logs, 請選項一個資料夾),將以路徑D:\logs為基礎開啟一個目錄選項對話視窗 $sfile(c:\windows\media\*.wav, 請選項一個聲音文件, 確定),將以路徑C:\WINDOWS\Media\為基礎開啟一個*.wav文件的選項對話視窗 $disk(C) 函數 【作用】 返回是否存在指定的硬碟(或光碟)驅動器,並可返回相關資訊。 【說明】 $disk()函數有四個內容——「type」、「free」、「label」和「size」,分別用來返回硬碟(或光碟)的檔案檔案檔案類型、剩餘空間、磁碟區冊以及容量。 【舉例】 $disk(E,如果驅動器E:存在,則返回「$true」,否則返回「$false」 $disk(C.free,返回驅動器C:的剩餘空間(以字元表示) $exists(filename) 函數 【作用】 返回是否存在指定的文件。 【舉例】 $exists(c:\autoexec.bat),如果C:\autoexec.bat存在,則返回「$true」,否則返回「$false」 $exists(c:\program files\mirc\mirc.exe),如果c:\program files\mirc\mirc.exe存在,則返回「$true」,否則返回「$false」 $file(filename) 函數 【作用】 返回指定文件的相關資訊。 【說明】 $file()函數有四個內容——「size」(預設)、「ctime」、「mtime」和「atime」,分別用來返回文件的大小、新增時間、最後修改時間以及最後訪問時間。 【舉例】 $file(c:\scandisk.log)或者$file(c:\scandisk.log).size,將返回C:\scandisk.log的文件大小(以字元表示) $file(c:\scandisk.log).mtime,將返回C:\scandisk.log的末次修改時間 $filtered 函數 【作用】 返回通過使用/FILTER指令過濾掉的總行數。 $finddir(dir, wildcard, N, depth, @window | command) 函數 【作用】 搜尋指定目錄下的子目錄名並將其返回。 【說明】 在$finddir()函數里,「dir」是指指定的目錄,「N」是指返回第幾個符合條件的結果,「wildcard」是指任意萬用字元,「depth」是指要搜尋的目錄深度(即子目錄級數),「@window | command」是指將查詢結果返回到一個帶有目錄的自訂視窗裡,或者對查詢結果執行一條指令(當使用指令時,可以用「$1-」來替代找到的目錄名)。 【舉例】 $finddir(c:\, b*, 1),將返回c:\下的第一個以「b」開頭的目錄名 $finddir(c:\windows, tem*, 1, echo -s $1-),將返回c:\windows下的第一個以「tem」開頭的目錄名,並將其顯示在mIRC的狀態視窗裡 $findfile(dir, wildcard, N, depth, @window | command) 函數 【作用】 搜尋指定目錄下的檔案名並將其返回。 【說明】 在$findfile()函數里,「dir」是指指定的目錄,「N」是指返回第幾個符合條件的結果,「wildcard」是指任意萬用字元,「depth」是指要搜尋的目錄深度(即子目錄級數),「@window | command」是指將查詢結果返回到一個帶有目錄的自訂視窗裡,或者對查詢結果執行一條指令(當使用指令時,可以用「$1-」來替代找到的檔案名)。 【舉例】 $findfile(c:\, *.txt, 1),將返回c:\下的第一個TXT檔案名 $findfile(c:\windows, *.log, 1, echo -s $1-),將返回c:\windows下的第一個LOG檔案名,並將其顯示在mIRC的狀態視窗裡 $getdir 函數 【作用】 返回在DCC設定裡所設定的預設文件儲存目錄。 $getdir(filespec) 函數 【作用】 返回在DCC設定裡所設定的指定檔案檔案檔案類型文件的儲存目錄。 $ini(file, topic/N, item/N) 函數 【作用】 返回在一個INI文件(或者TXT文件)裡的指定類別名稱,或者指定類別名稱在文件所有類別名稱裡的位置。 【舉例】 $ini(mirc.ini, afiles),將返回「[afiles]」這個類別名在mirc.ini所有類別名稱裡的位置 $ini(mirc.ini, 0),將返回mirc.ini裡所有類別名稱的總個數 $isdir(dirname) 函數 【作用】 用來判斷一個目錄是否為有效。 【說明】 如果指定的目錄有效,則返回「$true」,否則返回「$false」。 $isfile(filename) 函數 【作用】 用來判斷一個文件是否存在。 【說明】 如果指定的文件存在,則返回「$true」,否則返回「$false」。 $lines(filename) 函數 【作用】 返回指定文本文件的總行數。 $logdir 函數 【作用】 返回在mIRC設定裡所設定的LOG文件的儲存目錄。 $longfn(filename) 函數 【作用】 將一個檔案名或目錄名返回成長檔案名的格式(僅適用於32位版本的mIRC)。 【舉例】 $longfn(c:\progra~1),將返回「C:\Program Files」 $mididir 函數 【作用】 返回在mIRC設定裡所設定的MIDI文件的預設目錄。 $mircexe 函數 【作用】 返回mIRC的主程式文件(一般是「mirc32.exe」)所在的完整路徑(包括檔案名)。 $mklogfn() 函數 【作用】 把一個檔案名返回成mIRC的記錄文件的樣式。 $nofile() 函數 【作用】 返回一個文件的完整路徑(但不包括該檔案名)。 $nopath() 函數 【作用】 返回一個文件的名稱(但不包括該檔案的路徑訊息)。 $mircdir 函數 【作用】 返回mIRC的主程式文件(一般是「mirc32.exe」)所在的完整路徑(不包括主程式檔案名)。 $mircini 函數 【作用】 返回mIRC的主組態文件(一般是「mirc.ini」)所在的完整路徑(包括該群組態檔案名)。 $read 函數 【作用】 讀取指定的文本文件(但不能是*.INI文件),並返回符合條件的某一行的內容。 【格式】 $read [-ntl# -swtext] <文本檔案名> 【說明】 如果不加參數,則表示隨機返回該文本文件的一行內容;加參數「-n」表示不將讀取到的內容作為IRC指令執行或作為函數而賦值(預設情況下讀取到的內容都將首先被作為IRC指令執行或者作為函數而被賦值);加參數「-t」表示只把文本文件的第一行作為「-n」的方式處理;加參數「-l#」表示返回指定行的內容;加參數「-stext」表示搜尋以「text」開始的行,並將這行的「text」以後的內容返回;加參數「-wtext」表示搜尋任何包含指定文字(可以使用萬用字元)的行,並將該行的內容返回。 * 當使用了一次帶-s或帶-w參數的$read函數後,則$readn函數也具有了值,它將返回本次$read函數所讀取的行號。 【舉例】 $read C:\AUTOEXEC.BAT,將返回C:\AUTOEXEC.BAT裡的隨機一行 $read -l5 C:\AUTOEXEC.BAT,將返回C:\AUTOEXEC.BAT裡的第五行 $read -w*HELP* CMDSHELP.TXT,將返回CMDSHELP.TXT裡的包含關鍵字「HELP」的第一行 $readini 函數 【作用】 讀取指定的INI組態文件,並返回符合條件的某一行的內容。 【格式】 $readini <-n> <INI檔案名> <類別名稱> < 列項名稱> 【說明】 加參數「-n」表示不將讀取到的內容作為IRC指令執行或作為函數而賦值(預設情況下讀取到的內容都將首先被作為IRC指令執行或者作為函數而被賦值)。 【舉例】 $readini mirc.ini mirc nick,將返回在mirc.ini裡的[mirc]類別下的nick 列項的內容,即你的第一個暱稱 $shortfn(filename) 函數 【作用】 將一個長檔案名的文件或目錄返回成MS-DOS的8.3檔案名格式(僅適用於32位版本的mIRC)。 【舉例】 $shortfn(c:\program files\),將返回「c:\progra~1\」 $wavedir 函數 【作用】 返回在mIRC設定裡所設定的WAV文件的預設目錄。 $mp3dir 函數 【作用】 返回在mIRC設定裡所設定的MP3文件的預設目錄。 * 本函數是在mIRC 5.8之後才出現的。 |
送花文章: 3,
|
2005-04-26, 06:48 PM | #17 (permalink) |
榮譽會員
|
mIRCBOT函數
指令碼事件函數 $1- 函數 【作用】 返回觸發某個事件的關鍵訊息,或者用於Alias和Popup裡返回某條指令需要輸入的所有訊息。 【說明】 你可以使用$1、$2、$3...來返回該訊息裡的第一、第二、第三...等部分(以有無空格劃分),也可以使用$N-M的方式來返回從第N到第M的部分;而使用$1-則是返回所有的關鍵訊息(或輸入訊息)。 【舉例】 例如在ON TEXT事件裡捕獲到了某人所說的一句話「Hi there. Who can chat with me?」,則$1返回「Hi」,$2返回「there.」,$3返回「Who」...,而$2-4返回「there. Who can」,$1-則返回這整個句子。 又如有一個Alias是「/hello 你好, $1-」,則表示「/hello」這個Alias理論上可以輸入無限的參數;而如果把這個Alias改成「/hello 你好, $1」,則表示在這裡就只能帶一個參數了,無論你輸入了多長的句子,它都只接受第一個空格以前的部分,即第一個參數。 $+ 函數 【作用】 用於消除空格。 【舉例】 //echo -s H $+ e $+ l $+ l $+ o,將在mIRC的狀態視窗顯示「Hello」而不是「H e l l o」 $0 函數 【作用】 返回觸發某個事件的關鍵訊息可以分成幾個部分(用空格劃分)。 【舉例】 例如ON TEXT事件捕獲到了「How do you do」這句話,則此時的$0返回「4」 $(...) 函數 【作用】 可以把函數用在捕獲發言的事件(比如ON TEXT、ON ACTION、ON NOTICE等)裡,以捕獲動態的某些訊息。 【舉例】 ON 1:TEXT:$(*你好, $+ $me $+ *):#:/msg # 你好, $+ $nick $+ ! $address 函數 【作用】 以「userid@host.domain」的形式返回觸發事件者的位址。 $chan 函數 【作用】 返回事件發生的閒聊室名稱。 【注意】 如果該事件不支持閒聊室或者不是在閒聊室裡發生的,則返回「$null」。 $clevel 函數 【作用】 返回當前Remote事件的等級。 $dlevel 函數 【作用】 返回Remote事件的預設等級。 $event 函數 【作用】 返回當前Remote事件的名稱。 $fulladdress 函數 【作用】 以「nick!userid@host.domain」的形式返回觸發事件者的完整位址。 $group(N/#) 函數 【作用】 返回所給指令碼的指定組的狀態。 【說明】 $group()函數有三個內容——「status」、「name」和「fname」,分別用來表示指定指令碼組的狀態、名稱和所在的指令碼檔案名稱。 【舉例】 $group(0),將返回當前已載入的指令碼裡有多少個指令碼組存在 $group(1)或$group(1).name,將返回第一個指令碼組的名稱 $group(#test)或$group(#test).status,如果「#test」這個指令碼組存在,則返回「on」,否則返回「off」 $group(#test).fname,將返回「#test」這個指令碼組所在的指令碼檔案名 $ial 函數 【作用】 用以檢查mIRC的內部位址列表(IAL, Interal Address List)是否已開啟。 【說明】 如果IAL已開啟,則返回「$true」,否則返回「$false」。 $maddress 函數 【作用】 返回被當前Remote事件捕獲到的位址。 $matchkey 函數 【作用】 在捕獲關鍵字的事件(如ON TEXT、ON ACTION等)裡,將被捕獲的關鍵字以萬用字元形式返回。 $mode(N) 函數 【作用】 當某個閒聊室的內容被更改時,返回符合指定條件的受影響的暱稱。 【說明】 $mode()函數有八個內容——「op」、「deop」、「ban」、「unban」、「voice」、「devoice」、「help」和「dehelp」。 【注意】 * $mode()函數只能用於類似於「ON OP/ON DEOP」的事件裡。 【舉例】 $mode(0).op,將返回被加帽的總暱稱數 $mode(1).op,將返回第一個被加帽的暱稱 $nick 函數 【作用】 返回觸發事件者的暱稱。 $numeric 函數 【作用】 返回當前Numeric事件(即RAW事件)的數位標號(Numeric)。 $script 函數 【作用】 返回當前Remote事件所處的指令碼檔案名。 $script(N/filename) 函數 【作用】 返回指定的已載入指令碼的檔案名。如果已經指定一個檔案名,當這個文件文件尚未載入時則返回「$null」,反之返回「$true」。 $site 函數 【作用】 返回事件觸發者的IP位址(即$address函數返回值的「@」號後面的部分)。 $target 函數 【作用】 返回當前Remote事件所作用的目標。 $ulevel 函數 【作用】 返回被當前Remote事件所捕獲的用戶等級(User level)。 $ulist(nick!userid@address, L, N) 函數 【作用】 返回在自訂用戶列表(Users list)裡符合指定位址的第N個位址。 【說明】 位址nick!userid@address可以使用萬用字元,如果沒有給全訊息,則剩下的部分將以「*」來替代。 參數「L」是指定用戶等級;參數「N」是指定符合條件的第N個位址。L和N都是可選項,但如果指定了L,則必須也同時指定N。 $wildsite 函數 【作用】 以「*!*@host.domain」的形式返回觸發事件者的位址。 |
送花文章: 3,
|
2005-04-26, 06:50 PM | #18 (permalink) |
榮譽會員
|
mIRCBOT函數
視窗函數 $active 函數 【作用】 返回mIRC裡當前內部視窗的名稱。 $appactive 函數 【作用】 判斷mIRC是否是WINDOWS裡的當前視窗。 【說明】 如果是,則返回「$true」,否則返回「$false」。 $appstate 函數 【作用】 返回mIRC視窗在WINDOWS裡的顯示狀態,是最小化(Minimized)、最大化(Maximized)、普通(Normal)、隱藏(Hidden)還是在系統托盤裡(Tray)。 $chan(N/#) 函數 【作用】 返回你當前所處的指定閒聊室的相關資訊。 【說明】 $chan()有八個內容,分別是「topic」(房間主題)、「mode」(房間模式)、「key」(房間密碼)、「limit」(房間限定人數)、「ial」(房間的IAL列表是否完全)、「logfile」(房間的記錄檔案名)、「stamp」 (房間的時間戳是否已開啟)和「banlist」(房間的BANLIST列表是否已獲取完全)。 【舉例】 $chan(0),將返回你當前所在的總的閒聊室數目 $chan(1).topic,將返回你當前所在第一個閒聊室的主題 $chan(#Chat).mode,將返回閒聊室#Chat的房間模式(你必須同時也在#Chat裡) $chan(1).ial,如果你你已獲取當前所在的第一個閒聊室的所有人的IAL列表,則返回「$true」,否則返回「$false」 $chat(N/nick[,N]) 函數 【作用】 返回指定的DCC視窗的相關資訊。 【說明】 $chat()有四個內容,分別是「ip」(對方的IP位址)、「status」(狀態)、「logfile」(DCC Chat的記錄檔案名)和「stamp」(DCC Chat的時間戳是否已開啟)。 【舉例】 $chat(0),將返回你當前所開啟的DCC Chat的總數目 $chat(1).ip,將返回現用的第一個與你進行DCC Chat者所在的位址 $chat(TigTag).logfile,將返回與TigTag進行DCC Chat時記錄文件的完整名稱 $fserv(N/nick[,N]) 函數 【作用】 返回指定的文件服務器(FServes)的相關資訊。 【說明】 $fserv()有三個內容,分別是「ip」(對方的IP位址)、「status」(狀態)、「cd」(當前目錄)。 【舉例】 $fserv(0),將返回你當前所開啟的文件服務器的總數目 $fserv(1),將返回你當前所開啟的第一個文件服務器的名字 $fserv(2).cd,將返回你當前所開啟的第二個文件服務器的當前路徑 $get(N/nick[,N]) 函數 【作用】 返回指定的DCC接收文件視窗的傳送者暱稱、傳送的檔案名以及其它相關資訊。 【說明】 $get()有九個內容,分別是「ip」(對方的IP位址)、「status」(狀態)、「file」(對方發過來的文件)、「path」(文件的路徑)、「size」(文件的大小)、「rcvd」(已接收的位元組)、「cps」(傳送速率)、「pc 」(已接收文件的百分比)和「secs」(雙方已建立連接的秒數)。 【舉例】 $get(0),將返回你現用的DCC接收文件視窗的總數目 $get(2).rcvd,將返回你現用的第二個DCC文件的已接收位元組 $get(2).ip,將返回給你傳送第二個DCC文件的人的位址 $query(N/nick) 函數 【作用】 返回指定的密聊小視窗的相關資訊。 【說明】 $query()有三個內容,分別是「addr」(對方的位址)、「logfile」(密聊小窗的記錄檔案名)和「stamp」(密聊小窗的時間戳是否已開啟)。 【舉例】 $query(0),將返回你現用的總的密聊小窗數目(DCC視窗除外) $query(2),將返回現用的第二個與你進行小窗密聊的暱稱 $query(TigTag).logfile,將返回與TigTag進行小窗密聊時記錄文件的完整名稱 $send(N/nick[,N]) 函數 【作用】 返回指定的DCC傳送文件視窗的接收者暱稱、傳送的檔案名以及其它相關資訊。 【說明】 $send()有九個內容,分別是「ip」(對方的IP位址)、「status」(狀態)、「file」(發給對方的文件)、「path」(文件的路徑)、「size」(文件的大小)、「sent」(已傳送的文件位元組)、「lra」(已接收的Las t Received Ack)、「cps」(傳送速率)、「pc」(已傳送文件的百分比)和「secs」(雙方已建立連接的秒數)。 【舉例】 $send(0),將返回你現用的DCC傳送文件視窗的總數目 $send(2).ip,將返回你現用的第二個DCC文件的已接收位元組 $send(TigTag).status,將返回該傳送文件視窗是處在「啟動」(active)、「非啟動」(inactive)或是「等待」(waiting)狀態 |
送花文章: 3,
|