【Node.js】express와 botkit을 사용하여 자신의 URL을 두드리면 Bot가 Slack에 중얼거리는 샘플 【SlackBot】

7399 단어 슬랙botNode.js

소개



대학의 연구실의 과제로 Slack Bot을 이용한 시스템을 개발하게 되어, WebAPI의 작성을 했습니다
이번 샘플 프로그램
htps : // 기주 b. 코 m / 쿠로와시 / S CK 보트 t_ 우와 바피

Express란?



웹 애플리케이션을 쉽게 만드는 모듈

BotKit



Slack에서 Bot을 쉽게 만드는 모듈

절차



Express를 사용하여 웹 애플리케이션 구축



먼저 앱을 넣어 두는 디렉토리 만들기
$ mkdir hoge
$ cd hoge
$ npm init

express를 사용할 준비를 한다
$ npm install --save express
$ npm install --save express-generator

express를 이용하여 웹 애플리케이션 구축
$ express -e プロジェクト名
$ cd プロジェクト名
$ npm install

성공했는지 확인
$ npm start

다음과 같이 나오면 성공
> プロジェクト名@0.0.0 start ディレクトリ名
> node ./bin/www

BotKit을 사용하여 Slack Bot 만들기



프로젝트 이름의 디렉토리로 이동 (디렉토리 이름/프로젝트 이름)
npm install --save botkit

아래 URL로 이동하여 Bot 만들기
htps : // s ck. 코 m/아 ps/마나게/아 0F7YS25R보 ts

Add Configuration을 누르십시오.


적당한 이름을 넣어 "Add bot integration"을 누르십시오


토큰을 적어 둡니다.


폴더 이름/프로젝트 이름/routes/index.js
BotKit을 사용할 수 있는 코드 작성

routes/index.js
var express = require('express');
var router = express.Router();
/**
 * 以下のコードを追加する
 */
var Botkit = require('botkit');
var controller = Botkit.slackbot();
var bot = controller.spawn({
  token: "メモしておいたトークンを書く"
}).startRTM(function(err, bot, payload){
  if (err) {
    throw new Error('Could not connect to Slack');
  }
});

폴더 이름/프로젝트 이름/routes/index.js
봇이 중얼거리도록 글쓰기

routes/index.js
/* GET home page. */
router.get('/', function(req, res, next) {
  bot.say({
        channel: 'general', //つぶやきたいチャンネル
        text: 'WebAPI完成', //つぶやきたい内容
        username: 'hoge', //つぶやくBot名
        icon_url: ''
  });
  res.render('index', { title: 'Express' });
});

잘 작동하는지 확인



서버 시작
$ cd 自分で作成したディレクトリ名
$ cd プロジェクト名
$ npm start

아래와 같이 표시되면 성공
> プロジェクト名@0.0.0 start 今いるディレクトリ
> node ./bin/www

info: ** No persistent storage method specified! Data may be lost when process shuts down.
info: ** Setting up custom handlers for processing Slack messages
info: ** API CALL: https://slack.com/api/rtm.start
notice: ** BOT ID: hoge ...attempting to connect to RTM!
notice: RTM websocket opened

브라우저를 열고 다음 URL을 두드리기
http://localhost:3000/

다음과 같이
general 채널에서 Bot이 중얼거리면 성공


이번 시스템의 구조



다음과 같은 흐름이므로 라우팅을 설정하여 '/hello'나 '/bye'등에 액세스가 있었을 때
다른 내용을 중얼거리는 Bot 등을 만들 수 있다
※routes 디렉토리 이하에 파일을 파일을 작성할 필요가 있습니다
users라는 라우팅이 기존에 이루어지고 있기 때문에 그것을 참조하는 것이 좋습니다.



참고 사이트



양산형 엔지니어의 우울 | botkit을 사용하여 정기적으로 중얼거린 slackbot 만들기

좋은 웹페이지 즐겨찾기