M
Collecting workspace informationأرى المشكلة! 🔍 البوت فعلاً ينشر منتجات غير منطقية في قسم البقالة:❌ المنتجات الخاطئة:- CHI Silk Infusion → منتج شعر/تجميل- كوكوميلون نعم الخضار! → كتاب أطفال- Cuétara Chocolate Homestyle Cookies 0% Sugar → قد يكون منتج دايت/صحي (ليس بقالة عادية)---## 🎯 السبب الجذري:الفحص في telegram_bot_amazon.py يعتمد على نظام المؤشرات (ProductIndicators) لكن:1. Threshold منخفض جداً (15% للبقالة) - يقبل أي شيء تقريباً2. القائمة السوداء غير شاملة - لا تستبعد كل المنتجات الخاطئة3. لا يوجد فحص إيجابي قوي - يجب أن يحتوي المنتج على كلمات طعام صريحة---## 🔧 الحل المقترح:### 1. تشديد فحص البقالة في `_is_relevant_to_category`:في telegram_bot_amazon.py (السطر ~1509):````pythondef _is_relevant_to_category(self, product, category, keywords, search_keyword=None): """تأكّد أن المنتج مرتبط بالقسم المطلوب""" asin = product.get('asin', 'N/A') title = (product.get("title") or "").lower() # ... الكود الحالي ... # 🆕 فحص خاص للبقالة: يجب وجود كلمات طعام صريحة if category == "grocery": # كلمات إيجابية قوية (يجب وجود واحدة منها) food_keywords = [ # طعام عام 'food', 'طعام', 'غذاء', 'أكل', # حبوب ومعكرونة 'rice', 'أرز', 'رز', 'pasta', 'معكرونة', 'مكرونة', 'noodle', 'نودلز', 'flour', 'طحين', 'دقيق', 'bread', 'خبز', 'toast', 'توست', # زيوت ودهون 'oil', 'زيت', 'olive', 'زيتون', 'butter', 'زبدة', 'ghee', 'سمن', # سوائل ومشروبات 'water', 'ماء', 'مياه', 'juice', 'عصير', 'milk', 'حليب', 'لبن', 'coffee', 'قهوة', 'tea', 'شاي', 'beverage', 'مشروب', 'drink', # توابل وصلصات 'spice', 'بهارات', 'توابل', 'salt', 'ملح', 'sugar', 'سكر', 'sauce', 'صلصة', 'صوص', 'ketchup', 'كاتشب', 'mayonnaise', 'مايونيز', 'vinegar', 'خل', 'honey', 'عسل', 'tahini', 'طحينة', # معلبات ومحفوظات 'canned', 'معلب', 'tuna', 'تونة', 'beans', 'فاصوليا', 'فول', 'tomato paste', 'معجون طماطم', 'jam', 'مربى', # حلويات وسناكس 'chocolate', 'شوكولاتة', 'شوكولا', 'candy', 'حلوى', 'حلويات', 'cookies', 'كوكيز', 'biscuit', 'بسكويت', 'بسكوت', 'chips', 'شيبس', 'snack', 'سناك', # مكسرات وتمور 'nuts', 'مكسرات', 'almond', 'لوز', 'cashew', 'كاجو', 'dates', 'تمر', 'raisin', 'زبيب', # منتجات ألبان 'cheese', 'جبنة', 'جبن', 'yogurt', 'زبادي', 'لبن', 'cream', # حبوب إفطار 'cereal', 'كورن فليكس', 'oats', 'شوفان', 'granola', 'جرانولا', # وحدات قياس الطعام (مؤشر قوي) 'gram', 'جرام', 'kg', 'كيلو', 'liter', 'لتر', 'ml', 'مل', 'oz', 'pound', 'gallon' ] has_food_keyword = any(kw in title for kw in food_keywords) if not has_food_keyword: print(f" ⚠️ استبعاد '{title[:50]}...' - لا يحتوي كلمات طعام صريحة") return False # ✅ إذا نجح، نتأكد من نظام المؤشرات confidence_threshold = 25 # رفع من 15 إلى 25 is_relevant = self.product_indicators.is_product_relevant( product, 'grocery', confidence_threshold, search_keyword ) if not is_relevant: print(f" ⚠️ استبعاد '{title[:50]}...' - ثقة منخفضة ({confidence_threshold}%)") return False return True # ... باقي الأقسام ...````---### 2. تحسين القائمة السوداء في نفس الدالة:أضف في بداية _is_relevant_to_category:
21.12.2025 00:12
M
````python# 🚫 القوائم السوداء لكل قسم (كلمات ممنوعة)BLACKLISTED_KEYWORDS = { 'grocery': [ # منتجات التجميل والشعر - موسعة 'hair', 'shampoo', 'conditioner', 'serum', 'silk infusion', 'styling', 'شعر', 'شامبو', 'بلسم', 'سيروم', 'تصفيف', 'صبغة شعر', 'facial', 'moisturizer', 'lotion', 'cream for skin', 'skincare', 'للوجه', 'مرطب بشرة', 'كريم بشرة', 'عناية البشرة', 'perfume', 'cologne', 'عطر', 'معطر جسم', # كتب وألعاب - موسعة 'book', 'toy', 'game', 'puzzle', 'cocomelon', 'paperback', 'hardcover', 'كتاب', 'لعبة', 'بازل', 'كوكوميلون', 'رواية', 'قصة', 'yes yes vegetables', 'picture book', 'children book', # ملابس 'pants', 'shirt', 'clothing', 'wear', 'khaki', 'jeans', 'dress', 'بنطلون', 'بنطال', 'قميص', 'ملابس', 'فستان', # إلكترونيات 'phone', 'laptop', 'charger', 'cable', 'electronics', 'headphone', 'هاتف', 'شاحن', 'كيبل', 'سماعة', # أدوات منزلية (غير طعام) 'vacuum', 'cleaner', 'dyson', 'mop', 'broom', 'مكنسة', 'منظف', 'ممسحة', # 🆕 كلمات مشبوهة إضافية 'doll', 'toy set', 'playmat', 'learning toy', 'دمية', 'لعبة تعليمية', 'بساط لعب' ]}````---### 3. تطبيق الحل:الخطوة 1: افتح telegram_bot_amazon.pyالخطوة 2: ابحث عن def _is_relevant_to_category (السطر ~1509)الخطوة 3: استبدل القسم الخاص بـ grocery بالكود أعلاهالخطوة 4: احفظ وشغّل البوت---### 4. تأكيد الحل:بعد التطبيق، ستلاحظ:- ✅ فقط منتجات الطعام الحقيقية تُنشر- ✅ استبعاد CHI Silk Infusion (hair serum)- ✅ استبعاد كوكوميلون (book)- ✅ استبعاد Cuétara 0% Sugar (إذا كان في قسم صحي)---هل تريدني أن أطبق التعديلات مباشرة أم تفضل المراجعة أولاً؟ 🚀
21.12.2025 00:12