이번 마지막 포스트에서는 Dialogflow의 Integration을 이용하여 손쉽게 슬랙에 연동해보도록 하겠습니다. Integration에는 슬랙 뿐만 아니라, 페이스북 메신저, 라인, 트위터, 구글 어시스턴트 등 다양한 서드파티 메신저와 쉽게 연동할 수 있는 도구를 제공합니다.
슬랙은 기업 및 그룹용 글로벌 커뮤니케이션 메신저로서 많은 사람들이 사용하고 있으며, 대화형 UX 모델의 선구적인 아이디어를 제시하고 연동해왔습니다.
Dialogflow 콘솔에서 Integration 페이지로 들어가 Slack을 클릭하고, 이를 활성화 시킵니다.
테스팅을 위한 Test와 퍼블릭 배포를 위한 Launch 방식이 있는데요, 여기서, ‘TEST IN SLACK’을 클릭하면, 연동을 위한 팝업이 열리고 이에 연동하고자 하는 슬랙을 선택합니다.
그 전에 로그인을 하고 진행 해야 하기에, 슬랙 가입 및 새로운 슬랙을 생성해야 합니다. 하단의 Authorize 버튼을 클릭하면, 간단하게 봇이 연결됩니다.
이를 확인하기 위해서, 해당 슬랙 방의 하단의 Apps라는 항목을 보면, 다음과 같이 테스트를 위한 봇이 설치된 것을 볼 수 있습니다.
여기에 다음과 같이 대화를 입력하면 그에 맞는 응답값을 얻을 수 있습니다.
이 프로세스가 작동하는 로직을 다시한번 살펴 볼게요.
‘핫한 포스트’라는 대화를 입력하면, 이 메시지는 Dialogflow에 분석되어 이 대화가 ‘view_intent’이며 그에 대한 엔티티로 ‘핫한'이 있다는 정보를 가지게 되며 그 정보를 웹훅 서버에 전달. 서버에서는 인텐트와 엔티티에 따라 분기된 액션을 처리하게 되고, Steem API를 호출하게 되며 최종적으로 결과값을 리턴합니다.
현재는 테스트봇이지만, 이를 퍼블릭하게 연동하는 방식은 슬랙과 Dialogflow에서 몇가지 연동해줘야 하는 부분이 있습니다. 이를 연동하면, 해당 슬랙에서 다른 팀원들이 자유롭게 해당 봇을 부르고 사용할 수 있습니다. 이에 대한 자세한 내용은 책 ‘누구나 쉽게 배우는 챗봇 서비스' 에 잘 나와있습니다.
다른 서드파티 라이브러리도 비슷한 방식으로 연동이 가능하며, Dialogflow는 이를 쉽게 연동할 수 있도록 도와줍니다.
챗봇 만들기 참~쉽죠~?
이제까지 스티밋 보팅 챗봇 만들기를 소개해보았습니다. 지금까지 소개된 내용을 응용하여 다양한 스팀 API를 연동하고, 다른 서드파티 메신저를 지원한다면 재미있는 결과물들이 많이 나올 것 같아요. 그런 결과물이 있다면, 언제든지 소개 및 공유 부탁드립니다.
아직, 챗봇 기술은 보완해야할 것이 많고 어떤 채널에 통합을 하면 시너지가 날지도 실험단계에 있습니다. 그렇기에, 네이버,KT 등 국내 대기업도 클로바, Genie 등 Dialogflow와 비슷한 성분 분석 플랫폼을 제공하고 이를 연동하여 사용하도록 제공하고 있구요. 이 인식률과 학습 과정에 대해서는 보다 많은 데이터 셋과 머신러닝 기술이 발전함에 따라 보다 자연스러운 대화로 향상되리라 생각합니다.
지금까지의 전체 코드는 다음에 공유되어 있습니다.
https://github.com/elegant651/steemit-bot
피드백이나 잘못된 부분은 지적해주시면 적극 반영하겠습니다.
- 스티밋 보팅 챗봇 만들기 - 개요
- 스티밋 보팅 챗봇 만들기 - DialogFlow 로 학습하기
- 스티밋 보팅 챗봇 만들기 - 서버에서 Steem API 구성하기
- 스티밋 보팅 챗봇 만들기 - 서버에서 DialogFlow 연동하기
- 스티밋 보팅 챗봇 만들기 - 슬랙으로 통합하기
http://bit.ly/2tQKV9J : 누구나 쉽게 배우는 챗봇 서비스
보다 관심있는 분들은 이 책에서 자세한 내용을 확인할 수 있습니다~.
안녕하세요
https://medium.com/@stipsburg/hello-after-creating-the-contracts-and-the-accounts-all-the-tests-went-ok-except-the-buying-of-a-c583cee6de9d
여기에 남기신 댓글보고 메일드렸는데 답장이없으셔서
댓글남깁니다!
혹시 저 에러 해결하셨나요??
넵. 디버깅 해보니, inline action 코드에서 두번째 argument인 'anorak'이 contract deployer로 일치해야 작동합니다. 해당 튜토리얼에서 argument를 'market'으로 하고,
cleos set contract market ... 이와 같은 형태로 deploy 하면 됩니다.
튜토리얼에는 이런 이야기들이 생략되어 있네요.
이에 대한 자세한 이야기는 댓글로 남겨두었습니다 : https://medium.com/@elegantuniv/i-resolved-it-the-point-is-that-you-should-check-out-the-inline-transfer-code-87d8ae40e0a