# راهنمای این نسخه — رفعِ باگِ دکمه‌ی «ورود به حساب کاربری»

## این‌بار: جایگزینیِ کاملِ ۱-به-۱
همون‌طور که خواستید، این زیپ دقیقاً همون چیزیه که خودتون فرستادید —
شاملِ `data/` (کاربرها، کیف‌پول‌ها، آگهی‌ها، سشن‌ها) و `config.php`
(توکنِ ربات و کلیدِ API) — به‌علاوه‌ی تغییراتِ همین فیکس روش. یعنی
می‌تونید کلِ پوشه‌ی `site/` و کلِ پوشه‌ی `bot/` رو مستقیم جایگزینِ
نسخه‌ی فعلی‌تون کنید، بدونِ اینکه چیزی حذف بشه.

**تنها نکته:** چون `data/` عیناً همون لحظه‌ای‌ست که فایل‌ها رو برام
فرستادید، اگه از اون لحظه تا الان (بینِ این گفتگو) کاربر/سفارش/تراکنشِ
تازه‌ای رو سایتِ واقعی‌تون اضافه شده باشه، با این جایگزینی اون‌ها از
دست می‌رن. اگه از اون موقع تا الان چیزی عوض نشده (یا برایِ محیطِ تست
استفاده می‌کنید)، مشکلی نیست.

## چی درست شد
دکمه‌ی «✅ ورود به حساب کاربری» زیرِ /start قبلاً فقط یک اکشنِ پنهانِ
داخلِ ربات بود؛ با زدنش هیچ لینکی باز نمی‌شد و بلافاصله می‌رفت مرحله‌ی
بعد. حالا:
1. دکمه یک **لینکِ واقعیِ url**ـه.
2. با زدنش مرورگر باز می‌شه، وارد `magic_login.php` سایت می‌شه، همونجا
   حساب واقعاً ساخته/آپدیت و کاربر لاگین می‌شه، بعد به `account.php`
   می‌ره.
3. **همون لحظه** که حساب ساخته شد، سایت یک پیام برای ربات صف می‌کنه
   (از همون صفِ outboxِ همیشگی) و ربات با فاصله‌ی چند ثانیه (همون فاصله‌ی
   معمولیِ پردازشِ این صف) خودکار می‌ره سراغِ «انتخابِ نوعِ آگهی» — بدونِ
   هیچ کارِ دستیِ دیگه‌ای از طرفِ کاربر.

اگه لینک منقضی (بیش از ۱۰ دقیقه) یا قبلاً استفاده شده باشه، یه صفحه‌ی
راهنما نشونش می‌ده که دوباره `/start` بزنه.

## فایل‌هایی که واقعاً تغییر کردن (بقیه‌ی همه‌چی عیناً همونیه که فرستادید)

### سمتِ سایت
- `includes/bot_login_tokens.php` — 🆕 جدید
- `api/create_magic_login.php` — 🆕 جدید
- `magic_login.php` — 🆕 جدید (ریشه‌ی سایت)
- `includes/bot_outbox.php` — ✏️ ویرایش (پارامترِ `action` اضافه شد)
- `api/outbox.php` — ✏️ ویرایش (فیلدِ `action` تو پاسخ برمی‌گرده)

### سمتِ ربات
- `src/SiteApiClient.php` — ✏️ ویرایش (متدِ جدیدِ `createMagicLoginUrl`)
- `src/ChatFlow.php` — ✏️ ویرایش (دکمه‌ی url به‌جای callback، تابعِ جدیدِ `send_listing_type_prompt`)
- `src/OutboxProcessor.php` — ✏️ ویرایش (پردازشِ اکشنِ `seller_await_type`)
- `bot.php` — ✏️ ویرایش (پاس‌دادنِ `$sellerSession`)
- `worker.php` — ✏️ ویرایش (پاس‌دادنِ `$sellerSession` + require‌های لازم)

## نصب
1. کلِ پوشه‌ی `site/` رو جایگزینِ کاملِ پوشه‌ی سایت روی هاست کن.
2. کلِ پوشه‌ی `bot/` رو جایگزینِ کاملِ پوشه‌ی ربات روی هاست کن.
3. دستورِ ادمینِ `/restart` رو تو خودِ ربات بزن (یا سرویسِ `bot.php` رو
   ری‌استارت کن) تا کدِ جدید لود بشه.

## تست
یک chat_idِ بدونِ حساب (یا یکی که از پنلِ ادمین حسابش رو پاک کردی)
`/start` بزنه:
1. باید دکمه‌ی «🌐 ورود به حساب کاربری» رو ببینه.
2. با زدنش مرورگر واقعاً باز بشه و `account.php` لاگین‌شده نشون بده.
3. چند ثانیه بعد، بدونِ هیچ کارِ دیگه‌ای تو تلگرام، پیامِ «مشخص کن این
   آگهی چه نوعیه» با دکمه‌های «⭐️ آگهی ویژه» / «📄 آگهی عادی» برسه، و
   زدنِ این دکمه‌ها هم درست کار کنه (نه خطای «این دکمه دیگه معتبر نیست»).
