OP-yc 使用者說明: Version 0.99, Patch 0

[ 主要差異 | 基本說明 | 命令介紹 | 變數組態 | 必踢名單 | 禁語設定 | 其他資訊 | 常用技巧 ]

主要差異

本版 OP-yc 與上一版之主要差異在於

基本說明

OP-yc 是專為椰林 BBS 聊天室設計的機器人程式,本文件之用途為介詔 OP-yc 之使用方法及各項指令和參數。

使用者密碼

所有 OP-yc 之使用者,均需擁有使用者密碼,以方便 OP-yc 在接受指令時,除利用呼叫者的聊天室名稱 (name) 和椰林帳號 (ID) 來認證以外,另外再進行密碼的辨識。使用者密碼,將在本文其他部分,都以 <密碼> 來代表。

使用方式

OP-yc 使用椰林聊天室的訊息傳送功能 (/m),接受使用者的悄悄話。在接受傳送的訊息之後,進行使用者認證,然後執行工作。OP-yc 的命令格式為:

/m OP-yc <密碼> <命令> <子命令或參數> <參數> <參數> ...
例如以下的指令:
/m OP-yc abcd Set Welcome 0
如果是由使用者密碼為 abcd 的使用者下達的話,可將 OP-yc 的 Welcome 變數設定成 0。

命令介紹

OP-yc 的命令分為七大類,分別為:

EdBuf      編輯緩衝區之處理。
Do      要求 OP-yc 在聊天室說話或做動作。
MDo      要求 OP-yc 在聊天室說多句話或做多個動作。
Get      向 OP-yc 詢問內部之變數組態,必踢名單或禁語設定。
Set      設定 OP-yc 內部之變數組態。
Add      加入項目到必踢名單或禁語設定中。
Del      刪除必踢名單或禁語設定中之項目。

EdBuf

EdBuf 為「編輯緩衝區」。

因為椰林聊天室的輸入長度限制,使得很多功能都無法任意使用,因此有了 EdBuf 的設計。EdBuf 的目的,在於讓使用者可以用一致的方式,輸入各項超過長度限制的內容。使用者在本版本,有 9 個編輯緩衝區可以使用,除了核心使用者以外,其他使用者的緩衝區是共用的。

緩衝區的命令格式為:

/m OP-yc <密碼> EdBuf <子命令> <緩衝區編號(1-9)> <參數> ...

EdBuf 有四項子命令,表列如下:

Clear      清除緩衝區內容。
App      將內容增加到緩衝區中。
Show      顯示緩衝區內容。
GetCmd      把 "固定命令" 複製到指定的緩衝區之中。
FromGrt      把招呼語項目複製到指定的緩衝區之中。
ToGrt      把緩衝區內容複製到指定的招呼語項目之中。
ShowGrt      顯示指定或全部的招呼語。

Clear

Clear 是用來清除指定的緩衝區內容,使用方法如下:

/m OP-yc <密碼> EdBuf Clear <緩衝區編號(1-9)>
例如:
/m OP-yc <密碼> EdBuf Clear 4
將會清除該使用者的緩衝區 4。

App

App (Append) 是用來將內容附加到緩衝區之中,使用方法如下:

/m OP-yc <密碼> EdBuf Show <緩衝區編號(1-9)> <欲加至緩衝區的內容>
例如,連續下達這三行指令:
/m OP-yc <密碼> EdBuf Clear 9
/m OP-yc <密碼> EdBuf App 9 Hello
/m OP-yc <密碼> EdBuf App 9 , world!
將會清除該使用者的緩衝區 9,並將其內容變更為 "Hello, world!"。這裡必須要注意的一點,是內容前後的空格會被清掉,所以一定要有非空格字元,來限制加入內容的是哪些。

Show

Show 是用來顯示指定的緩衝區內容,使用方法如下:

/m OP-yc <密碼> EdBuf Show <緩衝區編號(1-9)>
例如:
/m OP-yc <密碼> EdBuf Show 2
將會清除該使用者的緩衝區 2。

