handleMessage
是一個函數,它用于處理從Dialogflow收到的用戶消息。使用handleMessage
可以將用戶的消息傳遞給Dialogflow,并獲取Dialogflow的響應。
下面是一個使用handleMessage
的示例:
安裝dialogflow包:npm install dialogflow
導入dialogflow庫和其他必要的庫:
const dialogflow = require('dialogflow');
const { struct } = require('pb-util');
async function handleMessage(message) {
const sessionId = '<your-session-id>'; // 換成你的會話ID
const projectId = '<your-project-id>'; // 換成你的項目ID
const sessionClient = new dialogflow.SessionsClient();
const sessionPath = sessionClient.projectAgentSessionPath(projectId, sessionId);
const request = {
session: sessionPath,
queryInput: {
text: {
text: message,
languageCode: 'en-US', // 換成你的語言代碼
},
},
};
const responses = await sessionClient.detectIntent(request);
const result = responses[0].queryResult;
// 處理Dialogflow的響應
if (result.intent) {
console.log(`Intent: ${result.intent.displayName}`);
} else {
console.log('No intent matched.');
}
if (result.fulfillmentMessages) {
const messages = struct.decode(result.fulfillmentMessages[0].payload);
console.log(`Response: ${messages.value}`);
}
}
handleMessage
函數來處理用戶的消息:handleMessage('Hello'); // 傳遞用戶的消息給Dialogflow
請注意,在使用handleMessage
之前,你需要替換sessionId
和projectId
的占位符為你自己的會話ID和項目ID。另外,你還需要提供一個有效的語言代碼,以適應你的Dialogflow代理的語言。