티스토리 뷰

공장 (factory)/- Programming..

[node.js] hubot 설치에서 실행까지.

공부하는 나부랭이, 무중력고기 2014.08.12 20:30

   (윈도우 기준으로 설명한다)


   node.js를 설치했다면 기본적으로 npm이 깔려있다.


   npm을 이용해서 hubot을 설치한다.


npm install -g hubot


   -g는 global의 약자로, 전역으로 설치한다는 뜻이다.

   일반적으로 node.js가 설치된 C:\Program Files\nodejs 안의 node_modules 폴더에 설치되는 것이 아니라,

   C:\Users\사용자이름\AppData\Roaming\npm\node_modules에 설치된다.

   전역으로 설치하면 굳이 설치된 폴더로 들어가서 실행할 필요 없이, 어디서든 그냥 바로 실행할 수 있다. express를 전역으로 설치했다면 cmd 창에서 경로 상관없이 바로 "express 뭐시기" 이런 식으로 실행 가능.




npm install -g coffee-script

   hubot을 설치했다면, 의존 모듈인 coffe-script를 설치한다.


   자, 이제 준비는 마쳤다.


   봇 프로젝트를 생성해보자.




hubot --create smartBot

   일단 프로젝트를 설치할 폴더로 경로를 맞춰주고(나는 D드라이브에 nodejs폴더에 설치했다), 위와 같이 명령어를 입력한다.


   여기서 "smartBot" 부분은 그냥 내가 지어준 이름이다. 아무렇게나 쓰면 됨.


   위와 같이 입력하면 해당 위치에 smartBot 폴더가 생성되고 거기에 프로젝트가 설치됨을 확인할 수 있다.


   (참고로 hubot -h를 입력하면 사용할 수 있는 명령어들을 볼 수 있다)





   그런 다음, 프로젝트가 설치된 폴더로 가서 npm install을 해준다. 이걸 하는 이유는 프로젝트가 의존하고 있는 모듈을 프로젝트가 설치된 폴더 안에 설치해주기 위해서다.


   모든 게 끝났다. 설치된 프로젝트를 이제 사용만 하면 된다.





   hubot을 입력하면 hubot이 호출된다.


   hubot help를 입력하면 각종 명령어들을 확인할 수 있다.





   간단하게 hubot ping, hubot time, hubot map me daejeon을 입력해보면 봇이 저렇게 답해준다.


   그럼, 저런 응답은 도대체 어디서 해주는 걸까.


   프로젝트가 설치된 폴더 안에 node_modules 폴더를 보면 hubot-scripts가 있다. 요청에 대한 응답은 다 여기서 해주는 거다.


   hubot은 hubot-scripts > src > scripts 폴더 안에 있는 coffee 파일들을 불러와서 사용한다.


   어떤 coffe 파일을 사용할지는 프로젝트가 설치된 폴더 안에 hubot-scripts.json 파일을 열어보면 확인할 수 있다.


   기본적으로 로딩하는 coffe 파일들은 "프로젝트 설치 폴더 > scripts"에 있는데, 여기에 있는 coffee 파일들은 hubot-scripts.json에 등록되어 있지 않아도 로딩된다.


["redis-brain.coffee", "shipit.coffee"]


   hubot-scripts.json을 열어보면 요렇게 돼있다. 더 많은 기능을 사용하고 싶다면 여기에 사용하고 싶은 coffe 파일들을 추가 등록해주면 된다.








   모듈 설치가 겁나게 안되고(이건 내 잘못 아님. node.js 이상함.. 설치가 됐다 안됐다 한다. 제멋대로.) 뭐 어떻게 하는지 너무 생소해서 여기까지 한 3시간 걸렸다..ㅜ,ㅜ


   까먹기 전에 일단 적어놓는다.



   이 hubot랑 마이피플 API를 이용해서 마이피플에 내가 만든 봇을 쓸 수 있다는데.. 조금씩 해봐야겠다.




   참고한 사이트는 다음과 같다.

https://hubot.github.com/

http://nodeqa.com/nodejs_ref/92

https://github.com/github/hubot/tree/master/docs



   여긴 마이피플 API 관련....

http://dna.daum.net/apis/mypeople

http://blog.geekple.com/2013/06/09/mypeople-nodejs-client-library/

https://github.com/daumdna/apis/tree/master/Samples/8.Mypeople/BotAPI/Node.js



댓글
댓글쓰기 폼
Total
1,398,844
Today
0
Yesterday
901
«   2019/10   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
글 보관함