無料のボットホストは、コンテナが眠るかイベント途中でサービスが落ちるまでは使えます。systemd 付きの $3 の VPS は、ボットを本当にオンラインに保ちます。これはハウツーです。より詳しい手順や音楽ボットの注意は VPS で Discord ボットをホスト と Discord ボット向け VPS ユースケース を参照。専用 IP は不要——Discord ボットは送信接続だけを行うので、NAT プラン(月 $3〜) が理想です。
1. ランタイムとボットをインストールする(Node の例)
apt update && apt install -y curl git
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs
git clone https://github.com/you/your-bot.git /opt/bot
cd /opt/bot && npm ci --omit=dev
2. トークンを env ファイルに保管する
cat >/opt/bot/.env <<'EOF'
DISCORD_TOKEN=your_token_here
EOF
chmod 600 /opt/bot/.env
3. Restart=always の systemd サービス
# /etc/systemd/system/discordbot.service
[Unit]
Description=Discord Bot
After=network.target
[Service]
WorkingDirectory=/opt/bot
ExecStart=/usr/bin/node index.js
EnvironmentFile=/opt/bot/.env
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now discordbot
journalctl -u discordbot -f
Restart=always こそが 24/7 にする鍵です——午前3時の未処理の reject は、ボットを死んだままにするのではなく再起動します。(詳しくは systemd サービスを作る。)
代わりに Python?
同じパターン——venv と discord.py、ユニットは venv の Python を指します:
ExecStart=/opt/bot/.venv/bin/python bot.py
メモ
- 複数のボット? ボットごとにユニットをコピー(
discordbot-a.service、…)するか、Docker の--restart unless-stoppedで各々をコンテナで動かします。 - 音楽ボット?
ffmpegを追加して Micro/Small へ上げます——ここで CPU を欲しがる唯一のものがオーディオエンコードです。トラフィックはどのプランでも無制限なので、ストリーミングで請求が膨らむことはありません。
Nano は月 $3、約1分で root、KYC なし、暗号資産で支払い——ボットのプロジェクトが終わったら使い捨てにできるほど安価です。Telegram ボット も同じパターン。
コメント
まだコメントはありません。最初になりましょう。