Вы не можете использовать свойства объекта для параметров функции.Сначала объявите переменные «query» и «id», а затем вы можете использовать их в функции, потому что они находятся в одной области видимости.Также вам не хватает ключевого слова функции.
router.post('/dialogflow', function(req, res) {
const projectId = "xxxxxxxxx";
const LANGUAGE_CODE = 'en-US';
let credentials = {
private_key: xxxxxxxxx,
client_email: "xxxxxxx",
}
let sessionClient = new dialogflow.SessionsClient(credentials);
let query = req.body.query;
let id = req.body.id;
async function sendTextMessageToDialogFlow() {
const sessionPath = this.sessionClient.sessionPath(projectId, id);
const request = {
session: sessionPath,
queryInput: {
text: {
text: query,
languageCode: LANGUAGE_CODE
}
}
}
try {
let responses = await this.sessionClient.detectIntent(request)
console.log('DialogFlow.sendTextMessageToDialogFlow: Detected intent');
res.json(responses);
} catch (err) {
console.error('DialogFlow.sendTextMessageToDialogFlow ERROR:', err);
cosole.log(err);
}
}
});