VMHeaven

Discord 机器人托管 在您自己的 VPS 上 24/7 运行 Discord 与 Telegram 机器人

要让 Discord 或 Telegram 机器人 24/7 在线,就把它放在一台小型 Linux VPS 上,交给 systemd 运行。在这里,这是一台运行 Ubuntu 或 Debian、拥有完整 root 权限的 KVM 服务器,阿姆斯特丹 €4.99/月起,付款确认后约一分钟上线,并配有独立 IPv4 地址。discord.js、discord.py、JDA、aiogram、python-telegram-bot 还是 Go — 能在 Linux 上运行的,在这里都能运行。

  • 支持任何能在 Linux 上运行的语言
  • 独立 IPv4 地址
  • 约一分钟上线
  • DDoS 防护始终开启

机器人 VPS

适用于 Discord 与 Telegram 机器人

运行环境
Node.js、Python、Go、Java…(自行安装)
系统
Ubuntu · Debian
进程管理
systemd · pm2 · Docker
入站端口
Gateway 机器人无需开放
IP 地址
独立 IPv4
起价
€4.99/月

01为何选 VPS

为什么要把机器人放在 VPS 上,而不是免费托管?

机器人需要全天候保持连接。免费方案常会让闲置应用休眠、让许多用户共用同一个 IP 地址,并限制您能安装的内容;VPS 则是一台始终运行、只属于您的服务器。

不会休眠

服务器会一直运行,直到您将其停止:没有闲置超时,也无需保活 ping。只要您的代码在运行,机器人的 Gateway 连接就一直在线。

独享 IPv4 地址

Discord 会临时封禁发送过多无效请求的 IP 地址。在共享地址上,别人的机器人可能替您的机器人招来封禁;在您独享的 IPv4 上,只有您自己的代码会触发。

完整 root 权限

安装任意运行环境和版本、PostgreSQL 或 Redis 等数据库、ffmpeg 或 Lavalink,并在套餐资源范围内运行任意数量的进程。

固定月费

阿姆斯特丹最小套餐 €4.99/月,每月相同 — 不按 CPU 小时或请求数计费。最长可预付 12 个月,月费最多降低 15%。

02网络

我的机器人需要开放端口或域名吗?

通常不需要。主动连接 Discord 或 Telegram 的机器人两者都不需要;只有由平台回调您服务器的方式才需要。

Discord Gateway 机器人

discord.js、discord.py、JDA 以及大多数库,都会从您的服务器向 Discord Gateway 建立 WebSocket 连接。所有流量都是出站的,因此无需开放端口,也无需域名 — 只放行 SSH 的防火墙就足够了。

Discord 交互端点

如果改为设置 Interactions Endpoint URL,Discord 会把每个斜杠命令以 HTTPS 请求发送到您的服务器。这需要一个公开的 HTTPS 地址,实际上就是一个带 TLS 证书的域名。请先把域名指向您的 VPS 并启用 HTTPS。

Telegram 机器人

长轮询(getUpdates)是 aiogram 和 python-telegram-bot 常见的起步方式,无需域名,也无需开放端口。Webhook 则需要一个位于 443、80、88 或 8443 端口的公开 HTTPS 地址;设置了 Webhook 期间,getUpdates 无法使用。

我们自己的机器人也是这样运行的:@vmheaven_bot 使用长轮询,我们的 Discord 应用通过 Gateway 连接,两者都不需要入站端口。

03部署

如何部署机器人,让它 24/7 运行?

用 systemd — 每台 Ubuntu 和 Debian 服务器都已自带:它会在开机时启动机器人,并在崩溃后自动重启。从一台全新服务器开始,共五步:

  1. 01

    为机器人创建用户

    通过 SSH 登录,用 adduser bot 创建一个无特权用户,这样机器人的漏洞就碰不到系统的其他部分。SSH 密钥和系统更新可参考我们的新服务器前十分钟清单。

  2. 02

    获取代码

    用 git clone 把仓库克隆到机器人用户的主目录,或者用 scp、rsync 复制过去。

  3. 03

    安装运行环境

    Python:apt install python3-venv,创建虚拟环境并在其中用 pip 安装依赖 — 在当前的 Debian 和 Ubuntu 上,pip 会拒绝全局安装,而且命令是 python3,而不是 python。Node.js:通过 NodeSource 或 nvm 安装较新的 LTS 版本,然后执行 npm ci;发行版自带的 nodejs 软件包往往版本偏旧。

  4. 04

    编写 systemd 单元

    按下方示例创建 /etc/systemd/system/bot.service。Restart=always 会在崩溃后拉起机器人;令牌放在 EnvironmentFile 中 — 也就是权限为 600 的文件里的一行 DISCORD_TOKEN=… — 而不是写在代码或 Git 历史里。

  5. 05

    启用并查看日志

    systemctl enable --now bot 会立即启动机器人,并在每次开机时启动;journalctl -u bot -f 实时查看日志。更新时:git pull,然后 systemctl restart bot。如果 Webhook 机器人重启时报 EADDRINUSE,说明旧进程仍占用着端口。

