본문 바로가기

SNS

텔레그램 봇으로 메시지 전송하기

전에 상대방에게 직접적으로 메시지를 전송하려고 엄청난 삽질을 하다가 아이디값을 확인할 방법을 찾지못해 좌절하고 접고 있었는데, 간만에 쉬운방법을 알게됐다. 텔레그램의 봇기능을 이용하여 메시지를 전송하는 방법이다. 작업도 매우 심플하고 기타 장치에서 스마트폰으로 메시지를 전송할 수 있는 장점이 있다. 벌써 여러가지 용도로 활용하시는 분들이 많이 계시므로 나는 차근차근 따라해보기로 했다. 나는 아이폰이므로 아이폰 기준 설명이 되겠다.


1. 봇을 만들어보자.


채팅방 상단에 보면 검색 기능이 있는데 거기에 @BotFather 넣어 검색해보면 대부 케릭터의 로봇버젼같이 생긴게 나온다. 들어가서 시작을 눌러보자.


시작버튼을 누르고 채팅창에 /start 라고 입력하면 명령어 목록이 나온다. 봇의 생성은 /newbot 입력하면 된다. 처음에는 봇 창의 타이틀로 사용한 메시지를 넣자. 이미지에서 상단 중앙에 BotFather 라는 문구가 있는 위치에 나오는 문구이다. Test Notice 같이 입력하자. 그리고 두번째 입력할 내용은 봇의 이름인데, URL로 사용되다보니 유니크한 값이여야하고 _bot 으로 끝나야한다. 예를 들면 Test_BOT과 같다.



위 오른쪽 이미지에 보면 마지막에 나오는 문구가 성공한 문구이다. 여기에 123123123:qweiasdfjlkj 비스무리한 API 토큰이 있으니 메모해둔다. 여기까지했으면 봇 생성이 완료됐다. telegram.me/****_BOT 이라고 있는 링크를 터치하면 봇과의 대화창으로 연결된다.



2. chat_id 를 확인하자


API 토큰의 값이 12345678:abcdefghijklmn 이라고 한다면 다음과 같이 URL을 만들어서 브라우저에 입력해보자.

https://api.telegram.org/bot12345678:abcdefghijklmn/getUpdates


아래와 같이 나온다면 실패다.

{"ok":false,"error_code":401,"description":"[Error]: Unauthorized"}


정상은 다음과 같다.
{"ok":true,"result":""}


그런데 내용이 없다. 봇에게 아무 메시지나 다시 보내보고 URL를 들어가보면 정상적으로 나올 것이다.

{"ok":true,"result":[{"update_id":123456,"message":{"message_id":2,"from":{"id":67890,"first_name":" .....


위와 같은 메시지가 나오는데 붉은 글씨로 된 숫자가 chat_id이다. 저 아이디와 API 토큰이 있으면 메시지를 전송할 수 있다.



3. 메시지 전송 URL 만들기


chat_id와 API 토큰을 이용하여 메시지 전송 URL을 만들 수 있다.URL은 다음과 같다.

https://api.telegram.org/bot12345678:abcdefghijklmn/sendmessage?chat_id=67890&text=


위에서 만든 URL 처럼 중간에는 API 토큰이 들어가고 뒤에는 메시지 전송 URL이 마저 붙고 파라메터로 chat_id 와 메시지가 붙는다. text에 적당항 메시지를 붙여서 브라우저에 붙이면 봇이 나에게 메시지를 보낸다. 그리고 브라우저에 보면 처리 결과를 json으로 뿌려주기 때문에 callback 처리도 가능하다.


출처 : https://nas.moe/archives/879


'SNS' 카테고리의 다른 글

JAVA 트위터 연동하기  (0) 2016.06.15
Synology에서 텔레그램 봇으로 로그 전송하기  (0) 2016.01.19
페이스북 공유 데이터 갱신  (0) 2015.06.15