Lewati ke konten utama

Node telegram

Node telegram menyediakan integrasi dengan Telegram Bot API. Ini memungkinkan alur untuk mengirim pesan ke obrolan dan saluran, menampilkan tombol inline, menangani penekanan tombol, dan menunjukkan notifikasi pop-up kepada pengguna.


Pengaturan untuk node telegram

Edit

1. botToken

Token untuk bot Telegram Anda, diperoleh dari @BotFather.

Mendukung Mustache — token dapat disimpan dalam variabel alur dan digantikan menggunakan {{variable}}.

Contoh:

{{flow.telegramToken}}

2. chat_id

Identifikasi obrolan atau saluran tempat pesan akan dikirim.

Mendukung Mustache. Jika kolom dibiarkan kosong, backend akan secara otomatis mengambil nilai dari msg.payload.message.chat.id — ini nyaman saat membalas pesan masuk dari pengguna.

Contoh:

{{payload.message.chat.id}}

3. text

Teks pesan yang akan dikirim.

Mendukung Mustache — Anda dapat secara dinamis menyisipkan data dari msg.

Contoh:

Pesanan Anda №{{payload.orderId}} telah berhasil dibuat!

4. parseMode

Mode pemformatan teks untuk pesan. Opsi yang tersedia:

  • none — tanpa pemformatan, teks dikirim apa adanya.
  • Markdown — Markdown dasar dari Telegram (v1).
  • MarkdownV2 — versi diperluas dari Markdown dengan dukungan untuk spoiler dan elemen lainnya.
  • HTML — markup HTML (<b>, <i>, <code>, <a>, dll.).

5. replyMarkup

Pembuat untuk tombol inline di bawah pesan. Tombol diorganisir dalam baris: setiap baris berisi satu atau lebih tombol.

Untuk setiap tombol, yang berikut ditentukan:

  • Text — label tombol yang dilihat pengguna.
  • callback_data — nilai yang akan dikirim ke webhook di kolom msg.payload.callback_query.data saat tombol ditekan. Nilai ini dapat digunakan untuk menentukan tombol mana yang ditekan dan mengarahkan alur ke cabang yang sesuai melalui node Switch.

Contoh struktur:

Baris 1: [Konfirmasi | callback_data: confirm]  [Batal | callback_data: cancel]
Baris 2: [Detail lebih lanjut | callback_data: details]

6. callbackQueryId

Identifikasi permintaan callback — diperlukan untuk merespons penekanan tombol inline.

Mendukung Mustache. Jika kolom dibiarkan kosong, nilai secara otomatis diambil dari msg.payload.callback_query.id.

Contoh:

{{payload.callback_query.id}}

7. showAlert

Kotak centang. Menentukan jenis notifikasi saat merespons penekanan tombol:

  • Off — pop-up toast singkat ditampilkan (hilang secara otomatis).
  • On — jendela modal dengan notifikasi ditampilkan, yang harus ditutup secara manual oleh pengguna.

8. notificationText

Teks notifikasi yang akan muncul sebagai respons terhadap penekanan tombol inline.

Kolom ini ditampilkan dalam formulir hanya ketika showAlert diaktifkan.
Mendukung Mustache.

Contoh:

Pilihan Anda telah diterima: {{payload.callback_query.data}}

Contoh Penggunaan

Contoh 1: Mengirim pesan tentang pesanan baru

Alur:

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

Pengaturan node:

  • botToken: {{flow.telegramToken}}
  • chat_id: {{flow.adminChatId}}
  • text: Pesanan baru №{{payload.order.id}} dari {{payload.order.userName}}. Total: {{payload.order.totalPrice}} rubel.
  • parseMode: none

Hasil:
Ketika pesanan baru dibuat, bot akan mengirim notifikasi ke obrolan admin.


Contoh 2: Pesan dengan tombol konfirmasi

Pengaturan node:

  • chatId: {{payload.message.chat.id}}
  • text: Apakah Anda mengonfirmasi pesanan?
  • replyMarkup:
    Baris 1: [Ya, konfirmasi | confirm]  [Batal | cancel]

Hasil:
Pengguna akan menerima pesan dengan dua tombol. Menekan tombol akan mengirim callback_data ke webhook, di mana dapat diproses oleh node Switch.


Contoh 3: Respons terhadap penekanan tombol dengan notifikasi

Alur:

[http in] ---> [switch: callback_data == "confirm"] ---> [telegram: respons dengan notifikasi]

Pengaturan node:

  • callbackQueryId: (biarkan kosong — diambil dari msg.payload.callback_query.id)
  • showAlert: diaktifkan
  • notificationText: Pesanan dikonfirmasi!

Hasil:
Sebuah pop-up akan ditampilkan kepada pengguna dengan teks "Pesanan dikonfirmasi!", yang harus ditutup secara manual.