IT/Bot

텔레그램 봇(telegram bot) 만들기

soccerda 2020. 5. 25. 16:53
반응형

텔레그램 봇은 카카오톡 봇에 비해 많이 활성화되어 있다.

그 이유는 아마도 텔레그램에서 지원하는 REST API 연동을 통해서 개발이 간편하고

단체방에도 봇을 사용할 수 있는 장점(카카오톡 봇은 1:1)이지 않을까 생각된다.

 

실제로 카카오톡 봇을 만들기 위한 절차도 까다롭다.

https://soccerda.tistory.com/109

 

카카오톡 봇 만들기 1 (채널 만들기)

요즘 봇을 통해서 많은 정보를 받고 있다. 날씨 정보라든지 주식정보 등 그 사용범위는 무궁무진하다. 이번 글을 통해서 카카오톡 봇을 만들어 보려고 한다. 카카오톡 봇을 만들기 위해 가장 먼�

soccerda.tistory.com

https://soccerda.tistory.com/110

 

카카오톡 봇 만들기 2 (카카오 i 오픈빌더)

카카오톡 봇을 만들려면 카카오 i 오픈빌더에서 가능하다. 그냥 사용할 수 없고 반드시 kakao i developers OBT 참여 신청을 해야 한다. 카카오 오픈빌더 사용 신청 채널 관리자에 스마트채팅 - 챗봇에�

soccerda.tistory.com

 

봇으로 가장 많이 사용되고 있는 텔레그램 봇을 이번 글에서 만들어 보도록 하겠다.

 

우선 텔레그램 가입 및 설치가 필요하다.

 

안드로이드 

https://play.google.com/store/apps/details?id=org.telegram.messenger&hl=ko

 

텔레그램 공식 앱 Telegram - Google Play 앱

순수 인스턴트 메시징 — 심플, 신속 그리고 동기화된 인스턴트 메시지를 모든 기기와 연결합니다. 4년간 활동 유저수 4억명을 돌파하였습니다. 눈부신 속도: 텔레그램은 한곳의 서버가 아닌 전�

play.google.com

아이폰

https://apps.apple.com/kr/app/telegram-messenger/id686449807

 

‎Telegram Messenger

‎순수 인스턴트 메시징 — 심플, 신속 그리고 동기화된 인스턴트 메시지를 모든 기기와 연결합니다. 2년 6개월간 활동 유저수 1억명을 돌파하였습니다. 눈부신 속도: 텔레그램은 한곳의 서버가

apps.apple.com

PC

https://www.telegram.org/

 

Telegram – a new era of messaging

Fast. Secure. Powerful.

www.telegram.org

텔레그램 봇 공식 사이트는 아래와 같다.

https://core.telegram.org/bots

 

Bots: An introduction for developers

Bots are third-party applications that run inside Telegram. Users can interact with bots by sending them messages, commands…

core.telegram.org

텔레그램 봇 생성

봇을 생성하려면 BotFather 가 대화방을 통해서 만들 수 있는데 대화방을 만드는 방법은 두 가지가 있다.

첫 번째 웹페이지에서 생성

웹페이지에서 봇을 생성하려면 https://t.me/botfather 링크를 통해 생성 가능하다.

다만 텔레그램이 설치되어 있어야 한다.

 

링크를 통해 접속하면 위 캡처이미지처럼 confirm 창이 뜨며 Telegram Desctop 열기를 통해서 BotFather 대화 창으로 넘어간다. BotFather는 일종의 봇 설정하는 곳이라 생각하면 된다. 

 

두 번째 검색을 통해 생성

텔레그램을 설치했으면 검색 창에서 'botfather'를 검색

첫 번째 BotFather를 클릭을 하여 대화창을 열자. 

 

두 가지 방식으로 모두 그대로 따라 했으면 아직 활성화가 되지 않아 하단 시작 버튼을 클릭하여 활성화하자. 

 

 

클릭하면 대화창에서 /start 명령어가 실행되어 활성화되고 기본적인 명령어에 대해서 설명해준다. 

 

봇을 만들기 위해서는 대화창에 '/newbot'을 입력한다.

 

봇의 이름을 입력해야 하는데 마지막에 bot으로 이름이 들어가야 한다.

보통 이름_bot 으로 생성한다. 

 

 

봇이 생성되었고 하단에 HTTP API token이 생성되어 token정보를 알려준다.

api통신을 하기 위해서는 해당 token이 필요하기에 잊어버리지 않도록 하자.

 

텔레그램 검색창에서 생성한 봇 이름을 검색하면 생성한 봇이 보인다.

 

드디어 봇이 생성되었다.

 

이제 간단한 테스트를 해보자

 

https://api.telegram.org/bot{http api key}/getUpdates  

위 url에 받은 키값을 넣어 호출해보자.

 

리턴 값이 아래와 같이 반환되면 정상이다.

{
   ok: true,
   result: [ ]
}

 

 

이제 채팅창에 간단히 봇을 통해 메시지를 넣어 보도록 하겠다.

메시지를 보내려면 보내려는 채팅창의 (chat_id)채팅ID를 알아야 하는데 

 

봇을 호출한 대화 창에서 메시지를 입력하고 위에서 호출한 getUpdates api를 호출해 chat_id를 얻을 수 있다.

 

대화창에서 간단하게 '안녕'을 입력하겠다.

 

입력 후 https://api.telegram.org/bot{http api key}/getUpdates을 호출하면

반환된 결과 값에 chat의 id값이 chat_id이다. 이 값을 가지고 채팅창에 봇을 통해 메시지(안녕반가워)를 보내보겠다.

https://api.telegram.org/bot{http api key}/sendmessage?chat_id={chat_id}&text=안녕반가워 

 

위와 같이 api를 호출(url을 브라우저에 입력)하면 채팅창에 메시지가 입력되는 것을 확인할 수 있다.

이제 챗봇 생성과 메시지를 보내는 방법을 알았으니 api를 연동해서 원하는 봇 서비스를 구현하면 된다.

 

이제는 실전!!

다양한 언어별 sample과 라이브러리는 아래 텔레그램 공홈에서 지원하니 자신에 맞는 개발환경에 맞춰 봇 개발을 해보자! 

https://core.telegram.org/bots/samples

 

Bot Code Examples

If you want to learn more about Telegram bots, start with our Introduction to Bots » Check out the FAQ, if you have questions.…

core.telegram.org

 

반응형