Я пытаюсь получить новый wit.ai Bot Engine, связанный с hubot с Javascript. К сожалению, я не разработчик JS, поэтому я борюсь.wit.ai Bot Engine Рассказы, связанные с hubot
Вот код, у меня есть:
'use strict';
const Wit = require('../../../node-wit').Wit;
const firstEntityValue = (entities, entity) => {
const val = entities && entities[entity] &&
Array.isArray(entities[entity]) &&
entities[entity].length > 0 &&
entities[entity][0].value
;
if (!val) {
return null;
}
return typeof val === 'object' ? val.value : val;
};
const actions = {
say: (sessionId, msg, cb) => {
console.log(msg);
cb();
},
merge: (context, entities, cb) => {
const loc = firstEntityValue(entities, "location");
if (loc) context.loc = loc;
cb(context);
},
error: (sessionId, msg) => {
console.log('Oops, I don\'t know what to do.');
},
'fetch-weather': (context, cb) => {
// Here should go the api call, e.g.:
// context.forecast = apiCall(context.loc)
context.forecast = 'sunny';
cb(context);
},
};
const client = new Wit('MY_TOKEN_HERE', actions);
client.interactive();
module.exports = function(robot) {
robot.respond(/hey\s+(.+$)/i, function(msg){
var match = msg.match[1];
msg.send("I've heared: " + match);
console.log(match)
process.stdout.write(match);
});
}
Сценарий слушает «эй ИМЯ_БОТА» и выводит то, что было написано после этого. Моя проблема: я понятия не имею, как получить этот ввод, отправленный клиенту. Использование этого скрипта в bash без материала hubot отлично работает с остроумием, поскольку это основано на примере быстрого запуска от wit.ai.
Другая проблема, с которой я сталкиваюсь, заключается в том, что я хотел бы, чтобы hubot слушал в частном канале с каждым пользователем и отвечал на каждое сообщение без префикса. Так же, как пример узла в консоли.
Помощь очень полезна!