使用教學與指令表
從邀請機器人、設定權限,到在 Discord 開出第一局遊戲的完整步驟,以及所有斜線指令與常見問題。各遊戲的角色與規則請看 功能說明。
一、邀請機器人與權限
需要在該伺服器擁有「管理伺服器」權限才能邀請。按上方「邀請機器人」,選擇伺服器並保留預設勾選的權限後授權即可。已經邀請過的伺服器,用同一個連結重新授權一次就能補上新權限。
邀請連結包含的權限與用途
| 權限 | 用途 |
| 管理暱稱 | 開局時修改玩家暱稱、結束時還原(核心功能) |
| 管理頻道、管理身分組 | 自動建立/刪除遊戲頻道,設定「玩家可發言、旁觀者只能看」的頻道權限 |
| 檢視頻道、發送訊息、嵌入連結、附加檔案、新增反應、讀取訊息歷史 | 發送大廳面板、遊戲公告、投票與行動紀錄 |
| 使用應用程式命令 | 使用 /game、/gm、/lfg、/arcade 等斜線指令 |
| 在討論串中傳送訊息、建立公開/私人討論串 | 揪團成團時建立成員專屬討論串;在遊戲頻道權限中限制旁觀者(Discord 只允許機器人設定自己擁有的權限) |
| 連線、說話、視訊、使用語音活動 | 設定遊戲語音頻道的權限(旁觀者可聽不可說、不能直播) |
| 將成員靜音 | GM 遊戲夜晚自動靜音 |
| 移動成員 | 血染鐘樓說書人的「📢 召集回主廳」;自動語音房把成員移進新開的房間 |
| 管理活動、建立活動 | /event 把揪團或桌遊局建立成 Discord 伺服器活動 |
選用:若希望揪團或公告能通知「不可被提及」的身分組或 @everyone,請另外為機器人開啟「提及所有人」權限。
邀請完成後,管理員可以在 Discord 輸入 /setup 打開設定精靈,一次設好揪團頻道、自動語音房、遊戲偏好身分組面板,並檢查上表權限是否齊全。任何人都可以輸入 /help 看互動教學。
二、調整身分組順序(很重要)
- 開啟「伺服器設定 → 身分組」。
- 找到機器人的身分組(通常叫做「桌伴 TableMate」),把它拖到所有玩家身分組的上方,然後儲存。
- 回到控制台的「總覽」確認沒有權限警告;總覽也會顯示機器人目前的最高身分組。
Discord 規定機器人只能修改「身分組比自己低」的成員暱稱,而且任何機器人都不能修改伺服器擁有者的暱稱。擁有者一樣可以參加遊戲,只是名字不會變;機器人會在回覆中列出沒能改名的成員。
三、開始一局遊戲
- 建立場次在想開局的文字頻道輸入
/game create,mode 選「狼人殺」「阿瓦隆」「血染鐘樓」「誰是臥底」「間諜地點」「窺探」「狼人真言」「一夜終極狼人」「滲透任務」「月會」或「自由模式」,name(場次名稱)可不填。機器人會發出大廳面板,並建立 🎲 場次名稱 分類與遊戲頻道(只有你看得到的回覆裡有各頻道連結)。
- 玩家報名玩家在大廳面板按「✋ 加入」,想退出就按「🚪 離開」。每個人同時只能參加一個場次。
- 調整設定(GM 遊戲)主持人按「⚙️ 遊戲設定」:
- 狼人殺:使用預設配套,或自訂狼人與各神職數量。
- 阿瓦隆:勾選要加入的派西維爾、莫甘娜、莫德雷德、奧伯倫。
- 血染鐘樓:必須選出說書人(需已加入場次),角色可隨機或手動選擇。
- 誰是臥底:選臥底/白板人數(預設依人數自動)與每輪討論時間。
- 間諜地點:選討論分鐘數。
- 窺探:選題目難度、問答時間與猜中後的討論時間。
- 狼人真言:選咒語難度與問答時間。
- 一夜終極狼人、月會:選白天討論時間(牌組與角色依人數自動配置)。
- 滲透任務:不需設定,任務人數依人數自動套用。
- 開始遊戲主持人按「▶️ 開始遊戲」(或輸入
/game start,加上 shuffle:True 可隨機座號)。機器人會分配座號、修改暱稱,並在 ⚡行動 頻道邀請大家進入 🔊 語音交流。人數或設定不符時會提示原因。
- 進行遊戲到 ⚡行動 頻道使用遊戲面板:「🔍 查看身分」看自己的角色,「⚡ 行動」執行夜晚技能或組隊,投票時到投票訊息選擇。身分與行動都是「只有你看得到」的訊息,不需要開私訊。主持人用「⏭️ 下一階段」推進流程。誰是臥底按「查看密語」、間諜地點按「查看身分」看自己的詞或地點,面板會顯示討論倒數,主持人可延長 1 分鐘或提早投票。窺探、狼人真言、一夜終極狼人、滲透任務、月會會把身分與夜晚結果私訊給你;收不到私訊時按面板上的「查看身分」一樣能看到,提問與猜詞則用跳出的表單輸入。
- 結束遊戲結束時面板會出現「🔁 再來一局」與「🏁 結束並還原暱稱」。也可以隨時輸入
/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: | 查看任一款機器人主持遊戲的規則與角色說明(只有你看得到) | 所有人 |
小遊戲館 /arcade(不用開遊戲房,任何文字頻道都能玩)
| 指令 | 說明 | 誰可以用 |
/arcade list | 列出所有小遊戲與玩法(只有你看得到) | 所有人 |
/arcade a1b2 [race] | 1A2B 猜數字;race:True 開放整個頻道搶答 | 所有人 |
/arcade bomb [maximum] | 終極密碼(2~10 人),數字範圍 1~maximum(20~1000,預設 100) | 所有人 |
/arcade rps [opponent] [best_of] | 猜拳;不填對手就和機器人玩,可選 1/3/5 戰 | 所有人 |
/arcade tictactoe [opponent] | 井字棋;不填對手就和 AI 下 | 所有人 |
/arcade connect4 [opponent] | 四子棋;不填對手就和 AI 下 | 所有人 |
/arcade math [rounds] [level] | 數學快答頻道搶答(3~15 題,難度簡單/中等/困難) | 所有人 |
/arcade reaction [rounds] | 紅綠燈反應搶按(1~10 回合) | 所有人 |
/arcade quiz quiz: [length] | 心理測驗:「你適合哪種類型的桌遊?」或「你是哪種桌遊人?」,長度可選快速/輕量/完整 | 所有人 |
桌遊小工具 /tool
| 指令 | 說明 | 誰可以用 |
/tool roll dice [private] [reason] | 擲骰,例如 2d6+3、d20、4d6kh3(取最高 3 顆)、d%;private:True 只有自己看得到 | 所有人 |
/tool pick [count] [choices] | 隨機抽人或選項;不填 choices 就用你所在語音頻道的成員或遊戲場次玩家 | 所有人 |
/tool teams [teams] [choices] | 隨機平均分隊(2~10 隊) | 所有人 |
/tool order [choices] | 隨機排順序 | 所有人 |
/tool coin [count] | 擲硬幣 | 所有人 |
/tool draw [count] [jokers] [private] | 抽撲克牌 | 所有人 |
/tool timer minutes [seconds] [label] | 倒數計時器,時間到提醒;「+1 分鐘」「停止」按鈕限發起人或有「管理訊息」權限的人 | 所有人 |
名單用空白、逗號或頓號分隔,例如 /tool teams teams:2 choices:小明 小華 阿美 阿傑。
挑遊戲 /boardgame、戰績 /stats
| 指令 | 說明 | 誰可以用 |
/boardgame recommend players [minutes] [kind] [weight] | 依人數、時間、類型、難度推薦桌遊,按「換一批」看更多 | 所有人 |
/boardgame info name: | 查單款遊戲的人數、時間、難度、介紹與規則連結 | 所有人 |
/boardgame random [players] [kind] | 隨機抽一款遊戲 | 所有人 |
/stats me [member] [game] | 個人戰績:場數、勝率、各遊戲勝率、常玩角色、最近 10 場 | 所有人 |
/stats top [game] [min_games] | 伺服器勝率排行榜(預設至少 3 場才上榜) | 所有人 |
/stats recent [count] | 伺服器最近結束的遊戲 | 所有人 |
揪團 /lfg
| 指令 | 說明 | 誰可以用 |
/lfg create | 跳出「快速發團」表單:遊戲、時間、人數上限(含自己,2~30)、地點/費用、備註 | 所有人 |
/lfg create game slots [time] [place] [note] [ping] [remind] | 填了遊戲和人數就直接發團;ping 通知身分組,remind 選開始前多久提醒(預設 1 小時) | 所有人 |
/lfg create template: | 帶入之前存的模板並跳出表單,改好時間就能送出 | 所有人 |
/lfg mine | 列出你主揪與報名中的揪團(只有你看得到) | 所有人 |
/lfg template list//lfg template delete name: | 查看/刪除你的模板(每人最多 10 個) | 所有人 |
範例:/lfg create game:阿瓦隆 slots:8 time:週六 19:30 place:DC 語音 note:新手友善 ping:@桌遊
教學與社群 /help、/setup、/vote、/voice、/roles、/event
| 指令 | 說明 | 誰可以用 |
/help [指令] [遊戲] [公開] | 互動教學目錄;指令:、遊戲: 會自動提示,直接看該指令的參數與範例、該遊戲的規則與角色 | 所有人(公開 需管理伺服器或管理訊息) |
/setup | 設定精靈:揪團頻道、自動語音房、身分組面板、權限檢查 | 管理伺服器 |
/vote [options] [source] [players] [minutes] [title] [multi] | 今晚玩什麼投票:手填選項(最多 10 個),或依人數自動挑遊戲;時間到自動公布 | 所有人 |
/voice setup [channel] [name] [limit] [disable] | 設定「建立房間」語音頻道(不選就自動建立)、房名格式與人數上限 | 管理頻道 |
/voice rename/limit/lock/unlock | 改房名、設人數上限、上鎖(只有目前在房內的人能進)、解鎖 | 房主 |
/voice claim | 房主離開後接手這間語音房 | 房內成員 |
/voice party party: | 替你的揪團開只有團員能進的語音房(主揪工具也有同樣按鈕) | 主揪 |
/roles panel [roles] [title] [description] | 貼出遊戲偏好身分組按鈕面板,身分組不存在會自動建立 | 管理身分組 |
/roles mine | 用選單一次調整自己的遊戲偏好身分組 | 所有人 |
/roles remove role: | 把身分組移出自選清單(不會刪除身分組) | 管理身分組 |
/event lfg party: [hours] [voice] | 把有確切時間的揪團建立成 Discord 活動,可指定語音頻道 | 主揪(需管理或建立活動權限) |
/event create title time [hours] [place] [voice] [description] | 直接建立一場桌遊局活動 | 管理活動 |
/event list [days] | 近期的伺服器活動與有時間的揪團行事曆 | 所有人 |
主揪快速上手
- 發團在想揪人的文字頻道輸入
/lfg create,在表單填好遊戲、時間、人數、地點/費用與備註後送出。時間寫成「今晚 9 點」「週六 19:30」「10/5 20:00」這類格式,機器人才會在開始前自動提醒;送出後只有你看得到的回覆會顯示機器人解讀到的時間。
- 等大家報名成員按「報名」或「+1 帶朋友」。額滿後再報名的人會自動排進候補,有人取消時由候補依序遞補,並通知被遞補的人,不需要你手動處理。
- 用主揪工具管理按揪團訊息上的「主揪工具」,可以編輯內容、成團/截止報名、建立成員討論串、通知成員、移除成員、點名、存成模板、結束或取消。只有主揪與擁有「管理訊息」權限的管理員能打開。
- 成團第一次額滿或你按「成團/截止報名」時,機器人會自動開一個只有成員看得到的私人討論串,把大家拉進去討論細節。
- 開始前機器人依設定在討論串 @ 所有成員並私訊提醒;如果人數還沒滿,會另外私訊你還差幾人。
- 開打遊戲是阿瓦隆、狼人殺、血染鐘樓、誰是臥底、間諜地點、窺探、狼人真言、一夜終極狼人、滲透任務或月會時,主揪工具會出現「開遊戲房」,一鍵開好機器人遊戲場次並把成員加進去,接著照 開始一局遊戲 進行。要語音的話按「開團員語音房」,機器人會開一間只有成員能進的語音頻道並通知大家。
- 下次再揪在主揪工具按「存成模板」,下次輸入
/lfg create template:模板名稱 就會帶入同樣的內容。
五、使用網頁控制台
- 開啟 控制台,按「使用 Discord 登入」並授權(只會讀取你的基本資料與伺服器列表)。
- 在「選擇伺服器」挑一個你擁有「管理伺服器」權限的伺服器;還沒邀請機器人的伺服器會顯示「邀請機器人」按鈕。
- 左側選單切換:總覽(機器人是否在線、延遲)、遊戲場次、揪團(發團、看名單與候補、成團或取消)、揪團範本、發送公告、設定(揪團頻道與提醒、開放的遊戲、指令開關)。遊戲場次頁每 5 秒、揪團頁每 10 秒自動同步。
- 用完按右上角「登出」。從桌伴網站登入時,登入狀態只保存在目前這個分頁。
如果看到「尚未連接機器人後端」或「無法連線到控制台後端」,代表機器人目前沒有連上網站,Discord 內的指令可能也暫時無法使用;請稍後再試,或請機器人管理者依 網頁控制台設定 檢查。
六、網頁控制台設定(給機器人管理者)
桌伴網站只提供控制台的網頁畫面,實際動作由你電腦上的機器人執行(預設 http://localhost:8080)。完整的逐步教學在機器人資料夾的 DASHBOARD_SETUP.md,不確定哪裡沒設好時執行 .\.venv\Scripts\python tools\check_dashboard.py --online,它會列出下一步(不會顯示任何密碼)。
- 先在本機用Discord Developer Portal → 應用程式 → OAuth2 → Redirects 新增
http://localhost:8080/callback,在 .env 填 DISCORD_CLIENT_SECRET,重新啟動機器人(建議用 tools\start_all.bat,當機會自動重開),再開 http://localhost:8080 登入。
- 取得固定的 https 網址擇一:Cloudflare 具名通道(網域 DNS 需在 Cloudflare,執行
tools\setup_named_tunnel.bat 建立例如 https://bot-api.tablematetw.com);Tailscale Funnel(不用改網域,以系統管理員身分執行 tailscale funnel --bg 8080);或只想試用時用 tools\start_dashboard_tunnel.bat 的臨時網址(每次重開都會變)。
- 設定機器人的
.env 並重新啟動
DASHBOARD_URL=https://你的網址
DASHBOARD_FRONTEND_URL=https://tablematetw.com/dcbot/dashboard/
DASHBOARD_ALLOWED_ORIGINS=https://www.tablematetw.com,https://tablemate-82533.web.app,https://tablemate-82533.firebaseapp.com
- 新增第二個 Redirect在 OAuth2 → Redirects 再加
https://你的網址/callback(本機的保留)並儲存。打開 https://你的網址/api/health 看到 "ok": true 代表通道已通。
- 先測試開啟
https://tablematetw.com/dcbot/dashboard/?api=https://你的網址 登入看看;這只影響你的瀏覽器,按上方提示條的「改回網站預設」即可取消。
- 正式啟用把網站
/dcbot/dashboard/config.js 的 window.DCBOT_API 改成同一個網址(結尾不要加 /)並部署網站;想開機自動啟動機器人,執行 tools\register_autostart.bat。
安全性:跨網域登入使用一次性、60 秒內有效的登入代碼換取 Bearer token,只會導回上面允許的網址;API 的 CORS 也只開放給這些來源,登出時 token 立即失效。
七、常見問題
按鈕按了沒反應,或顯示「這個按鈕已經失效了」
面板可能已逾時,或機器人重新啟動過。GM 遊戲進行中請輸入 /gm panel 重新取得遊戲面板;大廳面板被洗掉請用 /game panel。若提示進度遺失,主持人可以用 /gm rematch 重新開局,或 /game end 結束並還原暱稱。
Discord 顯示「該應用程式未回應」或「該申請未受回應」
代表機器人目前離線或正在重新啟動,指令沒有送達。請稍等一兩分鐘再試;持續發生請聯絡伺服器管理員。此時網頁控制台也會顯示「控制台後端目前離線」。
有些玩家的暱稱沒有被修改
- 機器人的身分組要排在該玩家的最高身分組之上(見 身分組順序)。
- 機器人需要「管理暱稱」權限。
- 伺服器擁有者的暱稱任何機器人都無法修改,這是 Discord 的限制。
沒有自動建立遊戲頻道
機器人需要「管理頻道」與「管理身分組」權限,並確認控制台「設定」裡的「自動建立遊戲頻道」是開啟的。缺少時遊戲會在建立場次的頻道直接進行。
夜晚沒有自動靜音/「召集回主廳」沒有作用
自動靜音需要「將成員靜音」權限,而且玩家要在場次的 🔊 語音交流 裡;會自動靜音的是狼人殺、血染鐘樓、月會與一夜終極狼人,其他遊戲沒有夜晚,不會靜音。「📢 召集回主廳」需要「移動成員」權限。
輸入 / 時找不到機器人的指令
機器人第一次加入或更新指令後,Discord 可能需要一段時間同步。請確認邀請時有包含「applications.commands」(用本頁的邀請連結重新授權即可),並重新開啟 Discord。
機器人重新啟動後,進行中的遊戲怎麼辦?
場次與暱稱資料會存檔,大廳按鈕仍可使用,結束時也能正確還原暱稱。但 GM 遊戲的進度只存在記憶體中,重啟後需要主持人用 /gm rematch 重新開局。/tool timer 計時器、擲骰「再擲一次」與挑遊戲「換一批」按鈕在重啟後仍可使用;進行中的 /arcade 小遊戲則會失效,重新輸入指令開一局即可。
為什麼我的戰績沒有增加?
只有機器人主持的遊戲(狼人殺、阿瓦隆、血染鐘樓、誰是臥底、間諜地點、窺探、狼人真言、一夜終極狼人、滲透任務、月會)正常分出勝負時才會記錄;自由模式、中途用 /game end 中止、或有測試玩家的局都不會算進戰績。/arcade 小遊戲只記錄兩人以上的對戰與搶答,單人挑戰與和機器人對戰不記錄。
沒有收到身分私訊
窺探、狼人真言、一夜終極狼人、滲透任務、月會會私訊身分;如果你關閉了「允許伺服器成員私訊」,頻道會提示有人收不到,按遊戲面板上的「查看身分」就能看到只有你看得到的完整資訊(包含夜晚結果)。也可以到「伺服器設定 → 隱私設定」開啟私訊。
建立場次時說「這個伺服器已關閉…」
伺服器管理員在控制台「設定」的「機器人主持遊戲」取消勾選了這款遊戲。請管理員重新勾選並儲存即可。
揪團時無法通知某個身分組
該身分組必須設定為「允許任何人 @提及此身分組」,或你本身擁有「提及所有人」權限;通知 @everyone 也需要此權限。
揪團沒有在開始前提醒
機器人要看得懂時間才會提醒,例如「今晚 9 點」「明天 14:00」「週六 19:30」「10/5 20:00」;寫「人齊就開」或時間已經過了就不會提醒。可以按「主揪工具」→「編輯內容」改時間,面板上會顯示解讀到的開始時間。發團時 remind 選「不提醒」也不會提醒。私訊提醒需要成員允許伺服器成員私訊,沒收到私訊時仍會在頻道或討論串 @ 他。
成團後沒有建立成員討論串
機器人需要「建立私人討論串」與「在討論串中傳送訊息」權限(用本頁邀請連結重新授權即可補上);無法建立私人討論串時會改從揪團訊息開公開討論串。揪團若發在討論串或語音頻道的文字聊天裡,就無法再建立討論串。
控制台看不到我的伺服器,或無法管理
控制台只列出你擁有「管理伺服器」權限(或是擁有者)的伺服器。機器人不在的伺服器會顯示「邀請機器人」,邀請後重新整理頁面即可。
控制台顯示「尚未連接機器人後端」或「無法連線到控制台後端」
控制台的資料來自機器人本身。可能是機器人沒有在執行、對外的 HTTPS 通道沒有開啟,或網站尚未設定後端網址(見 網頁控制台設定)。這不影響你邀請機器人;機器人在線上時,Discord 內的指令都能正常使用。
想先自己熟悉流程
建立場次後輸入 /game testplayers count:5 加入測試玩家再開局,面板會出現「🎭 切換扮演(測試)」,一個人就能扮演所有角色走完整局。
忘記指令怎麼用,或想知道某款遊戲的規則
在 Discord 輸入 /help 打開互動教學,用選單挑分類並翻頁;/help 指令:lfg create 看單一指令的參數與範例,/help 遊戲:阿瓦隆 看人數、規則與角色。教學只有你看得到,不會洗版。
加入「建立桌遊房」語音頻道後沒有開房
請管理員確認已用 /voice setup 或 /setup 設定「建立房間」頻道,而且機器人有「管理頻道」與「移動成員」權限。同一個人 15 秒內只能開一間房,稍等一下再進入即可。