2017-09-21 10 views
1

내 봇이 대화를 시작하지 않는 이유를 아는 사람이 있습니까? 나는 봇의 세계에 새로운 인물이며 많은 것을 읽었지만 이것을 고칠 수는 없다.봇 대화창이 시작되지 않음

var restify = require('restify'); 
var builder = require('botbuilder'); 

// Setup Restify Server 
var server = restify.createServer(); 
server.listen(process.env.port || process.env.PORT || 3978, function() { 
    console.log('%s listening to %s', server.name, server.url); 
}); 

// Create chat connector for communicating with the Bot Framework Service 
var connector = new builder.ChatConnector({ 
    appId: process.env.MICROSOFT_APP_ID, 
    appPassword: process.env.MICROSOFT_APP_PASSWORD 
}); 


var luisAppUrl = process.env.LUIS_APP_URL || 'https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/.......'; 
var bot = new builder.UniversalBot(connector); 

var bot = new builder.UniversalBot(connector, function(session, args, next) { 
    session.send('How can i help you ?') 
    session.endDialog(); 
    next(); 
}); 

bot.recognizer(new builder.LuisRecognizer(luisAppUrl)); 


bot.dialog('Location', [ 
    function (session, args, next) { 
    var intent = args.intent; 
    var locations = builder.EntityRecognizer.findEntity(intent.entities, 'Location'); 
    var location = session.dialogData.location = { 
     title: title 
    }; 
    // session.send() 
    if (!locations){ 
     builder.Prompts.text(session, 'From which settlement do you want to know the location? ') 
    } else { 
     next(); 
    } 

    }, 
    function(session, results) { 
    var location = session.dialogData.location; 
    if(results.response){ 
     note.text = results.response; 
     // session.send('Our company is located in Antwerp') 
    } 
    } 
]).cancelAction({ 
    matches: /^(cancel|nevermind)/i, 
    confirmPrompt: "Are you sure?" 
}); 

그래서 내 봇은 계속 충돌하고 bot.dialog를 시작하지 않습니까? 너희들이 틀린 것을 볼 수 있니? 당신은 두 번 UniversalBot 클래스를 인스턴스화하고 있기 때문에

+0

무엇이 오류가 발생합니까? 오류가 발생 했습니까? 그렇다면 무엇입니까? 에뮬레이터 또는 다른 채널에서 테스트 중이십니까? 어떤 봇 빌더 SDK를 사용하고 있습니까? – JasonSowers

답변

1

봇은 충돌한다 :

var luisAppUrl = process.env.LUIS_APP_URL // etc 
var bot = new builder.UniversalBot(connector); 

var bot = new builder.UniversalBot(connector, function(session, args, next) { 
    session.send('How can i help you ?') 
    session.endDialog(); 
    next(); 
}); 

제거보십시오 bot 그래서 코드가 그냥 첫째 :

var luisAppUrl = process.env.LUIS_APP_URL // etc 

var bot = new builder.UniversalBot(connector, function(session, args, next) { 
    session.send('How can i help you ?') 
    session.endDialog(); 
    next(); 
}); 

편집 :

'Location' 대화 상자를 열려면을 추가해야합니다. 0 ~ dialog.

bot.dialog('Location', [ 
    function (session, args, next) { 
    // ... 
    }, 
    function(session, results) { 
    // ... 
    } 
]).triggerAction({ 
    matches: 'Location' // What your intent from LUIS is called. 
}).cancelAction({ 
    matches: /^(cancel|nevermind)/i, 
    confirmPrompt: "Are you sure?" 
}); 
+0

좋아, 그랬어! 도와 주셔서 감사합니다. – KHaemels

+0

문제 없으니 도움이 되니 기쁩니다! –