يا هلا بالشباب! اليوم بنشوف كيف نسوي بوت تلجرام يرسل لك تنبيهات خطيرة من موقعك مباشرة. بدل ما تقعد تحدث الصفحة وتشوف وش صار، البوت بيجيب لك الخبر أول بأول. يلا نبدأ.
1. إعداد بوت التلجرام (أبو البوتات)
أول شيء، نحتاج نسوي البوت نفسه. الشغلة سهلة مع BotFather.
- افتح تلجرام وابحث عن
BotFather. - ابدأ محادثة معه واكتب
/newbot. - بيطلب منك اسم للبوت (مثلاً: "تنبيهات متجري").
- بعدين بيطلب منك اسم مستخدم (Username) للبوت، لازم ينتهي بـ
bot(مثلاً:my_store_alerts_bot). - بعد ما تخلص، بيعطيك
HTTP API Token(شي زي كذا:123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11). هذا هو مفتاح البوت حقك، لا تعطيه أحد! خليه سري. بنسميهBOT_TOKEN.
ملاحظة: احتفظ بالـ
BOT_TOKENهذا في مكان آمن، لأنه هو اللي بيخليك تتحكم بالبوت.
2. الحصول على معرف الدردشة (Chat ID)
عشان البوت يرسل لك رسالة، لازم يعرف وين يرسلها. نحتاج CHAT_ID حقك (أو حق المجموعة اللي تبغى البوت يرسل لها).
- أرسل أي رسالة للبوت اللي سويته (مثلاً: "مرحبا").
- افتح الرابط هذا في المتصفح، بس لا تنسى تغير
YOUR_BOT_TOKENبالتوكن حقك:https://api.telegram.org/botYOUR_BOT_TOKEN/getUpdates - بتشوف صفحة مليانة JSON. ابحث عن
chat، وبعدها بتلقىid. هذا الرقم هو الـCHAT_IDحقك. خذه وخليه عندك.
نصيحة: إذا تبغى البوت يرسل لمجموعة، ضف البوت للمجموعة كعضو، وأرسل أي رسالة في المجموعة، بعدين استخدم نفس طريقة
getUpdates. بس الـCHAT_IDحق المجموعة بيبدأ بسالب (-).
3. إرسال رسالة تجريبية
الحين خلينا نجرب نرسل رسالة بسيطة عشان نتأكد إن كل شيء شغال تمام. استخدم curl في الطرفية (Terminal):
curl -X POST \
https://api.telegram.org/botYOUR_BOT_TOKEN/sendMessage \
-H 'Content-Type: application/json' \
-d '{
"chat_id": "YOUR_CHAT_ID",
"text": "يا هلا! هذه رسالة تجريبية من البوت حقي."
}'
لا تنسى تغير YOUR_BOT_TOKEN و YOUR_CHAT_ID بالقيم اللي حصلت عليها. إذا كل شيء تمام، بتوصلك رسالة في التلجرام.
4. دمج البوت مع موقعك (مثال PHP)
الحين نجي للجد! كيف نخلي موقعنا يرسل التنبيهات؟ الفكرة إنك تسوي طلب HTTP (عادةً POST) لواجهة برمجة تطبيقات تلجرام (Telegram Bot API) من الكود حق موقعك. بنستخدم PHP كمثال، بس المبدأ واحد لكل اللغات.
<?php
function sendTelegramMessage($message) {
$botToken = "YOUR_BOT_TOKEN"; // غير هذا بالتوكن حقك
$chatId = "YOUR_CHAT_ID"; // غير هذا بالـ Chat ID حقك
$telegramApiUrl = "https://api.telegram.org/bot{$botToken}/sendMessage";
$data = [
'chat_id' => $chatId,
'text' => $message,
'parse_mode' => 'HTML' // عشان نقدر نرسل HTML لو بغينا
];
$options = [
'http' => [
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
],
];
$context = stream_context_create($options);
$result = file_get_contents($telegramApiUrl, false, $context);
return $result;
}
// مثال على الاستخدام:
// لما يصير طلب جديد في موقعك
// sendTelegramMessage("<b>طلبية جديدة وصلت!</b><br>العميل: محمد<br>المنتج: لابتوب جديد<br>السعر: 5000 ريال");
// لما يسجل مستخدم جديد
// sendTelegramMessage("مستخدم جديد سجل في الموقع: <b>Ahmad_Saud</b>");
// لما تصير مشكلة
// sendTelegramMessage("<b>⚠️ خطأ في قاعدة البيانات!</b><br>الخطأ: فشل الاتصال بالخادم.");
?>
هذا الكود تقدر تحطه في ملف functions.php أو أي مكان مناسب في مشروعك. وكل ما بغيت ترسل تنبيه، بس تستدعي الدالة sendTelegramMessage() وتعطيها الرسالة.
مهم جداً: لا تحط التوكن والـ Chat ID مباشرة في الكود حقك إذا كان موقعك كبير. الأفضل إنك تستخدم متغيرات بيئة (
Environment Variables) أو ملف إعدادات آمن (مثل.envfile) عشان ما حد يقدر يوصل لها.
5. أمثلة على التنبيهات الذكية
الآن، وش التنبيهات اللي ممكن نخلي البوت يرسلها؟ هنا كم فكرة:
- تنبيهات الطلبات: "طلبية جديدة #1234 من العميل فلان الفلاني بقيمة 500 ريال."
- تسجيل مستخدمين جدد: "مستخدم جديد سجل في الموقع:
user@example.com." - مخزون المنتجات: "⚠️ تنبيه: كمية المنتج 'آيفون 15' وصلت إلى 5 حبات فقط!"
- أخطاء السيرفر: "خطأ 500 في صفحة الدفع! الرجاء التحقق فوراً."
- التعليقات والمراجعات: "مراجعة جديدة على منتج 'سماعة بلوتوث' بتقييم 5 نجوم."
6. تحسينات وتطويرات
هذا اللي سويناه هو الأساس، لكن تقدر تطور البوت حقك أكثر:
- تنسيق الرسائل: استخدم
parse_mode(زي ما حطينا في مثال PHP) عشان ترسل رسائل بتنسيقHTMLأوMarkdown(عناوين، خط عريض، روابط). - أزرار تفاعلية: تقدر تضيف أزرار تحت الرسالة (
Inline Keyboards) تخلي المستخدم يتفاعل مع البوت مباشرة (مثلاً: زر "عرض الطلب" يوديه لصفحة الطلب). - معالجة الأخطاء: تأكد إنك تتعامل مع أي أخطاء ممكن تصير لما البوت يرسل الرسالة (مثلاً لو ما وصل التوكن صح، أو ما فيه اتصال بالإنترنت).
- إرسال لا متزامن (Asynchronous Sending): عشان ما يأثر إرسال التنبيه على سرعة موقعك، خليه يتم في الخلفية (مثلاً باستخدام
JobsأوQueues).
وبكذا تكون بنيت لك بوت تلجرام احترافي يرسل لك تنبيهات أول بأول! جربها وبتشوف كيف بتفرق معاك في إدارة موقعك. بالتوفيق يا بطل!