Совершенно новый для node.js и Dialogflow, но я создаю базовый c чат-бот, который я не хочу использовать в GUI через node.js + html + css. Я использовал установочный код Google, чтобы начать тестирование диалогового чат-бота, но я хочу передать один из результатов в файл HTML для замены текста. В конце концов я могу превратить это в пузырь сообщения чата.
Однако, когда я вызываю мой метод, который изменяет значение в файле html, он, похоже, не работает. Я знаю, что это связано с асинхронной функцией, но я все еще не знаю, как ее исправить.
Мой код:
function test(text){
document.getElementById("p1").innerHTML = text;
}
async function runSample(projectId = '/'){
// A unique identifier for the given session
const sessionId = uuid.v4();
// Create a new session
const sessionClient = new dialogflow.SessionsClient({ credentials: serviceAccount });
const sessionPath = sessionClient.sessionPath(projectId, sessionId);
// The text query request.
var text = "how does the training work?";
const request = {
session: sessionPath,
queryInput: {
text: {
// The query to send to the dialogflow agent
text: text,
// The language used by the client (en-US)
languageCode: 'en',
},
},
};
// Send request and log result
const responses = await sessionClient.detectIntent(request);
console.log('Detected intent');
const result = responses[0].queryResult;
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
if (result.intent) {
console.log(` Intent: ${result.intent.displayName}`);
} else {
console.log(` No intent matched.`);
}
test(result.fulfillmentText);
}