// ...existing code...class TeleAmazonBot: // .

← العودة
Blog Post

عنوان المحادثة: // ...existing code...class TeleAmazonBot: // ...existing code... ...

التاريخ: 18.11.2025

التصنيف: 🛒 التجارة الإلكترونية والتسويق

إجمالي الرسائل: 3 | ياسر: 3 | M: 0

Yasser
// ...existing code...class TeleAmazonBot: // ...existing code... async def handle_user_messages(self): """مراقبة ومعالجة رسائل المستخدمين""" try: print("\n👤 بدء مراقبة الرسائل الواردة...") # استقبال التحديثات من Telegram async for update in dp.feed_updates(bot, []): if update.message: user_id = update.message.from_user.id user_name = update.message.from_user.first_name message_text = update.message.text print(f"\n💬 رسالة من {user_name} (ID: {user_id})") print(f" 📝 النص: {message_text}") # اتخاذ قرارات بناءً على الرسالة if message_text and message_text.lower().startswith("/"): await self.handle_commands(update.message, user_id, message_text) else: await self.handle_regular_message(update.message, user_id, message_text) except Exception as e: print(f"❌ خطأ في مراقبة الرسائل: {e}") await asyncio.sleep(5) # إعادة محاولة المراقبة await self.handle_user_messages() async def handle_commands(self, message, user_id, command): """معالجة الأوامر (تبدأ بـ /)""" try: if command == "/start": await bot.send_message( chat_id=user_id, text="🤖 مرحباً بك في بوت أمازون!\n\nالأوامر المتاحة:\n/status - حالة البوت\n/help - المساعدة" ) elif command == "/status": total_posts = db.get_total_posts() await bot.send_message( chat_id=user_id, text=f"📊 حالة البوت:\n✅ إجمالي المنشورات: {total_posts}" ) elif command == "/help": await bot.send_message( chat_id=user_id, text="ℹ️ مساعدة:\n/start - بدء المحادثة\n/status - معلومات البوت" ) else: await bot.send_message( chat_id=user_id, text="❌ أمر غير معروف. اكتب /help للمساعدة" ) except Exception as e: print(f"❌ خطأ في معالجة الأمر: {e}") async def handle_regular_message(self, message, user_id, text): """معالجة الرسائل العادية""" try: # يمكنك إضافة منطق مخصص هنا print(f"📨 معالجة رسالة عادية من المستخدم {user_id}") # مثال: البحث عن منتج if len(text) > 2: await bot.send_message( chat_id=user_id, text=f"🔍 جاري البحث عن: {text}..." ) results = amazon.pagination_search_amazon(keyword=text, max_results=3) if results: response = f"✅ وجدت {len(results)} نتائج:\n\n" for i, product in enumerate(results[:3], 1): response += f"{i}. {product.get('title', 'بدون عنوان')[:50]}\n" response += f" 💰 {product.get('price', 'بدون سعر')}\n\n" await bot.send_message(chat_id=user_id, text=response) else: await bot.send_message( chat_id=user_id, text="❌ لم أجد نتائج للبحث" ) except Exception as e: print(f"❌ خطأ في معالجة الرسالة: {e}") async def main(self): print("🚀 بدء تشغيل بوت أمازون...") print(f"📊 إجمالي المنشورات السابقة: {db.get_total_posts()}") # تنظيف السجلات القديمة print("\n🧹 بدء تنظيف السجلات القديمة...") db.cleanup_old_records() # ⏰ انتظر حتى الساعة 8 صباحاً بتوقيت السعودية
Yasser
احكي هاي الخوارزميات المطلوبة علشان نقدر نحقق المطلوب .. ممكن أكيد نعيد إستخدام نفس الخوارزميات في مواقع تانية لو بتحقق نفس الغرض ومشفناش تعارض في طريقة بناء الموقعين بس حاليا دي تكلفة خوارزميات أمازون لحاله
Yasser
النوعية هاي من الطلبات هي اللي بتخلي الأفضل نخلص خوارزميات أمازون كلها بكل طلباتك فيها ثم بعدين بنشوف الموقعين بسهولة بعد ما نخلص تعقيدات الخوارزميات علشان ما نبني لوجيك ثم نهدمه ونعيد البناء كل شوية بالتعديلات
المحادثة الكاملة - 18.11.2025
ياسر
// ...existing code...class TeleAmazonBot: // ...existing code... async def handle_user_messages(self): """مراقبة ومعالجة رسائل المستخدمين""" try: print("\n👤 بدء مراقبة الرسائل الواردة...") # استقبال التحديثات من Telegram async for update in dp.feed_updates(bot, []): if update.message: user_id = update.message.from_user.id user_name = update.message.from_user.first_name message_text = update.message.text print(f"\n💬 رسالة من {user_name} (ID: {user_id})") print(f" 📝 النص: {message_text}") # اتخاذ قرارات بناءً على الرسالة if message_text and message_text.lower().startswith("/"): await self.handle_commands(update.message, user_id, message_text) else: await self.handle_regular_message(update.message, user_id, message_text) except Exception as e: print(f"❌ خطأ في مراقبة الرسائل: {e}") await asyncio.sleep(5) # إعادة محاولة المراقبة await self.handle_user_messages() async def handle_commands(self, message, user_id, command): """معالجة الأوامر (تبدأ بـ /)""" try: if command == "/start": await bot.send_message( chat_id=user_id, text="🤖 مرحباً بك في بوت أمازون!\n\nالأوامر المتاحة:\n/status - حالة البوت\n/help - المساعدة" ) elif command == "/status": total_posts = db.get_total_posts() await bot.send_message( chat_id=user_id, text=f"📊 حالة البوت:\n✅ إجمالي المنشورات: {total_posts}" ) elif command == "/help": await bot.send_message( chat_id=user_id, text="ℹ️ مساعدة:\n/start - بدء المحادثة\n/status - معلومات البوت" ) else: await bot.send_message( chat_id=user_id, text="❌ أمر غير معروف. اكتب /help للمساعدة" ) except Exception as e: print(f"❌ خطأ في معالجة الأمر: {e}") async def handle_regular_message(self, message, user_id, text): """معالجة الرسائل العادية""" try: # يمكنك إضافة منطق مخصص هنا print(f"📨 معالجة رسالة عادية من المستخدم {user_id}") # مثال: البحث عن منتج if len(text) > 2: await bot.send_message( chat_id=user_id, text=f"🔍 جاري البحث عن: {text}..." ) results = amazon.pagination_search_amazon(keyword=text, max_results=3) if results: response = f"✅ وجدت {len(results)} نتائج:\n\n" for i, product in enumerate(results[:3], 1): response += f"{i}. {product.get('title', 'بدون عنوان')[:50]}\n" response += f" 💰 {product.get('price', 'بدون سعر')}\n\n" await bot.send_message(chat_id=user_id, text=response) else: await bot.send_message( chat_id=user_id, text="❌ لم أجد نتائج للبحث" ) except Exception as e: print(f"❌ خطأ في معالجة الرسالة: {e}") async def main(self): print("🚀 بدء تشغيل بوت أمازون...") print(f"📊 إجمالي المنشورات السابقة: {db.get_total_posts()}") # تنظيف السجلات القديمة print("\n🧹 بدء تنظيف السجلات القديمة...") db.cleanup_old_records() # ⏰ انتظر حتى الساعة 8 صباحاً بتوقيت السعودية
18.11.2025 00:10
ياسر
احكي هاي الخوارزميات المطلوبة علشان نقدر نحقق المطلوب .. ممكن أكيد نعيد إستخدام نفس الخوارزميات في مواقع تانية لو بتحقق نفس الغرض ومشفناش تعارض في طريقة بناء الموقعين بس حاليا دي تكلفة خوارزميات أمازون لحاله
18.11.2025 00:42
ياسر
النوعية هاي من الطلبات هي اللي بتخلي الأفضل نخلص خوارزميات أمازون كلها بكل طلباتك فيها ثم بعدين بنشوف الموقعين بسهولة بعد ما نخلص تعقيدات الخوارزميات علشان ما نبني لوجيك ثم نهدمه ونعيد البناء كل شوية بالتعديلات
18.11.2025 00:54
← العودة إلى الرئيسية