3 votes

Facebook Bot pour Messenger Tutoriel de la Première App - firstEntityValue n'est pas défini

Je suis en train de suivre le tutoriel de la première application Facebook Bot for Messenger trouvé ici : https://wit.ai/docs/quickstart

Le problème est que, après avoir cloné le projet (https://github.com/wit-ai/node-wit.git) et suivi les premières étapes, lorsque je lance le bot, je reçois cette erreur: firstEntityValue is not defined

Mon code:

'use strict';

const Wit = require('../').Wit;

const token = (() => {
    if (process.argv.length !== 3) {
        console.log('usage: node examples/weather.js ');
        process.exit(1);
    }
return process.argv[2];
})();

const actions = {
    say: (sessionId, msg, cb) => {
    console.log(msg);
    cb();
},
merge: (context, entities, cb) => {
    //Récupérer l'entité de localisation et la stocker dans un champ de contexte
    const loc = firstEntityValue(entities, 'location');
    if(loc) {
       context.loc = loc;
    }
    cb(context);
},
error: (sessionId, msg) => {
    console.log('Oups, je ne sais pas quoi faire.');
},
'fetch-forecast': (context, cb) => {
    // Ici devrait aller l'appel à l'API, par exemple :
    // context.forecast = apiCall(context.location)
    context.forecast = 'nuageux';
    cb(context);
},
};

const client = new Wit(token, actions);
client.interactive();

Une aide?

3voto

frostymarvelous Points 972

J'avais le même problème, j'ai trouvé la fonction définie ici https://github.com/wit-ai/node-wit/blob/1c4aedea09332b471d8c45060a1dc1f91f65eff5/examples/joke.js

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;
};

Vous devez soit ajouter ceci à votre index.js, soit l'inclure en tant que module.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X