본문 바로가기
Back-end/Python

[Telegram] 무작정 시작하기 (1) - 설치 및 실행

by 허도치 2020. 1. 30.

2020/01/21 - [Back-end/Python] - [크롤링] 직방에서 방찾기 (1) - 데이터 분석

2020/01/21 - [Back-end/Python] - [크롤링] 직방에서 방찾기 (2) - Crawler

 

 

  이전 포스트들에서 직방에서 매물을 크롤링하는 예제를 다루었다. 그러나, 매물을 확인할 때마다 PC에서 명령어로 Python을 실행하는 것도 여간 번거로운 일이 아닐 수 없다. 그래서, 스마트폰을 이용해서 언제 어디서나 확인할 수 있는 방법이 없을까 찾아보다가 카카오톡 메신저로 알림을 받는 방법과 텔레그램의 봇을 이용한 방법에 대해서 알게되었다. 카카오톡을 사용하려면 Token을 주기적으로 갱신해야되는 번거로움이 있기 때문에 이번 포스트에서는 텔레그램을 이용하여 스마트폰에서 매물정보를 확인할 수 있는 방법에 대해서 알아보도록 하겠다.

 

 

1. 텔레그램 봇이란?

   1-1. 텔레그램에서 제공하는 API서비스로 대화형 로봇이라고 할 수 있음.

 

   1-2. 카카오톡의 챗봇이나 인터파크의 톡집사 등이 대표적인 예라고 할 수 있음.

 

 

2. 텔레그램 설치 및 봇 등록.

   2-1. 텔레그램 설치.

         - Telegram Install Version 다운로드.

         - Telegram Portable Version 다운로드.

         

   2-2. 텔레그램 실행.

 

   2-3. 'BotFather' 검색.

         - 'BotFather'는 텔레그램에 있는 모든 봇을 관리하는 마스터 봇.

         - 이 BotFather를 통해 자신의 봇을 관리할 수 있음.

         - 가짜를 사칭하는 봇들이 많으니 주의, 반드시 그림과 똑같은 봇을 선택하길 바람.

 

   2-3. 나만의 봇 등록.

         - [ /newbot ] 명령어를 입력하면, 봇의 이름을 입력하라고 함.

         - 봇의 이름이 'bot'으로 끝나지 않는 경우 생성되지 않음.

         - 정상적으로 등록되면 'HTTP API Access Token'을 발급해줌.

 

   2-4. 내가 만든 봇 검색.

         - BotFather로 내가 만든 봇이 검색됨.

         - 대화창에서 [ 시작 ] 버튼을 누르면 [ /start ] 명령어가 자동으로 전송되는 것을 확인할 수 있음.

         - 지금은 아무기능도 없기 때문에 무엇을 입력하든 반응이 없음.

         - 다음 작업을 통해 이 대화창에 생명을 불어넣어 줄 것임.

 

 

3. 나만의 봇 예제1 - Message Push.

   3-1. 패키지 설치.

         > pip install python-telegram-bot

         - 2020.01.29 기준 12.3.0버전.

 

   3-2. 소스 작성.

         - dochis_bot.py

1
2
3
4
5
6
7
8
9
#dochis_bot.py
import telegram
 
BOT_TOKEN='672768316:AAHXpYmnMzGp_eH0i-juikUFU6q9y78CBhA'
 
bot = telegram.Bot( token=BOT_TOKEN )
chat_id = bot.getUpdates()[-1].message.chat.id
 
bot.sendMessage(chat_id=chat_id, text='[{}]안녕하세요, 도치봇입니다.'.format( chat_id ) )
cs

         - 1 ln: telegram 패키지 Import.

         - 3 ln: [ 2-3 ]에서 발급받은 Access Token.

         - 5 ln: Telegram 봇 생성.

         - 6 ln: 마지막에 받은 Message의 chat_id를 가져오기.

           * 반드시 대화창에서 메시지가 한번이라도 전송되어야 함.

         - 8 ln: Telegram으로 메시지 보내기.

 

   3-3. 실행.

         > python dochis_bot.py

 

   3-4. 실행 결과.

         - 입력한 메시지가 정상적으로 전송된 것을 확인할 수 있음.

 

 

4. 마치며.

   - 지금까지 텔레그램 봇을 등록하고 실행하는 예제까지 만들어보았다. 그러나, 이번에 다룬 예제는 봇에서 Message를 Push해주는 방식이기 때문에 스케줄러로 처리할 때 유용할 것 같다. 그리고, 우리가 처리할 방식은 명령어를 통한 크롤링이기 때문에 이 방식은 적합하지 않다.

   - 다음 포스트에서는 Handler를 추가하여 명령어를 입력하고 처리하는 방법에 대해서 알아보도록 하겠다.

댓글