使用教學與指令表
從邀請機器人、設定權限,到在 Discord 開出第一局遊戲的完整步驟,以及所有斜線指令與常見問題。各遊戲的角色與規則請看 功能說明。
一、邀請機器人與權限
需要在該伺服器擁有「管理伺服器」權限才能邀請。按上方「邀請機器人」,選擇伺服器並保留預設勾選的權限後授權即可。已經邀請過的伺服器,用同一個連結重新授權一次就能補上新權限。
邀請連結包含的權限與用途
| 權限 | 用途 |
| 管理暱稱 | 開局時修改玩家暱稱、結束時還原(核心功能) |
| 管理頻道、管理身分組 | 自動建立/刪除遊戲頻道,設定「玩家可發言、旁觀者只能看」的頻道權限 |
| 檢視頻道、發送訊息、嵌入連結、附加檔案、新增反應、讀取訊息歷史 | 發送大廳面板、遊戲公告、投票與行動紀錄 |
| 使用應用程式命令 | 使用 /game、/gm、/lfg 斜線指令 |
| 在討論串中傳送訊息、建立公開/私人討論串 | 在遊戲頻道權限中限制旁觀者(Discord 只允許機器人設定自己擁有的權限) |
| 連線、說話、視訊、使用語音活動 | 設定遊戲語音頻道的權限(旁觀者可聽不可說、不能直播) |
| 將成員靜音 | GM 遊戲夜晚自動靜音 |
| 移動成員 | 血染鐘樓說書人的「📢 召集回主廳」 |
選用:若希望揪團或公告能通知「不可被提及」的身分組或 @everyone,請另外為機器人開啟「提及所有人」權限。
二、調整身分組順序(很重要)
- 開啟「伺服器設定 → 身分組」。
- 找到機器人的身分組(通常叫做「桌伴 TableMate」),把它拖到所有玩家身分組的上方,然後儲存。
- 回到控制台的「總覽」確認沒有權限警告;總覽也會顯示機器人目前的最高身分組。
Discord 規定機器人只能修改「身分組比自己低」的成員暱稱,而且任何機器人都不能修改伺服器擁有者的暱稱。擁有者一樣可以參加遊戲,只是名字不會變;機器人會在回覆中列出沒能改名的成員。
三、開始一局遊戲
- 建立場次在想開局的文字頻道輸入
/game create,mode 選「狼人殺」「阿瓦隆」「血染鐘樓」或「自由模式」,name(場次名稱)可不填。機器人會發出大廳面板,並建立 🎲 場次名稱 分類與遊戲頻道(只有你看得到的回覆裡有各頻道連結)。
- 玩家報名玩家在大廳面板按「✋ 加入」,想退出就按「🚪 離開」。每個人同時只能參加一個場次。
- 調整設定(GM 遊戲)主持人按「⚙️ 遊戲設定」:
- 狼人殺:使用預設配套,或自訂狼人與各神職數量。
- 阿瓦隆:勾選要加入的派西維爾、莫甘娜、莫德雷德、奧伯倫。
- 血染鐘樓:必須選出說書人(需已加入場次),角色可隨機或手動選擇。
- 開始遊戲主持人按「▶️ 開始遊戲」(或輸入
/game start,加上 shuffle:True 可隨機座號)。機器人會分配座號、修改暱稱,並在 ⚡行動 頻道邀請大家進入 🔊 語音交流。人數或設定不符時會提示原因。
- 進行遊戲到 ⚡行動 頻道使用遊戲面板:「🔍 查看身分」看自己的角色,「⚡ 行動」執行夜晚技能或組隊,投票時到投票訊息選擇。身分與行動都是「只有你看得到」的訊息,不需要開私訊。主持人用「⏭️ 下一階段」推進流程。
- 結束遊戲結束時面板會出現「🔁 再來一局」與「🏁 結束並還原暱稱」。也可以隨時輸入
/game end 結束:還原所有暱稱、刪除遊戲頻道,📜行動紀錄 封存到 🗂️ 遊戲紀錄。
自由模式不會有 GM 面板,開始後由主持人用 /game status、/game tag 或控制台手動更新玩家狀態。
這些指令可以在建立場次的頻道,或該場次自動建立的任何頻道中使用。
四、指令總表
「主持人」指建立場次的人;擁有「管理暱稱」權限的成員也能使用主持人指令。
遊戲場次 /game
| 指令 | 說明 | 誰可以用 |
/game create mode [name] | 在目前頻道建立場次並發送大廳面板(加入/離開/開始遊戲),同時自動建立專屬遊戲頻道。mode 必選:自由模式、狼人殺、阿瓦隆、血染鐘樓 | 所有人 |
/game start [shuffle] | 分配座號並修改所有玩家暱稱;shuffle:True 隨機座號(預設依加入順序) | 主持人 |
/game status @玩家 狀態 | 設定存活 🟢/死亡 💀/出局 ❌/觀戰 👀,暱稱同步更新 | 主持人 |
/game tag @玩家 [標籤] | 加上身分標籤(最多 8 字,例如警長、預言家),不填則清除 | 主持人 |
/game shuffle | 重新隨機分配座號(GM 遊戲進行中不可用) | 主持人 |
/game kick @玩家 | 將玩家移出場次並還原暱稱(不能移出主持人) | 主持人 |
/game testplayers count: | 測試用:加入 0~20 名虛擬測試玩家(開局前設定,0 代表全部移除) | 主持人 |
/game panel | 大廳面板被洗掉時重新發送 | 所有人 |
/game end | 結束場次、還原所有暱稱、刪除遊戲頻道(行動紀錄會封存) | 主持人 |
GM 遊戲 /gm
| 指令 | 說明 | 誰可以用 |
/gm panel | 遊戲面板被洗掉或按鈕失效時重新發送 | 所有人 |
/gm rematch | 同一批玩家重新開一局(重新分配身分) | 主持人 |
/gm rules game: | 查看狼人殺、阿瓦隆或血染鐘樓的規則與角色說明(只有你看得到) | 所有人 |
揪團 /lfg
| 指令 | 說明 | 誰可以用 |
/lfg game slots [time] [note] [ping] | 發起揪團:遊戲名稱、總人數(含自己,2~30)、時間、備註、要通知的身分組;額滿自動通知所有成員 | 所有人 |
範例:/lfg game:APEX slots:3 time:今晚9點 note:需要麥克風 ping:@APEX玩家
五、使用網頁控制台
- 開啟 控制台,按「使用 Discord 登入」並授權(只會讀取你的基本資料與伺服器列表)。
- 在「選擇伺服器」挑一個你擁有「管理伺服器」權限的伺服器;還沒邀請機器人的伺服器會顯示「邀請機器人」按鈕。
- 左側選單切換:總覽、遊戲場次、揪團、發送公告、設定。遊戲場次頁每 5 秒自動同步。
- 用完按右上角「登出」。從桌伴網站登入時,登入狀態只保存在目前這個分頁。
如果看到「控制台後端目前離線或尚未設定」,代表機器人目前沒有連上網站,Discord 內的指令通常也暫時無法使用;請稍後再試。
六、控制台架設(給機器人管理者)
桌伴網站只提供控制台的網頁畫面,API 仍由機器人程式本身提供(預設 http://localhost:8080)。要讓網站上的控制台能登入,需要:
- 讓機器人的 API 有 https 網址臨時測試可用 Cloudflare 快速通道:
cloudflared tunnel --url http://localhost:8080
畫面會出現 https://xxxx.trycloudflare.com(每次重開都會變)。長期使用建議在 Cloudflare 後台建立具名通道,把自己的子網域(例如 dcbot-api.你的網域)指到 http://localhost:8080,或使用 Nginx/Caddy 反向代理。
- 設定機器人的
.env
DASHBOARD_URL=https://dcbot-api.你的網域
DASHBOARD_FRONTEND_URL=https://tablematetw.com/dcbot/dashboard/
# 選填:Firebase 預設網址也要能用時
DASHBOARD_ALLOWED_ORIGINS=https://tablemate-82533.web.app,https://tablemate-82533.firebaseapp.com
- Discord Developer Portal到應用程式的 OAuth2 → Redirects,新增
DASHBOARD_URL 加上 /callback(例如 https://dcbot-api.你的網域/callback)並儲存。
- 設定網站的
/dcbot/dashboard/config.js把 window.DCBOT_API 改成同一個 https 網址(結尾不要加 /),重新啟動機器人並部署網站。
安全性:跨網域登入使用一次性、60 秒內有效的登入代碼換取 Bearer token,只會導回上面允許的網址;API 的 CORS 也只開放給這些來源,登出時 token 立即失效。
七、常見問題
按鈕按了沒反應,或顯示「這個按鈕已經失效了」
面板可能已逾時,或機器人重新啟動過。GM 遊戲進行中請輸入 /gm panel 重新取得遊戲面板;大廳面板被洗掉請用 /game panel。若提示進度遺失,主持人可以用 /gm rematch 重新開局,或 /game end 結束並還原暱稱。
Discord 顯示「該應用程式未回應」或「該申請未受回應」
代表機器人目前離線或正在重新啟動,指令沒有送達。請稍等一兩分鐘再試;持續發生請聯絡伺服器管理員。此時網頁控制台也會顯示「控制台後端目前離線」。
有些玩家的暱稱沒有被修改
- 機器人的身分組要排在該玩家的最高身分組之上(見 身分組順序)。
- 機器人需要「管理暱稱」權限。
- 伺服器擁有者的暱稱任何機器人都無法修改,這是 Discord 的限制。
沒有自動建立遊戲頻道
機器人需要「管理頻道」與「管理身分組」權限,並確認控制台「設定」裡的「自動建立遊戲頻道」是開啟的。缺少時遊戲會在建立場次的頻道直接進行。
夜晚沒有自動靜音/「召集回主廳」沒有作用
自動靜音需要「將成員靜音」權限,而且玩家要在場次的 🔊 語音交流 裡;阿瓦隆沒有夜晚,不會靜音。「📢 召集回主廳」需要「移動成員」權限。
輸入 / 時找不到機器人的指令
機器人第一次加入或更新指令後,Discord 可能需要一段時間同步。請確認邀請時有包含「applications.commands」(用本頁的邀請連結重新授權即可),並重新開啟 Discord。
機器人重新啟動後,進行中的遊戲怎麼辦?
場次與暱稱資料會存檔,大廳按鈕仍可使用,結束時也能正確還原暱稱。但 GM 遊戲的進度只存在記憶體中,重啟後需要主持人用 /gm rematch 重新開局。
揪團時無法通知某個身分組
該身分組必須設定為「允許任何人 @提及此身分組」,或你本身擁有「提及所有人」權限;通知 @everyone 也需要此權限。
控制台看不到我的伺服器,或無法管理
控制台只列出你擁有「管理伺服器」權限(或是擁有者)的伺服器。機器人不在的伺服器會顯示「邀請機器人」,邀請後重新整理頁面即可。
控制台顯示「控制台後端目前離線或尚未設定」
控制台的資料來自機器人本身。可能是機器人沒有在執行、對外的 HTTPS 通道沒有開啟,或網站尚未設定後端網址(見 控制台架設)。這不影響你邀請機器人;機器人在線上時,Discord 內的指令都能正常使用。
想先自己熟悉流程
建立場次後輸入 /game testplayers count:5 加入測試玩家再開局,面板會出現「🎭 切換扮演(測試)」,一個人就能扮演所有角色走完整局。