본문 바로가기

카테고리 없음

파이썬으로 텔레그램 봇 만들기(2): WebHook과 Polling 매우 쉬운 설명

 

봇이 유저의 메시지를 가져올 수 있는 두 가지 방법이 있습니다. 첫 번째는 Polling, 두 번째는 WebHook입니다. 이번에는 이 두 가지에 대해서 간단하게 알아보겠습니다.

 

Polling이란

위키백과의 설명을 발췌하면 다음과 같습니다. 하나의 장치가 동기화 처리 등을 목적으로 다른 장치의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식.

 

텔레그램 봇을 이 설명에 대입해서 생각해보면 이렇습니다. 매 X초마다 봇은 유저가 보낸 메시지가 있는지 확인하고, 일정 조건을 만족하면 동작을 한다. 아래 그림을 보면 조금 더 직관적으로 이해할 수 있습니다.

 

 

그림과 같이 봇은 지정된 시간(몇 초) 단위로 반복해서 새로운 메시지가 있는지 없는지 확인하는 동작을 합니다. 쉽게 생각하면 무한 루프가 돌고 있다고 보면 됩니다.

 

적은 규모의 유저를 대상으로 빠르게 개발해서 테스트(운영) 해야 한다면 폴링 방식으로 작업하는 것이 더 효율적이라고 생각합니다.

 

WebHook이란 

웹 훅 방식은 텔레그램에게 미리 url을 알려주고 메시지가 오면 해당 주소로 알려주도록 하는 방법입니다. 쉽게 생각하면 푸시 알림을 설정해 놓은 것과 같습니다.

 

 

위의 그림과 같이 웹 훅을 받을 url을 만들고 그 주소를 등록합니다. 이제부터 새로운 메시지가 도착하면 해당 주소(콜백 url)로 알려줍니다. 지속적으로 데이터를 폴링