
최근에 모니터링 시스템을 만들어야 하는 일이 있었습니다. 쉽고 간단하게 챗봇을 만들어야 하는 했습니다. 텔레그램을 이용하여 개발하는게 간단 하면서도 강력한 방법임을 알았습니다. 이번에는 텔레그램을 이용한 챗봇 환경을 구축해 보겠습니다.
텔레그램 봇 구축하기
우선 텔레그램 가입합니다.
가입 후 BotFather이라는 계정을 추가합니다.

비슷하게 만든 계정이 다수 있어 공식 배지를 보도록 합니다.

Bot을 생성하는 과정은 해당 챗봇에 /newbot을 추가한 후 정보만 입력하면 됩니다.
저는 여기서 다음과 같이 입력했습니다.
- 봇 이름 : Test
- 봇 ID : testdalseobi_bot
이제 해당 계정을 입력하면 API 토큰을 받게 됩니다.

여기서 모자이크친 부분이 봇의 토큰입니다. 해당 토큰이 유출되면 다른 사람들이 봇을 조작할 수 있기 때문에 유출되었다고 판단 되면 Revoke로 토큰 재발급이 필요합니다.
사용자에게 메시지를 보내는 방법
1. 전송 대상 사용자를 알아보는 방법
봇을 시작한 다음 아래 링크를 들어가면 다음과 같은 데이터가 나옵니다.
https://api.telegram.org/bot{토큰}/getUpdates

사용자가 봇을 추가한 후 채팅을 납기면 채팅 이력이 다음과 같이 나옵니다.

이제 해당 JSON 파일에다가 id가 우리가 찾는 사용자의 id 입니다. 이것을 가져오도록 합니다.
2. 메세지를 전송하는 방법
import requests
# init
TOKEN = "자신의 토큰 번호를 적으세요."
CHAT_ID = '전송할 사용자 ID를 적으세요.'
message = 'test입니다.'
# 데이터 전송
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
params = {"chat_id": CHAT_ID, "text": message}
try:
requests.post(url, params=params)
except Exception as e:
print("발송 실패: {e}")
전송에 필요한 부분은 위에서 받았던 데이터를 바탕으로 다음과 같습니다.
- 토큰 : 봇의 권한을 이용하기 위한 텔레그램 토큰입니다. (get)
- 채팅 ID : 전송 대상의 사용자 ID입니다. (파라미터)
- 텍스트 : 전송 대상에게 보내는 메세지를 전송합니다. (파라미터)
텔레그램에서 제공하는 API를 이용하여 채팅을 보내면 다음과 같이 전송이 됩니다.

여기까지 진행하면 텔레그램으로 간단한 봇을 제작할 수 있습니다. 추가로 python-telegram-bot 이라는 라이브러리가 있습니다. 작업 완료 후 알게 된 라이브러리고 해당 라이브러리를 이용하면 더 쉽게 해당 환경을 구축할 수 있습니다.
Reference
https://midoriiroplace.tistory.com/63
[python - requests]텔레그램 메시지 발송 방법
이 문서는 2024년 4월 20일에 작성되었습니다. 텔레그램 메시지 발송 방법 텔레그램 API를 이용한 메시지 발송 방법을 Python을 사용하여 설명합니다. 이 글에서는 BotFather로부터 받은 토큰을 이용하
midoriiroplace.tistory.com
https://blog.naver.com/lifelectronics/223198582215
[텔레그램 봇] 1. 텔레그램 봇 제작 환경 구축, 텔레그램 api 활용하기(2023 텔레그램 업데이트 버전
오랜만에 블로그의 취지에 맞는 글(나름 썸네일도 구해봤다.) 이전에 학교 공지사항을 업데이트 하는 텔레...
blog.naver.com
'컴퓨터 > Python' 카테고리의 다른 글
| Python (29) - YOLOv5 모델을 이용한 애니메이션 이미지를 검출해보자 (0) | 2025.10.07 |
|---|---|
| Python (28) - 오버로딩(Overloading)과 오버라이딩(Overriding) (1) | 2025.05.04 |
| Python (27) - PC에서 유튜브 음악을 실행해보자 (pytubefix) (0) | 2025.03.10 |
| Python (26) - Flask를 활용하여 웹서버를 만들어보자 (0) | 2024.11.07 |
| Python (25) - 원주율(π)을 구해보자 (0) | 2024.08.15 |