/etc/systemd/system/bot.service
[Unit]
Description=Discord bot
After=network-online.target
Wants=network-online.target

[Service]
User=bot
WorkingDirectory=/home/bot/app
EnvironmentFile=/home/bot/app/.env
ExecStart=/usr/bin/node index.js
# Python: ExecStart=/home/bot/app/.venv/bin/python bot.py
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Python 机器人请改用注释掉的那行 ExecStart;用 nvm 安装的 Node.js,请填写 which node 输出的路径。每次修改单元文件后,运行 systemctl daemon-reload。

想用别的工具?pm2 可为 Node.js 做同样的事 — pm2 start index.js,再执行 pm2 startup 和 pm2 save,重启后也能恢复;Docker Compose 配合 restart: unless-stopped 适用于任何语言(docker: command not found?)。systemd 需要完整的虚拟机:容器里没有 systemctl,而这里的每台 KVM 服务器都有。机器人上线前,请改用 SSH 密钥,并启用只放行 SSH 的 UFW 防火墙,使用 Webhook 时再放行 443。

下单时选择 Ubuntu 24.04 LTS 或 Debian 13 (Trixie)(也提供更早的版本),想重新开始时可随时在面板中重装。了解更多:Ubuntu VPS 与 Debian VPS。

04套餐

我的机器人需要哪个套餐?

比您想的要少:最小的套餐就能轻松运行一个典型的斜杠命令或管理机器人。语音、音乐和超大型机器人再选更大的套餐。

Standard KVM

大多数机器人
Intel · DDR4 ECC

每欧元最多的 vCore 和内存 — €4.99 即有 2 个 vCore 和 4 GB 内存。机器人、它的数据库,再加第二、第三个机器人都放得下。

阿姆斯特丹 有货法兰克福 已售罄
套餐vCoresRAM存储阿姆斯特丹
STANDARD KVM 124 GB DDR420 GB€4.99/月
STANDARD KVM 248 GB DDR440 GB€9.99/月
STANDARD KVM 3612 GB DDR460 GB€14.99/月
查看 Standard KVM 全部 9 档套餐

Hi-CPU KVM

单线程繁忙
AMD EPYC 7443 · ECC

每档套餐 vCore 更少,采用 AMD EPYC 7443。Node.js 和 Python 在一个主线程中运行机器人自身的代码;当瓶颈正是这个线程时,就选这条产品线。

阿姆斯特丹 有货法兰克福 已售罄
套餐vCoresRAM存储阿姆斯特丹
HI-CPU 112 GB ECC20 GB€4.99/月
HI-CPU 224 GB ECC40 GB€9.99/月
HI-CPU 336 GB ECC60 GB€14.99/月
查看 Hi-CPU KVM 全部 9 档套餐

简单机器人

斜杠命令、管理、提醒、一个小型 SQLite 或 PostgreSQL 数据库:€4.99 的套餐即可。这类机器人通常只占用 4 GB 内存中的一小部分。

语音和音乐机器人

用 ffmpeg 编码音频,或在机器人旁运行 Lavalink(一个 Java 服务器),每个活跃语音频道都会消耗 CPU,JVM 也要占内存。需要内存就选更大的 Standard 套餐;瓶颈在单个繁忙线程时选 Hi-CPU。

大型机器人

机器人加入 2,500 个服务器后,Discord 要求分片(sharding);每个分片都是一条额外的 Gateway 连接,并占用更多内存。沿 Standard 产品线逐步升级 — 如果内核因内存不足杀掉了机器人,那就是该升级的信号。

一台服务器,多个机器人

给每个机器人单独的用户和单独的单元 — bot-a.service、bot-b.service — 这样一个机器人崩溃或更新时,绝不会影响其他机器人。

从小套餐起步:在面板中升级后,同一台服务器获得更多 vCore、内存和存储 — 数据和 IP 地址保持不变,新资源在重启后生效。

Standard KVM 和 Hi-CPU KVM 在法兰克福目前已售罄。如需在德国运行机器人,那里在售的 DMCA Ignored KVM和Pentesting KVM €8.99 起 — 德国 VPS 页面列出了法兰克福在售的产品。

可用银行卡、PayPal 或加密货币付款 — 比特币、以太坊、USDT、莱特币、门罗币等 — 无需身份验证:了解加密货币付款流程。

05聊天管理

我能在 Discord 或 Telegram 里管理服务器吗?

可以。我们的 Telegram 机器人 @vmheaven_bot 和 Discord 应用会连接到您的 VMHeaven 账户,运行您机器人的那台服务器,在同一个聊天应用里就能查看和重启。

在面板中连接

打开 设置 → 联系方式,勾选同意框,然后连接 Telegram、Discord 或两者。连接 Discord 时,您还会被加入 VMHeaven 的 Discord 服务器,机器人因此才能给您发私信。随时可用 /unlink 或在面板中断开连接。

状态与电源

/services 列出您的服务器及实时状态、IP 地址和续费日期。轻点即可启动、停止或重启 — 停止和重启前会先请您确认。

账单与余额

/invoices 显示未付账单,/balance 显示余额;可直接在聊天中用银行卡或加密货币支付账单或充值。

