انتقل إلى المحتوى الرئيسي

عقدة telegram

عقدة telegram توفر تكاملًا مع واجهة برمجة تطبيقات Telegram Bot. من خلالها يمكن للبث إرسال رسائل إلى الدردشات والقنوات، وعرض الأزرار المضمنة، ومعالجة ضغطات الأزرار، وعرض إشعارات منبثقة للمستخدم.


إعدادات عقدة telegram

Edit

1. botToken

رمز البوت الخاص بك في Telegram، الذي تم الحصول عليه من @BotFather.

يدعم Mustache - يمكن تخزين الرمز في متغير التدفق واستبداله عبر {{المتغير}}.

مثال:

{{flow.telegramToken}}

2. chat_id

معرف الدردشة أو القناة التي سيتم إرسال الرسالة إليها.

يدعم Mustache. إذا تركت الحقل فارغًا، سيأخذ الخادم تلقائيًا القيمة من msg.payload.message.chat.id - وهذا مفيد عند الرد على رسالة واردة من المستخدم.

مثال:

{{payload.message.chat.id}}

3. text

نص الرسالة المرسلة.

يدعم Mustache - يمكن إدراج البيانات ديناميكيًا من msg.

مثال:

تم تأكيد طلبك رقم {{payload.orderId}} بنجاح!

4. parseMode

وضع تنسيق نص الرسالة. الخيارات المتاحة:

  • none - بدون تنسيق، يتم إرسال النص كما هو.
  • Markdown - Markdown الأساسي من Telegram (v1).
  • MarkdownV2 - نسخة موسعة من Markdown تدعم العناصر مثل المفسدات.
  • HTML - تنسيق HTML (<b>, <i>, <code>, <a> وغيرها).

5. replyMarkup

مُنشئ الأزرار المضمنة تحت الرسالة. يتم تنظيم الأزرار في صفوف: يحتوي كل صف على زر واحد أو أكثر.

لكل زر يتم تحديد:

  • النص - تسمية الزر التي يراها المستخدم.
  • callback_data - القيمة التي ستصل إلى الويب هوك في حقل msg.payload.callback_query.data عند الضغط على الزر. يمكن استخدام هذه القيمة لتحديد الزر الذي تم الضغط عليه وتوجيه التدفق إلى الفرع المناسب عبر عقدة Switch.

مثال على الهيكل:

الصف 1: [تأكيد | callback_data: confirm]  [إلغاء | callback_data: cancel]
الصف 2: [المزيد | callback_data: details]

6. callbackQueryId

معرف طلب الاسترجاع - مطلوب للرد على ضغط الزر المضمن.

يدعم Mustache. إذا تركت الحقل فارغًا، يتم أخذ القيمة تلقائيًا من msg.payload.callback_query.id.

مثال:

{{payload.callback_query.id}}

7. showAlert

خانة اختيار. تحدد نوع الإشعار عند الرد على ضغط الزر:

  • مغلق - يظهر إشعار منبثق قصير (يختفي تلقائيًا).
  • مفتوح - يظهر نافذة منبثقة مع إشعار يجب على المستخدم إغلاقها يدويًا.

8. notificationText

نص الإشعار الذي سيظهر عند الرد على ضغط الزر المضمن.

يظهر الحقل في النموذج فقط عندما يكون showAlert مفعلًا.
يدعم Mustache.

مثال:

تم قبول اختيارك: {{payload.callback_query.data}}

أمثلة على الاستخدام

مثال 1: إرسال رسالة حول طلب جديد

التدفق:

[events: order_created] ---> [telegram]

إعدادات العقدة:

  • botToken: {{flow.telegramToken}}
  • chat_id: {{flow.adminChatId}}
  • text: طلب جديد رقم {{payload.order.id}} من {{payload.order.userName}}. المبلغ: {{payload.order.totalPrice}} روبل.
  • parseMode: none

النتيجة:
عند إنشاء طلب جديد، سيرسل البوت إشعارًا إلى دردشة المشرف.


مثال 2: رسالة مع أزرار التأكيد

إعدادات العقدة:

  • chatId: {{payload.message.chat.id}}
  • text: هل تريد تأكيد الطلب؟
  • replyMarkup:
    الصف 1: [نعم، تأكيد | confirm]  [إلغاء | cancel]

النتيجة:
سيتلقى المستخدم رسالة تحتوي على زرين. الضغط على الزر سيرسل callback_data إلى الويب هوك، حيث يمكن معالجته بواسطة عقدة Switch.


مثال 3: الرد على ضغط الزر مع إشعار

التدفق:

[http in] ---> [switch: callback_data == "confirm"] ---> [telegram: الرد مع إشعار]

إعدادات العقدة:

  • callbackQueryId: (اتركه فارغًا - يتم أخذه من msg.payload.callback_query.id)
  • showAlert: مفعل
  • notificationText: تم تأكيد الطلب!

النتيجة:
سيظهر للمستخدم نافذة منبثقة تحتوي على النص "تم تأكيد الطلب!"، والتي يجب إغلاقها يدويًا.