所有文章

在 Discord 經營懸賞板:用 Open、Claimed、Completed 管理狀態

CordBase 團隊

最簡單的 Discord 懸賞機器人,就是一張資料表:一個標題、一個報酬、一個 Open、Claimed 或 Completed 的狀態,再加一個成員欄位記錄是誰接了這份工作。我們做的 CordBase 把這個內建成懸賞板模板,成員用斜線指令發布、接下和查詢懸賞,不用再去改釘選訊息。

今天只是需要一份可以直接貼上的看板?免費的懸賞板模板產生器會幫你做一份依 Open、Claimed 和 Completed 分組的看板。這篇指南接下來會把懸賞放進一張可以用斜線指令搜尋和更新的資料表。

同樣的結構也適用於委託、工作看板和需求佇列。它也有限制:沒有接單按鈕、沒有通知、沒有付款功能。這些下面都會說明,也會講該改用什麼。

最後會得到什麼

  • 一個 /bounty-board 指令,包含 add、query、view、update 和 leaderboard 動作。
  • 每份懸賞一列:標題、說明、報酬(數字)、狀態和負責人(使用者欄位)。常見的需求,也就是使用者名稱、目標、報酬和狀態,都涵蓋了。
  • 依身分組設定誰可以讀取、發布和修改懸賞。
  • 一個任何人都能用一個指令執行的 Open 懸賞查詢。

第 1 步:安裝模板

  1. 到 cordbase.gg 使用 Discord 登入,選好你的伺服器,控制台要求時把機器人加進去。
  2. 打開懸賞板模板,按「使用這個模板」。你需要在選的伺服器上有「管理伺服器」權限。
  3. 資料表會帶有五個欄位:Title(文字,必填)、Description(文字)、Reward(數字,必填)、Status(選項:Open、Claimed、Completed;必填)和 Assigned To(使用者)。

模板寫的是 Completed,不是 Closed。如果你想用 Closed,請在發布任何東西之前打開資料表的編輯頁,修改 Status 的選項。先前儲存的列會保留舊的文字,所以不會符合改名後的選項。這張資料表會占用 Free 方案兩張資料表的其中一張。安裝後可以改哪些東西,請看模板。

第 2 步:決定誰可以發布、接單和結案

權限是每張資料表各自設定,分成三個等級。讀取可以用 query、view 和 leaderboard。寫入再加上 add 和 update。管理再加上 delete 和批次操作。在你指派任何身分組之前,每個成員都能執行所有動作,包括刪除。

一個合理的設定:

  • 給所有成員都有的身分組(例如 @Member)讀取權限。
  • 給工作人員的身分組寫入權限,讓他們可以發布懸賞。
  • 管理權限留給負責刪除舊懸賞的人。

要注意它做不到的事。接懸賞是一個 update,跟發布懸賞是同一個權限,而且適用於每一列。你沒辦法只讓成員接單,卻不讓他們發布和編輯任何懸賞。也沒有任何機制會檢查 Assigned To 是不是執行指令的那個人。你的選擇有:

  • 只有工作人員能改。 成員在聊天裡提出,由工作人員執行 update。最安全,也最手動。
  • 成員有寫入權限。 成員自己接單,你相信大家不會去動別人的懸賞。
  • 兩張資料表。 工作人員在懸賞板發布,成員在你另外建立的第二張資料表登記接單。Free 方案剛好有兩張資料表。

Discord 上擁有管理者權限的人永遠有完整權限,而且只要設定了任何身分組,沒有列在清單上的成員就完全不能使用這張資料表。請看資料表與權限。

第 3 步:發布和接單

/bounty-board add title:Clear the Ashen Caves description:Kill the boss and post a screenshot reward:500 status:Open

回覆會貼在你執行指令的頻道裡,所以請在懸賞頻道執行。每份懸賞都用不重複的標題:之後指令裡的 row 選擇器是用標題搜尋的。

有人接下時,在 row 選項開始打字,選好那份懸賞:

/bounty-board update row:Clear the Ashen Caves status:Claimed assigned_to:@Kai

完成時:

/bounty-board update row:Clear the Ashen Caves status:Completed

只有你填的欄位會被修改。_mode 選項只對數字有作用:reward:100 _mode:Increment 會在目前的報酬上加 100,「設定(取代目前的值)」(預設)則會直接取代。

第 4 步:找出 Open 的懸賞

  • /bounty-board query status:Open 列出 Open 的懸賞。Status 是選單,所以沒人會打錯。
  • /bounty-board query status:Claimed assigned_to:@Kai 列出 Kai 正在做的懸賞。篩選條件可以組合。
  • /bounty-board view row:Clear the Ashen Caves 完整顯示一份懸賞,包括是誰建立的。
  • /bounty-board leaderboard column:reward 依報酬幫懸賞排名。它會排每一列,不只 Open 的。

結果會從最新的開始顯示,預設 10 筆,用 limit 最多 25 筆。清單只顯示前四個欄位(title、description、reward、status),所以 Assigned To 要在 view 才看得到,query 裡不會出現。在 Pro 方案,你可以在控制台儲存一個「Open bounties」檢視(status 等於 Open),然後執行 /bounty-board saved-view name:Open bounties。

委託、工作看板和需求佇列

  • 委託: 在編輯頁新增一個 Requester 成員欄位。Assigned To 變成繪師,Reward 變成講好的價格,用純數字記錄。
  • 工作看板: 模板直接就能用。把薪資放在 Reward,條件放在 Description。
  • 需求佇列: 任務看板模板有任務、負責人、優先順序、狀態(Todo、In Progress、Done)和截止日期。

日期會照輸入的格式(YYYY-MM-DD)儲存,不會觸發任何動作,所以截止日期欄位只是一個標籤,不會讓懸賞過期。

什麼時候其他工具比較適合

  • 如果你想在每則貼文上放一個接單按鈕,請用以按鈕為主的機器人。CordBase 沒有按鈕。
  • 如果每筆委託都需要私下對話,Ticket Tool 這類客服單機器人比較適合。用論壇頻道,每份懸賞一則貼文加標籤,不用機器人也行。
  • CordBase 不收款、不做第三方託管,也不發報酬。報酬只是資料表裡的一個數字。如果報酬是伺服器內的貨幣,UnbelievaBoat 這類經濟機器人可以處理餘額。

值得知道的限制

  • 狀態改變時,CordBase 不會通知任何人。不會提及、不會私訊,也不會提醒。
  • Free:2 張資料表,每張 100 列。已完成的懸賞會一直留在資料表裡,直到管理員刪除,所以免費的看板會被填滿。Pro(每月 $8)提供無限制的資料表、每張 10,000 列、已儲存的檢視和批次操作。
  • 每張資料表最多 25 個欄位,選項清單請控制在 25 個以內(Discord 的限制)。
  • 資料表要在網頁上設計。成員不能從 Discord 建立。
  • 指令語法請看指令參考。

常見問題

成員可以按按鈕接懸賞嗎?

不行。CordBase 的貼文沒有按鈕。接懸賞是用 update 斜線指令,搭配 status 和 assigned_to 選項。如果你需要一鍵接單的按鈕,請用專門做這件事的機器人。

懸賞被接下或完成時會通知任何人嗎?

不會。狀態改變時,CordBase 不會發提及、私訊或提醒。更新結果會貼在執行指令的頻道裡,成員也可以用 /bounty-board query status:Open 查詢。

可以用 Closed 取代 Completed 嗎?

可以。懸賞板模板用的是 Open、Claimed 和 Completed,但 Status 的選項可以在資料表的編輯頁修改。請在發布懸賞之前改,因為已經存在的列會保留舊的文字。