메시지 및 버튼
"메시지 전송" 액션은 블록으로 봇의 응답을 구성하고 인라인 버튼, 메인 메뉴, 대화 단계를 추가합니다. 이것은 빌더에서 가장 풍부한 액션으로, 여기서 치환 변수와 버튼의 참조 매개변수도 연결됩니다.
메시지 블록
메시지는 블록의 시퀀스입니다(블록 추가 버튼):
- 텍스트 — 치환 변수와 버튼이 있는 서식 있는 텍스트(최대 4096자).
- 사진 — 캡션이 있는 이미지.
- 파일 — 캡션이 있는 문서.
- 지연 — 다음 블록 전의 초 단위 일시 정지.
- AI — 프롬프트로 모델이 생성한 응답.
- 반응 — 다른 반응 호출(선택적으로 처리 완료를 기다림).
블록은 드래그할 수 있습니다. 블록 표시 모드 — "순서대로" 또는 "무작위"(다양한 응답용). 봇의 메인 메뉴는 변경하지 않거나, 새로 설정하거나, 숨길 수 있습니다.
블록 옵션
텍스트 및 미디어 블록에는 플래그가 있습니다: 고정, 무음, 전달 방지, 스포일러, 링크 미리보기 없음, N초 후 자동 삭제.
인라인 버튼
블록에서 버튼을 구성합니다(버튼 텍스트 + 유형):
- 텍스트 (callback) — 봇 측에서 눌림을 처리하는 버튼.
- 링크 — URL을 엽니다.
- 웹 앱 — Telegram Mini App을 엽니다. Mini App 참조.
- 반응 호출 — 누르면 다른 반응을 실행합니다.
- 결제 수신 및 알림 — "곧 출시"로 표시됨.
버튼 스타일 — 일반, 파란색(Primary), 초록색(Success), 빨간색(Danger). "일회용" 플래그는 누른 후 버튼을 소각합니다.
누름 시 동작
callback 버튼에 대해 누를 때 발생하는 일을 구성합니다: 버튼 텍스트 교체, 메시지 교체(텍스트 또는 연결된 반응 내용으로), 메시지 삭제, answerCallbackQuery 건너뛰기. 누름으로 레이블을 지정하고 매개변수를 설정할 수도 있습니다.
버튼의 매개변수 (Carry)
"Carry — 버튼 누름에 데이터 스냅샷" 블록은 전송 시점에 고정된 값 세트를 버튼에 첨부합니다. 누르면 이 값들이 컨텍스트에 들어옵니다 — 버튼이 많더라도 각 버튼은 자체 매개변수를 가집니다(per-invocation). 페이로드 유효 기간을 초 단위로 설정합니다. 이것이 "상품 선택 → 정확히 그것 주문"과 같은 시나리오의 기초입니다.
동적 버튼
"목록에서 동적 버튼" 블록은 ctx의 배열을 버튼으로 펼칩니다 — 요소당 하나씩. 구성: ctx의 목록 키, 요소 별칭, 행당 버튼 수, 버튼 템플릿({{alias.field}} 지원). 이를 통해 카탈로그, 레코드 목록, 컬렉션 데이터 메뉴를 만들 수 있습니다. 자세한 내용은 동적 버튼 및 매개변수를 참조하세요.
예상 응답 (대화 단계)
텍스트 블록은 사용자의 응답을 기다릴 수 있습니다 — 이를 통해 메시지가 대화 단계가 되고 응답이 올 때까지 시나리오가 일시 정지됩니다. 여러 단계가 연속으로 있으면 채팅 내에서 직접 설문지나 마법사가 됩니다.
예상 콘텐츠 유형
봇은 특정 유형의 응답을 기다릴 수 있습니다: 텍스트, 선택지에서 선택(선택 버튼), 사진, 동영상, 동영상 노트, 오디오, 문서, 음성, 위치, 연락처, 캘린더, 주사위. 사용자가 잘못된 유형을 보내면 단계는 응답이 적합하지 않다고 간주합니다.
텍스트 검증
텍스트 응답에 대해 형식 검증을 활성화할 수 있습니다: 전화번호, 이메일, 링크, 날짜, 시간 또는 수식 일치(정규 표현식). 검증을 통과하지 못한 응답은 거부되고 봇은 오류 메시지를 표시합니다.
응답 저장
사용자 응답을 매개변수에 저장할 수 있습니다 — 그 후 {{param.key}}로 치환 변수에서, 조건에서 사용할 수 있습니다. 이렇게 대화 단계가 소형 고객 프로필을 채웁니다.
오류, 알림 및 타임아웃
- 검증 오류 시 메시지 — 응답이 검증을 통과하지 못했을 때 표시할 내용.
- 알림 — 사용자가 응답하지 않을 때 보낼 내용.
- 타임아웃 후 대기 해제 — 얼마 후 기다리기를 중단할지. 타임아웃 시 반응을 실행할 수 있습니다(예: 설문지를 부드럽게 종료). 이 반응은 연결에서 "대기 타임아웃"으로, 응답에 대한 반응은 "예상 응답"으로 표시됩니다.
치환 변수
"치환 변수" 버튼은 변수를 삽입합니다: 발신자 데이터({{first_name}}, {{username}}, {{user_id}}), 이벤트({{text}}, {{chat_id}}, {{datetime}}), 매개변수({{param.key}}). 전체 목록과 수식은 치환 변수 및 수식을 참조하세요.
다음 단계
- 치환 변수 및 수식 — 텍스트와 버튼의 변수.
- 액션 — 다른 반응 액션.
- Mini App — 웹 앱 버튼.