# SKANDER servertelegram v3.8.2 — إلغاء القديمة وتنفيذ التوصية الجديدة

## السلوك المطلوب
إذا تم تعديل توصية Telegram قبل التنفيذ، لا يتم تنفيذ الاتجاه القديم. السيرفر يرسل `cancel` للصفقة القديمة أولاً، ثم ينشئ توصية بديلة جديدة بالاتجاه/الزوج/الوقت المعدل ويرسلها للتطبيق بمفتاح تنفيذ جديد.

مثال:
- الأصل: USDDZD OTC — PUT — 04:08
- تم تعديل نفس الرسالة إلى CALL قبل 04:08
- السيرفر: CANCEL للـ PUT القديم
- ثم: PREPARE/EXECUTE جديد للـ CALL باستخدام `execution_key` جديد

إذا جاءت توصية جديدة كرسالة Telegram منفصلة بعد الإلغاء، فهي تعامل كتوصية جديدة طبيعيًا وتنفذ حسب وقتها.

## حماية من التكرار
الصفقة القديمة والجديدة لا تشتركان في `execution_key`. هذا مهم لأن التطبيق v1.25.34 يحتفظ بـ cancellation tombstone للمفتاح القديم، وبالتالي لا يمنع التوصية البديلة الجديدة.

## تعديلات غير مؤثرة على التداول
إذا تم تعديل نص الرابط أو التنسيق فقط بدون تغيير الاتجاه/الزوج/وقت الدخول/المدة/السوق، لا يتم إلغاء الصفقة ولا إنشاء بديل.

## التعديل المتأخر
إذا وصل التعديل بعد بدء التنفيذ/بعد وقت الدخول، لا يمكن إلغاء صفقة أرسلت بالفعل إلى الوسيط. يسجل السيرفر `TG_EDIT_TOO_LATE`.

## التوافق
- Server: v3.8.2
- App: v1.25.34 متوافق ولا يحتاج تعديل إضافي لهذا السلوك.
- يجب الاحتفاظ بملفي `.env` و `data/state.json` عند الرفع على cPanel.
