고객 서비스
Telegram 봇 버튼: 리플라이 키보드, 인라인 버튼, 한 번의 탭으로 전화번호·위치 받기
Telegram 봇에는 두 종류의 버튼이 있고 작동 방식이 전혀 다릅니다. 리플라이 키보드는 텍스트를 보내고 전화번호나 위치를 요청할 수 있으며, 인라인 버튼은 메시지 아래에 붙어 링크를 열거나 동작을 실행합니다. 언제 무엇을 쓰는지, MonoChat에서 어떻게 설정하는지 알아봅니다.
MonoChat 팀 업데이트: 6 분 소요
이 페이지 내용
Telegram 봇이 친절한 상담원처럼 느껴질지, 딱딱한 신청서처럼 느껴질지는 버튼이 결정합니다. “주문 조회”나 “번호 보내기”를 탭할 수 있는 고객은 1초 만에 답하지만, 주문 번호나 형식에 맞는 전화번호, 전체 주소를 직접 입력해야 하는 고객은 중간에 포기하기 쉽습니다.
Telegram은 봇에 성격이 전혀 다른 두 가지 버튼을 제공하며, 이 둘을 혼동하는 것이 봇이 불편해지는 가장 흔한 이유입니다. 이 글에서는 리플라이 키보드와 인라인 버튼의 차이, 한 번의 탭으로 전화번호나 위치를 받는 방법, 그리고 MonoChat에서 모두 구성하는 방법을 설명합니다. 국내 고객 응대는 카카오톡이 중심이지만, Telegram은 활성 사용자가 10억 명을 넘는다고 밝히고 있어 동남아·중동 고객이나 해외 바이어, 방한 관광객을 상대하는 기업에는 봇이 첫 접점이 되는 경우가 많습니다.
두 가지 버튼 한눈에 보기
| 리플라이 키보드 | 인라인 키보드 | |
|---|---|---|
| 표시 위치 | 고객의 키보드 자리, 입력창 아래 | 특정 메시지 아래 |
| 탭하면 | 버튼 텍스트가 입력한 것처럼 채팅에 전송 | 봇에 숨은 데이터 전송, 링크나 Mini App 열기. 채팅에는 아무것도 게시되지 않음 |
| 전화번호·위치 요청 | 가능(request_contact, request_location, 개인 채팅) | 불가 |
| 탭한 뒤 | 자동으로 숨길 수 있음(one_time_keyboard) | 메시지 아래에 남음 |
| 적합한 용도 | 채팅에 남겨야 할 답: 메뉴, 예/아니요, 연락처·위치 공유 | 메시지에 대한 동작: 링크, 확정/취소, 카드에서 선택 |
Bot API에서는 KeyboardButton 객체로 이루어진 ReplyKeyboardMarkup과 InlineKeyboardButton 객체로 이루어진 InlineKeyboardMarkup입니다. Telegram 봇 가이드는 차이를 간단히 설명합니다. 리플라이 키보드와 달리 인라인 버튼을 눌러도 채팅에 메시지가 전송되지 않습니다.
리플라이 키보드: 고객이 직접 입력한 것 같은 답
리플라이 키보드는 고객의 문자 키보드를 버튼 묶음으로 바꿉니다. 고객이 “영업시간”을 탭하면 채팅에 고객이 보낸 “영업시간”이 표시되고, 봇은 이를 일반 메시지처럼 읽습니다. 그래서 메뉴와 짧은 답변에 잘 맞습니다. 대화 기록이 깔끔하게 남고, 나중에 채팅을 연 상담원도 고객이 무엇을 골랐는지 그대로 볼 수 있습니다.
동작은 몇 가지 옵션으로 정합니다.
resize_keyboard: 버튼 수에 맞춰 키보드 높이를 줄입니다. 이 옵션이 없으면 버튼 두 개도 전체 키보드 높이를 차지합니다.one_time_keyboard: 한 번 사용하면 키보드를 숨깁니다. 입력창의 아이콘으로 다시 열 수 있지만 고객은 문자 입력으로 돌아갑니다.input_field_placeholder: 키보드가 열려 있는 동안 입력창에 1~64자의 안내 문구를 표시합니다. 예: “항목을 선택하세요”.is_persistent: 기본 키보드를 닫아도 버튼을 계속 보여 줍니다.
탭하면 일반 텍스트가 전송되므로 버튼 이름이 곧 분기 기준입니다. 짧고, 겹치지 않고, 자주 바꾸지 않는 것이 좋습니다. “주문 조회”를 “택배 어디쯤 왔나요?”로 바꾸면 그 텍스트를 기다리는 플로우 조건도 함께 수정하세요.
”연락처 공유”로 전화번호 받기
Telegram 봇은 고객의 전화번호를 스스로 알 수 없습니다. 유일한 방법은 요청하는 것으로, request_contact를 true로 설정한 키보드 버튼을 사용합니다. 고객이 탭하면 Telegram이 번호를 연락처 형태로 봇에 보냅니다. Bot API는 이 기능이 개인 채팅에서만 작동한다고 명시합니다.
“전화번호를 입력해 주세요”보다 훨씬 정확합니다. 국가 번호 누락이나 이상한 띄어쓰기가 없고, Telegram 계정에 등록된 번호가 그대로 들어옵니다. 고객을 주문, 예약, CRM 고객 정보와 연결해야 할 때 자연스러운 첫 단계입니다.
고객이 버튼을 누르게 하려면 두 가지를 지키세요.
- 이유를 말합니다. “예약 확인을 위해 전화번호를 공유해 주세요”라는 한 줄이 버튼만 있을 때보다 훨씬 효과적입니다. 전화번호는 개인정보 보호법상 개인정보이므로 수집 목적을 밝히는 것이 기본입니다.
- 다른 방법도 둡니다. 번호 공유를 원하지 않는 고객도 있습니다. 예약 번호나 이메일도 받거나 상담원에게 연결하세요.
위치 받기
request_location도 같은 방식입니다. 한 번 탭하면 고객의 현재 위치가 위치 메시지로 전송됩니다. 배송지, 가까운 지점 안내, 기사 출동, 서비스 지역 확인 등에 쓸 수 있습니다. 역시 개인 채팅에서만 작동하며, 공유 여부는 고객이 정합니다.
인라인 버튼: 메시지 아래의 동작
인라인 버튼은 특정 메시지에 속하므로 그 메시지에 대한 선택일 때 적합합니다. 예약 요약 아래의 “확정”과 “시간 변경”, 레스토랑 인사말 아래의 “메뉴 보기”, 청구서 아래의 “지금 결제” 같은 경우입니다. 기업이 주로 쓰는 유형은 세 가지입니다.
- 콜백 버튼: 최대 64바이트의 데이터(
callback_data)를 봇에 보냅니다. 채팅에는 아무것도 표시되지 않고, 다음 동작은 봇이 정합니다. - URL 버튼: 요금표나 배송 조회 페이지 같은 웹 페이지를 엽니다.
- Web App 버튼: 예약 양식이나 카탈로그 같은 Mini App을 Telegram 안에서 엽니다.
사용감을 좌우하는 세부 사항이 하나 있습니다. 콜백 버튼을 탭하면 봇이 answerCallbackQuery를 호출할 때까지 Telegram이 진행 표시를 보여 주며, 보여 줄 내용이 없어도 이 호출을 하라고 봇에 요구합니다. 이 단계를 빠뜨린 봇은 버튼을 “로딩 중”으로 남겨 두고, 고객은 계속 다시 누릅니다.
Telegram Business 계정 참고 사항. 봇을 Telegram Business 계정에 연결해 개인 채팅에서 대신 답하게 하면, 그 계정 이름으로 보내는 메시지에서는 리플라이 키보드와 Web App 버튼이 지원되지 않습니다. 이 기능은 봇과의 채팅에서 작동하며, MonoChat처럼 BotFather 토큰으로 연결한 봇은 바로 이 채팅에서 고객과 대화합니다.
상황별 선택
| 상황 | 사용할 버튼 |
|---|---|
| 메인 메뉴: “가격”, “영업시간”, “상담원 연결” | 리플라이 키보드(빠른 답장) |
| 예/아니요, 평점, 시간대 선택 | 한 번 누르면 숨겨지는 리플라이 키보드 |
| 고객 전화번호 받기 | 연락처 공유 버튼 |
| 배송지 또는 가까운 지점 | 위치 보내기 버튼 |
| 이 메시지의 예약 확정·취소 | 인라인 콜백 버튼 |
| 웹사이트, 배송 조회, 결제 페이지 열기 | 인라인 URL 버튼 |
| Telegram 안의 양식이나 카탈로그 | 인라인 Web App 버튼 |
간단한 원칙: 답이 대화에 남아야 하면 리플라이 키보드, 메시지에 대한 동작이거나 Telegram 밖으로 나가면 인라인 버튼입니다.
MonoChat에서 Telegram 버튼 만들기
MonoChat은 BotFather 토큰으로 Telegram 봇을 연결합니다(봇 만들기와 토큰 받기 참고). 3.8.41 버전(2026년 11월 1일)부터 MonoChat은 빠른 답장, 위치 요청, 연락처 정보 요청을 Telegram 리플라이 키보드 버튼으로 보내고, 버튼 메시지의 이미지·동영상·문서 헤더를 표시하며, 모든 탭에 응답해 버튼이 로딩 상태로 남지 않게 하고, 입력 중 표시도 켤 수 있습니다.
1. 빠른 답장(리플라이 키보드). 플로우에 메시지 보내기 노드를 추가하거나 단문 메시지를 하나 만들고 텍스트 유형을 선택합니다. 본문을 쓰고 빠른 답장을 켠 뒤 버튼에서 버튼마다 추가를 클릭합니다. 유형을 text로 정하고 지원하는 언어마다 버튼 이름을 입력합니다. Telegram은 입력창 아래에 한 줄에 두 개씩, 알맞은 크기로 버튼을 표시합니다. 이미지·동영상·문서 메시지에도 빠른 답장을 붙일 수 있습니다.
2. 전화번호 요청. 연락처 정보 요청 유형을 선택하고 “주문 확인을 위해 전화번호를 공유해 주세요.”처럼 메시지를 씁니다. Telegram은 고객의 언어로 연락처 정보 공유 버튼을 보여 줍니다. 한 번 탭하면 사라지고 번호는 연락처로 채팅에 들어옵니다. 메뉴 안에서는 user-phone-number 유형의 빠른 답장이 같은 역할을 합니다.
3. 위치 요청. 위치 요청 유형을 선택합니다. 고객에게 위치 보내기 버튼이 보이고, 위치는 위치 메시지로 들어옵니다.
4. 인라인 버튼. 버튼 유형을 선택합니다. 위쪽에 이미지·동영상·문서를 넣으려면 헤더 유형을 고르고, 본문(최대 1,024자)을 쓴 다음 버튼을 추가합니다. 콜백은 postback, 링크는 web-url, Mini App은 app-url입니다. 버튼 이름은 최대 20자입니다. postback 탭은 버튼 답장으로 채팅에 들어옵니다.
5. 답에 따라 분기. 봇 플로우를 새 메시지 수신됨 이벤트로 시작하고 봇 여부를 켭니다. 질문 다음에 If 노드를 두고, 빠른 답장에는 메시지 텍스트 조건을, 공유된 연락처·위치와 직접 입력한 텍스트를 구분하려면 메시지 유형 조건을 씁니다. “상담원 연결”을 고른 고객은 대화 할당 노드로 보냅니다.
6. 입력 중임을 보여 주기. 채널 설정에서 입력 중 표시 사용을 켭니다. 상담원이 입력창에 입력하는 동안, 그리고 플로우의 AI 노드가 답을 준비하는 동안 고객에게 “입력 중”이 표시됩니다. 이미지나 문서를 업로드하는 동안에는 사진이나 파일을 보내는 중이라고 Telegram이 보여 줍니다.
모든 채팅, 버튼 탭, 공유된 연락처는 WhatsApp, Instagram, Messenger 대화와 같은 팀 인박스로 들어오므로, 대화를 넘겨받은 상담원도 고객이 무엇을 눌렀는지 바로 확인할 수 있습니다.
예시: 해외 고객을 받는 피부과 클리닉 봇
고객: /start 봇: 안녕하세요, 서울 강남의 ‘청담 라온 피부과’입니다. 무엇을 도와드릴까요? (버튼: 상담 예약 · 진료 시간 · 코디네이터 연결) 고객: 상담 예약 봇: 예약 확인을 위해 전화번호를 공유해 주세요. (버튼: 연락처 정보 공유) 고객: (연락처 공유) 봇: 감사합니다. 숙소 위치를 보내 주시면 가까운 픽업 지점을 안내해 드립니다. (버튼: 위치 보내기) 고객: (위치 공유) 봇: 내일 오후 2시 상담으로 예약할까요? (인라인 버튼: 확정 · 시간 변경)
리플라이 키보드 세 번으로 답을 채팅에 남기고, 마지막 확인만 인라인 키보드로 받습니다. “코디네이터 연결”은 바로 사람에게 연결됩니다.
피해야 할 실수
- 버튼이 너무 많음. 휴대폰에서는 키보드 하나에 2~6개가 보기 좋습니다. 긴 메뉴는 Mini App이나 다음 단계로 나누세요.
- 처음부터 전화번호 요청. 이유를 알게 된 뒤에 요청하세요.
- 사라지지 않는 키보드. 고객은 입력할 수 없다고 느낍니다. 한 번만 묻는 질문에는 일회용 키보드를 쓰세요.
- 반응 없는 버튼. “확인했습니다, 잠시만 기다려 주세요”라도 모든 탭에 답하세요.
- 사람에게 가는 길이 없음. “상담원 연결”은 항상 남겨 두세요. 상담원 연결과 운영 시간은 비즈니스용 Telegram 글에서 다룹니다.
WhatsApp도 쓴다면 원리는 같고 제한만 다릅니다. WhatsApp 인터랙티브 메시지를 참고하세요. 버튼 사이에 AI 답변을 넣고 싶다면 Telegram AI 봇 만들기를 읽어 보세요.
app.monochat.ai에서 무료로 시작하고 몇 분 만에 Telegram 봇을 연결하세요.
출처
- Telegram Bot API: ReplyKeyboardMarkup, KeyboardButton, InlineKeyboardButton, answerCallbackQuery, sendChatAction (Bot API 10.3) (2026년 11월 2일 확인)
- Telegram: 봇 기능, 키보드 (2026년 11월 2일 확인)
- Telegram FAQ: 10억 명이 넘는 활성 사용자 (2026년 11월 2일 확인)
- MonoChat 고객센터: 메시지 유형, Telegram 빠른 답장, 요청, 입력 중 표시 (2026년 11월 2일 확인)
- MonoChat 변경 사항 3.8.41 (2026년 11월 2일 확인)
MonoChat으로 실행해 보세요