# 🚀 cPanel Par TG Live Joiner & Auto Reaction Bot Setup Guide

Yeh step-by-step guide aapko batayegi ki is **TG Live Joiner & Auto Reaction Bot** ko **cPanel** par kaise host aur setup karein.

---

## 📋 Pre-requisites (Zaroori Cheezein)
1. **cPanel Hosting Account** (Jisme Python App Setup feature ho).
2. **Telegram API_ID & API_HASH** ([my.telegram.org](https://my.telegram.org) se mil jayega).
3. **Telegram Bot Token** (Optional, `@BotFather` se Telegram Admin commands `/admin` ke liye).
4. **Pyrogram Session String** (Userbot Account ke liye).

---

## 🛠️ Step 1: Files Upload & Directory Setup
1. Apne **cPanel** me login karein aur **File Manager** kholein.
2. `public_html` ke bahar ya andar ek naya folder banayein, jaise `tglivebot`.
3. Saari files (`app.py`, `bot.py`, `live_joiner.py`, `auto_reaction.py`, `database.py`, `config.py`, `passenger_wsgi.py`, `requirements.txt`, `templates/` folder) ko zip karke is folder me upload karein aur extract kar dein.

---

## 🐍 Step 2: cPanel Par Python App Create Karein
1. cPanel me **"Setup Python App"** search karein aur click karein.
2. **"Create Application"** par click karein:
   - **Python Version**: Select `3.10` ya `3.11` (Ya 3.8+).
   - **Application root**: Folder ka naam daalein (jaise `tglivebot`).
   - **Application URL**: Apne domain ya subdomain select karein (jaise `bot.yourdomain.com` ya `yourdomain.com/bot`).
   - **Application startup file**: `passenger_wsgi.py`
   - **Application Entry point**: `application`
3. **CREATE** button par click karein.

---

## 📦 Step 3: Dependencies Install Karein (`requirements.txt`)
1. Application create hone ke baad cPanel Python App Page par sabse upar **Command to enter virtual environment** dikhai dega. Usko copy karein:
   Example:
   ```bash
   source /home/username/virtualenv/tglivebot/3.10/bin/activate && cd /home/username/tglivebot
   ```
2. cPanel me **Terminal** open karein aur copy ki gayi command paste karke **Enter** dabayein.
3. Ab saare modules install karne ke liye yeh run karein:
   ```bash
pip install -r requirements.txt
```

If the environment previously had the old `pyrogram==2.0.106`, remove it
before installing requirements so it cannot shadow Kurigram:

```bash
pip uninstall -y pyrogram
pip install --upgrade -r requirements.txt
```

---

## 🔑 Step 4: Environment Variables (`.env`) File Setup
1. Project folder me `.env` file banayein (`.env.example` ko copy karke `.env` rename kar sakte hain).
2. Usme apni Details daalein:
   ```env
   API_ID=1234567
   API_HASH=your_api_hash_here
   BOT_TOKEN=your_bot_token_here
   ADMIN_USER_ID=your_telegram_user_id
   ADMIN_PASSWORD=admin123
   SECRET_KEY=my-super-secret-key-8899
   ```

---

## 🚀 Step 5: Web Panel & Telegram Bot Restart Karein
1. cPanel **Setup Python App** page par jayein.
2. Apne App ke samne **"Restart"** button par click karein.
3. Ab apne Browser me Apni Domain/Subdomain URL kholein (jaise `https://yourdomain.com`).
4. **Admin Password** se login karein.

---

## 🎙️ Step 6: PyTGCalls (Voice Chat) & Auto Reaction Setup
1. Web Panel me **TG Accounts** section me jayein.
2. Apne Telegram Account ki **Pyrogram / Telethon String Session** paste karke add karein.
3. **TG Live Joiner** section me jayein -> Apne Channel/Group ka username (e.g. `@mychannel`) daalein aur **"Join Live Now"** par click karein.
4. **Auto Reactions** section me jayein -> Target Channel daalein aur pasandida Emojis (👍, ❤️, 🔥) set karke Save karein.

---

## 💡 Cron Job / Background Runner (Optional Best Performance)
Bina kisi HTTP request drop ke bot ko 24/7 hamesha active rakhne ke liye cPanel **Cron Jobs** me har 5-10 min par runner check add kar sakte hain:
* Command:
  ```bash
  /home/username/virtualenv/tglivebot/3.10/bin/python /home/username/tglivebot/runner.py > /dev/null 2>&1
  ```

For cPanel/Passenger, background threads may be suspended when the site has no
traffic. For reliable auto-detection, enable Auto-Join in the dashboard and add
this one-minute cron request (replace the domain):

```bash
curl -fsS https://your-domain.example/api/cron_autojoin/ > /dev/null
```

For persistent Voice Chat sockets even when the browser tab is hidden/closed,
use the dedicated singleton worker instead. Add `worker.py` as a once-per-minute
cron command using the Python executable and application paths displayed by
cPanel Setup Python App:

```bash
/home/USERNAME/virtualenv/APP_ROOT/3.11/bin/python /home/USERNAME/APP_ROOT/worker.py >> /home/USERNAME/APP_ROOT/worker.log 2>&1
```

The first invocation stays running. Later cron invocations exit immediately
while its file lock is held; if hosting kills the worker, the next cron minute
starts it again. Remove the old curl cron after enabling this worker cron.

---

🎉 **Mubarak ho! Aapka TG Live Joiner & Auto Reaction Bot 100% Ready hai!**
