카카오 오픈빌더 가이드 링크 및 방화벽 정책

이문서는 https://marxi.co/ 에서 만들어졌습니다.
%23%23%20%uCE74%uCE74%uC624%20%uC624%uD508%uBE4C%uB354%20%uAC00%uC774%uB4DC%20%uB9C1%uD06C%20%uBC0F%20%uBC29%uD654%uBCBD%20%uC815%uCC45%0A%0A%3E%20%uC774%uBB38%uC11C%uB294%20https%3A//marxi.co/%20%uC5D0%uC11C%20%uB9CC%uB4E4%uC5B4%uC84C%uC2B5%uB2C8%uB2E4.%0A%0A*%20%uC2A4%uD0AC%20%uB4F1%uB85D%uBC95%0A%3E%20https%3A//i.kakao.com/docs/skill-build%23%25EC%258A%25A4%25ED%2582%25AC-%25EC%2588%2598%25EC%25A0%2595%0A%0A*%20%uBE14%uB85D%20+%20%uC2A4%uD0AC%20%20%28%uC548%uC368%uB3C4%20%uB428%20%uAE30%uBCF8%uC2A4%uD0AC%uB85C%20%uB4F1%uB85D%uD574%uC11C..%29%0A%3E%20https%3A//i.kakao.com/docs/skill-block%23%25EB%25B8%2594%25EB%25A1%259D%25EA%25B3%25BC-%25EC%258A%25A4%25ED%2582%25AC-%25EC%2597%25B0%25EA%25B2%25B0%25ED%2595%2598%25EA%25B8%25B0%0A%0A*%20%uC2A4%uD0AC%20API%0A%3E%20https%3A//i.kakao.com/docs/skill-response-format%23%25EC%2598%2588%25EC%25A0%259C-%25EC%25BD%2594%25EB%2593%259C-6%0A%0A*%20%uAE30%uBCF8%20%uC815%uCC45%uC774%20deny%20%uC77C%20%uACBD%uC6B0%20%uD5C8%uC6A9%uD574%uC57C%20%uD558%uB294%20%uBC29%uD654%uBCBD%20IP%20%28inbound%20%uC815%uCC45%29%0A%3E%20219.249.231.40%7E42%20%20%28%uC790%uCCB4%20%uD14C%uC2A4%uD2B8%20%uC11C%uBC84%uB85C%20%uAC80%uC99D%uD558%uC5EC%20%uD655%uC778%uD55C%20%uAC83%uC774%uB77C%20%uC5B8%uC81C%uB4E0%20%uBC14%uB014%20%uC218%20%uC788%uC2B5%uB2C8%uB2E4.%29


 폐쇄망에서 White box로 특정 IP만 허용해야했기에, 위 IP 주소를 직접 체크하였습니다.

 https://i.kakao.com/docs/ 에서 챗봇 사용 방법을 찾아보시면 됩니다.

 기존에 외부 API 형태로 플러스친구 챗봇을 제공하셧던 분이라면 스킬을 통하여 동일하게 구현이 가능하며,
저같은 경우는 편법이지만 폴백 블록에 등록된 시나리오와 스킬을 연결하여 이전 플러스친구 챗봇과 동일하게 구현하였습니다.







 프로젝트 도중 서버에 접속하지 않고도 입력 테스트를 간단하게 진행할 수 있어 텔레그램 앱을 사용하게 되었습니다.

 매번 쉘에 접속하여 테스트 명령어를 치지 않고도 간단히 메신저로 테스트 입력값을 쏠 수 있도록 하였습니다.


 텔레그램에서는 봇을 텔레그램 내부에서 실행되는 '타사 응용 프로그램'으로 정의하고 있습니다.

'타사 응용 프로그램' 에서는 https 요청을 통하여 봇을 제어할 수 있습니다. 인증은 bot 에 대한 token 값으로 진행합니다.


 


시작하기



1. http://core.telegram.org/bots 에 접속한 뒤, BotFather 링크를 클릭합니다.






2. Send Message 링크를 클릭합니다.






3. Telegram 의 BotFather 대화방에 들어오면 시작버튼을 누릅니다.



4. 아래 /newbot 명령어로 봇 생성을 하며,  봇의 이름과 봇의 유저이름을 설정해줍니다.  유저이름의 경우 뒤에 _bot 이 들어가야 합니다.




 

5. 생성되었습니다. BotFather 가 알려준 HTTP API 토큰 값을 잘 기억해두어야 합니다.





테스트



 만든 봇을 이용하여 테스트를 진행하도록 하겠습니다.

테스트는 Python 으로 아래 링크를 참조하여 테스트를 진행하였습니다.











테스트 환경 구축


1. pip install python-telegram-bot 명령어로 설치를 진행합니다.






2. git clone https://github.com/python-telegram-bot/python-telegram-bot --recursive 명령어를 통해 샘플 코드를 받습니다.






3. examples 폴더의 echobot.py 파일을 편집합니다. (토큰을 입력합니다.)







테스트 진행


1. 텔레그램에서 만든 Bot을 전역검색하여 찾은 뒤, 아래와 같이 텍스트를 입력하였습니다. 현재까지는 아무 응답이 없습니다.






2. 설치한 서버에서 examples 폴더의 echobot.py 파일을 실행시킵니다. 




3. 입력한 문구들에 대한 답장이 한꺼번에 오는 것을 확인할 수 있습니다.  그 뒤, 텍스트를 입력하면 입력한 텍스트에 대한 답장이 바로 오는 것을 확인할 수 있습니다.



4. 아래는 텍스트 입력할 때마다 출력되는 로그입니다. 

  아래 로그는 코드 내의 update 를 출력한 것으로, 이 update 에 포함되어있는 데이터를 기반으로 Rule-based 시스템을 구축할 수 있습니다.








출처 

https://core.telegram.org/bots/ 공식홈페이지

https://github.com/python-telegram-bot/python-telegram-bot/ 파이썬 예제

https://blog.psangwoo.com/coding/2016/12/08/python-telegram-bot-1.html 설명이 잘 되어 있습니다.

+ Recent posts