البوتات
استضافة بوتات Telegram على TelegramOS: التسجيل، والتدفقات المرئية، وWebhooks، والبث، وحدود المعدل موضّحة.
تتيح لك المنصة استضافة بوتات Telegram مباشرة. يعمل كل بوت على بنية المنصة التحتية ويمكن إعداده بتدفقات رسائل ومعالجات Webhook وقدرات بث.
تسجيل البوت
- أنشئ بوتك على Telegram بالتحدث إلى @BotFather. ستحصل على رمز API.
- في المنصة، انتقل إلى البوتات > تسجيل بوت جديد.
- أدخل اسم مستخدم البوت، ورمز API من BotFather، واسم عرض اختياري.
- تتحقق المنصة من الرمز مقابل Telegram Bot API، وعند النجاح تسجّل البوت في مساحة العمل الخاصة بك.
| الحقل | مطلوب | الوصف |
|---|---|---|
| اسم المستخدم | نعم | @username الخاص بالبوت على Telegram |
| رمز API | نعم | الرمز الصادر عن BotFather |
| اسم العرض | لا | تسمية ودّية لمساحة العمل الخاصة بك (افتراضياً اسم البوت على Telegram) |
| وضع التسليم | لا | polling (الافتراضي) أو webhook — راجع أدناه |
| التدفقات | لا | مصفوفة JSONB من تعريفات التدفقات |
تعريفات التدفقات
يُبنى سلوك البوت كتدفقات في محرر التدفقات المرئي. يبدأ التدفق عند مُطلِق ويشغّل سلسلة من العُقد: إجراءات، ومنطق، وتحكم في التدفق.
| المُطلِق | يُطلَق عندما |
|---|---|
command | يرسل مستخدم أمراً (مثل /start أو /help) |
message | تصل رسالة في محادثة مع البوت |
callback | يضغط مستخدم زراً في لوحة مفاتيح مضمّنة |
member_join | ينضم عضو جديد إلى مجموعة يوجد فيها البوت |
schedule | وفق جدول زمني |
webhook | استدعاء Webhook وارد |
| مجموعة العُقد | العُقد |
|---|---|
| الإجراءات (14) | send_message, send_media, edit_message, delete_message, typing, ask, buttons, http, db, ai, poll, dice, location, contact |
| المنطق (6) | condition, switch, set_variable, delay, random, loop |
| التدفق (3) | end, goto, call |
وضع التسليم: polling أو webhook
يتلقى البوت تحديثات Telegram بإحدى طريقتين:
- Polling — تجلب المنصة التحديثات بـ
getUpdates. لا حاجة إلى عنوان URL عام. هذا هو الافتراضي ويعمل خلف NAT. - Webhook — تسجّل المنصة نقطة نهايتها الخاصة لبوتك بـ
setWebhook، فيدفع Telegram التحديثات إليها مباشرة. لا تقدّم عنوان URL، ولا تحتاج إلى خادم خاص بك.
تُصادَق عمليات تسليم Webhook بسرّ عشوائي من 32 بايت تولّده المنصة لكل بوت وتمرّره إلى Telegram كـ secret_token. يعيده Telegram في كل تحديث في الترويسة X-Telegram-Bot-Api-Secret-Token، وتُرفض الطلبات التي لا تحمل سراً مطابقاً. التبديل إلى webhook يسكّ سراً جديداً؛ والعودة إلى polling تمسحه.
إذا لم يكن لدى المنصة عنوان URL عام مُعدّ لـ Webhook، تُبقى البوتات على polling.
الطلبات التي تجريها عقدة طلب HTTP في التدفق عادية: تحمل فقط الترويسات التي تعدّها أنت وليست موقّعة، لذا احمِ مثل هذه النقاط بمسار سري أو قائمة IP مسموحة. أما Webhooks الأحداث المسجّلة تحت الإعدادات → مفاتيح API → Webhooks فهي مختلفة — كل تسليم موقّع بـ X-TGP-Signature (HMAC-SHA256)؛ راجع API › Webhooks.
حدود المعدل
| الحد | النطاق | القيمة |
|---|---|---|
| مستلمو البث | لكل بث | 100 |
| طول رسالة البث | لكل بث | 1000 حرف |
| وتيرة الإرسال | داخل البث الواحد | ~0.05 ث بين الرسائل |
| تسجيل البوتات | لكل مستخدم | 10 في الدقيقة |
جلسات التدفق
التدفقات ليست لمرة واحدة. يحتفظ كل بوت بجلسة تدفق لكل محادثة، والمتغيرات التي يضبطها التدفق تعيش في تلك الجلسة.
askتوقف التدفق مؤقتاً؛ ورد المستخدم في تلك المحادثة يستأنفه.- تنتهي صلاحية الجلسة بعد 6 ساعات.
للحالة التي يجب أن تعيش بعد انتهاء الجلسة، احتفظ بها في نظامك الخاص، مثلاً عبر عقدة http.
خارطة الطريق
ميزات البوتات التالية على خارطة الطريق لكنها غير متاحة بعد:
- البث المجدول (لمرة واحدة ومتكرر)
- دعم الوضع المضمّن (Inline mode)
- تكامل الدفع عبر Telegram Stars
- لوحة تحليلات البوت (حجم الرسائل، ونمو المستخدمين، وأزمنة الاستجابة)
أمان البث
يخضع البث من البوتات لهذه الحدود:
- 100 مستلم كحد أقصى لكل بث
- 1000 حرف كحد أقصى لكل رسالة
- الوتيرة: تخرج الإرسالات بفاصل نحو 0.05 ث
- فلتر الكلمات المزعجة: تُرفض النصوص التي تحتوي على كلمات مثل "airdrop" أو "casino" أو "buy now"