# 📥 ربات دانلودر اینستاگرام — Telegram Bot

ربات تلگرام حرفه‌ای برای دانلود پست، ریلز، IGTV و کاروسل اینستاگرام با PHP.

## ✨ قابلیت‌ها

### کاربر
- دانلود پست (عکس/ویدیو)، ریلز، IGTV و کاروسل
- **Share از اینستاگرام** — ثبت IG + دریافت خودکار در تلگرام
- جوین اجباری کانال عمومی و خصوصی
- محدودیت دانلود روزانه (عادی / VIP)
- سیستم دعوت (Referral)
- کیبورد فارسی
- حساب کاربری و آمار شخصی

### مدیریت
- پنل وب مدیریت (داشبورد، کاربران، کانال‌ها، همگانی، دانلودها)
- دستورات ادمین در ربات (`/stats`, `/broadcast_all`, `/block`, `/vip`)
- مسدود/آزاد کردن کاربر
- VIP کردن کاربران
- فعال/غیرفعال کردن ربات (حالت تعمیر)
- آمار روزانه

## 📁 ساختار پروژه

```
insta/
├── config.php          # تنظیمات اصلی
├── index.php           # وب‌هوک
├── bootstrap.php       # بارگذاری کلاس‌ها
├── set_webhook.php     # تنظیم وب‌هوک
├── cron.php            # کرون شبانه
├── api/
│   └── instagram-listener.php  # API دریافت Share از VPS
├── includes/
│   ├── Bot.php
│   ├── Database.php
│   ├── Telegram.php
│   ├── InstagramDownloader.php
│   ├── ForceJoin.php
│   └── Logger.php
├── admin/              # پنل مدیریت وب
├── data/               # پایگاه داده SQLite
└── logs/               # لاگ‌ها
instagram-listener/     # سرویس Python روی VPS (جداگانه)
```

## 📸 Instagram Share Listener

برای فعال‌سازی Share/DM:

1. در `config.php` مقدار `instagram_listener.api_token` را تنظیم کنید
2. VPS را طبق `instagram-listener/README.md` نصب کنید
3. Token در `.env` VPS و `config.php` باید یکسان باشد
4. کاربران در ربات: `/linkinstagram`

## 🚀 نصب و راه‌اندازی

### ۱. پیش‌نیازها
- هاست PHP 7.4+ با cURL و PDO SQLite
- SSL (HTTPS) برای وب‌هوک
- توکن ربات از [@BotFather](https://t.me/BotFather)

### ۲. آپلود فایل‌ها
تمام فایل‌ها را روی هاست آپلود کنید.

### ۳. تنظیم config.php

```php
'bot_token'      => '123456:ABC-DEF...',  // توکن ربات
'super_admin_id' => 123456789,             // آیدی عددی شما
'webhook_url'    => 'https://domain.com/insta/index.php',
```

رمز پنل مدیریت را هم تغییر دهید:

```php
'admin_panel' => [
    'username' => 'admin',
    'password' => 'رمز_قوی_شما',
],
```

### ۴. تنظیم وب‌هوک
در مرورگر باز کنید:
```
https://domain.com/insta/set_webhook.php
```

### ۵. تنظیم جوین اجباری
1. ربات را **ادمین** کانال(ها) کنید
2. وارد پنل مدیریت شوید: `https://domain.com/insta/admin/`
3. از بخش «کانال‌ها» کانال عمومی یا خصوصی اضافه کنید

**کانال عمومی:** Chat ID = `@username`  
**کانال خصوصی:** Chat ID = `-100...` + لینک دعوت

### ۶. کرون (اختیاری)
```
0 0 * * * php /path/to/insta/cron.php
```

## 📱 دستورات ربات

| دستور | توضیح |
|--------|--------|
| `/start` | شروع |
| `/help` | راهنما |
| `/account` | حساب کاربری |
| `/support` | پشتیبانی |
| `/panel` | پنل ادمین |
| `/stats` | آمار |
| `/broadcast_all متن` | همگانی |
| `/block آیدی` | مسدود |
| `/unblock آیدی` | آزاد |
| `/vip آیدی` | VIP |

## 🔧 API — Fast-Creat (Senator)

ربات از [وب‌سرویس اینستاگرام Fast-Creat](https://docs.fast-creat.ir/instagram) استفاده می‌کند.

```php
'instagram_api' => [
    'base_url' => 'https://api.fast-creat.ir/instagram',
    'apikey'   => 'YOUR_API_KEY',
],
```

توکن از پنل Fast-Creat دریافت می‌شود و به‌صورت پارامتر `apikey` در URL ارسال می‌گردد.

### endpointهای پشتیبانی‌شده

| لینک | type |
|------|------|
| پست / ریلز / IGTV / کاروسل | `post2` |
| استوری | `story` |
| هایلایت | `highlight` |

## ⚠️ نکات امنیتی

- **حتماً** رمز پنل و توکن ربات را تغییر دهید
- API Key را در Git commit نکنید
- پوشه `data/` و `logs/` از دسترسی وب محافظت شده‌اند
- ربات باید ادمین کانال‌های جوین اجباری باشد

## 📄 لایسنس

MIT — استفاده آزاد
