2017-09-21 7 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(); 
}); 

EDIT:

'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

問題はありません。うれしいです! –

関連する問題