2016-05-27 11 views
-3

私は自分の基本的なFBメッセンジャーボットを作って、受信したFacebookのメッセージに応答します。今私がやりたいことは、ユーザーがボットにメッセージを送るときです。スペイン語で言うと、メッセージがボットに表示される前にメッセージを取得し、機械翻訳を使ってテキストを英語に変換してメッセージを表示しますボット。入ってくるテキストをFacebookのボットに変更する

ボットに投稿される前にテストを取得するにはどうすればよいですか?

+0

私たちにあなたが現在 –

答えて

0

基本的に私はあなたが

ステップ1(あなたがnodejs使うと仮定した場合)2つのステップにそれを行うことをアドバイスします:ユーザーの入力を収集し

(「self.messagereact」で始まるコードサンプル下記参照)ステップ1内に置くべきステップ2:任意の関連リンク言語エンジンにプロセス入力(getengineanswer呼び出された関数下記参照(sendMessage関数がFBドキュメント上で利用可能である)

//ステップ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); 

    }) 
}; 

//ステップ2:

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

} 

}); 
} 
+0

これは便利です持っているもののいくつかのサンプルコードを示してください。あなたは "this.messagereact"を探すと言っていましたが、私はあなたが "self.messagereact"を意味すると思います –

+0

私は投稿を編集しました:) – Mohus

関連する問題