Product
Telegram 봇 토큰은 어디서 가져오나
Telegram에서 @BotFather로 봇을 만들고, API token을 발급받아 웹훅을 연결하는 방법을 단계별로 정리합니다.
Telegram 봇을 만들 때도 봇 토큰이 필요합니다.
Discord나 Slack과 다르게 Telegram은 BotFather라는 공식 봇을 통해 토큰을 발급받습니다. 이 글은 @BotFather로 봇을 등록하고 토큰을 가져오는 과정을 정리합니다.
필요한 값
Telegram Bot API를 쓰려면 다음이 필요합니다.
Bot Token: BotFather가 발급하는 키입니다.- (선택)
Chat ID: 메시지를 전송할 대상 채팅의 식별자입니다. - (선택)
Webhook URL: 봇이 메시지를 실시간으로 받게 하려면 HTTPS URL이 필요합니다.
@BotFather로 봇 만들기
- Telegram에서
@BotFather를 검색하고 대화를 시작합니다. /newbot을 입력하거나 메뉴에서 선택합니다.- 봇의 표시 이름을 입력합니다. 예를 들어
Schift Notifier입니다. - 봇의 username을 입력합니다. 반드시
bot으로 끝나야 합니다. 예를 들어schift_notifier_bot입니다. - BotFather가 토큰을 내려줍니다.
123456789:ABCdefGHIjklMNOpqrSTUvwxyz형태의 문자열을 복사합니다.
이 토큰 하나로 모든 Bot API 호출이 가능합니다.
기본 설정 더하기
BotFather에서 추가 설정도 할 수 있습니다.
/setdescription— 봇 설명 설정/setabouttext— 봇 프로필 소개 설정/setcommands— 슬래시 커맨드 메뉴 등록/revoke— 토큰 재발급
특히 /setcommands를 쓰면 사용자가 /를 눌렀을 때 명령어 목록이 보입니다.
채팅 ID 알아내기
메시지를 전송할 때는 대상 채팅의 ID가 필요합니다.
- 봇을 개인 채팅이나 그룹에 추가합니다.
- 그 채팅에서 아무 메시지나 입력한 뒤, 다음 API를 호출합니다.
https://api.telegram.org/bot<TOKEN>/getUpdates
- 응답 JSON에서
chat.id값을 찾습니다.
그룹 채팅 ID는 보통 음수입니다.
웹훅 연결하기
봇이 메시지를 수동으로 폴링하지 않고 실시간으로 받으려면 webhook을 등록합니다.
https://api.telegram.org/bot<TOKEN>/setWebhook?url=<HTTPS_URL>웹훅 URL은 반드시 HTTPS여야 합니다. 자체 서명된 인증서는 별도 설정이 필요합니다.
정리하면
| 단계 | 방법 | 결과 |
|---|---|---|
| 봇 생성 | @BotFather /newbot | Bot Token |
| 채팅 ID 확인 | /getUpdates API | chat.id |
| 실시간 수신 | /setWebhook | HTTPS endpoint 등록 |
| 토큰 재발급 | @BotFather /revoke | 새 토큰, 이전 토큰 무효화 |
주의할 점
Bot Token은 한 번 노출되면 누구나 봇을 조종할 수 있습니다. .env에 넣고 커밋하지 마세요.
또한 username은 나중에 변경할 수 있지만, 표시 이름은 더 자유롭게 바꿀 수 있습니다. 처음 만들 때 username을 신중하게 정하세요.
마지막으로 그룹에서 봇이 메시지를 읽거나 관리 명령을 쓰려면 적절한 admin 권한이 필요할 수 있습니다. 알림용이라면 그룹에 추가만 하면 충분합니다.
RAG Lab 구독
schift 만들면서 직접 굴린 RAG 실험 일지. 매주 새 실험이 올라옵니다.