azure的node机器人示例代码

本文档提供了一步一步的指南,演示如何使用Node.js在Azure上创建和部署一个简单的机器人服务。通过这个过程,你将了解如何设置开发者环境,创建机器人项目,并将其发布到Azure。
摘要由CSDN通过智能技术生成
bot.dialog('AskForCourse',[
    function(session,results){
        console.log(session.message.text);
        // var str=getEntity(session.message.text);
        var entitiesArr;
        for(var i in results){
            if(results[i].entities){
                entitiesArr=results[i].entities;
            }
        }
        var str=entitiesArr[0].entity;
       session.send("你最近一周有一个英国文学的十四行诗鉴赏截止日期是今天6:00pm,还有一个微积分论文,截止日期是明天6:00pm");
       for(var j=0;j<entitiesArr.length;j++){
           var str=entitiesArr[j].entity;
           session.send("关键字:\'%s'\.",str);
       }
       builder.Prompts.confirm(session,"您是否需要预约该课程并添加到您的课表呢?",{
           listStyle:builder.ListStyle.button,
           maxRetries:3 //最大的重试次数
      });
    },
    function(session,results) {
        if(!results.response){
            session.send("看来我还不够聪明,没能正确理解您的意思,请尝试输入更匹配的词语");
        }else{
            
            //这个地方要请求我们的服务器将该课程添加到该用户的课程表里
            //do something...
           session.send("已成功预约该课程并加入到您的课表。");  
           builder.Prompts.confirm(session,"请问您是否需要设置开课提醒呢?",{
               listStyle:builder.ListStyle.button,
               maxRetries:3 //最大的重试次数
          });
        }
    },
    
    function(session,results) {
        if(!results.response){
            session.send("看来我还不够聪明,没能正确理解您的意思,请尝试输入更匹配的词语");
        }else{
           builder.Prompts.number(session, '请输入提前提醒的分钟值。');
        }
    },
    function(session,results) {
        session.send("好的,电话闹钟已开启,每周五下午1:45PM我将会发送信息提醒您进入Klassroom 2019 参加复旦大学的哲学课程");
        session.endDialog();
    }
]).triggerAction({
    matches:'AskForCourse'
}).cancelAction('cancelGetThumbnail',"已取消!",{
    matches:/^(取消|算了)/i,
    confirmPrompt:"你确定?"
}).reloadAction('startOver',"好,重新开始吧!",{
    matches:/重来/gi,
    confirmPrompt:"你确定?"
});



var request = require('request');
// var XMLHttpRequest=require('XMLHttpRequest');
function getEntity(message){
    if (XMLHttpRequest) {
            var xhr = new XMLHttpRequest();
    } else { //IE6及其以下版本浏览器
            var xhr = new ActiveXObject('Microsoft.XMLHTTP');
    }
    xhr.open('get','https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/e989f939-55ba-4c6b-a98b-cbc3b5d382ce?subscription-key=efab48cf93ca48d299af8c48453d8bea&spellCheck=true&bing-spell-check-subscription-key={YOUR_BING_KEY_HERE}&timezoneOffset=-360&q='+message);
    xhr.send();
    xhr.onreadystatechange = function () {
       if (xhr.readyState==4 &&xhr.status==200) {
            return xhr.responseText;
        }
    }
    var res="";
    bot.use({
        receive: function (event, next) {
            var url='https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/e989f939-55ba-4c6b-a98b-cbc3b5d382ce?subscription-key=efab48cf93ca48d299af8c48453d8bea&spellCheck=true&bing-spell-check-subscription-key={YOUR_BING_KEY_HERE}&timezoneOffset=-360&q='+message;
            if (event.text && !event.textLocale) {
                var options = {
                    method: 'POST',
                    url: url,
                    json: true
                };
                request(options, function (error, response) {
                    res=response;
                });
            }
        }
    });
    return res;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值