Node.js로 봇 만들기 [다양한 예제와 플랫폼을 활용한 봇 개발]
- 원서명Building Bots with Node.js: Automate workflow and internal communication processes and provide customer service without apps using messaging and interactive bots (ISBN 9781786465450)
- 지은이에두아르도 프레이타스(Eduardo Freitas), 마단 빈타드(Madan Bhintade)
- 옮긴이양정열
- ISBN : 9791161751245
- 30,000원
- 2018년 03월 05일 펴냄
- 페이퍼백 | 320쪽 | 188*235mm
- 시리즈 : acorn+PACKT
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
Node.js를 사용해 슬랙과 스카이프, 트위터, 페이스북 등 다양한 메신저 플랫폼에서 동작하는 봇 제작 과정을 자세히 다룬다. 적용 가능한 아이디어로 기능을 확장하고 개선하는 과정도 다룬다. 마이크로소프트 애저, 아마존 S3, DocumentDB, 그 밖에 여러 API와 도구를 사용하고 설명한다. 다양한 예제를 통해 플랫폼과 도구들을 경험하고 이해할 수 있으며, 더 나아가 봇을 통해 아이디어를 구체화하는 방법을 찾을 수 있다.
이 책에서 다루는 내용
█ Node.js용 트윌리오 API 활용해 기초적인 자연어 처리와 SMS 인터랙션
█ 스카이프 웹 SDK와 Node.j를 활용해 SQL서버와 스카이프에서 동작하는 봇 제작
█ 트위터와 에어 프랑스 KLM API를 활용해 자동화된 항공편 정보를 제공하는 봇 제작
█ 페이스북 메신저API를 활용해 팀 회의를 예약하는 봇 제작
█ Amazon S3, MongoDB, BotKit과 인터랙션하는 Node.js 문서 관리 봇 제작
█ Force.com API와 킥(Kik)을 통합해 세일즈포스 CRM 봇 제작
이 책의 대상 독자
Node.js를 어느 정도 알고, 현존하는 다양한 대화 플랫폼을 사용해 봇을 만드는 방법을 알고 싶은 사람 누구나 독자가 될 수 있다. 초급부터 고급까지 모든 수준의 개발자가 이해하기 쉽게 쓴 책이다. Node.js에 대한 실질적인 지식과 경험은 어느 정도 필요하다.
이 책의 구성
1장, ‘봇의 부상’에서는 최근 증가하는 봇의 중요성을 소개하고, 트윌리오(Twilio) 메시지 플랫폼을 활용해 SMS봇 앱을 만드는 방법을 살펴본다.
2장, ‘스카이프 봇’에서는 마이크로소프트 봇 프레임워크를 사용해 스카이프 봇을 만드는 방법을 설명한다.
3장, ‘트위터 항공편 운항정보 봇’에서는 에어프랑스 KLM API와 인터랙션하는 트위터 봇을 통해 항공편 정보를 조회하는 방법을 살펴본다.
4장, ‘슬랙 명언 봇’에서는 사용자에게 영감을 주는 명언을 제공하는 슬랙 봇 제작 방법에 대해 설명한다.
5장, ‘텔레그램 봇’에서는 텔레그램의 API를 사용해 감성적인 메시지를 제공하는 봇 개발 방법을 확인한다.
6장, ‘슬랙 문서 관리 봇과 봇킷’에서는 슬랙으로 협업하는 팀 구성원에게 문서를 제공하는 봇킷과 슬랙 API 활용 방법을 습득한다.
7장, ‘페이스북 메신저 봇’에서는 마이크로소프트 애저 플랫폼과 서비스를 통해 팀 회의 일정을 잡거나 휴가 중인 사람을 확인하는 데 사용할 수 있는 페이스북 메신저 봇을 설정하는 방법을 살펴본다.
8장, ‘IRC 버그 트래킹 봇’에서는 IRC 플랫폼과 도큐먼트DB를 사용해 버그를 추적하는 봇을 만드는 방법을 확인한다.
9장, ‘킥 봇과 세일즈포스 CRM’에서는 세일즈포스 CRM 봇을 만들기 위해 Force.com API와 킥을 사용하는 방법을 살펴본다.
목차
목차
- 1장. 봇의 부상
- 왜 봇이 화두이고 관심을 가져야 하는가
- 왜 SMS는 여전히 화두인가
- 트윌리오 SMS 플랫폼
- Node.js용 트윌리오 설치하기
- 트윌리오 계정 설정하기
- 베어본 트윌리오 Node.js 템플릿
- 에저에서 코어 봇의 기능
- SMS 수신 봇의 로직
- 요약
- 2장. 스카이프 봇
- 스카이프 봇의 동작 방식
- 스카이프 봇 설정하기
- 스카이프 봇 앱 등록하기
- 인사팀 스카이프 봇 대리자
- 애저 테이블 저장소
- 인사팀 봇 가이드라인
- 애저 테이블 사용하기
- 인사팀 봇의 로직
- 요약
- 스카이프 봇의 동작 방식
- 3장. 트위터 항공편 운항정보 봇
- 트위터 봇의 동작 방식
- 트위터 앱 만들기
- 트위터에 게시하기
- 트윗 수신하기
- 트윗에 답글 달기
- 항공편 API
- 항공편 상태 API
- 경로 조회 API
- REST 클라이언트 라이브러리 추가하기
- 더 스마트한 봇 만들기
- 요약
- 4장. 슬랙 명언 봇
- 시작하기
- 슬랙에 봇 등록하기
- Node.js 앱 설정하기
- 슬랙 봇 라이브러리
- They Said So API
- 요약
- 5장. 텔레그램 봇
- 텔레그램 봇의 동작 방식
- 텔레그램 계정 설정하기
- 텔레그램 봇 @BotFather로 봇 계정 설정하기
- 감성 분석이란?
- 텔레그램 봇 만들기
- 기본 텔레그램 봇과 대화
- 감성 분석 봇 만들기
- 요약
- 텔레그램 봇의 동작 방식
- 6장. 슬랙 문서 관리 봇과 봇킷
- 팀을 위한 슬랙 설정하기
- 슬랙 봇 설정하기
- 봇킷과 슬랙
- 봇킷과 Node.js를 활용해 슬랫 봇 만들기
- DocMan 봇의 기능 개선하기
- 몽고DB란?
- DocMan 봇을 위한 몽고DB 데이터베이스
- MongoJS란?
- DocMan 봇과 몽고DB 연동
- 아마존 S3 저장소
- 퍼블릭 문서 생성
- 몽고DB 데이터 갱신
- 모두를 하나로 합치기
- 코드 이해하기
- 요약
- 팀을 위한 슬랙 설정하기
- 7장. 페이스북 메신저 봇
- 페이스북 메신저 봇 설정하기
- 봇을 위한 페이스북 페이지
- 페이스북 앱 만들기
- 봇 서버 설정하기
- 애저에 봇 서버용 로컬 깃 저장소 설정하기
- 페이스북 검수용 봇 프로그램 수정하기
- 페이스북 검수와 웹후크 설정하기
- 에코 메시지 봇 배포하기
- 애저에서 동작하는 봇의 문제 해결하기
- Who’s Off 봇 개선하기
- Who’s Off 봇에서 대화형 경험 제공하기
- 도큐먼트DB란?
- Who's Off 봇을 위한 도큐먼트DB 설정하기
- 도큐먼트DB와 Moment.js, Node.js 연동하기
- Who's Off 봇 실행하기
- 요약
- 페이스북 메신저 봇 설정하기
- 8장. IRC 버그 트래킹 봇
- IRC 클라이언트와 서버
- IRC 웹 기반 클라이언트
- IRC 봇
- IRC와 Node.js를 활용한 IRC 봇 만들기
- 봇의 코드 이해하기
- BugTrackerIRCBot 기능 개선하기
- 도큐먼트DB란?
- BugTrackerIRCBot을 위한 도큐먼트DB 설정하기
- 도큐먼트DB와 Node.js 연동하기
- 모두를 하나로 합치기
- 코드 이해하기
- 개선된 BugTrackerIRCBot 실행하기
- 요약
- IRC 클라이언트와 서버
- 9장. 킥 봇과 세일즈포스 CRM
- 세일즈포스는 무엇인가?
- Force.com은 무엇인가?
- 킥 모바일 앱
- 킥 봇
- 킥 봇 예제
- 킥 봇 만들기
- Kik dev 플랫폼 사용하기
- 폰에서 킥 앱 사용하기
- 봇 서버 설정하기
- 킥 봇 설정
- 봇 서버와 킥 플랫폼 연동하기
- 킥 봇 코드 이해하기
- 킥 봇 실행하기
- 킥 봇 개선하기
- 세일즈포스와 봇
- 모두를 하나로 합치기
- 코드 이해하기
- 개선된 킥 세일즈포스 봇 실행하기
- 킥 봇 만들기
- 캠페인 관리 sforcebot 봇