================================================================================
بستهٔ استقرار ربات Net Club VIP روی لینوکس (VPS / هاست با SSH)
================================================================================

نکتهٔ مهم دربارهٔ «بدون قطع»
---------------------------
هیچ برنامه‌ای روی اینترنت واقعاً «هرگز یک لحظه هم قطع نشود» تضمین ندارد
(ری‌استارت سرور، قطع شبکه، به‌روزرسانی تلگرام، کمبود RAM و ...).
راه درست نزدیک‌شدن به «همیشه بالا»: اجرا با systemd و Restart=always تا بعد از
هر کرش یا قطع کوتاه، خودکار دوباره بالا بیاید.

--------------------------------------------------------------------------------
۱) چه چیزهایی داخل ZIP است
--------------------------------------------------------------------------------
  bot.py              → کد ربات
  requirements.txt    → وابستگی پایتون
  netclub-bot.service → نمونهٔ سرویس systemd (مسیر را با سرور خودت عوض کن)
  env.example         → الگوی متغیرهای محیطی (کپی به .env و پر کن — اختیاری)

--------------------------------------------------------------------------------
۲) روی سرور چه نصب باشد
--------------------------------------------------------------------------------
  - Ubuntu / Debian (یا هر لینوکس با systemd)
  - Python 3.10 یا بالاتر (ترجیحاً 3.11+)
  - دسترسی SSH و کاربر sudo

  نصب پایتون و venv (اگر ندارید):
    sudo apt update
    sudo apt install -y python3 python3-venv python3-pip

--------------------------------------------------------------------------------
۳) آپلود و باز کردن ZIP
--------------------------------------------------------------------------------
  فایل ZIP را از کامپیوتر خود به سرور ببرید (scp، SFTP در FileZilla، پنل هاست).

  مثال با scp از ویندوز (PowerShell):
    scp netclub-bot-host.zip user@YOUR_SERVER_IP:/home/user/

  روی سرور:
    unzip netclub-bot-host.zip -d netclub-bot
    cd netclub-bot

--------------------------------------------------------------------------------
۴) محیط مجازی و نصب کتابخانه‌ها
--------------------------------------------------------------------------------
    python3 -m venv venv
    source venv/bin/activate
    pip install --upgrade pip
    pip install -r requirements.txt

--------------------------------------------------------------------------------
۵) توکن و ادمین (حتماً روی سرور)
--------------------------------------------------------------------------------
  بهترین روش: متغیر محیطی (توکن داخل فایل روی سرور کپی نشود در بکاپ‌های اشتباه).

    export BOT_TOKEN="توکن_ربات_از_BotFather"
    export ADMIN_CHAT_ID="عدد_چت_آیدی_ادمین"

  تست یک‌بار دستی قبل از systemd:
    source venv/bin/activate
    export BOT_TOKEN="..."
    export ADMIN_CHAT_ID="..."
    python bot.py
  با Ctrl+C متوقفش کن اگر اوکی بود.

--------------------------------------------------------------------------------
۶) اجرای دائمی با systemd (پیشنهادی)
--------------------------------------------------------------------------------
  ۶-۱ پوشهٔ نهایی را انتخاب کن، مثلاً:
        sudo mkdir -p /opt/netclub-bot
        sudo cp -a bot.py requirements.txt venv /opt/netclub-bot/
        sudo chown -R $USER:$USER /opt/netclub-bot

  ۶-۲ فایل netclub-bot.service را باز کن و این‌ها را با مسیر و کاربر خودت یکی کن:
        WorkingDirectory
        ExecStart (مسیر python داخل venv)
        Environment برای BOT_TOKEN و ADMIN_CHAT_ID

  ۶-۳ کپی به systemd و فعال‌سازی:
        sudo cp netclub-bot.service /etc/systemd/system/netclub-bot.service
        sudo systemctl daemon-reload
        sudo systemctl enable netclub-bot
        sudo systemctl start netclub-bot

  ۶-۴ وضعیت و لاگ:
        sudo systemctl status netclub-bot
        journalctl -u netclub-bot -f

  بعد از هر ویرایش سرویس:
        sudo systemctl daemon-reload
        sudo systemctl restart netclub-bot

--------------------------------------------------------------------------------
۷) دیتابیس و لاگ
--------------------------------------------------------------------------------
  bot_database.json و bot.log در همان WorkingDirectory ساخته/به‌روز می‌شوند.
  برای مهاجرت از سرور قدیم: فایل bot_database.json قدیمی را کنار bot.py کپی کن.

--------------------------------------------------------------------------------
۸) اگر systemd نداری (فقط تست — کمتر پایدار)
--------------------------------------------------------------------------------
    nohup env BOT_TOKEN="..." ADMIN_CHAT_ID="..." ./venv/bin/python bot.py >> bot.log 2>&1 &

  با کرش سرور یا kill، خودکار بالا نمی‌آید؛ systemd بهتر است.

================================================================================