GetCmd

GetCmd (Get Command) 可將 "固定命令" 轉移至指定的緩衝區中,使用方法如下:

/m OP-yc <密碼> EdBuf GetCmd <緩衝區編號(1-9)> <固定命令編號>
例如:
/m OP-yc <密碼> EdBuf GetCmd 8 1
將會把固定命令 1 複製到該使用者的緩衝區 8 中。請參考固定命令之說明。

FromGrt

FromGrt (To Greeting) 可將招呼語項目轉移至指定的緩衝區中,使用方法如下:

/m OP-yc <密碼> EdBuf FromGrt <緩衝區編號(1-9)> <招呼語編號>
例如:
/m OP-yc <密碼> EdBuf FromGrt 9 2
將會把招呼語 2 複製到該使用者的緩衝區 9 中。請參考招呼語之說明。

ToGrt

ToGrt (To Greeting) 可將緩衝區轉移至指定的招呼語項目中,使用方法如下:

/m OP-yc <密碼> EdBuf ToGrt <緩衝區編號(1-9)> <招呼語編號>
例如:
/m OP-yc <密碼> EdBuf ToGrt 9 3
將會把該使用者的緩衝區 9 複製到招呼語 3 中。請參考招呼語之說明。

ShowGrt

ShowGrt (Show Greeting) 可顯示指定或全部的招呼語,使用方法如下:

/m OP-yc <密碼> EdBuf ShowGrt <招呼語編號(1-9) 或 0 顯示全部>
例如:
/m OP-yc <密碼> EdBuf ShowGrt 3
就會顯示招呼語 3 。請參考招呼語之說明。

Do

Do 指令的用途非常簡單,就是要求 OP-yc 直接將後面的參數,輸入到聊天室系統中,就像是 OP-yc 自己在鍵盤上輸入一樣。Do 指令的使用方法是:

/m OP-yc <密碼> Do <說的話或做的事>
例如:
/m OP-yc <密碼> Do 您好,我是機器人!
OP-yc 就會在聊天室中,說出 "您好,我是機器人!" 這句話。或是
/m OP-yc <密碼> Do /a 大喊:大家好~~~
就會讓機器人做 "大喊:大家好~~~" 這個動作 (/a)。

MDo

MDo 的意思是 Multi-Do,就是一次要求 OP-yc 在聊天室進行多項行為。和 Do 最大不同的地方,是 MDo 後面接的指令,會經過各種處理,以達到各種需求。

