iT邦幫忙

2

【Node.js】建立Bot機器人

Mickey 2017-02-16 10:55:3129127 瀏覽

剛接觸 NodeJS,紀錄一下

//============匯入Modules============
var restify = require('restify');
var builder = require('botbuilder');

//============讀取config============
var fs = require('fs');
var config = fs.readFileSync(__dirname + '/config.json','utf8'); //__dirname -->localpath

//============建立Server============
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978);

//============建立Bot============
var connector = new builder.ChatConnector({
  appId:config.appId,            //bot framework appId
  appPassword:config.appPassword //bot framework appPassword
});

var bot = new builder.UniversalBot(connector);

server.post('/api/messages', connector.listen()); //----->這個要記住

//============建立Bot對話============
bot.dialog('/',
  [function(session)
  {
      session.send("Hi,I am bot ~");
      builder.Prompts.text(session,'What\'s your name ?');
  },
  function(session,result)
  {
    session.send('Nice to meet you ,'+ result.response);
  }]
);
  1. 先到Bot Framework取得bot帳號(appId)和密碼(appPassword),並且建立一個Bot
  2. 在console下輸入 npm init,建立package.json(記得要save)
  3. console 匯入 npm install restify --save,npm install botbuilder --save
  4. 建立app.js
  5. 匯入連線restify 和機器人botbuilder
  6. 建立Server端,需要process.env.port、process.env.PORT、3978,之後佈版才能隨機取得IP
  7. 建立和機器人連線的connector和機器人bot 物件,之後記得要post('/api/messages',connector.lisren())
  8. 機器人初始對話要從'/'開始,session.send() method是無回應,builder.Prompts.text()是會等待回應,記得要有session,binding用戶,之後用戶回應用result.response接收

以上參照Bot Builder Getting Started


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
麗麗
iT邦研究生 4 級 ‧ 2017-02-16 13:57:54

一直很想嘗試製作機器人>W< 謝謝你的分享~
改天我也來自己做測試!!!OUO

我要留言

立即登入留言