텔레그램 봇은 별도의 전화번호나 기기 없이 BotFather라는 공식 시스템과의 대화만으로 만들 수 있습니다. 봇 이름과 계정명을 정하면 API 토큰이 발급되는데, 이 토큰이 있어야 봇이 실제로 메시지에 반응하는 서버를 붙일 수 있습니다. 코딩 없이 노코드 빌더로 시작하는 방법도 있고, 파이썬 패키지로 직접 코드를 작성하는 방법도 있습니다.
텔레그램 봇, 계정과 뭐가 다른가요
봇도 하나의 계정이지만 사람이 쓰는 계정과는 생성 경로가 다릅니다. 전화번호나 새 기기가 필요 없고, 텔레그램 안에 마련된 봇 생성 지원 시스템을 통해 만들어집니다.
이때 실제 유저와 봇을 구분하고 비매너 행위를 방지하기 위해 계정명 규칙이 정해져 있습니다. 계정명은 영문·숫자·밑줄만 허용되고 반드시 bot으로 끝나야 합니다. 예를 들어 cool_helper_bot 같은 형태입니다.
BotFather를 찾을 때는 주의할 점이 있습니다. 가짜 BotFather 계정이 있을 수 있으므로 반드시 파란색 공식 인증 마크를 확인해야 합니다.
BotFather로 봇 생성하기
BotFather와의 대화만으로 봇을 만들 수 있습니다. 별도 프로그램 설치 없이 텔레그램 앱 안에서 진행됩니다.
- 텔레그램에서 BotFather를 검색해 공식 인증 마크가 있는 계정을 선택합니다.
- 시작을 누르면 봇 관리 메뉴가 나타납니다.
- /newbot을 입력합니다.
- 봇의 이름(대화명)을 입력합니다. 예: 치이
- 봇의 계정명(username)을 입력합니다. bot으로 끝나야 합니다.
- 이미 사용 중인 이름이면 "Sorry, this username is already taken" 메시지가 나오고, 다른 이름으로 다시 시도하면 됩니다.
- 생성이 완료되면 HTTP API 키(토큰)가 발급됩니다.
발급되는 토큰은 아래 형식입니다.
Use this token to access the HTTP API: 123456789:ABCDEFGHIJKLMN
이 토큰은 잘 보관해야 합니다. 봇 서버를 구현할 때 인증 수단으로 쓰입니다.
봇을 만들면 바로 쓸 수 있나요
BotFather로 봇을 생성하면 껍데기만 만들어진 상태입니다. 실제로 메시지에 반응하게 하려면 API 토큰을 사용해 봇 서버(코드)를 구현해야 합니다.
코딩 없이 시작하려면 Manybot, Chatfuel 같은 노코드 봇 빌더 서비스를 쓰는 방법이 있습니다. 자동 응답, 메뉴, 설문조사 같은 기능을 코드 없이 구성할 수 있습니다.
직접 코드를 짜는 경우에는 파이썬의 python-telegram-bot 패키지를 활용하는 방식이 널리 쓰입니다. 설치 명령은 아래와 같습니다.
pip install python-telegram-bot --upgrade
봇이 메시지를 받으려면 대화 아이디가 필요합니다
봇이 특정 사용자에게 먼저 메시지를 보내려면 숫자로 된 대화 아이디를 알아야 합니다. 봇을 실행한 뒤 봇에게 아무 말이나 던지면 그 기록에서 아이디를 확인할 수 있습니다.
기능 없이 봇만 실행한 상태에서 텔레그램으로 말을 걸면, 프로그램 쪽에서 아래와 같은 형태의 데이터를 받습니다.
{'message_id': 3, 'date': 1519112346, 'chat': {'id': 1234567, 'type': 'private', 'first_name': '아냐', 'last_name': '마'}, 'text': '앞구르기 해줘'}
이 데이터는 마아냐라는 사람이 개인채팅으로 "앞구르기 해줘"라고 보냈고, 그 대화방의 3번째 메시지라는 뜻입니다. 여기서 chat 안의 id 값이 대화 아이디입니다.
첫 실행에서는 에러가 날 수 있습니다. 다시 실행하면 정상 동작하는 경우가 많으므로, 메시지가 나타날 때까지 텔레그램에서 말을 걸고 프로그램을 실행하는 것을 반복하면 됩니다.
코드를 나눠서 관리하는 이유
봇을 여러 개 운영할 계획이라면 파일을 역할별로 분리하는 편이 편합니다. 봇 기능에 관련된 코드와 토큰·초기화 관련 코드를 나눠두는 방식입니다.
모든 텔레그램 봇에 공통으로 필요한 기능을 기초 클래스로 만들어두면, 이후 봇을 추가할 때 재사용할 수 있습니다. 초기화 함수, 메시지 보내는 함수, 종료 함수가 대표적인 기초 기능입니다.
기초 클래스를 바탕으로 명령어를 등록하는 구조로 확장합니다. 예를 들어 rolling이라는 명령어가 입력되면 지정한 함수가 실행되도록 연결하고, stop 기능에는 잠든다는 메시지를 추가로 붙이는 식입니다.
어떤 용도로 쓰이나요
텔레그램 봇은 알림 수신 용도로 많이 활용됩니다. 자동매매 프로그램과 연동해 주문정보와 에러정보를 실시간으로 받아보는 사례가 대표적입니다.
연동 절차는 프로그램 설정 화면에서 봇 링크를 클릭해 알림봇 서비스에 등록한 뒤, 다시 설정 화면으로 돌아와 본인의 사용자명을 입력하고 적용 버튼을 누르는 순서로 진행됩니다. "텔레그램 사용자명을 설정하였습니다"라는 메시지가 떠야 제대로 등록된 것이고, 메시지가 뜨지 않으면 등록이 되지 않은 상태입니다.
데이터 학습 진행 상황을 확인하는 용도로도 쓰입니다. 학습이 어느 정도 진행됐는지, 완료됐는지를 봇이 알려주도록 만들 수 있습니다. 가계부나 알람처럼 개인 용도로 구성하는 사례도 있습니다.
자주 묻는 질문
Q. 봇은 몇 개까지 만들 수 있나요
일반 계정 기준으로 약 20개까지 만들 수 있습니다. 더 많은 봇이 필요하면 텔레그램에 별도로 요청할 수 있습니다.
Q. 계정명을 입력했는데 거부당했습니다
계정명은 영문·숫자·밑줄만 허용되고 반드시 bot으로 끝나야 합니다. 이미 사용 중인 이름이면 다른 이름으로 다시 시도해야 합니다.
Q. 코딩을 전혀 모르는데 만들 수 있나요
가능합니다. Manybot, Chatfuel 같은 노코드 봇 빌더 서비스를 사용하면 코딩 없이 자동 응답, 메뉴, 설문조사 기능을 갖춘 봇을 만들 수 있습니다.
Q. 토큰을 잃어버리면 어떻게 하나요
토큰은 봇 서버 구현 시 인증 수단이므로 발급 직후 잘 보관해야 합니다. BotFather 대화에서 봇 관리 메뉴를 통해 다시 확인하는 절차가 마련되어 있습니다.
봇 생성 방식 비교

| 구분 | BotFather 단독 | 노코드 빌더 |
|---|---|---|
| 필요 기술 | 없음 | 없음 |
| 실제 응답 | 불가 | 가능 |
| 대표 서비스 | BotFather | Manybot, Chatfuel |
| 생성 난이도 | 매우 낮음 | 낮음 |

| 항목 | 내용 |
|---|---|
| 계정명 규칙 | bot으로 끝나야 함 |
| 허용 문자 | 영문·숫자·밑줄 |
| 최대 생성 수 | 약 20개 |
| 토큰 형식 | 숫자:영문 조합 |