既然要能夠一次執行多項行為,就要有個方法來讓機器人把後面接的指令分隔開來,因此,在這裡介紹的第一個字元是分號 (;)。OP-yc 會用 ; 來隔開多個指令,然後一項一項地進行處理。基於 MDo 後面接的指令有或沒有用分號隔開,可以分為兩大情形:

  1. 沒有分號在指令中
    表示事實上只有一個指令,在此情形下,MDo 的命列格式為
    /m OP-yc <密碼> MDo <說的話或做的事>
    在這個情形下,OP-yc 做的事,原則上和使用 Do 指令一樣,但是差別在於,後面接的內容,會先經過下面會介紹的參數展開 ($<n>),緩衝區展開 (%<n>) ,固定命令展開 (&<n>),招呼語展開 (#<n>) 或亂數重複展開 (*<n1><n2><n3><內容>)的處理。因此,如果要借用這些展開處理來執行命令的話,就需要使用 MDo 命令。
  2. 有分號在指令中
    表示有一個或多個指令,在此情形下,MDo 的命列格式為
    /m OP-yc <密碼> MDo <給後面的指令使用的參數列>;<指令>;<指令>...
    ; 將輸入分隔後,第一個部分和其後的部分是屬於不同的類別,第一個部分將被視為給後面的部分使用的參數列。這個參數列,將會以空格再被分開成為數個片段,編號為 1, 2, 3, ...。在後面的指令中,如果使用了 $<n>,就會進行參數展開。例如,如果第一個部分是
    pA pB pC
    的話,就是提供了後面的指令三個參數,分別是參數 1: pA,參數 2: pB和參數 3: pC。如果此時,我們事實上想要 pA pB 是一個參數,而 pC 是另一個 (也就是只有兩個參數,但第一個參數內含空格) 時,使用 == 可讓緊接在後的空格被視為非分隔字元。例如
    pA== pB pC
    的話,就是提供了後面的指令兩個參數,分別是參數 1: pA pB和參數 2: pC

參數展開 ($<n>)

如果使用者在 MDo 的指令 (即除去參數列串以外的部分) 中,使用了 $<n> 的話,這些地方就會以下列的方式展開:

$1.. $9
將使用者參數列中指定的參數,在此處展開。
$0 或 $N
將 OP-yc 當時的聊天名稱,在此處展開。
$R
將 OP-yc 當時所在的的聊天室名稱,在此處展開。

例如:這樣的指令,

/m OP-yc <密碼> MDo yc;我是在 $R 聊天室中的 $N,$1 您好!
就會讓 OP-yc 說出 "我是在 414r 聊天室中的 OP-yc,yc 您好!",因為此時的代換為:$1=yc, $N=OP-yc, $R=414r

緩衝區展開 (%<n>)

如果使用者在 MDo 的指令 (即除去參數列串以外的部分) 中,使用了 %<n> 的話,這些地方就會將使用者自己的編輯緩衝區 (EdBuf) 在該處展開,並繼續處理。

假設使用者 EdBuf 7 中的內容,就是 "我是在 $R 聊天室中的 $N,$1 您好!",那麼下面的指令,

/m OP-yc <密碼> MDo yc;%7
就會先展開成
/m OP-yc <密碼> MDo yc;我是在 $R 聊天室中的 $N,$1 您好!
然後一樣讓 OP-yc 說出 "我是在 414r 聊天室中的 OP-yc,yc 您好!"。

固定命令展開 (&<n>)

原則上和緩衝區展開相同,只不過展開的內容是 "固定命令" 而非使用者的編輯緩衝區。請參考固定命令之說明。

招呼語展開 (#<n>)

原則上也和緩衝區展開相同,只不過展開的內容是招呼語而非使用者的編輯緩衝區。請參考招呼語之說明。

亂數重複展開 (*<n1><n2><n3><內容>)

如果使用者在 MDo 的指令 (即除去參數列串以外的部分) 中,使用了 *<n1><n2><n3><內容> 的話,OP-yc 就會先計算

<N> = <n1> x 10 + <n2>
然後選定一個 <1>... <N> 之間的亂數,比方 <M>,然後在該處重複 <M> 次,從其後之內容中,取出的長度為 <n3> 的字串。

例如:這樣的指令,

/m OP-yc <密碼> MDo yc;$1, What*031zup!
就會讓 OP-yc 說出 "yc, Whatzup!", "yc, Whatzzup!", "yc, Whatzzzup!" 其中一句。

逸出字元處理

由於以上的功能,使得 ;$%&#* 變成特殊字元。如果使用者不想讓這些特殊字元,被當成上面的意義來處理的話,只需要在前面加 = 即可. 例如:=&2 就會是 "&2" 而不是固定命令 2 的展開結果。如果需要 = 的話,就再加上一個 = 成為 ==,這樣就會被解釋成 =

Get

Get 是用來向機器人詢問目前的變數組態必踢名單禁語設定。以下是各項用法:

變數組態

用 Get 來詢問變數組態時,其命令格式如下:

/m OP-yc <密碼> Get <變數名稱> [<取得某些資訊時需要的參數>]
請參考變數組態中,有關可詢問及取得的變數名稱。

例如:

/m OP-yc <密碼> Get OpenSesame
可以取得目前 Open Sesame 功能是否有開放。

必踢名單

用 Get 來取得必踢名單時,其命令格式如下:

/m OP-yc <密碼> Get <必踢名單名稱>
請參考必踢名單中,各項名單的說明。

例如:

/m OP-yc <密碼> Get MustKL
可以取得目前在聊天名稱必踢名單上的人。

禁語設定

用 Get 來取得禁語設定時,主要有兩種功能,一種是將禁語設定列出在螢幕上 (以傳送訊息的方式),另一功能則是將特定的禁語設定項目,複製進自己指定的編輯緩衝區中。其命令格式分別如下:

請參考禁語設定中,各項禁語設定的說明。

例如:

/m OP-yc <密碼> Get REKL
可以取得對於 "任何人,RegEx 必踢" 的列表。而:
/m OP-yc <密碼> Get REKLeb 4 5
會將現在對於 "任何人,RegEx 必踢" 的第 4 項,複製到使用者的 EdBuf 5 中。使用者可以利用 EdBuf 的 Show 指令,將完整的該項禁語設定列印在螢幕上。

Set

Set-變數組態

用 Set 來詢問變數組態時,其命令格式如下:

/m OP-yc <密碼> Set <變數名稱> <欲設定的變數值>
請參考變數組態中,有關可設定的變數名稱。

例如:

/m OP-yc <密碼> Set Welcome 0
就可以將 OP-yc 設定為不對進聊天室的人打招呼。

Add

Add 是用來處理 OP-yc 的必踢名單禁語設定。以下是各項用法:

必踢名單

用 Add 來將聊天名稱 (name) 或 BBS 帳號 (id) 加入必踢名單時,其命令格式如下:

/m OP-yc <密碼> Add <必踢名單名稱> <欲加入的名稱或 ID>
請參考必踢名單中,各項名單的說明。

例如:

/m OP-yc <密碼> Add MustKL yc
可以將 yc 加入聊天名稱必踢名單。

禁語設定

用 Add 來增加禁語設定時,主要有兩個方式,一是將禁語設定直接打字加入,二則是把自己指定的編輯緩衝區的內容,增加到禁語設定中 (通常是因為要增加的內容過長,而必須使用這個方式)。其命令格式分別如下:

請參考禁語設定中,各項禁語設定的說明。

例如:

/m OP-yc <密碼> Add SubStrKL 啾啾
就可以設定,任何人說的話中,只要含有 "啾啾" 二字就會被踢。而
/m OP-yc <密碼> Add SubStrKLeb 6
則會將使用者的 EdBuf 6 當做欲加入的內容,加進 "任何人,子字串必踢" 的名單中。

Del

Del 是用來處理 OP-yc 的必踢名單禁語設定。以下是各項用法:

必踢名單

用 Del 來刪除必踢名單中的項目時,其命令格式如下:

/m OP-yc <密碼> Del <必踢名單名稱> <欲刪除的名稱或 ID>
請參考必踢名單中,各項名單的說明。

例如:

/m OP-yc <密碼> Del MustKLID GEC
可以將 GEC 由 ID 必踢名單中刪除。

禁語設定

用 Del 來刪除禁語設定時,主要有兩個方式,一是將禁語設定直接以內容刪除,二則是把自己指定項目編號來刪除。(通常一樣是因為內容過長,而必須使用這個方式)。其命令格式分別如下:

請參考禁語設定中,各項禁語設定的說明。

例如:

/m OP-yc <密碼> Del SubStrKL 啾啾
就可以設定,任何人說的話中,只要含有 "啾啾" 二字就會被踢。而
/m OP-yc <密碼> Del SubStrKLeb 6
則會將使用者的 EdBuf 6 當做欲加入的內容,加進 "任何人,子字串必踢" 的名單中。

變數組態

變數組態主要提供 OP-yc 目前的狀態資訊以及部分的行為設定,主要分為唯讀資訊可讀寫設定

唯讀資訊

唯讀資訊提供的是 OP-yc 的狀態資訊,是無法由使用者設定或改變的。唯讀資訊的取得方式,可使用 Get 命令:

/m OP-yc <密碼> Get <資訊名稱>

唯讀資訊有以下的項目:

Version

正在執勤之 OP-yc 的版本編號。

Patch

正在執勤之 OP-yc 的 Patch Level。

Name

正在執勤之 OP-yc 的聊天名稱 (參數展開 中,使用 $0 或 $N 會展開的內容)。

Room

正在執勤之 OP-yc 所在的聊天室名稱 (參數展開 中,使用 $R 會展開的內容)。

StartTime

正在執勤之 OP-yc 的開始執行時間 (該主機之時間)。

NowTime

正在執勤之 OP-yc 所在的主機目前時間。

ElapsedTime

正在執勤之 OP-yc 於開始執行後經過的時間。

可讀寫設定

OP-yc 部分的行為,可經由可讀寫設定來改變或決定。使用者可利用 Get 命令來取得設定:

/m OP-yc <密碼> Get <設定名稱>

並使用 Set 命令來改變設定:
/m OP-yc <密碼> Set <設定名稱> <設定值>

可讀寫設定有以下的項目:

Welcome

OP-yc 是否在有人進入聊天室時打招呼?

RandomGreet

OP-yc 如何使用亂數招呼功能?

OpenSesame

Open Sesame 的功能是否開放?

KickoutDuplicate

OP-yc 是否要踢連續重覆說三次同一句話的人?

KickoutChangeName

OP-yc 是否要踢連續改變三次聊天名稱的人?

KickoutSpeakOrAction

OP-yc 是否要踢洗螢幕的人?

KSUnpostedCount

當禁語設定有所改變,每一次的增減,這個計數器都會加一。使用者可以詢問目前的計數為何,也可以直接設定計數值 (通常是做為歸零之用)。

KSPostThreshold

當上述之禁語設定改變計數器,數字超過此一門檻時,機器人就會在每天早上的五點鐘 (以其所在的主機時間為準),將禁語設定自動公告於椰林專業聊天團隊 討論區中。

必踢名單

必踢名單雖然叫做 "必踢",但內容並不純然都是用來踢人的,也有相反的絕不踢名單。簡單而言,必踢名單中,包含有聊天名稱 (NAME) 或 BBS 帳號 (ID),以做為處理的依據。

由於椰林聊天室系統對 ID 處理有問題,網友的 ID 常常被截短 (例如:Drifter -> Drif),因此在設定 ID 項目時,最好把所有的可能性都輸入,比方 Drifter,就最好 Drifter, Drifte, Drift, Drif 都加進去。依照目前的經驗而言,ID 似乎還沒被截短到三個字元過。

使用者可利用 Add 命令,來新增項目到名單中,格式如下:

/m OP-yc <密碼> Add <必踢名單名稱> <欲加入的名稱或 ID>
或是使用 Del 命令,來將現有項目刪除,其格式為:
/m OP-yc <密碼> Del <必踢名單名稱> <欲刪除的名稱或 ID>

此類名單共有五組,分別介紹如下:

NoOSID

NoOSID 是指 "No Open Sesame ID List",此名單內容為 BBS 帳號 (ID)。名列於此名單上的 ID,不管在任何時候,OP-yc 都不會接受其 Open Sesame 的申請。

MustKL

MustKL 是指 "Must Kickout List",此名單內容為聊天名稱 (NAME)。名列於此名單上的名稱,OP-yc 見到就會踢。同時,OP-yc 也不會接受其 Open Sesame 的申請。

MustKLID

MustKLID 是指 "Must Kickout ID List",此名單內容為 BBS 帳號 (ID)。名列於此名單上的 ID,OP-yc 見到就會踢。同時,OP-yc 也不會接受其 Open Sesame 的申請。

NeverKL

NeverKL 是指 "Never Kickout List",此名單內容為聊天名稱 (NAME)。名列於此名單上的名稱,無論什麼情形下,OP-yc 都不會踢 (事實上還是會觸發踢人程序,只是最後會被 override)。

NeverKLID

NeverKLID 是指 "Never Kickout ID List",此名單內容為 BBS 帳號 (ID)。名列於此名單上的 ID,無論什麼情形下,OP-yc 都不會踢 (事實上還是會觸發踢人程序,只是最後會被 override)。

禁語設定

禁語設定是 OP-yc 對網友之發言 (包含動作) 進行檢查,如果有符合的情形發生,就會踢人。

使用者可利用 Add 命令,來增加禁語設定:

以及使用 Del 來刪除禁語設定的項目:

禁語設定共有七類,分別介紹如下:

StrKL (StrKLeb, StrKLn)

StrKL 為 "String Kickout List",此設定之內容為字串。任何人說出的話或做出的動作,如果是完整地符合此設定的任何一項時,OP-yc 就會將其踢出聊天室。

SubStrKL (SubStrKLeb, SubStrKLn)

SubStrKL 為 "Substring Kickout List",此設定之內容為字串。任何人說出的話或做出的動作,如果是 包含有 此設定的任何一項時,OP-yc 就會將其踢出聊天室。

NameStrKL (NameStrKLeb, NameStrKLn)

NameStrKL 為 "(Name, String) Kickout List",此設定之內容為聊天名稱 (NAME) 及其對應字串。指定的網友說出的話或做出的動作,如果是完整地符合此設定中,對應於其的任何一項時,OP-yc 就會將他踢出聊天室。

NameSubStrKL (NameSubStrKLeb, NameSubStrKLn)

NameSubStrKL 為 "(Name, Substring) Kickout List",此設定之內容為聊天名稱 (NAME) 及其對應字串。指定的網友說出的話或做出的動作,如果是 包含有 此設定中,對應於其的任何一項時,OP-yc 就會將他踢出聊天室。

REKL (REKLeb, REKLn)

REKL 為 "Regular Expression (RegEx) Kickout List",此設定之內容為 RegEx。任何人說出的話或做出的動作,如果可以 match 設定的任何一項時,OP-yc 就會將其踢出聊天室。

NameREKL (NameREKLeb, NameREKLn)

NameREKL 為 "(Name, RegEx) Kickout List",此設定之內容為聊天名稱 (NAME) 及其對應 RegEx。指定的網友說出的話或做出的動作,如果可以 match 此設定中,對應於其的任何一項時,OP-yc 就會將其踢出聊天室。

NameRENeverKL (NameRENeverKLeb, NameRENeverKLn)

NameRENeverKL 為 "(Name-Never, RegEx) Kickout List",此設定之內容為聊天名稱 (NAME) 及其對應 RegEx。除了指定的網友以外,任何人說出的話或做出的動作,如果可以 match 此設定中,對應於該網友的任何一項時,OP-yc 就會將其踢出聊天室。

其他資訊

在本節中,將敘述以上各節所遺漏之資訊,因此內容略顯雜亂。

固定命令

為了讓使用者更加方便地操作 OP-yc,於是定義了以下兩個固定命令。使用者可以在 MDo 中使用 &<n> 來叫 OP-yc 做 固定命令展開,或使用 EdBuf 中的 GetCmd 命令,來取用這些固定命令:

  1. ";/f +l;/k $1;/m $N Set OpenSesame 1;/f -t;/t /m $N Open Sesame"
  2. ";/f -l;/m $N Set OpenSesame 0;/f +t;/t /m $N Open Sesame [鎖住]"

固定命令的使用方式,請參照踢人鎖門標準程序中之介紹。

招呼語

除了上述的固定命令,可以用來改變 OP-yc 的招呼語以外,本版 OP-yc 另外定義了以下九項招呼語 (其實只有五項,只是要把所有的字串填滿),以便於執行亂數打招呼的功能:

  1. "/a 大喊:$1您好,歡迎光臨 $R 聊天室!"
  2. "/a 大喊:$1您好,我是管理員 $N,歡迎光臨 $R 聊天室!"
  3. "/a 大喊:$1歡迎!這裡是 $R 聊天室,我是機器人 $N。"
  4. "/a 大喊:$1您今天好嗎?歡迎光臨 $R 聊天室!"
  5. "/a yells: *033yo ! $1 !! What*201zup*051?"
  6. "/a 悄悄告訴$1:加入椰林專業聊天團隊,可以有效防治 SARS 喔!"
  7. "嗨~~ $1!常來椰林專業聊天室,有助身心健康喔!"
  8. "/a 大喊:$1歡迎!這裡是 $R 聊天室,我是機器人 $N。"
  9. "/a 大喊:$1您今天好嗎?歡迎光臨 $R 聊天室!"
以上的內容除了 OP-yc 打招呼時,可藉由設定 RandomGreet 來做亂數招呼功能外,使用者也可以在 MDo 中使用 #<n> 來叫 OP-yc 做 招呼語展開,或使用 EdBuf 中的 FromGrtToGrt 命令,來改變或取得以上的招呼語。

招呼語的使用方式,請參照改變 OP-yc 招呼語中之介紹。

Open Sesame

Open Sesame 是 OP-yc 的芝麻開門功能。目的在聊天室鎖著的情形下,能夠讓網友們自行取得授權。用法是網友們對 OP-yc 送以下的訊息:

/m OP-yc Open Sesame
OP-yc 在進行判斷 (參見必踢名單) 後,就會予以拒絕或邀請。

訊息轟炸防衛機制

為保護自己,如果有使用者在短時間內對 OP-yc 傳送大量訊息的話,OP-yc 的訊息轟炸自動防衛機製便會啟動,包含以下各項:

常用技巧

以下為使用 OP-yc 時,較為常用的複雜技巧介紹。因為太常用,因此部分加以簡化以方便使用者操作。

踢人鎖門標準程序

本節介紹踢人鎖門標準程序以及解鎖標準程序。

鎖門

本聊天室的踢人鎖門標準程序為

  1. 將聊天室上鎖 (/f +l)
  2. 將該踢出去的人踢走 (/k <NAME>)
  3. OpenSesame 設為 1
  4. 把 [開放話題] 取消 (/f -t)
  5. 把話題改為 "/m OP-yc Open Sesame"
以前要一個一個指令下,非常麻煩,現在有了 MDo 功能,就非常方便了。OP-yc 內建的固定命令 1,就是踢人鎖人之標準程序。除了固定命令 1 之外,在 OP-yc 啟動時,也自動地把固定命令 1 和 2 複製到每個使用者的緩衝區 1 和 2 中。所以只要下 (直接使用固定命令)
/m OP-yc MDo <要踢的人>;&1
如果只想進行鎖門標準程序,而沒有要踢人的話,也可以直接下 (直接使用固定命令)
/m OP-yc MDo &1

解鎖

相對於鎖門,解鎖的標準程序是

  1. 將聊天室解鎖 (/f -l)
  2. OpenSesame 設為 0
  3. 開放話題 (/f +t)
  4. 把話題改為 "/m OP-yc Open Sesame [鎖住]"
這個標準程序現在也放進固定命令 2 中了,因此和鎖門一樣,只要執行
/m OP-yc MDo &2
就可以進行整個程序。

改變 OP-yc 招呼語

目前 OP-yc 的招呼語,從原來的 hard-coded 改成以 MDo 執行:產生 1... RandomGreet 之間的亂數 M 然後

<進入者的名字>;#M
有關 ;#M 的部分,請參見招呼語招呼語展開的說明。請使用 EdBufFromGrtToGrt 功能,在自己的緩衝區和招呼語間進行處理,並使用 RandomGreet 來切換要用哪些招呼語來打招呼。