迎新功能用來歡迎進入頻道的人。一次歡迎由面向不同讀者的兩個部分組成:整個聊天室都會讀到的一行短句,以及只引導新人、別人看不到的私訊內容。
兩個部分
| 設定項目 | 誰會讀到 | 何時 |
|---|---|---|
public_greeting |
頻道裡的所有人 | 只有這個機器人在這裡第一次遇到這個暱稱時 |
greeting |
只有新人 | 重複時間窗允許的每一次加入 |
onboarding_1 … onboarding_4
|
只有新人 | 重複時間窗允許的每一次加入 |
visitor_greeting |
只有訪客 | 訪客每次開啟頻道時 |
farewell |
取決於 farewell_delivery | 離開時 |
如何設定
/bot set <name> public_greeting <text> /bot set <name> greeting <text> /bot set <name> onboarding_1 <text> /bot set <name> onboarding_2 <text> /bot set <name> greeting_delivery private_notice /bot set <name> onboarding_delivery private_notice /bot set <name> greeter_repeat_window 43200 /bot set <name> farewell none
它們都接受 none 來清除。被清除的行會被跳過,所以只有問候語的機器人行為和以前完全一樣。引導訊息是編號的而不是附加的:把 onboarding_2 設定兩次會替換它,這正是讓一份佈建腳本可以被反覆貼上的原因。
機器人如何迎接訪客
沒有帳號的訪客可以閱讀頻道。 他們無法加入頻道,也無法在其中輸入訊息。 訪客不會收到 greeting 或 onboarding_1 … onboarding_4。 有訪客進入頻道時,頻道內不會有任何訊息。 設定 visitor_greeting 來歡迎他們。 只有該訪客看得到。 每次他們開啟頻道時都會傳送。 在設定之前,沒有機器人會歡迎訪客。
/bot set <name> visitor_greeting <text>
送達方式
| 模式 | 效果 |
|---|---|
public |
頻道裡的一則訊息。會保留在歷史記錄中。 |
channel_notice |
頻道裡的一則通知。會保留在歷史記錄中。 |
private_notice |
只有新人能在該頻道檢視中看到的通知。不會保留在歷史記錄中。 |
silent |
不傳送任何內容。 |
greeting_delivery 管的是問候語;onboarding_delivery 管的是編號的那幾行,未設定時會沿用 greeting_delivery。public_greeting 一律是公開的——它本來就是為此而存在的。
誰算是新人
機器人會記錄它在每個頻道歡迎過誰,這份記錄在重新啟動後仍會保留。從未見過的人會收到公開的那一行和私訊的幾行。距離上次見面超過 greeter_repeat_window 秒的人會再次收到私訊內容,但聊天室不會被重複通知。剛剛還在這裡的人什麼也不會收到。
重複時間窗為 0 表示沒有時間窗:私下訊息在每次加入時都會發出。公開的一行仍然是每人僅發一次,永遠如此。
佔位符
每一行都接受 {nickname} 表示加入的人、{channel} 表示房間、{botname} 表示機器人、{prefix} 表示它的命令前綴。這些行同樣接受 IRC 格式跳脫:\c04 紅色、\b 粗體、\o 重設。
讓聊天室保持易讀
每個頻道只應有一個機器人負責迎新。兩個迎新機器人會把每位新人歡迎兩次,這也是為什麼每個聊天室都有的機器人會被設成 greeting none。公開的那一行請保持一句話:它是整個聊天室唯一會讀到、也是唯一會留下來的部分。新人需要了解的一切都屬於私訊的那一半。