builder.Prompts.text远程托pipe后无法正常工作

我有一个简单的机器人,根据用户提示获取新闻文章。 整个stream程在本地使用模拟器正常工作,但是在部署到服务器之后,当bot到达构build器时,失败.Prompts.text块。 下面是我的代码,你会看到一个“询问文章计数”提示,这是停止stream动的地方。

  • 在BOT框架页面上进行testing时,Bot表示被接受
  • Bot正在通过WebChat和Slack接收消息
  • 机器人在交互之后也显示每个频道的0个问题

    var bot = new builder.UniversalBot(connector); var intents = new builder.IntentDialog(); bot.dialog('/', intents); var HHCC = require('./hhcc.js'); intents.matches(/^news/i, [ function(session) { console.log("Intent Given!"); session.beginDialog('/news'); }, function(session, results) { session.send('Enjoy reading!'); } ]); bot.dialog('/news', [ function(session) { console.log("Asking article count"); builder.Prompts.text(session, 'How many articles would you like to see?'); }, function(session, results) { session.sendTyping(); session.conversationData.count = results.response; HHCC.getNews(session.conversationData.count, session, function(newsArticles) { newsArticles.forEach(function(newsCard) { session.send(newsCard); }); session.conversationData.news = newsArticles; console.log(newsArticles); session.endDialog(); }); } ]); server.post('/api/messages', connector.listen()); 

我检查了所有的日志,似乎无法find任何线索,因为它的失败相当默默。

您是否尝试使用builder.Prompts.number()而不是.text()? 它只接受数字和(我猜你正在这样做),你将不必parsingresults.response到一个数字。 没有提供的错误消息或日志,很难提供帮助。

有一件事你可能要注意(如果使用builder.Prompts.number)是如果用户提供一个小数,因为提示符将接受这个input,要求机器人四舍五入到最接近的整数。

另外,如果您已将results.response保存到会话对象中,则不需要将session.conversationData.count作为另一个parameter passing给HHCC.getNews()。 你可以在你的函数中从session中访问它。