等級與經驗值
在頻道裡寫下的每則訊息可獲得 15 到 25 點經驗值,隨機抽取。
每位成員每分鐘只計一次:連發十則訊息,拿到的不會比一則多。
機器人、私訊和系統訊息(加入、釘選)不會產生任何經驗值。
從等級 L 升到下一級需要 5 × L² + 50 × L + 100 點經驗值。
因此每上一級代價都會提高,而資料庫只存累計經驗值:等級是由它推算出來的。
最後一欄假設的是一場普通對話,以平均值計算。它給出的是數量級,實際所需時間取決於訊息之間隔多久,因為計數器每分鐘只保留一次。
每次升級時,機器人會在寫下那則訊息的頻道回應。
這則公告在控制台中設定:嵌入訊息或純文字、標題、說明、顏色,除了常用變數外還可以使用
{level} 和 {xp}。機器人無法發言的頻道不會擋住什麼:等級照樣拿到,只是公告發不出去。
這個模組預設開啟。關掉它會停止經驗值與公告,但不會刪除任何東西:
排行榜留在資料庫裡,重新開啟的那一刻完好如初。要修正個別情況,
/xp 可以增加、扣除或直接設定某位成員的經驗值;
/rank 和
/leaderboard 用來查看結果。
處分、歷史紀錄與註記
機器人做出的每一次處分都會被記錄:停權、暫時停權、踢出、禁言、警告,甚至包括解除
(解除停權、撤銷警告)。每一筆都會取得自己的十二位編號。
先後順序並非無關緊要。私訊在處分之前寄出,停權之後,機器人與此人不再共處同一伺服器,也就無法再寫訊息給對方。
而紀錄則在呼叫 Discord 之前完成,好讓編號先存在;若 Discord 拒絕該操作,紀錄會被回復,
檔案裡不會留下一筆幽靈處分。
暫時停權會為自己排定解除時間。到期時,機器人會確認這次停權期間沒有被管理員重新施加:
如果被重新施加了,它就不解除。期間執行的永久 /ban 會取消已排定的解除。
註記(/note,每次處分最多 25 則)絕不會給
相關成員看到:它們是為了管理員之間的溝通,幾個月後,當沒有人還記得來龍去脈的時候。
門口的防護
三套彼此獨立的機制,可以疊加,也可以單獨使用:
-
驗證碼:成員抵達時必須解開一道題目才能拿到身分組。
預設為:3 次嘗試、5 分鐘,失敗就踢出。請求透過私訊寄出;
若成員關掉了私訊,機器人會在你指定的分類下建立一個臨時驗證頻道,只有他本人看得到,之後刪除。
-
透過網站驗證:成員按下一個按鈕,在網站上完成,回來時就拿到身分組。
這裡機器人本身不給予任何東西:是網站向 Discord 查核身分,然後才指派身分組。
-
防突襲:它針對的不是個人,而是流量。在 10 秒內超過 8 次加入(預設值),
它會發出警報、隔離或踢出。帳號年齡篩選可以讓被捲進浪潮的老成員通行。
隔離身分組是這三者的共同點:在成員抵達時施加,限制新來者看得到和做得到的事,
通過驗證後就移除。只要它還在,主導權就在你手上,沒有什麼能阻止你手動放行某個人。
客服單
一個張貼在頻道裡的面板,最多 25 種需求類型(Discord 下拉選單的上限),
每一種都有:自己的表情符號、顏色、歡迎訊息、開單表單,以及能夠存取它的團隊。
開單會在提出者與該團隊之間建立一個私人頻道。結案時,對話會以 HTML 封存到封存頻道,頻道消失之後,交流內容依然讀得到。
音樂與 DJ 身分組
播放仰賴專門的音訊基礎設施。若它無法使用,音樂指令會照實說明,
機器人的其餘一切照常運作。
控制當前播放的那些指令(/pause、/resume、 /stop、/loop、/volume)僅限 DJ。DJ 指的是:
伺服器擁有者、管理員、持有「管理伺服器」權限的成員,或持有由
/dj add 加入之身分組的成員。因此,只要還沒設定 DJ 身分組,
這些指令就只回應上述那三種人。工作人員身分組是另一份清單:它們不會給予 DJ 身分。
唯讀的指令(/queue、/nowplaying、/lyrics)
以及加入曲目(/play)對所有人開放。
抽獎
可接受的時長:從 10 秒到 28 天,寫法自由
(30m、1h30m、2d)。每個伺服器最多 20 場
進行中的抽獎,每次開獎最多 20 位獲獎者。
開獎一律由機器人執行,絕不由網站執行:只有它能在開獎的當下確認獲獎者仍在伺服器上,
而且持有參加時所需的身分組。若沒有人出面領取,/giveaway reroll 可以重抽。
紀錄
21 種事件,分成 5 個類別(訊息, 成員, 管理, 語音, 伺服器),每一種都可以單獨開關。
每個類別都能指向自己的頻道:管理在一邊,訊息在另一邊。
訊息內容從不寫入資料庫。某則訊息被刪除時,機器人會在你指定的頻道張貼一則
嵌入訊息,就只有這樣。由機器人自己執行的動作(透過 /ban 的停權)只會記錄一次,
由指明管理員的管理紀錄負責。
備份
一次備份會為伺服器的結構拍下快照(身分組、頻道、權限)並回傳一組私人編號,透過私訊寄出。每位擁有者可保留 3 份備份。它不含任何訊息:
它不是聊天紀錄。這組編號會把這套結構還原到目前的伺服器,因此把它匯入別處也能複製一個伺服器。
臨時語音頻道
加入觸發頻道,就會建立一個由該成員擁有的頻道:他可以重新命名、限制存取,或設定人數上限。
頻道一空就消失,不必做任何清理。