builder.Prompts.text не работает после удаленного размещения
У меня есть простой бот, который выбирает новостные статьи на основе приглашения пользователя. Весь поток отлично работает локально, используя эмулятор, но после развертывания на сервере бот перестает работать, когда попадает в блок builder.Prompts.text. Ниже приведен мой код, и вы увидите подсказку "Количество запрашиваемых статей", в которой он останавливается.
- Бот-шоу, принятые при тестировании на странице BOT Framework
- Бот получает сообщения через 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());
Я проверил все журналы и не могу найти никаких подсказок, так как он довольно тихо провалился.
1 ответ
Вы пытались использовать builder.Prompts.number() вместо.text()? Он принимает только цифры и (я полагаю, вы делаете это), вам не нужно будет анализировать результаты. Ответ на число. Без предоставленных сообщений об ошибках или журналов трудно помочь.
Одна вещь, на которую вам, возможно, придется обратить внимание (если вы используете builder.Prompts.number), если пользователь предоставит десятичную дробь, поскольку приглашение примет этот ввод, требуя, чтобы бот округлился до ближайшего целого числа.
Кроме того, если вы сохранили результаты results.response в объекте сеанса, вам не нужно будет передавать session.conversationData.count в качестве другого параметра в HHCC.getNews(). Вместо этого вы можете получить доступ к нему из сеанса в вашей функции.