روبوتات الدردشة بلغة PHP: دليل عملي للمبتدئين

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة: لماذا PHP خيار ممتاز لروبوت الدردشة؟

\n

هل تساءلت يومًا كيف تعمل تلك المساعدات الذكية التي تجيب على الأسئلة في Telegram أو VK أو على الموقع؟ يعتقد الكثيرون أنه لإنشاء روبوت دردشة يجب معرفة Python أو Node.js. لكن الحقيقة هي أن روبوت الدردشة بلغة PHP ليس فقط ممكنًا، بل هو أيضًا مريح جدًا. PHP لغة ناضجة بمجتمع ضخم، وهي مناسبة تمامًا للنمذجة السريعة وإطلاق الروبوتات.

\n

في هذا الدليل، سننتقل من الصفر التام إلى روبوت Telegram بلغة PHP عامل. سنشرح طريقتين: روبوت صدى بسيط على Localhost وروبوت متصل بقاعدة بيانات. تحذير: سيكون هناك الكثير من الكود الذي يمكنك نسخه وتشغيله الآن.

\n\n

ما هو روبوت الدردشة وكيف يعمل؟

\n

قبل كتابة الكود، دعنا نفهم البنية. روبوت الدردشة هو برنامج يستقبل رسالة من المستخدم، يعالجها، ويرسل ردًا. في سياق Telegram (المنصة الأكثر شعبية للروبوتات)، يبدو المخطط كالتالي:

\n
    \n
  • يكتب المستخدم للروبوت في Telegram.
  • \n
  • يرسل Telegram طلب POST إلى خادمك (Webhook) أو تقوم أنت باستقصاء الخادم باستمرار (Long Polling).
  • \n
  • يقوم برنامج PHP النصي الخاص بك بمعالجة الطلب وإرسال الرد عبر API Telegram.
  • \n
\n

سنستخدم Webhook - وهي طريقة حديثة وسريعة. تخيل أن Telegram يطرق باب خادمك في كل مرة تصل فيها رسالة جديدة. مريح، أليس كذلك؟

\n\n

التحضير: ماذا تحتاج للبدء؟

\n

لإنشاء روبوت دردشة بسيط بلغة PHP ستحتاج إلى:

\n
    \n
  • استضافة أو خادم محلي (OpenServer, XAMPP, MAMP) مع PHP 7.4+.
  • \n
  • اتصال بالإنترنت (لتسجيل الروبوت في Telegram).
  • \n
  • معرفة أساسية بلغة PHP (المتغيرات، الدوال، العمل مع JSON).
  • \n
\n

إذا لم يكن لديك استضافة، لا مشكلة - في مرحلة الاختبار يمكنك استخدام Localhost بمساعدة أداة ngrok التي تنشئ عنوان URL عامًا مؤقتًا. لكن سنتحدث عن هذا لاحقًا.

\n\n

الخطوة 1. تسجيل الروبوت في Telegram

\n

اذهب إلى Telegram، ابحث عن BotFather (الروبوت الرسمي لإنشاء الروبوتات) واكتب الأمر /newbot. أجب على الأسئلة: أعطِ اسمًا (مثلًا، MyTestBot) واسم مستخدم (يجب أن ينتهي بـ bot، مثلًا my_test_pythonlib_bot).

\n

بعد التسجيل الناجح، سيعطيك BotFather رمزًا مميزًا (token) - وهو مفتاح الوصول إلى API. يبدو هكذا: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. احفظه في مكان آمن (يفضل في ملف .env، لكن للبساطة سنقوم بتضمينه في الكود الآن).

\n

هام: لا تظهر رمزك المميز لأي شخص! إنها كلمة مرور الروبوت الخاص بك.

\n\n

الخطوة 2. أبسط روبوت صدى بلغة PHP (Webhook)

\n

سننشئ ملفًا باسم bot.php في جذر موقعك. هذا البرنامج النصي سيستقبل الطلبات من Telegram ويرد بنفس النص (صدى).

\n\n
<?php\n// استقبال البيانات من Telegram\n$content = file_get_contents("php://input");\n$update = json_decode($content, true);\n\n// التحقق من وجود رسالة\nif (!$update) {\n    exit;\n}\n\n// استخراج معرف الدردشة ونص الرسالة\n$chat_id = $update['message']['chat']['id'];\n$text = $update['message']['text'];\n\n// رمز الروبوت الخاص بك\n$token = "YOUR_TOKEN_HERE";\n\n// إرسال الرد (صدى)\n$url = "https://api.telegram.org/bot{$token}/sendMessage";\n$data = [\n    'chat_id' => $chat_id,\n    'text' => "لقد كتبت: " . $text\n];\n\n// استخدام cURL لإرسال الطلب\n$ch = curl_init();\ncurl_setopt($ch, CURLOPT_URL, $url);\ncurl_setopt($ch, CURLOPT_POST, 1);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, $data);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n$result = curl_exec($ch);\ncurl_close($ch);\n?>
\n\n

كيف يعمل هذا؟

\n
    \n
  1. يرسل Telegram طلب POST إلى ملفك bot.php.
  2. \n
  3. نقرأ الإدخال

المدونات

توصيات الكتب