گرمای تابستان — همه‌چیز آب می‌شود، حتی قیمت‌های ما.−25%−۲۵٪ روی هر پلن سالانه، تا ۳۱ اوتدیدن پلن‌ها
EQVPS

چطور یک ربات Discord را شبانه‌روزی روی یک VPS هاست کنیم (بدون KYC، با پرداخت رمزارز)

1 تیر 1405 · 4 دقیقه مطالعه · EQVPS Team

یک ربات Discord روی لپ‌تاپ شما همان لحظه که در را می‌بندید می‌میرد. برای تست خوب است — برای رباتی که سرور شما واقعاً به آن وابسته است بی‌فایده. آن را به یک VPS منتقل کنید و آنلاین می‌ماند: از قطع شدن وای‌فای شما جان سالم به در می‌برد، وقتی می‌خوابید متوقف نمی‌شود، و خودش به Discord دوباره وصل می‌شود.

اینجا کل ماجرا را می‌بینید — یک ربات کمینه، یک سرویس که آن را زنده نگه می‌دارد، و اینکه چطور بدون تحویل دادن یک شناسه پرداخت کنید.

چرا یک VPS، نه لپ‌تاپ شما

یک ربات Discord به یک اتصال پایدار و همیشه‌روشن به گیت‌وی Discord نیاز دارد. یک لپ‌تاپ می‌خوابد، برای به‌روزرسانی‌ها ری‌بوت می‌شود، و شبکه‌ها را عوض می‌کند — هر بار، ربات آفلاین می‌شود و اعضا متوجه می‌شوند. یک VPS یک اتصال پایدار را به‌طور شبانه‌روزی نگه می‌دارد. این کل دلیلی است که آدم‌ها ربات‌ها را از دستگاه‌های شخصی جابه‌جا می‌کنند.

چه اندازه‌ای — و چطور پرداخت می‌کنید

یک ربات Discord سبک است. یک وب‌سوکت را نگه می‌دارد و به رویدادها واکنش نشان می‌دهد، پس جعبه بیشتر منتظر می‌ماند:

دو تصمیم عملی:

فقط 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 Developer Portal بگیرید (اپلیکیشن شما → Bot → Reset Token)، و اگر ربات شما پیام‌ها را می‌خواند، اینتنت Message Content را همان‌جا فعال کنید.

آن را با systemd زنده نگه دارید

اجرای python bot.py در نشست SSH شما یعنی ربات وقتی قطع می‌شوید می‌میرد. یک سرویس 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   # watch the logs

این همان تفاوت بین «اسکریپتی که اجرا می‌کنم» و «رباتی که خودش را اجرا می‌کند» است.

هشدارهای صادقانه

در همین چارچوب، یک ربات Discord روی سرور خودش فقط بالا می‌ماند — که کل هدف است. یک پلن انتخاب کنید، با رمزارز پرداخت کنید، و در چند دقیقه آن را آنلاین داشته باشید. اگر ربات‌های دیگری هم اجرا می‌کنید، همان الگوی systemd هر پردازه‌ای را زنده نگه می‌دارد.


راه‌اندازی آماده: VPS برای ربات‌های Discord را ببینید — پلن پیشنهادی و یک استقرار رمزارزی یک‌دقیقه‌ای.

سؤالات متداول

برای یک ربات Discord به چه VPSی نیاز دارم؟

کوچک‌ترین. یک ربات Discord بیشتر روی یک وب‌سوکت بی‌کار می‌ماند و منتظر رویدادها است، پس 1 گیگابایت RAM و 1 تا 2 هسته از پس بیشتر ربات‌ها به‌خوبی برمی‌آید. فقط وقتی به بیشتر نیاز دارید که خود ربات کار سنگین انجام دهد — تولید تصویر، یک مدل محلی، پخش موسیقی برای سرورهای زیاد.

آیا می‌توانم یک ربات Discord را بدون KYC هاست کنم؟

بله. فقط با یک ایمیل ثبت‌نام کنید و با رمزارز پرداخت کنید (USDC یا USDT روی Base یا Ethereum) — بدون شناسه، بدون کارت. راحت است اگر ترجیح می‌دهید یک ربات جانبی را به هویتتان گره نزنید.

آیا برای یک ربات Discord به IP اختصاصی یا پورت‌های باز نیاز دارم؟

نه. ربات از طریق یک وب‌سوکت به گیت‌وی Discord وصل می‌شود — همه‌اش خروجی است، پس یک VPS با NAT و SSH پورت-فوروارد شده کافی است. فقط اگر یک داشبورد وب هم اجرا می‌کنید یا وب‌هوک دریافت می‌کنید به پورت‌های ورودی نیاز دارید.

چطور ربات را بعد از بستن SSH در حال اجرا نگه دارم؟

آن را به‌عنوان یک سرویس systemd اجرا کنید. اگر در ترمینال خود اجرا شود، ربات با خروجتان می‌میرد؛ زیر systemd پس از خروج بالا می‌ماند، روی کرش‌ها ری‌استارت می‌شود، و پس از یک ری‌بوت برمی‌گردد.

آیا گذاشتن توکن ربات روی یک VPS ایمن است؟

آن را در یک متغیر محیطی یا یک فایل فقط-root نگه دارید، ربات را به‌عنوان یک کاربر غیر root اجرا کنید، و هرگز آن را در git کامیت نکنید. یک VPS جداگانه در واقع خانه ایمن‌تری برای یک توکن است تا دستگاه اصلی شما — اگر لو برود، یک توکن را می‌چرخانید، نه کل راه‌اندازی‌تان را.

← بازگشت به وبلاگ← پلن‌ها و قیمت‌ها

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.