컴퓨터/Python

Python (30) - 텔레그램 챗봇 환경 만들기

달서비 2026. 2. 20. 05:00

텔레그램 로고

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

 

텔레그램 봇 구축하기

우선 텔레그램 가입합니다.

가입 후 BotFather이라는 계정을 추가합니다.

BotFather 계정

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

텔레그램 Bot 생성 과정

Bot을 생성하는 과정은 해당 챗봇에 /newbot을 추가한 후 정보만 입력하면 됩니다.

저는 여기서 다음과 같이 입력했습니다.

  • 봇 이름 : Test
  • 봇 ID : testdalseobi_bot

이제 해당 계정을 입력하면 API 토큰을 받게 됩니다.

봇 생성시 나오는 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