跳到主要內容
平台

Discord 機器人

用 Python(discord.py)或 Node.js(discord.js)製作 Discord 機器人:需求要寫什麼、如何在 Codexe 裡試跑機器人、各方案的執行時間限制,以及如何保護 token。

更新於

本頁內容
  1. 需求要寫什麼
  2. Token
  3. 在 Codexe 中試跑機器人
  4. 驗證
  5. 自己執行
  6. 常見問題

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 小時的執行時間
Free15 分鐘
Pro4 小時
Business12 小時
Enterprise24 小時

所有方案都一樣:每個工作階段 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)。
Discord 機器人 | Codexe Docs