결론부터
- 1@봇이름 검색어 — 봇을 넣지 않은 대화에서도 결과를 골라 보낸다.
- 2@BotFather 의 /setinline 으로 켜고 안내 글을 정한다.
- 3inline_query 에 answerInlineQuery 로 빨리, 최대 50개.
인라인 모드란
사용자가 어느 대화에서든 입력창에 @봇이름 검색어 를 치면, 봇이 결과 목록을 입력창 위에 띄우고 사용자가 하나를 고르면 그 대화에 바로 보내지는 방식입니다. 봇을 그 대화에 넣을 필요가 없습니다. 짤 검색, 번역, 링크 공유처럼 '찾아서 붙여 넣는' 일에 맞습니다.
켜기 — @BotFather
- @BotFather 에서 봇을 고르고 인라인 모드를 켭니다(
/setinline). - 입력창에 흐리게 보일 안내 글(placeholder)을 정합니다. 예: '검색어를 입력하세요'.
- 필요하면 사용자의 위치를 함께 받는 설정(
/setinlinegeo)과, 사용자가 무엇을 골랐는지 받는 설정(/setinlinefeedback)을 켭니다.
받고 답하기
사용자가 글자를 칠 때마다 봇은 inline_query 업데이트를 받습니다(업데이트 받기). 안에 검색어(query)와 쿼리 번호(id)가 있고, 봇은 그 번호로 answerInlineQuery 를 불러 결과를 돌려줍니다.
curl https://api.telegram.org/bot123456:ABC-EXAMPLE/answerInlineQuery \
-H "Content-Type: application/json" \
-d '{"inline_query_id":"쿼리 번호",
"results":[{"type":"article","id":"1","title":"인사",
"input_message_content":{"message_text":"안녕하세요"}}],
"cache_time":60}'
| 칸 | 뜻 |
|---|---|
| results | 한 번에 최대 50개. 글(article)·사진·GIF·동영상·스티커 등 종류별 형식이 있다 |
| cache_time | 같은 검색어 결과를 텔레그램 서버가 기억하는 초 — 기본 300초 |
| is_personal | 켜면 사용자마다 따로 기억한다 — 사람마다 결과가 다를 때 |
| next_offset | 더 있을 때 다음 묶음의 표시 — 사용자가 끝까지 내리면 그 값으로 다시 묻는다 |
더 쓸 만한 것
- 고른 결과 받기 — 피드백을 켜면 사용자가 고른 결과가
chosen_inline_result로 옵니다. 통계를 낼 때 씁니다. - 버튼에서 부르기 — 인라인 버튼의
switch_inline_query로 사용자가 대화를 고른 뒤 인라인 모드가 열리게 할 수 있습니다(봇 버튼). - 그룹에서 막힐 수 있다 — 그룹 관리자가 인라인 봇 사용을 막아 두면 그 그룹에서는 결과를 보낼 수 없습니다.
자주 묻는 질문
텔레그램 인라인 봇은 어떻게 켜나요?
@BotFather 에서 봇을 고르고 /setinline 으로 인라인 모드를 켜며 입력창 안내 글을 정합니다.
인라인 결과는 몇 개까지 보낼 수 있나요?
answerInlineQuery 한 번에 최대 50개입니다. 더 있으면 next_offset 으로 이어서 보냅니다.
사용자가 무엇을 골랐는지 알 수 있나요?
@BotFather 에서 인라인 피드백을 켜면 chosen_inline_result 업데이트로 받습니다.
그룹에서 인라인 봇이 안 돼요.
그룹 관리자가 인라인 봇 사용을 막아 둔 경우입니다.
참고한 공식 문서
요약
한눈에 정리
- 1켜기
/setinline · 안내 글.
- 2답하기
answerInlineQuery · 50개.
- 3속도
캐시 · 빈 검색어 대비.
최종 수정 2026-10-06