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로 봇 만들기

  1. Telegram에서 @BotFather를 검색하고 대화를 시작합니다.
  2. /newbot을 입력하거나 메뉴에서 선택합니다.
  3. 봇의 표시 이름을 입력합니다. 예를 들어 Schift Notifier입니다.
  4. 봇의 username을 입력합니다. 반드시 bot으로 끝나야 합니다. 예를 들어 schift_notifier_bot입니다.
  5. BotFather가 토큰을 내려줍니다. 123456789:ABCdefGHIjklMNOpqrSTUvwxyz 형태의 문자열을 복사합니다.

이 토큰 하나로 모든 Bot API 호출이 가능합니다.

기본 설정 더하기

BotFather에서 추가 설정도 할 수 있습니다.

  • /setdescription — 봇 설명 설정
  • /setabouttext — 봇 프로필 소개 설정
  • /setcommands — 슬래시 커맨드 메뉴 등록
  • /revoke — 토큰 재발급

특히 /setcommands를 쓰면 사용자가 /를 눌렀을 때 명령어 목록이 보입니다.

채팅 ID 알아내기

메시지를 전송할 때는 대상 채팅의 ID가 필요합니다.

  1. 봇을 개인 채팅이나 그룹에 추가합니다.
  2. 그 채팅에서 아무 메시지나 입력한 뒤, 다음 API를 호출합니다.
    https://api.telegram.org/bot<TOKEN>/getUpdates
  3. 응답 JSON에서 chat.id 값을 찾습니다.

그룹 채팅 ID는 보통 음수입니다.

웹훅 연결하기

봇이 메시지를 수동으로 폴링하지 않고 실시간으로 받으려면 webhook을 등록합니다.

https://api.telegram.org/bot<TOKEN>/setWebhook?url=<HTTPS_URL>

웹훅 URL은 반드시 HTTPS여야 합니다. 자체 서명된 인증서는 별도 설정이 필요합니다.

정리하면

단계방법결과
봇 생성@BotFather /newbotBot Token
채팅 ID 확인/getUpdates APIchat.id
실시간 수신/setWebhookHTTPS endpoint 등록
토큰 재발급@BotFather /revoke새 토큰, 이전 토큰 무효화

주의할 점

Bot Token은 한 번 노출되면 누구나 봇을 조종할 수 있습니다. .env에 넣고 커밋하지 마세요.

또한 username은 나중에 변경할 수 있지만, 표시 이름은 더 자유롭게 바꿀 수 있습니다. 처음 만들 때 username을 신중하게 정하세요.

마지막으로 그룹에서 봇이 메시지를 읽거나 관리 명령을 쓰려면 적절한 admin 권한이 필요할 수 있습니다. 알림용이라면 그룹에 추가만 하면 충분합니다.