所有文章

怎麼在 Discord 記錄公會倉庫和共用物品

CordBase 團隊

在 Discord 記錄公會倉庫最簡單的方法,是一張成員用斜線指令更新的資料表。倉庫裡有什麼、誰放進去、誰拿出來,都直接記在大家本來就在聊天的伺服器裡。大多數伺服器一開始會用一則有人手動編輯的釘選訊息、一份貼在頻道裡的 Google Sheets 連結,或一個經濟機器人。三種都能撐一陣子。釘選訊息在兩個人同一晚編輯時就會亂掉。試算表在成員不再打開它之前都還行,而很多人真的不會打開,因為它在 Discord 外面。經濟機器人把物品當成用積分買的東西來記,這跟「我們那 40 根鐵錠在誰手上」是兩回事。

這篇指南會設定一個放在 Discord 裡的物品清單:成員用斜線指令登記和查詢物品,管理員在網頁上看到整張資料表。用的是我們做的 CordBase,大約五分鐘就能完成。

完成後你會有

  • 伺服器裡的 /inventory 指令,有 add、query、view、update 和 leaderboard 動作。
  • 物品、數量、持有人、稀有度和備註的欄位。
  • 身分組權限:一般成員可以查詢,只有幹部能改數量。
  • 一張可以匯出成 CSV 的網頁資料表。

第 1 步:加入 CordBase 並安裝模板

  1. 到 cordbase.gg 使用 Discord 登入,選好你的伺服器。
  2. 控制台詢問時,把機器人加進伺服器。
  3. 打開模板庫,安裝物品庫存表。它內建五個欄位:item(文字,必填)、quantity(數字,必填)、owner(成員,必填)、rarity(Common 到 Legendary)和 notes。

如果你的伺服器是共用一批物品,而不是記錄誰拿著什麼,改裝公會倉庫。它有 item、quantity、deposited by、category(材料、裝備、消耗品、貨幣)和 date。這篇指南接下來用物品庫存表示範;指令在公會倉庫上用法一樣,只是欄位名稱是它自己的。

指令名稱跟著資料表名稱,所以這個模板會給你 /inventory-tracker。你可以在資料表的編輯頁面改 slug 把它縮短;這篇指南假設你已經改成 inventory。

第 2 步:限制誰能編輯

新的資料表預設每個人都能做任何事,測試時沒問題,拿來當公會倉庫就不行。在資料表的權限裡:

  • 給全體成員都有的身分組(例如 @Member)讀取權限。他們可以執行 query、view 和 leaderboard。
  • 給幹部身分組寫入權限,讓他們可以 add 和 update。
  • 管理權限(刪除和批次編輯)留給公會高層。

只要資料表設定了任何身分組,沒有這些身分組的成員就完全不能使用它。

擁有 Discord「管理者」權限的人,無論如何都保有完整權限。

第 3 步:在 Discord 登記物品

新增一列長這樣:

/inventory add item:Iron Bar quantity:40 owner:@Mara rarity:Common

Discord 會把每個欄位顯示成一個選項,owner 用成員選擇器,rarity 用下拉選單,所以大家不會打出「legendery」這種錯字。

庫存變動時,更新數量就好,不用重新輸入整列。在 row 選項開始打字,從清單裡選物品,再設定 _mode 選項,它決定數字要怎麼處理:

/inventory update row:Iron Bar quantity:15 _mode:Decrement

這會從目前的數量減掉 15。「增加(加到目前的值上)」是加上去。「設定(取代目前的值)」(預設)是直接取代。兩位幹部同時減少數量,兩次都會算進去,因為這個變更是對儲存的值做數學運算,而不是「寫入這個數字」。

第 4 步:查詢

  • /inventory query owner:@Mara 列出 Mara 拿著的所有東西。
  • /inventory query item:iron 找出 item 含有「iron」的每一列,不分大小寫。
  • /inventory query rarity:Legendary limit:25 最多顯示 25 件傳說物品。
  • /inventory view row:Iron Bar(從清單裡選)完整顯示一列,包括誰新增的、什麼時候新增的。
  • /inventory leaderboard column:quantity 依庫存量排名,最多的在前。

查詢結果會先顯示最新的資料列,篩選條件可以組合,所以 owner:@Mara rarity:Epic 會縮小到 Mara 的史詩物品。

第 5 步:保留歷史紀錄(選用)

物品資料表記的是目前狀態。如果你也想留下進出紀錄,在旁邊安裝戰利品紀錄(item、received by、source 或 boss、rarity、date),把掉落物記在那裡。Free 方案有兩張資料表,物品清單加一份戰利品紀錄剛好放得下。

什麼時候別的工具比較適合

如果你需要公式、圖表或大量交叉比對,而且大家不介意離開 Discord 去編輯,試算表還是比較好的工具。CordBase 沒有公式,也沒有 Google Sheets 同步。

如果你的「物品欄」其實是虛擬經濟,成員賺金幣再到商店買東西,請用 UnbelievaBoat 這類經濟機器人。CordBase 不會經營商店,也不會自己發放貨幣。

當資料是伺服器在乎的真實紀錄,而且你想讓大家在 Discord 裡更新,又不想把整份試算表的編輯權限交出去時,CordBase 就很適合。

值得知道的限制

  • Free:2 張資料表,每張 100 列。Pro(每月 $8)取消資料表數量限制,每張資料表可以有 10,000 列,並加入批次編輯。每個方案都能匯出 CSV/JSON。
  • 每張資料表最多 25 個欄位。
  • 資料表要在網頁上設計;成員不能從 Discord 建立新的資料表。

常見問題

成員可以只看到自己的物品嗎?

權限做不到。有讀取權限的人可以查詢整張資料表。成員可以在 owner 選項選自己,篩選出自己的資料列:/inventory query owner:@yourname。

可以匯入我現有的試算表嗎?

還不行。CordBase 目前沒有 CSV 匯入,所以既有的資料列要用 /inventory add 或在控制台新增。每個方案都可以匯出 CSV 和 JSON。

機器人需要讀取訊息嗎?

不需要。CordBase 只回應斜線指令,也不會要求 Message Content intent。