처음부터 텔레그램 봇 만들기: 초보자 가이드
Telegram 봇을 만드는 첫걸음은 프레임워크 선택이 아니라 BotFather와 API 토큰에서 시작합니다. 첫 토큰 발급부터 항상 온라인 상태를 유지하는 봇까지, 초보자를 위한 길을 안내합니다.
Michael Chen소규모 상점 주인은 매일 Telegram DM으로 같은 세 가지 질문을 받습니다: 배송 기간, 반품 정책, 재입고 날짜. 직접 답변하다 보면 점심시간 전에 한 시간이 훌쩍 지나갑니다. 친구가 봇을 만들어 처리하라고 제안합니다. 주인은 코드를 한 줄도 작성해본 적이 없습니다.
좋은 소식: Telegram 봇의 첫 버전은 많은 코드가 필요하지 않으며, Telegram 서버를 직접 건드릴 필요도 없습니다. 모든 것은 이를 위해 만들어진 하나의 공식 도구를 통해 처리됩니다.
프레임워크보다 BotFather로 시작하세요
모든 Telegram 봇은 같은 방식으로 시작됩니다. @BotFather와의 대화를 통해서죠. BotFather는 봇을 만들기 위한 Telegram 자체 봇입니다. 대화를 열고 /newbot을 보내고, 표시 이름을 선택한 다음 "bot"으로 끝나는 사용자 이름을 정하세요. BotFather가 즉시 API 토큰을 알려줍니다. 이 토큰은 봇의 Telegram 서버 비밀번호와 같아서, 이를 가진 사람은 누구나 봇을 제어할 수 있습니다. 따라서 사이트 관리자 자격 증명처럼 취급해야 하며, 공개 그룹에 붙여넣거나 공개 코드 저장소에 커밋해서는 안 됩니다.
이 시점에서 기술적으로는 작동하는 봇이 있습니다. 아직 아무것도 하지 않는데, 그 이유는 봇으로 보낸 메시지를 수신하는 코드가 없기 때문입니다.
튜토리얼을 고르기 전에 언어를 선택하세요
대부분의 초보자 가이드는 Python을 기본으로 합니다. 커뮤니티 라이브러리가 성숙하고 문법이 일반 영어에 가깝게 읽히기 때문입니다. Node.js는 이미 JavaScript에 익숙한 사람들에게 적합하며, 특히 봇이 이미 운영 중인 웹 앱과 통신해야 하는 경우에 좋습니다. 더 큰 팀은 봇이 트래픽이 많을 때 Java나 Go를 선택하기도 하지만, 첫 프로젝트의 시작점이 되는 경우는 드뭅니다.
| 언어 | 일반적인 설정 시간 (참고용) | 가장 적합한 경우 |
|---|---|---|
| Python | 기본 응답 봇 기준 30-60분 | 첫 봇, 빠른 프로토타입 |
| Node.js / JavaScript | 30-60분 | 이미 JS 백엔드를 운영 중인 팀 |
| Java 또는 Go | 최소 설정에 반나절 이상 | 트래픽이 많거나 엔터프라이즈 봇 |
참고: 설정 시간은 개발자 경험에 따라 크게 다릅니다. 위 수치는 측정된 벤치마크가 아닌 참고용 추정치입니다.
첫 버전이 해야 할 일
테스트 전에 모든 기능을 구축하려는 충동을 참으세요. 작동하는 첫 버전은 보통 세 가지 동작을 다룹니다: /start 명령에 인사로 응답하기, 정해진 몇 가지 키워드에 답변하기, 인식하지 못하는 것은 사람에게 전달하기. 마지막 부분이 생각보다 중요합니다. 예상치 못한 입력에 침묵하는 봇은 기능이 적은 봇보다 사용자를 훨씬 더 짜증나게 합니다.
/start와/help에 봇이 할 수 있는 일의 짧은 메뉴로 응답합니다.- 추측한 목록이 아닌, 실제 반복 질문과 연결된 소수의 키워드를 매칭합니다.
- 매칭되는 것이 없을 때 침묵 대신 "담당자가 곧 연락드릴 것입니다"로 대체합니다.
이 루프가 안정적으로 작동하면, 예약 게시물, 그룹 관리 명령 또는 데이터베이스 조회를 추가하는 것이 재구축이 아닌 작은 단계가 됩니다.
봇이 있어야 할 곳
노트북에 있는 코드는 뚜껑을 닫는 순간 응답을 멈춥니다. 지속적으로 실행되어야 하는 봇은 켜져 있는 호스트가 필요합니다: 소형 VPS, 컨테이너 플랫폼, 또는 들어오는 메시지에 깨어나는 서버리스 함수. 트래픽이 적은 봇이라면 이 중 어떤 선택도 비쌀 필요가 없습니다.
| 호스팅 옵션 | 월 비용 (참고용) | 가장 적합한 경우 |
|---|---|---|
| 무료 티어 서버리스 함수 | 가벼운 트래픽에 $0 | 간단한 응답 봇, 테스트 |
| 소형 VPS | $4-$10 | 다른 백그라운드 작업도 실행해야 하는 봇 |
| 관리형 컨테이너 플랫폼 | $5-$20 | 서버 유지보수를 줄이려는 팀 |
참고: 가격은 대략적인 참고 범위이며, 제공업체와 지역에 따라 변동되며 고정 견적이 아닙니다.
봇이 특정 국가에서 일관되게 나타나야 하는 경우(지역 테스트를 위해서든, 사용자가 특정 지역에 집중되어 있든), 프록시 마켓플레이스를 통한 가정용 연결은 호스팅 설정과 함께 사람들이 사용하는 옵션 중 하나이며, 봇 코드 자체와는 별개입니다. 어떤 호스트를 선택하든, 공식 Telegram Bot API 문서는 초보자 명령을 넘어설 때 북마크할 가치가 있는 참고 자료입니다.
공개 전 간단한 체크리스트
봇을 공개적으로 알리기 전에 다음 단계를 거치면 초기 지원 문제 대부분을 피할 수 있습니다.
- API 토큰을 환경 변수에 저장하고, 공유하거나 커밋할 수 있는 코드에 직접 넣지 마세요.
- 두 번째 계정에서
/start, 상위 3개 키워드 응답, 대체 메시지를 테스트하세요. - 노트북을 닫은 후에도 봇이 온라인 상태를 유지하는지, 한 시간 후 다른 기기에서 확인하세요.
- BotFather를 통해 봇 설명과 프로필 사진을 설정하여 중간에 버려진 것처럼 보이지 않게 하세요.
- 대체 메시지가 발동될 때 누구에게 알림이 가는지 기록해 두어, 매칭되지 않은 질문이 허공으로 사라지지 않도록 하세요.
많은 마켓플레이스 공급업체는 Telegram 계정 또는 SMS 인증 목록에서 봇 테스트용 확인된 관리자 계정이나 SMS 인증 번호도 판매합니다. 아직 테스트 중인 봇에 개인 번호를 연결하고 싶지 않다면 유용합니다. 호스팅 제공업체를 비교할 때처럼, 가격과 전송 속도를 기준으로 여러 목록을 비교해보고 결정하세요.
