平台
Discord 機器人
用 Python(discord.py)或 Node.js(discord.js)製作 Discord 機器人:需求要寫什麼、如何在 Codexe 裡試跑機器人、各方案的執行時間限制,以及如何保護 token。
更新於
Codexe 會用 Python(discord.py)或 Node.js(discord.js)產生完整的 Discord 機器人專案,並使用斜線指令。
#需求要寫什麼
- 函式庫(Python 或 Node.js)。
- 每個斜線指令的選項,以及誰可以使用。
- 要回應的事件(成員加入、訊息、表情回應)。
- 儲存方式(JSON、SQLite……)和任何外部 API。
- 你願意啟用哪些 intent。Message Content 和 Server Members 屬於特權 intent,必須在 Discord 開發者入口網站中開啟。
#Token
產生的機器人會從 DISCORD_TOKEN 環境變數讀取 token(BOT_TOKEN 或 TOKEN 也可以)。token 絕不會寫進原始碼,也不會產生 .env 檔案。請把 token 當成密碼看待:如果外洩了,請到 Discord 開發者入口網站重設。
#在 Codexe 中試跑機器人
機器人專案有一個託管面板,不用自己架伺服器就能試用機器人。貼上你的機器人 token(會加密儲存,你也可以刪除),然後就能啟動、停止、重新啟動,並查看主控台。
這是一個測試環境,不是永久的託管服務:
| 方案 | 每滾動 24 小時的執行時間 |
|---|---|
| Free | 15 分鐘 |
| Pro | 4 小時 |
| Business | 12 小時 |
| Enterprise | 24 小時 |
所有方案都一樣:每個工作階段 30 分鐘後會停止,每個帳號同時只能執行一個機器人,而且啟動次數有頻率限制。機器人在隔離環境中執行,可以連上網路,但無法存取 Codexe 自己的系統。
#驗證
Discord 機器人不會經過建置驗證。就緒代表產生已經完成(請參閱專案生命週期)。請用試跑來檢查它們。
#自己執行
下載 ZIP,安裝相依套件(pip install -r requirements.txt 或 npm install),在環境中設定 DISCORD_TOKEN,然後啟動。用 bot 和 applications.commands 範圍把機器人邀請到你的伺服器。
#常見問題
| 症狀 | 可能的原因 |
|---|---|
| 斜線指令沒有出現 | 指令還沒同步。全域同步最多可能要一小時;單一伺服器(guild)同步則是立即生效。 |
| 機器人在線上,卻不理會訊息 | 開發者入口網站中沒有啟用某個特權 intent。 |
| 「The application did not respond」 | 指令花了超過 3 秒卻沒有延遲回應。請在聊天中要求讓回應先延遲(defer)。 |