Repository navigation
Getting Started zh TW
English | 繁體中文
本頁涵蓋從下載 jar 檔到在語音頻道聽到音樂的完整流程:需求、初次設定、邀請機器人,以及啟動旗標。
- Java 25 或更新版本。 這個 jar 檔無法在較舊的執行環境上執行。
- 一個擁有 Token 的 Discord 機器人應用程式,於 Discord 開發者後台建立。
- 你自己的 Discord 使用者 ID,用來設定為機器人擁有者。
從專案的發布頁面下載 NextVoiceCord.jar。(若你想從原始碼建置,或以 Docker 執行,請參閱 README 的
Building from source 與
Docker 章節——本頁只涵蓋單純以 java -jar 執行的情況。)
java -jar NextVoiceCord.jar generate-config這會寫入一份預設的 config.txt,每個選項都附有註解,並在完成後直接結束,不會啟動機器人。
有兩個設定鍵必須先填寫,機器人才會啟動:
| 鍵 | 內容 |
|---|---|
discord.token |
來自你 Discord 應用程式的 Bot 分頁 |
discord.owner |
你自己的 Discord 使用者 ID |
擁有者 ID 的重要性不只是識別身分:擁有者在機器人所在的每個伺服器都自動具有 DJ 資格,而且僅限擁有者 (Owner-only,包含 shutdown、setname 等,詳見 Commands-zh-TW)指令也只有這一個 ID 能執行。
機器人需要同時具備正確的 OAuth2 權限與正確的 Gateway Intent 才能正常運作。如果你在機器人加入任何 伺服器之前就先啟動它,它會偵測到這一點,並在主控台印出一個已套用好權限、可直接使用的邀請連結——若 桌面視窗有開啟,也會以提示訊息顯示——所以如果比較方便,也可以等第一次啟動之後再邀請它。
邀請連結所要求的權限:
View Channel、Send Messages、Read Message History、Add Reactions、Embed Links、
Attach Files、Manage Messages、Use External Emoji、Connect、Speak、Change Nickname
在機器人連線之前,還必須在開發者後台中,於你的應用程式的 Bot 設定頁面,開啟一項 特權 Gateway Intent(privileged gateway intent):Message Content Intent。若未開啟, 機器人將無法登入——它會中斷連線,並回報缺少必要的 Intent,且會明確指出正是這一項設定。
java -jar NextVoiceCord.jar不加任何旗標時會開啟桌面視窗。若視窗本身無法開啟、Token 結果是錯的,或已經有另一個副本在執行中, 請參閱 Troubleshooting-zh-TW。
| 旗標 | 效果 |
|---|---|
| (無) | 桌面視窗 |
--nogui |
無介面模式 |
--web <port> |
在指定連接埠開啟網頁面板 |
--help |
使用說明 |
generate-config |
寫入預設的 config.txt 並結束 |
--web 可以與任一模式併用——java -jar NextVoiceCord.jar --nogui --web 8080 會以無介面模式執行,
並在連接埠 8080 提供面板。-Dnogui=true 也是 --nogui 的另一種可接受寫法。
當機器人已加入你的伺服器並開始執行後:
- 加入一個語音頻道。
- 在機器人看得到的文字頻道中,執行
/play <song name or URL>。
機器人會加入你的語音頻道並開始播放。接下來,/queue、/pause、/skip 等其餘音樂指令都會如預期般
運作——完整清單與各指令所需的權限請見 Commands-zh-TW,播放時會一併出現、且可依伺服器自訂的
正在播放面板則請見 Controller-Panel-zh-TW。
關於 Docker(包含 compose 檔與 UID/磁碟區的細節),請參閱 README 的 Docker 章節——此處不再重複說明。
若要在伺服器上以單純的 java -jar 方式部署,請加上 --nogui 執行(因為沒有顯示器可以開啟視窗),
並使用你作業系統提供的任何行程監督工具讓它保持存活——systemd、screen/tmux 工作階段,或是像
pm2 這類行程管理工具。舉例來說,一個最簡單的 systemd unit:
[Unit]
Description=NextVoiceCord
After=network.target
[Service]
WorkingDirectory=/opt/nextvoicecord
ExecStart=/usr/bin/java -jar NextVoiceCord.jar --nogui
Restart=on-failure
[Install]
WantedBy=multi-user.target如果你想在無介面執行的同時也能使用網頁面板,請在 ExecStart 這一行加上 --web <port>——關於面板
啟動後如何連上它,請參閱 Troubleshooting-zh-TW。
完整指令參考請見 Commands-zh-TW。DJ 身分組、管理員權限,以及像 /settc、/setvc 這類
伺服器層級設定請見 Permissions-and-Server-Settings-zh-TW。正在播放面板請見
Controller-Panel-zh-TW。若本頁描述的任何內容與實際情況不符,請參閱
Troubleshooting-zh-TW。