Nhảy đến nội dung

Nút telegram

Nút telegram cung cấp tích hợp với Telegram Bot API. Với nó, luồng có thể gửi tin nhắn đến các cuộc trò chuyện và kênh, hiển thị các nút Inline, xử lý các lần nhấn nút và hiển thị thông báo bật lên cho người dùng.


Cài đặt nút telegram

Edit

1. botToken

Mã thông báo của bot Telegram của bạn, nhận được từ @BotFather.

Hỗ trợ Mustache — mã thông báo có thể được lưu trữ trong biến luồng và được thay thế qua {{biến}}.

Ví dụ:

{{flow.telegramToken}}

2. chat_id

ID của cuộc trò chuyện hoặc kênh mà tin nhắn sẽ được gửi đến.

Hỗ trợ Mustache. Nếu để trống trường này, backend sẽ tự động lấy giá trị từ msg.payload.message.chat.id — điều này rất tiện lợi khi trả lời tin nhắn đến từ người dùng.

Ví dụ:

{{payload.message.chat.id}}

3. text

Văn bản của tin nhắn được gửi.

Hỗ trợ Mustache — có thể chèn dữ liệu từ msg một cách động.

Ví dụ:

Đơn hàng của bạn №{{payload.orderId}} đã được đặt thành công!

4. parseMode

Chế độ định dạng văn bản của tin nhắn. Các tùy chọn có sẵn:

  • none — không định dạng, văn bản được gửi như là.
  • Markdown — Markdown cơ bản từ Telegram (v1).
  • MarkdownV2 — phiên bản mở rộng của Markdown với hỗ trợ cho các phần tử như spoiler.
  • HTML — định dạng HTML (<b>, <i>, <code>, <a> và các phần tử khác).

5. replyMarkup

Trình tạo các nút Inline dưới tin nhắn. Các nút được tổ chức thành hàng: mỗi hàng chứa một hoặc nhiều nút.

Đối với mỗi nút, cần xác định:

  • Văn bản — nhãn của nút mà người dùng thấy.
  • callback_data — giá trị sẽ được gửi đến webhook trong trường msg.payload.callback_query.data khi nhấn nút. Dựa trên giá trị này, có thể xác định nút nào đã được nhấn và hướng luồng đến nhánh cần thiết qua nút Switch.

Ví dụ cấu trúc:

Hàng 1: [Xác nhận | callback_data: confirm]  [Hủy bỏ | callback_data: cancel]
Hàng 2: [Chi tiết | callback_data: details]

6. callbackQueryId

ID của yêu cầu callback — cần thiết để trả lời khi nhấn nút Inline.

Hỗ trợ Mustache. Nếu để trống trường này, giá trị sẽ tự động được lấy từ msg.payload.callback_query.id.

Ví dụ:

{{payload.callback_query.id}}

7. showAlert

Hộp kiểm. Xác định loại thông báo khi trả lời nhấn nút:

  • Tắt — hiển thị một thông báo ngắn (tự động biến mất).
  • Bật — hiển thị một cửa sổ modal với thông báo mà người dùng phải đóng thủ công.

8. notificationText

Văn bản thông báo sẽ xuất hiện khi trả lời nhấn nút Inline.

Trường này chỉ hiển thị trong biểu mẫu khi showAlert được bật.
Hỗ trợ Mustache.

Ví dụ:

Lựa chọn của bạn đã được chấp nhận: {{payload.callback_query.data}}

Ví dụ sử dụng

Ví dụ 1: Gửi tin nhắn về đơn hàng mới

Luồng:

[sự kiện: order_created] ---> [telegram]

Cài đặt nút:

  • botToken: {{flow.telegramToken}}
  • chat_id: {{flow.adminChatId}}
  • text: Đơn hàng mới №{{payload.order.id}} từ {{payload.order.userName}}. Tổng cộng: {{payload.order.totalPrice}} đồng.
  • parseMode: none

Kết quả:
Khi tạo đơn hàng mới, bot sẽ gửi thông báo đến cuộc trò chuyện của quản trị viên.


Ví dụ 2: Tin nhắn với các nút xác nhận

Cài đặt nút:

  • chatId: {{payload.message.chat.id}}
  • text: Bạn có xác nhận đặt hàng không?
  • replyMarkup:
    Hàng 1: [Có, xác nhận | confirm]  [Hủy bỏ | cancel]

Kết quả:
Người dùng sẽ nhận được tin nhắn với hai nút. Nhấn vào nút sẽ gửi callback_data đến webhook, nơi nó có thể được xử lý bởi nút Switch.


Ví dụ 3: Trả lời nhấn nút với thông báo

Luồng:

[http in] ---> [switch: callback_data == "confirm"] ---> [telegram: trả lời với thông báo]

Cài đặt nút:

  • callbackQueryId: (để trống — lấy từ msg.payload.callback_query.id)
  • showAlert: bật
  • notificationText: Đơn hàng đã được xác nhận!

Kết quả:
Người dùng sẽ thấy một thông báo bật lên với văn bản "Đơn hàng đã được xác nhận!", mà họ cần phải đóng thủ công.