「Botkit + 잡담 대화 API」를 사용해 Slack상에서 Bot과 대화해 본다!

Botkit



Slack 용 Bot을 쉽게 만드는 프레임 워크
htps : // 기주 b. 코 m / 호 w ぢ / t t

잡담 대화 API



docomo가 공개하고 있는, 사용자가 입력한 텍스트를 받아들이고, 그 입력에 대해서 자연스러운 대화가 되는 잡담을 제공한다
htps : // v. smt. 아무도. 네. jp/? p = cs. 아피. Page & Api _ Name = Aa Gue & p_ Name = Api_ 토끼 _ s Senao

슬랙 봇 추가



아래 URL로 이동하여 Bot 만들기





※API token 이외는 필요한 부분을 변경한다

docomo Developer support 계정 만들기



아래 URL에서 계정 만들기

  • 계정 취득 후, 마이 페이지로부터 新規API利用申請 를 한다.
  • API機能選択 에서 雑談対話
  • 신청 アプリケーション情報 에서 API key

    노드 환경 구축



    node 환경을 구축합니다.
    ※ 이미 node가 인스톨 되고 있는 경우는, 날려 주세요.
    yum install epel-release
    yum install nodejs npm --enablerepo=epel
    

    Botkit 설치


    git clone https://github.com/howdyai/botkit.git
    cd botkit
    npm install
    

    Botkit 샘플 작동


    token=[Slack Bot用のAPI Token] node slack_bot.js
    
  • 적절한 채널에 만든 Bot을 초대합니다
  • @作成したbot名 hello
  • Hello. 라고 돌려주면 성공

  • 잡담 대화 API가 포함된 js 파일 만들기


    if (!process.env.token) {
        console.log('Error: Specify token in environment');
        process.exit(1);
    }
    
    var Botkit = require('./lib/Botkit.js');
    var request = require('request');
    
    var controller = Botkit.slackbot({
        debug: false
    });
    
    var bot = controller.spawn({
        token: process.env.token
    }).startRTM();
    
    
    var context = '';
    var mode = 'dialog';
    var place = '福岡';
    
    controller.hears('', 'direct_message,direct_mention,mention', function(bot, message) {
    
        var options = {
            url: 'https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY={docomo雑談対話API keyを指定する}',
            json: {
                utt: message.text,
                place: place,
    
                // 以下2行はしりとり以外の会話はコメントアウトいいかも
                // 会話を継続しているかの情報
                context: context,
                mode: mode
            }
        }
    
        //リクエスト送信
        request.post(options, function (error, response, body) {
            context = body.context;
            mode = body.mode;
    
            bot.reply(message, body.utt);
        })
    
    });
    

    실행하다


    token=[Slack Bot用のAPI Token] node docomo.js
    

    이하, 두 가지 중 하나로 대화할 수 있습니다.
  • 적절하게 @作成したbot名 適当な会話 에서 대화하기
  • ``@Bot Name 'shoot ''을 실행하면 대화를 할 수 있습니다 (교환하는 동안 @ 봇 이름 필요)
  • 좋은 웹페이지 즐겨찾기