跳到主要内容
← 指南列表

在 Windows 服务器上运行 Discord 机器人

以下是通过远程桌面连接 Windows 服务器,让 Discord 机器人 24 小时运行的方法。假设机器人代码已经在本地电脑上运行正常。如果是 Linux 服务器,请参考24 小时托管 Discord 机器人(discord.js、discord.py)。

1. 传输机器人文件

将机器人文件夹压缩后通过远程桌面复制(上传和下载文件),或者如果已上传到 GitHub,就在服务器上拉取。这里假设放在 C:\mybot。

🔒 请不要将机器人令牌直接写在代码中,而是单独放在 .env 文件中。令牌一旦泄露,任何人都可以操控您的机器人。

Node.js 机器人(discord.js)

安装 Node.js

用服务器中的浏览器访问 nodejs.org,下载并安装 LTS 版本的 Windows 版 .msi。重新打开 PowerShell 进行确认。

node -v

安装依赖包并运行

cd C:\mybot
npm install
node index.js

机器人在 Discord 中显示为在线即表示成功。(请将 index.js 改为您机器人的启动文件名)

Python 机器人(discord.py)

安装 Python

从 python.org 下载 Windows 版安装程序并运行。在第一个界面中务必勾选“Add python.exe to PATH” 后再安装。

创建虚拟环境并运行

cd C:\mybot
py -m venv venv
.\venv\Scripts\pip install -r requirements.txt
.\venv\Scripts\python bot.py

停止后自动重新启动、重启后自动运行

如果直接运行机器人,因错误停止时不会重新启动。请创建 C:\mybot\start.bat,让它在停止后自动重新运行。

@echo off
cd /d C:\mybot
:loop
node index.js
echo Bot stopped. Restarting in 10 seconds...
timeout /t 10
goto loop

如果是 Python 机器人,请将 node index.js 这一行改为 venv\Scripts\python bot.py。

要让机器人在服务器重启后也能自动启动,请将这个 start.bat 注册到任务计划程序中。方法按照在 Windows 服务器上自动运行程序操作即可。

注意事项

  • 远程桌面窗口请用 X 按钮关闭。如果在服务器中注销,直接运行的机器人会停止。
  • 机器人不是从外部接收连接的程序,因此无需开放防火墙端口。
  • 如果机器人停止了,请查看控制台窗口中最后的错误信息。令牌错误、缺少依赖包是最常见的原因。
  • Windows 操作系统本身就会占用较多内存。如果只运行机器人,Linux 服务器更便宜、更轻量。操作系统选择指南

如果问题仍未解决,请在 Discord 提交工单。