بوت تيليجرام PHP: دليل شامل للمبتدئين لإنشاء بوت بنفسك

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

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

ابدأ الدورة

بوت تيليجرام PHP: من الصفر إلى أول ترحيب

\n\n

عندما يتعلق الأمر بإنشاء البوتات لتطبيق تيليجرام، أول ما يتبادر إلى الذهن هو لغة Python. وهذا منطقي: فهناك مكتبة أنيقة python-telegram-bot، والكثير من الدروس التعليمية، ومجتمع ضخم. لكن ماذا لو كانت لغتك الأساسية هي PHP؟ أو كنت تريد إنشاء بوت بسيط للإشعارات بسرعة دون الحاجة لنشر خادم منفصل بلغة Python؟

\n\n

الخبر السار: Telegram Bot API غير مرتبط بلغة برمجة معينة. إنها واجهة HTTP عادية، وPHP تتعامل معها بكفاءة لا تقل عن غيرها. في هذا المقال، سنشرح كيفية إنشاء بوت تيليجرام بلغة PHP من الصفر: بدءًا من التسجيل لدى BotFather وصولاً إلى بوت متكامل يرد على الأوامر، ويرسل الرسائل، ويعالج طلبات callback. كل ذلك مع أمثلة كود حقيقية، بدون حشو.

\n\n

لماذا PHP مناسبة لبوت تيليجرام؟

\n\n

كثير من المطورين ينظرون بتشكك إلى PHP في سياق البوتات. يعتقد البعض أنها لغة "للمواقع البسيطة" وليست لواجهات API الحقيقية. لكن في الواقع، PHP تؤدي دور معالج الخادم بشكل ممتاز: فهي بسيطة، يمكن التنبؤ بأدائها، وتعمل على أي استضافة. بالنسبة لبوت لا يتطلب أداءً فائقًا (ومعظم البوتات كذلك)، فإن PHP هي الخيار الأمثل.

\n\n

بالإضافة إلى ذلك، إذا كان لديك موقع بلغة PHP بالفعل، يمكنك استضافة البوت على نفس الخادم. لا حاجة لعمال إضافيين أو عمليات خلفية أو إعدادات معقدة. فقط ملف bot.php يعمل عبر webhook ويعالج الطلبات القادمة من تيليجرام.

\n\n

ما تحتاجه للبدء

\n\n
    \n
  • استضافة تدعم PHP 7.4+ (أي استضافة مشتركة رخيصة ستفي بالغرض).
  • \n
  • اتصال HTTPS — تيليجرام يشترط أن يعمل webhook عبر بروتوكول آمن. يمكنك استخدام Let's Encrypt.
  • \n
  • حساب في تيليجرام — بديهي، لكن لا غنى عنه.
  • \n
  • معرفة أساسية بلغة PHP — يكفي فهم كيفية عمل الدوال، المصفوفات، و cURL.
  • \n
\n\n

إذا توفر لديك كل هذا، فلنبدأ.

\n\n

الخطوة 1: تسجيل البوت لدى BotFather

\n\n

افتح محادثة مع @BotFather في تيليجرام — وهو "المُربّي" الرئيسي للبوتات. أرسل الأمر:

\n\n
/newbot
\n\n

سيُطلب منك إدخال اسم البوت (سيظهر في جهات الاتصال) واسم مستخدم (يجب أن ينتهي بـ bot). بعد ذلك، ستحصل على رمز مميز (token) — سلسلة طويلة مثل:

\n\n
1234567890:ABCdefGhIJKlmNoPQRsTUVwXYZ
\n\n

هذا هو مفتاح الوصول إلى بوتك. لا تشاركه مع أي شخص — أي شخص يعرف هذا الرمز يمكنه التحكم في البوت.

\n\n

أنصحك أيضًا بتعيين صورة رمزية ووصف فورًا باستخدام الأمرين /setuserpic و /setdescription. هذا ليس ضروريًا، لكنه يجعل البوت أكثر ودية.

\n\n

الخطوة 2: اختيار طريقة استلام التحديثات

\n\n

يقدم Telegram Bot API خيارين:

\n\n
    \n
  • Polling (long polling) — تطلب باستمرار من خادم تيليجرام "هل هناك رسائل جديدة؟". يعمل، لكنه يتطلب تشغيل السكريبت باستمرار (مثلاً عبر cron).
  • \n
  • Webhook — تيليجرام نفسه يرسل طلب POST إلى خادمك عند وصول رسالة جديدة. هذا أسهل وأسرع.
  • \n
\n\n

سنستخدم webhook. أولاً، تأكد من أن خادمك متاح عبر الإنترنت عبر HTTPS. إذا لم يكن لديك شهادة SSL، استخدم Cloudflare (لديهم SSL مجاني) أو اشترِ شهادة رخيصة.

\n\n

إعداد webhook

\n\n

أرسل طلب GET إلى الرابط التالي (يمكنك فتحه في المتصفح مباشرة):

\n\n
https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://your-site.com/bot.php
\n\n

استبدل <TOKEN> برمز البوت الحقيقي، و https://your-site.com/bot.php بالمسار الفعلي لسكريبتك. يجب أن تحصل على رد JSON:

\n\n
{"ok": true, "result": true, "description": "Webhook was set"}

المدونات

توصيات الكتب