4
我有一個簡單的機器人,它根據用戶提示讀取新聞文章。整個流程在本地使用模擬器正常工作,但在部署到服務器後,當bot遇到builder.Prompts.text塊時失敗。下面是我的代碼,你會看到一個「詢問文章計數」提示符,它是停止流動的地方。builder.Prompts.text被遠程託管後無法工作
- 博特節目相互作用
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());
博特還示出了針對每個信道0的問題時,接受
我檢查了所有的日誌,似乎無法找到任何線索,因爲它的失敗相當默默。
嘿謝謝你的答案!截至目前,我甚至沒有得到提示回到任何平臺,因爲我們沒有訪問Botframework日誌,我不能看到丟棄發生的地方。所以當我輸入「新聞」時會觸發意圖,我在我們的服務器日誌中看到兩個'console.logs',但沒有任何響應返回到我正在使用的任何客戶端。 – mcclaskiem
用於測試目的的'console.logs'?我想知道他們是否可能會干擾(儘管我無法想象他們爲什麼會這樣做);你說機器人在本地使用模擬器工作,但不能在通過WebChat和Slack部署和訪問時使用。如果您使用'console.logs'來爲開發人員帶來好處,那麼我會在它們之後添加一些良性的東西,比如'session.send'並查找更改。如果'session.sends'發生相同的事件,我會通過將這些日誌更改爲'session.send'來查找更改。 –
剛試過這個,session.send也沒有返回任何東西給客戶端,也用session.sends替換了console.logs。 :(不知道發生了什麼 – mcclaskiem