텔레그램은 강력한 API를 제공하여 사용자가 직접 봇을 만들고 활용할 수 있는 환경을 제공합니다. 예를 들면 홈 서버나 운영중인 클라우드 서비스에서 알람을 받을 수 있습니다.
이러한 설정을 위해 필요한 것이 텔레그램의 Bot Token 과 Chat Id 입니다. 다음 텔레그램 API 를 통해서 Bot Token(발신)에서 Chat Id(수신)으로 메시지를 보낼 수 있습니다.
이 글에서는 텔레그램 봇 생성 처음부터 만들고 테스트하는 전체 과정을 단계별로 알아보겠습니다.
텔레그램 봇 생성 시작하기
BotFather 찾기

텔레그램 봇을 만들기 위한 첫 단계는 BotFather를 찾는 것입니다. BotFather는 텔레그램에서 공식적으로 제공하는 봇으로, 새로운 봇을 생성하고 관리할 수 있게 도와줍니다.
- 텔레그램 앱을 열고 검색창에 “BotFather”를 입력하세요
- 공식 BotFather 계정을 선택하세요 (파란색 인증 마크가 있습니다)
BotFather와 대화 시작

- BotFather와의 대화창에서 “/start” 명령어를 입력하세요
- BotFather가 사용 가능한 명령어 목록을 보여줄 것입니다
새 봇 생성하기
봇 생성 명령어 입력

- “/newbot” 명령어를 입력하세요
- BotFather가 봇의 이름을 물어볼 것입니다
- 사용자들에게 표시될 봇의 이름을 입력하세요 (예: “My Test Bot”)
봇 사용자 이름 설정
봇의 사용자 이름은 몇 가지 규칙을 따라야 합니다:
- 고유한 이름이어야 합니다 (다른 봇과 중복되지 않아야 함)
- 반드시 “bot”으로 끝나야 합니다
- 예: “mytestbot”, “my_test_bot” 등의 형식으로 입력하세요
텔레그램 봇 생성 API 토큰 받기

봇 생성이 완료되면 BotFather는 API 토큰을 제공합니다. 이 토큰은 매우 중요하므로 안전하게 보관해야 합니다.
- 토큰은 “123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ” 형식으로 제공됩니다
- 이 토큰은 봇과 통신하기 위한 인증 키이므로 외부에 노출되지 않도록 주의하세요
이제 발신인이 될 봇을 만들고 봇의 Token 값을 알았습니다. 다음으로 수신인이 될 Chat Id를 알아보겠습니다.
텔레그램 봇 생성 Chat Id 확인
인터넷 브라우저 주소창에 다음 주소를 입력합니다.
https://api.telegram.org/bot봇Token값/getUpdates

위와 같이 보입니다.
다음 앞에서 봇을 만들었던 BotFather 와의 대화창에서 t.me/username를 누르면 다음과 같이 대화창이 나오고 START를 눌러서 대화를 시작할 수 있습니다.
아무 메시지나 입력해봅니다.

다시 인터넷 브라우저의 페이지를 새로고침 하면 보낸 메시지가 수신되는데 여기서 Id 10자리 숫자가 Chat Id가 됩니다.
이번에는 웹브라우저에서 메시지를 보내보도록 하겠습니다.
주소창에 다음 메시지를 작성해서 입력해줍니다.
https://api.telegram.org/bot[봇토큰]/sendmessage?chat_id=[챗아이디]&text=[보낼메시지]
엔터키로 전송해주면 봇 채팅에서 메시지를 확인할 수 있습니다.
봇 프로그래밍하기
봇의 기능을 구현하기 위해서 프로그래밍을 활용할 수 있습니다. 여기서는 python과 node.js에서 예시를 확인해보겠습니다.
Python 사용 예시
텔레그램은 python에서 텔레그램 봇 생성 사용할 수 있는 패키지를 제공합니다. 다음 명령어로 설치해줍니다.
pip install python-telegram-bot
다음은 python을 이용해서 텔레그램 메시지를 전송하는 예시 입니다.
from telegram import Bot # 봇 토큰과 채팅 ID를 설정합니다. TOKEN = 'YOUR_BOT_TOKEN' CHAT_ID = 'YOUR_CHAT_ID' # 봇 객체를 생성합니다. bot = Bot(token=TOKEN) # 메시지를 전송합니다. bot.send_message(chat_id=CHAT_ID, text="안녕하세요! 텔레그램 메시지입니다.")
Node.js 사용 예시
Node.js에서 텔레그램 봇 생성 사용할 수 있는 패키지는 다음 명령어로 설치할 수 있습니다.
npm install node-telegram-bot-api
다음은 Node.js에서 코드 사용 예시입니다.
const TelegramBot = require('node-telegram-bot-api'); // 봇 토큰을 설정합니다. const token = 'YOUR_BOT_TOKEN'; // 봇 객체를 생성합니다. const bot = new TelegramBot(token, {polling: true}); // 메시지를 전송할 채팅 ID를 설정합니다. const chatId = 'YOUR_CHAT_ID'; // 메시지를 전송합니다. bot.sendMessage(chatId, '안녕하세요! 텔레그램 메시지입니다.') .then(() => { console.log('메시지가 성공적으로 전송되었습니다.'); }) .catch((error) => { console.error('메시지 전송 중 오류가 발생했습니다:', error); });
PHP 등 다른 언어
PHP, Java, Go 등 다양한 언어로도 텔레그램 봇을 개발할 수 있습니다.
텔레그램 봇 생성 서버 설정
봇이 24시간 작동하도록 하려면 서버에 배포해야 합니다. NAS와 같은 홈서버나 다음 클라우드 서비스를 활용해보세요.
클라우드 서비스 활용
- AWS (Amazon Web Services)
- Heroku
- Google Cloud
- Microsoft Azure
- Digital Ocean
이러한 클라우드 서비스를 통해 봇을 호스팅할 수 있습니다.
웹훅 설정하기 (선택 사항)
웹훅을 설정하면 봇이 실시간으로 메시지를 받을 수 있습니다.
- 웹훅은 새 메시지가 도착할 때마다 봇에게 알려주는 메커니즘입니다.
- 이를 통해 봇은 새로운 메시지에 즉시 응답할 수 있습니다.
- 웹훅 설정은 봇의 반응 속도를 향상시킵니다.
봇 테스트 및 배포하기
개발이 완료되면 봇을 테스트하고 배포합니다:
- 다양한 시나리오에서 봇의 기능을 테스트하세요
- 오류가 발생하면 수정하고 다시 테스트하세요
- 모든 기능이 정상적으로 작동하면 사용자에게 배포하세요
- 지속적으로 봇의 기능을 업데이트하고 개선하세요
운영중인 웹 서비스가 있다면 다음 설정을 참고해보세요. 텔레그램 봇 생성 알람 서비스와 연동하면 편리하게 이용할 수 있습니다.
마무리
텔레그램 봇 생성은 BotFather를 통한 간단한 설정부터 프로그래밍과 서버 배포까지 여러 단계를 거칩니다. 각 단계에서 필요한 세부 사항은 사용하는 프로그래밍 언어와 서버 환경에 따라 다를 수 있으니, 관련 문서를 참고하여 진행하세요. 텔레그램 봇을 통해 자동화된 서비스를 제공하고, 사용자와의 상호작용을 향상시킬 수 있습니다.