您筆電上的一個 Discord 機器人,在您合蓋那一刻就死了。測試沒問題——但對一個您伺服器真正依賴的機器人就沒用。把它搬到一台 VPS 上,它就保持線上:它熬過您的 wifi 掉線、您睡覺時不停、並自己重連 Discord。
這是整套——一個極簡機器人、一個讓它保活的服務,以及怎麼不交證件就付款。
為什麼用 VPS,而不是您的筆電
一個 Discord 機器人需要一條到 Discord 閘道的穩定、常開連線。筆電會睡眠、為更新重新啟動、換網路——每一次,機器人都掉線,成員會注意到。一台 VPS 全天候保持一條穩定連線。那就是人們把機器人從個人機器上搬走的全部理由。
多大規格——以及您怎麼付款
一個 Discord 機器人很輕。它持有一個 websocket、對事件做反應,所以機器大多在等:
- 1 GB 記憶體、1–2 核 覆蓋大多數機器人——甚至相當忙的。
- 只有當機器人自己挑大樑時才往上升:影像產生、本機模型、給很多伺服器的音訊、大資料庫。
兩個實用的抉擇:
- NAT 就夠。 機器人只發出對外連線到 Discord,所以帶埠轉發 SSH 的 NAT 方案就行——不用獨立IP、不用開對內埠。只有當您還跑一個 Web 面板或接收 webhook 時,才加公用 IP。
- 免 KYC、加密付款。 用一個電子郵件註冊、用 Base 或 Ethereum 上的 USDC 或 USDT 付款——不用卡、不用檔案。信用卡也能用,但 on-ramp 有約 $27 的最低額,所以對便宜方案,一次充一小筆餘額更順。
它是純 CPU、從歐盟的單一資料中心執行——對機器人完全沒問題,如果您需要 GPU 或某個特定地區,知道一下也好。
一個極簡機器人
SSH 進去、裝 Python,放進一個小的 discord.py 機器人:
sudo apt update && sudo apt install -y python3-venv
mkdir ~/bot && cd ~/bot
python3 -m venv venv && source venv/bin/activate
pip install -U discord.py
# bot.py
import os, discord
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
@client.event
async def on_ready():
print(f"online as {client.user}")
@client.event
async def on_message(m):
if m.author == client.user:
return
if m.content == "!ping":
await m.channel.send("pong")
client.run(os.environ["DISCORD_TOKEN"])
從 Discord 開發者門戶拿 token(您的應用 → Bot → Reset Token),如果您的機器人讀訊息,就在那裡啟用 Message Content intent。
用 systemd 保活
在 SSH 工作階段裡跑 python bot.py,意味著您一斷開機器人就死。一個 systemd 服務修好這個——它崩潰時重新啟動、熬過重新啟動:
# /etc/systemd/system/discordbot.service
[Unit]
Description=Discord bot
After=network-online.target
[Service]
User=botuser
WorkingDirectory=/home/botuser/bot
Environment=DISCORD_TOKEN=your-token-here
ExecStart=/home/botuser/bot/venv/bin/python bot.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now discordbot
sudo journalctl -u discordbot -f # 看日誌
那就是「一個我手動跑的指令碼」和「一個自己跑起來的機器人」之間的差別。
誠實的注意事項
- 看好 token。 把它放在服務檔案裡(只有 root 可讀)或一個環境變數裡、以非 root 的
botuser跑、永遠別提交。如果洩露,立刻在開發者門戶裡重設它。 - 語音更重。 一個給很多伺服器推流的音樂/語音機器人,比一個文字機器人需要更多 CPU 和頻寬——擴容前先設定並測試。
- 盯住機器人做什麼,不只是託管。 託管很便宜;如果您的機器人在迴圈裡調付費 API,成本就出現在那兒。
在這之內,一個跑在自己伺服器上的 Discord 機器人就是保持線上——這正是全部重點。挑一個方案、用加密貨幣付款,幾分鐘內讓它上線。如果您還跑別的機器人,同樣的 systemd 套路讓任何程式保活。
開箱即用的設定: 見 面向 Discord 機器人的 VPS——推薦方案加一分鐘的加密部署。
評論
目前還沒有評論。歡迎成為第一位。