im Grunde würde ich beraten Sie es in zwei Schritte zu tun (Sie NodeJS verwenden vorausgesetzt)
Schritt 1: sammeln, um die Benutzereingabe (siehe unter dem Codebeispiel ausgehend von „self.messagereact“)
Schritt 2, um in Schritt 1 gesetzt werden: Prozess die Eingabe in jeden langage Motor (siehe unten die Funktion aufgerufen getengineanswer (die Sendmessage-Funktion auf fb docs verfügbar ist)
// Schritt 1:
self.messagereact = function(){
console.log('start processing incoming event');
self.app.post('/', function (req, res) {
messaging_events = req.body.entry[0].messaging;
for (i = 0; i < messaging_events.length; i++) {
event = req.body.entry[0].messaging[i];
sender = event.sender.id;
if (event.message && event.message.text) {
text = event.message.text;
// Handle a text message from this sender
//test the generic template if the user writes generic
if (text === 'generic'){
sendGenericMessage(sender);
}
else{
console.log("This is the text sent to the engine to be analyzed "+ text);
var answer = getanswer_from_engine(sender,text);
}
}
//handle postback when a button is clicked
if (event.postback) {
var text2 = event.postback.payload;
console.log("This is the payload of the button" + text2);
var answer2 = getanswer_from_engine(sender,text2);
//continue;
}
}
res.sendStatus(200);
})
};
// Schritt:
function getanswer_from_engine (sender,text_to_analyse) {
console.log("This is the text that I have to analyse " + text_to_analyse);
var request = require('request');
request({
url: 'PUT HERE THE URL OF THE SERVICE', //URL to hit
method: 'POST',
//parameters to connect to the service
form: {
token : TOKEN OF YOUR SERVICE
parameter 1 : xxxx,
parameter 2 : yyyy,
input: text_to_analyse
}
}, function(error, response, body){
if(error) {
console.log("The error is " + error);
console.log("The body is " + body);
sendTextMessage(sender,'Oops something went wrong');
} else {
//process here the answer from your engine
var answer = ENGINE OUTPUT
sendTextMessage(sender,answer);
}
});
}
bitte zeigen uns einige Beispiel-Code von dem, was Sie gerade –