跳轉到

身分組領取

指令:/rolepanel
權限需求:管理身分組 Manage Roles

在頻道放一則面板訊息,成員自己點按鈕、下拉選單或表情反應就能領取身分組,不用管理員一個一個手動指派。

只能開放位階低於機器人的身分組

Discord 規定機器人只能指派位階比自己低的身分組。加入面板時機器人會先幫你檢查,位階太高會直接擋下並提醒你去「伺服器設定 → 身分組」把機器人拖高一點。
另外整合功能管理的身分組(Twitch 訂閱同步、其他機器人的身分組)沒辦法手動指派,不能放進面板。

總開關

功能本身要不要執行,是用 /settings enable|disable role_panel 控制(見群組功能開關),預設為未啟用。停用時成員點面板不會有任何反應。

三種領取方式(style)

樣式 領取方法 上限 備註
按鈕 點一下領取、再點一下移除 25 個 最直觀,預設值
下拉選單 選起來的就是你想持有的,可複選 25 個 身分組多的時候版面乾淨,可以附選項說明
表情反應 按 emoji 領取、收回 emoji 移除 20 個 舊式做法,每個身分組都必須設定 emoji

按鈕與選單的結果會用只有自己看得到的訊息回覆;表情反應沒有這種機制,所以結果改用私訊通知(關閉私訊的話就收不到,但身分組還是會正常異動)。

兩種領取規則(mode)

這是面板層級的設定:

規則 說明
自由領取/取消 每個身分組互不影響,想要幾個都行。預設值
單選互斥 一次只能持有一個,領取新的會自動移除同一面板的其他身分組。適合顏色、地區這種只能選一個的

領一次還是可以切換(claim)

這是每個身分組各自的設定,所以同一個面板裡可以混用——例如「規則同意」領了就不該退,「興趣身分組」要能自由切換:

設定 說明
可以切換 領取後成員能自己取消。預設值
領一次 領取後成員不能自己取消,要請管理員手動移除

面板上會用 🔒 標出哪些是「領一次」,成員領之前就看得到。

emoji 可以用自訂的嗎

可以,內建(Unicode)emoji 與伺服器自訂 emoji 都支援,三種樣式都一樣。兩邊都不用自己記格式:

  • 指令:/rolepanel add 的 emoji 欄位會跳出自動完成,直接從伺服器的自訂 emoji 清單選;內建 emoji 則直接打字或用 emoji 鍵盤輸入。
  • 平台後台:emoji 欄位可以直接貼上(內建 emoji 用系統的 emoji 鍵盤,Windows 是 Win+.),也可以點「挑選」打開選擇器,裡面有常用的內建 emoji 與這個伺服器的自訂 emoji。兩種方式都會即時顯示預覽。

後台看不到剛加的自訂 emoji?

後台的清單讀的是快取,在你驗證伺服器或按「同步」時更新。伺服器剛新增 emoji 的話,到 Discord 機器人設定 的伺服器卡片按一次「同步」就會出現。

自訂 emoji 必須是機器人看得到的

機器人只能使用它所在伺服器的自訂 emoji。用了看不到的 emoji,面板上那個位置會變空白;所以 /rolepanel add 會先檢查,找不到會直接擋下並提醒。

手動填也還是可以,<:名稱:ID>、<a:名稱:ID>(動態)、:名稱:ID、純 ID 這幾種寫法都吃得下。

領一次 × 單選互斥

如果成員在單選互斥的面板裡已經持有一個「領一次」的身分組,那他就不能改選同一面板的其他身分組了——因為舊的移不掉,換過去會變成同時持有兩個、違反單選的前提。這種情況機器人會直接擋下並說明原因,需要更換請管理員手動處理。

表情反應樣式下,emoji 就是成員看到的狀態,所以被擋下來時機器人會把 emoji 修回去:收回「領一次」的 emoji 會被補回去(因為身分組還在),被單選互斥擋下的 emoji 則會被收回(因為沒領到)。

指令

面板編號不用自己記

所有要填 id 的指令,打開欄位就會跳出這個伺服器已經建立的面板清單(含樣式、身分組數量、有沒有發佈),直接選就好,不用先跑 /rolepanel list 去抄編號。輸入文字可以用編號或標題過濾。

  • /rolepanel create <title> [style] [mode] [description]:建立面板
  • /rolepanel list:列出所有面板
  • /rolepanel show <id>:查看面板設定與項目(會標出機器人指派不動的身分組)
  • /rolepanel add <id> <role> [label] [emoji] [claim] [description] [sort]:加入一個可領取的身分組(claim 就是上面的領一次/可切換,對同一個身分組再跑一次可以改設定)
  • /rolepanel remove <id> <role>:把身分組從面板移除
  • /rolepanel edit <id> [title] [description] [style] [mode] [active]:修改面板設定
  • /rolepanel post <id> [channel]:發佈面板,留空頻道則更新原本那則訊息
  • /rolepanel delete <id>:刪除面板設定

建立一個面板

  1. /rolepanel create title:興趣身分組 style:按鈕 mode:自由領取/取消
  2. /rolepanel add id:1 role:@繪師 emoji:🎨(重複這步加入其他身分組;要領了不能退就加 claim:領一次)
  3. /rolepanel post id:1 channel:#身分組
  4. 如果還沒開,記得 /settings enable role_panel

改設定會直接更新原本那則面板訊息

用 add、remove、edit 改完之後,機器人會順手更新已經發出去的那則面板訊息,面板連結不會失效、也不用重新發一則。只有換頻道時才會發新的訊息。

在平台後台操作

同樣的面板也可以在 Nekolive 平台後台的 Discord 機器人設定 → 身分組領取 建立與編輯:身分組從下拉選單挑(列出的是快取裡可指派的身分組),填好之後按「發佈」指定頻道即可。兩邊改的是同一份資料。

後台的身分組選單如果是空的,請先到「同步身分組」頁面按一次同步,把伺服器的身分組清單抓下來。