# Meta Instagram API — راه‌اندازی (جایگزین سرور listener)

پیج جدید: **@Mydownibot**
Webhook: **https://the-popcorn.ir/ins/instagram-webhook.php**

================================================================================
معماری
================================================================================

کاربر Share می‌کند → Meta Webhook → instagram-webhook.php
    → InstagramListener (همان منطق قبلی)
    → Bot::deliverSharedInstagramLink
    → Fast-Creat API (دانلود) → تلگرام

**سرور ویندوز / کوکی / session دیگر لازم نیست.**

================================================================================
مرحله ۱ — Meta Developer Dashboard
================================================================================

1. developers.facebook.com → App شما
2. Add Product → **Instagram** (اگر نیست)
3. Instagram → API setup with Instagram login:
   - اکانت **@Mydownibot** را Connect کن
   - باید **Business یا Creator** باشد
   - به یک **Facebook Page** وصل باشد

4. از صفحه API Setup این‌ها را یادداشت کن:
   - **App ID**
   - **App Secret** (Settings → Basic)
   - **Instagram Account ID** (عدد — نه یوزرنیم)
   - **Page Access Token** (Generate — با دسترسی messages)

5. Permissions لازم (App Review برای production):
   - instagram_basic
   - instagram_manage_messages
   - pages_manage_metadata
   - pages_messaging

در حالت Development فقط تست‌کننده‌های اضافه‌شده کار می‌کنند.

================================================================================
مرحله ۲ — Webhook در Meta Dashboard
================================================================================

1. App → Webhooks → Configure
2. Object: **Instagram**
3. Callback URL:
   https://the-popcorn.ir/ins/instagram-webhook.php
4. Verify Token: یک رشته تصادفی (مثلاً popcorn_meta_2026_xyz)
5. Subscribe به field: **messages**
6. دکمه Verify and Save

================================================================================
مرحله ۳ — آپلود فایل‌ها روی هاست
================================================================================

فایل‌های جدید/تغییر یافته:

  instagram-webhook.php
  set_meta_webhook.php
  includes/MetaInstagram/
    MetaConfig.php
    MetaGraphClient.php
    MetaShareExtractor.php
    MetaWebhookVerifier.php
    MetaWebhookHandler.php
  includes/InstagramListener.php  (به‌روز)
  includes/WebhookHelper.php
  bootstrap.php
  config.php
  admin/ (settings)

================================================================================
مرحله ۴ — تنظیم config.php یا پنل ادمین
================================================================================

پنل ادمین → تنظیمات:

  منبع Share Listener = Meta API
  پیج اینستاگرام = Mydownibot
  Meta App ID = ...
  Meta App Secret = ...
  Webhook Verify Token = (همان Meta Dashboard)
  Page Access Token = ...
  Instagram Account ID = ...

یا در config.php → meta_instagram:

```php
'meta_instagram' => [
    'enabled'              => true,
    'app_id'               => 'YOUR_APP_ID',
    'app_secret'           => 'YOUR_APP_SECRET',
    'verify_token'         => 'popcorn_meta_2026_xyz',
    'page_access_token'    => 'EAA...',
    'instagram_account_id' => '178414...',
    'webhook_url'          => 'https://the-popcorn.ir/ins/instagram-webhook.php',
],
```

================================================================================
مرحله ۵ — ثبت webhook
================================================================================

در مرورگر باز کن:

  https://the-popcorn.ir/ins/set_meta_webhook.php

باید subscribe موفق ببینی.

تست سلامت:

  https://the-popcorn.ir/ins/listener-health.php

================================================================================
مرحله ۶ — تست
================================================================================

1. در تلگرام: /linkinstagram → یوزرنیم IG خود را ثبت کن
2. در IG (اکانت تست‌کننده اگر App در Development است):
   - یک ریلز Share کن
   - Send to → @Mydownibot
3. در تلگرام باید ویدیو بیاید
4. لاگ: logs/bot.log

================================================================================
مرحله ۷ — خاموش کردن سرور قدیمی
================================================================================

- listener روی VPS/PC را **متوقف** کن
- در پنل: منبع = Meta API (نه VPS)

================================================================================
عیب‌یابی
================================================================================

| مشکل | راه‌حل |
|------|--------|
| Verify failed | verify_token در config و Meta یکسان باشد |
| Invalid signature | app_secret اشتباه |
| Webhook نمی‌آید | messages subscribe + Page subscribed_apps |
| user_not_found | /linkinstagram در تلگرام |
| فقط تست‌کننده‌ها | App Review یا Tester اضافه کن |
| فالو اجباری | meta_follow_required در ادمین |

================================================================================
مزایا نسبت به سرور
================================================================================

✅ بدون session / کوکی / Firefox
✅ بدون سرور ۲۴/۷
✅ push فوری از Meta
✅ URL مستقیم در webhook (ریل/پست)
✅ DM فالو از API رسمی