提醒与通知

到期前 7、3、1 天提醒,每天合并为一条消息;余额不足以支付自动续费时提醒;新服务器就绪,或宿主节点重启后服务器恢复在线时,也会通知您。

支持工单

支持人员回复您的工单时会收到消息 — 回复内容本身留在面板中 — 您也可以直接在聊天里回复工单。

聊天中不发送密码

密码和登录凭据绝不会通过 Telegram 或 Discord 发送,只保留在您的邮箱和面板中。

两个机器人都处于测试阶段,会定期增加新功能 — 缺什么功能,请提交工单告诉我们。想与其他客户和团队交流,欢迎加入我们的 Discord 服务器 和 Telegram 频道。

06规则

允许运行哪些机器人?

任何合法的机器人。我们的可接受使用政策明确允许出于合法目的的自动化任务、机器人和脚本。

允许

社区、管理、工具、游戏、音乐和通知类机器人,支撑它们的 API 和控制面板,以及其他任何合法的自动化。

禁止

恶意软件和僵尸网络控制端(C2)、钓鱼和欺诈,以及垃圾信息。僵尸网络控制端会被自动关停;导致 IP 段被 Spamhaus 或 URLHaus 列入黑名单的行为,可能立即终止服务。

平台规则由您负责

Discord 和 Telegram 有各自的条款:selfbot(自动化的用户账号)违反 Discord 的条款,群发私信、突袭(raid)和垃圾信息工具则违反两者的条款。确保机器人遵守这些条款,是您作为所有者的责任。

完整规则见我们的可接受使用政策。

07常见问题

Discord 机器人托管常见问题

部署前需要了解的一切 — 需要时还有真人为您解答。

阿姆斯特丹最小的 Standard KVM 套餐 €4.99/月起:2 个 vCore、4 GB 内存和 20 GB 存储,配独立 IPv4 地址和始终开启的 DDoS 防护。价格按月固定,最长预付 12 个月可最多优惠 15%。一个套餐可以运行多个机器人,包括 Telegram 机器人。

大多数机器人在 €4.99 的最小套餐上就能轻松运行。需要更多内存时 — 带 Lavalink 的音乐机器人、大缓存、大量分片 — 选更大的 Standard KVM 套餐;瓶颈在单个繁忙线程时选 Hi-CPU KVM。之后可在面板中升级:同一台服务器获得更多资源,数据和 IP 地址保持不变。

可以。一台 VPS 能运行多少机器人只取决于资源 — Discord、Telegram 或两者兼有 — 每个机器人作为独立的 systemd 服务运行。使用长轮询的 Telegram 机器人无需域名,也无需开放端口;使用 Webhook 的机器人需要位于 443、80、88 或 8443 端口的公开 HTTPS 地址。

会。每台服务器都有独立的 IPv4 地址,如果机房有空闲的 IPv6 前缀也会一并分配;升级套餐后地址保持不变。这对机器人很重要:Discord 会临时封禁发送过多无效请求的 IP 地址,在共享地址上,别人的机器人可能替您的机器人招来封禁。

把它作为 systemd 服务运行,设置 Restart=always,并用 systemctl enable --now bot 启用:systemd 会在崩溃后重启它,并在每次开机时启动它。pm2(配合 pm2 startup 和 pm2 save)或设置了 restart: unless-stopped 的 Docker 也能做到。如果宿主节点本身重启,我们的平台会自动重新启动随之停机的服务器。

可以,但要比文字机器人预留更多 CPU 和内存:每个活跃语音频道都要编码音频,Lavalink 还会作为独立的 Java 进程运行。建议从更大的 Standard KVM 套餐或 Hi-CPU KVM 起步。机器人播放内容的版权由您负责;另外,部分流媒体平台会限制来自数据中心 IP 的请求 — 无论在哪家主机商都一样。

对服务器没有影响:Ubuntu 和 Debian 能运行 Python、Node.js、Go、Java 以及任何能在 Linux 上运行的程序,版本由您自己安装。区别在于部署方式。Python 机器人应放在虚拟环境中,因为当前的 Debian 和 Ubuntu 会拒绝全局 pip 安装;Node.js 机器人最好运行在较新的 LTS 版本上,它往往比发行版自带的更新。两者都在一个主线程中运行机器人自身的代码,所以 Hi-CPU KVM 适合负载繁重的单进程机器人。

允许。我们的可接受使用政策把出于合法目的的自动化任务、机器人和脚本列为允许的用途。它禁止的内容对机器人同样适用:恶意软件和僵尸网络、钓鱼和欺诈,以及垃圾信息。此外还要遵守 Discord 和 Telegram 自己的条款 — selfbot 以及群发私信、突袭工具都违反这些条款。

08用途与相关页面

相关套餐与指南

我们为相近用途提供的其他服务器(均标注起步价),以及下单前值得一读的三篇指南。

相关套餐

指南来自我们的博客,英文撰写

准备好让您的机器人 24/7 在线了吗?

位于欧盟的企业级算力 — 无合约、随时取消,由我们 99.5% 的正常运行时间 SLA 保障。