파이썬 텔레그램 챗봇 만드는 방법

오늘은 파이썬을 활용해서 간단하게 챗봇을 만들어보는 것을 진행해보겠습니다.

파이썬 텔레그램

텔레그램 챗봇이란?

먼저 챗봇(chat bot)부터 설명을 드려야할 것 같습니다.

챗 봇은 말그대로 음성이나 문자를 통한 인간과의 대화를 통해서 특정한 작업을 수행하도록 제작된

컴퓨터 프로그램을 뜻합니다.

챗봇 위키

그래서 이 챗봇을 텔레그램을 통해서 구현한 것이 텔레그램 챗봇이라고 할 수 있습니다.

가장 유명한 챗봇은 예전에도 한번 포스팅한 적이 있는 이루다도 AI 챗봇입니다.

2021.01.12 - [Life/Review] - [AI] 이루다 서비스 일시 중단

 

[AI] 이루다 서비스 일시 중단

정말 지난 주에 가장핫한 서비스였는데.. 여러 이슈를 만들어내고 서비스가 종료되었다. 관련 기사는 계속 나오고 있다. 스캐터랩에서 개발한 이루다는 AI챗봇 서비스 입니다. 개인적으로는 사

dorudoru.tistory.com

이 외에도 애플의 시리, 구글 어시스턴트, 아마존 알렉사, SKT 누구 등의 음성인식 비서 시스템도

큰 틀에서는 챗봇 시스템을 내장한 시스템이라고 할 수 있습니다.

그리고 요즘에는 아래처럼 다양한 곳에서 챗봇 시스템을 운영하고 있습니다.

서울어린이대공원 챗봇 링크  

 

서울어린이대공원 챗봇

서울어린이대공원 FAQ 챗봇입니다.

frogue.danbee.ai

텔레그램 챗봇 만드는 방법

텔레그램 챗봇을 만들기 위해서는 먼저 텔레그램에서 챗봇을 만들어야 합니다.

먼저 텔레그램앱을 설치하고 검색창에서 botfather를 쳐서 챗봇을 만듭니다.

짝퉁이 많으니 조심하고 제일위에 위치한 BotFather가 정식 챗봇입니다.

그리고 방이 생성되면 /newbot을 입력하여 새로운 챗봇을 생성합니다.

하단에 /를 치면 명령을 시작하는데요. 상단에 팝업이 뜨는 것을 클릭하셔도 되고 명령을 치셔도 됩니다.

그러면 챗봇을 통해서 새로운 챗봇을 생성할 수 있는데요.

먼저 챗봇의 이름을 정하고, 그다음 아이디를 정해야 합니다.

아이디는 꼭 끝이 bot으로만 끝나야 합니다.

텔레그램 챗봇

doru_bot은 이미 사용중이라서 dorulog_bot으로 만드니 간신히 만들 수 있었습니다.

여기까지 완성되면 챗봇의 주소 1번과 접속할 수 있는 토큰을 주는데요.

토큰은 분실하면 방의 권한을 뺏길수 있으니 잘 복사해놓으시고 외부에 유출하지 마십시요.

텔레그램 챗봇 토큰

이제 파이썬으로 넘어가서 간단하게 챗봇 프로그램을 만들어 보겠습니다.

파이썬 챗봇 만들기

먼저 파이썬에서 텔레그램 봇을 컨트롤 할 수 있는 패키지인 python-telegram-bot을 설치해줍니다.

pip install python-telegram-bot

텔레그램봇

이렇게 설치하신 다음 이제 파이썬에서 코딩을 시작해 봅니다.

먼저 토큰을 입력하여 채팅을 받아오는 것부터 시작해보겠습니다.

아래처럼 코드로 메시지를 불러와도 되구요.

import telegram
 
token = 'API_토큰'
bot = telegram.Bot(token=token)
updates = bot.getUpdates()
for u in updates:
    print(u.message)

아니면 인터넷에 아래 주소를 쳐서 

https://api.telegram.org/bot(토큰)/getUpdates

새로나오는 메시지를 확인하셔도 됩니다.

기본적인 파라미터는 아래와 같은데요

메시지 설명
message_id 메시지순서(1)
date 전송시간
id 사용자 대화 ID
type 채팅 특성
first_name 이름

이 때 아래처럼 만들면 답변을 보낼수 있습니다.

답변을 보내는 함수는 bot.sendMessage입니다.

import telegram
 
token = 'api 토큰'
id = '사용자_id'
 
bot = telegram.Bot(token)
bot.sendMessage(chat_id=id, text='안녕하세요')

여기까지 정상적으로 실행하셨다면 아래처럼 챗봇이 저에제 답장을 하게 됩니다.

정말 간단하죠.

챗봇 답장

오늘은 여기까지 간단하게 텔레그램을 통해서 챗봇을 만들고, 답변을 보내는 것까지 해보았는데요.

다음 포스팅 때는 다양한 기능을 구현해보도록 하겠습니다.

그럼 즐거운 하루되세요!

728x90

해당 블로그에서 발행되는 콘텐츠 중 일부 글에는 제휴 및 홍보 관련 링크가 포함될 수 있으며, 파트너스 활동의 일환으로 일정액의 수수료를 받을 수 있습니다.