IOTHUB SOFTWARE · 05

텔레그램 봇 알림 실무 구성

텔레그램 봇은 IoT 장치의 경고를 휴대폰으로 보내는 가장 빠른 방법 중 하나입니다. 다만 토큰과 Chat ID를 제대로 관리하지 않으면 알림이 조용히 실패합니다.

텔레그램 가입 & 봇 만들기 hero image
핵심 용어텔레그램 봇BotFather봇 토큰Chat ID

IoT 장치가 사용자의 스마트폰으로 "문 열림", "CO2 농도 높음" 같은 알림을 보내려면 텔레그램 봇 구성이 필요합니다. 텔레그램은 일반 메신저처럼 사용할 수 있으면서, 자동으로 메시지를 주고받는 봇 계정을 비교적 쉽게 만들 수 있습니다. 기본 봇 생성과 메시지 전송은 별도 구축 비용 없이 시작할 수 있습니다.


1. 텔레그램 가입

왜 텔레그램을 사용하나요? 텔레그램은 BotFather를 통해 개인용 알림 봇을 빠르게 만들 수 있고, IoT 장치의 경고 메시지를 테스트하기 쉽습니다. 카카오톡 기반 봇은 정책과 준비 절차가 더 복잡할 수 있습니다.

2. 봇 만들기 (BotFather)

BotFather는 텔레그램 봇을 생성하고 토큰을 발급하는 공식 계정입니다.

code
Done! Congratulations on your new bot.
Use this token to access the HTTP API:
1234567890:ABCdefGHIjklMNOpqrsTUVwxyz

이 긴 문자열이 봇 토큰입니다. 이 값을 복사해 server.pyTELEGRAM_BOT_TOKEN에 넣습니다. 봇 토큰은 비밀번호와 같은 값이므로 외부에 공개하지 않습니다.


3. 내 Chat ID 확인

봇이 메시지를 보낼 대상을 지정하려면 사용자의 Chat ID가 필요합니다.

code
Id: 123456789

이 숫자를 server.pyYOUR_CHAT_ID에 넣습니다. Chat ID는 메시지 수신 대상을 지정하는 고유 식별자이므로 외부 노출에 주의해야 합니다.


4. 봇 테스트


개념 정리

용어의미
BotFather텔레그램 봇을 생성하고 토큰을 발급하는 공식 계정입니다.
봇 토큰 (Token)봇을 제어할 수 있는 비밀번호 성격의 문자열입니다. 123456:ABC... 형태이며 공개하면 안 됩니다.
Chat ID봇이 메시지를 보낼 대상 채팅방 또는 계정을 식별하는 번호입니다.

안 될 때

증상확인 방법
BotFather를 찾을 수 없음@BotFather에서 @를 빠뜨리지 않았는지 확인하고, 인증 마크가 있는 공식 계정인지 확인합니다.
사용자명이 등록되지 않음이미 사용 중인 이름일 수 있습니다. _나 숫자를 추가해 바꾸고, 사용자명이 반드시 bot으로 끝나는지 확인합니다.
봇이 /start에 응답하지 않음server.py가 실행 중인지 확인합니다. PC 또는 서버에서 python server.py 실행 상태를 확인합니다.
Chat ID 확인이 되지 않음@userinfobot을 정확히 입력했는지 확인합니다. 유사 계정이 있을 수 있으므로 계정명을 주의해서 봅니다.

알림 정책을 먼저 정한다

텔레그램 봇을 만들면 모든 이벤트를 휴대폰으로 보내고 싶어집니다. 하지만 실제 운영에서는 알림이 너무 많으면 중요한 경고를 놓칩니다. 장치가 재부팅될 때마다, Wi-Fi가 잠깐 끊길 때마다, 센서값이 조금 변할 때마다 메시지를 보내면 사용자는 결국 알림을 무시하게 됩니다.

좋은 알림은 적고 명확해야 합니다. 예를 들어 “현관문 열림”, “장비실 온도 30도 초과”, “센서 30분 이상 미응답”처럼 행동이 필요한 메시지만 즉시 보내고, 단순 상태 변화는 하루 요약이나 서버 로그로 남기는 편이 낫습니다.

테스트 메시지 형식

처음 만든 봇은 실제 경고를 붙이기 전에 테스트 메시지부터 보냅니다. 메시지에는 장치명, 시간, 이벤트, 현재값, 필요한 행동이 들어가야 합니다. “오류 발생”처럼 막연한 문장은 현장에서 도움이 되지 않습니다.

예: [장비실 온습도] 2026-07-27 13:20, 온도 31.2도, 기준 30도 초과, 에어컨/환기 상태 확인 필요.

알림은 많을수록 좋은 것이 아니다

처음에는 모든 센서 이벤트를 텔레그램으로 보내고 싶어집니다. 하지만 문 열림, 온도 변화, Wi-Fi 재접속을 전부 보내면 중요한 경고를 놓칩니다. 실무에서는 알림 등급을 나눠야 합니다. 즉시 봐야 하는 경고, 하루에 한 번 보면 되는 요약, 로그로만 남길 정보를 구분합니다.

봇 토큰은 비밀번호처럼 다룬다

BotFather가 주는 토큰은 봇을 제어할 수 있는 비밀번호입니다. HTML이나 공개 저장소에 넣으면 안 됩니다. 서버에서는 환경변수나 비공개 설정 파일에 저장하고, 코드에는 직접 쓰지 않는 편이 안전합니다.

메시지가 안 올 때 확인 순서

  1. 봇 토큰이 맞는지 확인합니다.
  2. Chat ID가 개인 채팅인지 그룹인지 확인합니다.
  3. 사용자가 봇에게 먼저 /start를 보냈는지 확인합니다.
  4. 서버에서 텔레그램 API 호출 응답 코드를 확인합니다.
  5. 너무 많은 메시지를 보내 rate limit에 걸리지 않았는지 확인합니다.