Tin nhắn và nút
Hành động «Gửi tin nhắn» tạo phản hồi của bot từ các khối và bổ sung nút inline, menu chính và các bước hội thoại. Đây là hành động phong phú nhất trong trình xây dựng — nơi bạn cũng kết nối thay thế biến và tham số trong nút theo liên kết giới thiệu.
Khối tin nhắn
Tin nhắn là chuỗi các khối (nút Thêm khối):
- Văn bản — văn bản có định dạng (tối đa 4096 ký tự) với thay thế biến và nút.
- Ảnh — hình ảnh có chú thích.
- File — tài liệu có chú thích.
- Độ trễ — tạm dừng tính bằng giây trước khối tiếp theo.
- AI — phản hồi được tạo bởi mô hình theo prompt.
- Phản ứng — gọi phản ứng khác (tùy chọn chờ quá trình xử lý hoàn tất).
Các khối có thể kéo thả. Chế độ hiển thị khối — «Theo thứ tự» hoặc «Ngẫu nhiên» (cho phản hồi đa dạng). Menu chính của bot có thể giữ nguyên, đặt mới hoặc ẩn.
Tùy chọn khối
Khối văn bản và media có các cờ: ghim, tắt âm, chống chuyển tiếp, spoiler, không xem trước liên kết, tự xóa sau N giây.
Nút inline
Trong khối, các nút được cấu hình (Văn bản nút + Loại):
- Văn bản (callback) — nút có xử lý nhấn ở phía bot.
- Liên kết — mở URL.
- Ứng dụng web — mở Telegram Mini App. Xem Mini App.
- Gọi phản ứng — nhấn kích hoạt phản ứng khác.
- Nhận thanh toán và Thông báo — được đánh dấu «sắp ra mắt».
Kiểu nút — thông thường, xanh lam (Primary), xanh lá (Success) hoặc đỏ (Danger). Cờ «Một lần» vô hiệu hóa nút sau khi nhấn.
Hành vi khi nhấn
Với nút callback, có thể cấu hình điều gì xảy ra khi nhấn: thay văn bản nút, thay tin nhắn (bằng văn bản hoặc nội dung phản ứng liên kết), xóa tin nhắn, bỏ qua answerCallbackQuery. Nhấn cũng có thể gán nhãn và đặt tham số.
Tham số trong nút (Carry)
Khối «Carry — ảnh chụp dữ liệu vào lần nhấn nút» gắn vào nút một tập hợp giá trị đã được cố định tại thời điểm gửi. Khi nhấn, các giá trị này đưa vào ngữ cảnh — nhờ vậy mỗi nút mang tham số riêng của nó (per-invocation), dù có nhiều nút. Có thể đặt thời gian sống của payload tính bằng giây. Đây là nền tảng cho kịch bản «chọn sản phẩm → đặt chính xác sản phẩm đó».
Nút động
Khối «Nút động từ danh sách» mở rộng mảng từ ctx thành các nút — mỗi phần tử một nút. Có thể cấu hình: khóa danh sách trong ctx, bí danh phần tử, số nút mỗi hàng và template nút (hỗ trợ {{alias.field}}). Nhờ vậy bạn xây dựng catalog, danh sách bản ghi và menu từ dữ liệu bộ sưu tập. Chi tiết — Nút động và tham số.
Phản hồi kỳ vọng (các bước hội thoại)
Khối văn bản có thể chờ phản hồi của người dùng — điều này biến tin nhắn thành bước hội thoại và tạm dừng kịch bản cho đến khi có phản hồi. Nhiều bước liên tiếp tạo thành bảng câu hỏi hoặc wizard ngay trong cuộc trò chuyện.
Loại nội dung kỳ vọng
Bot có thể chờ một loại phản hồi cụ thể: văn bản, chọn từ các tùy chọn (nút lựa chọn), ảnh, video, video note, audio, tài liệu, tin nhắn thoại, vị trí, liên hệ, lịch hoặc xúc xắc. Nếu người dùng gửi sai loại, bước coi phản hồi không phù hợp.
Kiểm tra văn bản
Với phản hồi văn bản, bạn có thể bật kiểm tra định dạng: điện thoại, e-mail, liên kết, ngày, giờ hoặc khớp công thức (biểu thức chính quy). Phản hồi không qua kiểm tra bị từ chối và bot hiển thị thông báo lỗi.
Lưu phản hồi
Phản hồi của người dùng có thể lưu vào tham số — sau đó có thể dùng trong thay thế biến dưới dạng {{param.key}} và trong điều kiện. Nhờ vậy các bước hội thoại xây dựng mini-profile của khách hàng.
Lỗi, nhắc nhở và timeout
- Tin nhắn khi lỗi kiểm tra — hiển thị gì nếu phản hồi không qua xác thực.
- Nhắc nhở — gửi gì nếu người dùng im lặng.
- Hủy chờ theo timeout — sau bao lâu ngừng chờ; khi timeout có thể kích hoạt phản ứng (ví dụ: kết thúc nhẹ nhàng bảng câu hỏi). Phản ứng này được hiển thị trong liên kết là «Timeout chờ», còn phản ứng với phản hồi thực tế là «Phản hồi kỳ vọng».
Thay thế biến
Nút «Thay thế» chèn các biến: dữ liệu người gửi ({{first_name}}, {{username}}, {{user_id}}), sự kiện ({{text}}, {{chat_id}}, {{datetime}}) và tham số ({{param.key}}). Danh sách đầy đủ và công thức — Thay thế và công thức.
Bước tiếp theo
- Thay thế và công thức — biến trong văn bản và nút.
- Hành động — các hành động phản ứng khác.
- Mini App — nút ứng dụng web.