2017-11-09 3 views
0

facebbokメッセンジャーに展開されたwotsonチャットボットを作成しました。ブローカーはthis github exampleのようなノードアプリです。私はテキストの返信を完全に受信していますが、fbメッセンジャーに画像やボタンを送信するようにボットを設定するにはどうすればいいですか?私はワトソンのダイアログでJSONオプションで応答しようとしました。 JSON:Facebookのメッセンジャーでibm watson経由で画像やボタンを送信する

{ 
    "output": { 

    }, 
"context":{ 
"facebook":{ 
    "message":{ 
    "attachment":{ 
     "type":"image", 
     "payload":{ 
      "url":"https://petersapparel.com/img/shirt.png" 
     } 
    } 
    } 
} 
} 
} 

私はJSONといくつかの問題があると考えてください。ボタンを送信するために

答えて

1

は、リソースのURLとコールアップロード方法と添付ファイルのメッセージを定義する添付ファイルを送信するにはtypeポストバック

controller.hears('test', 'message_received', function(bot, message) { 

    var attachment = { 
     'type':'template', 
     'payload':{ 
      'template_type':'generic', 
      'elements':[ 
       { 
        'title':'Chocolate Cookie', 
        'image_url':'http://cookies.com/cookie.png', 
        'subtitle':'A delicious chocolate cookie', 
        'buttons':[ 
         { 
         'type':'postback', 
         'title':'Eat Cookie', 
         'payload':'chocolate' 
         } 
        ] 
       }, 
      ] 
     } 
    }; 

    bot.reply(message, { 
     attachment: attachment, 
    }); 

}); 

template_typeジェネリックとボタンとメッセージを定義します。

controller.hears('test', 'message_received', function(bot, message) { 

var attachment = { 
     "type":"image", 
     "payload":{ 
      "url":"https://pbs.twimg.com/profile_images/803642201653858305/IAW1DBPw_400x400.png", 
      "is_reusable": true 
     } 
    }; 

    controller.api.attachment_upload.upload(attachment, function (err, attachmentId) { 
     if(err) { 
      // Error 
     } else { 
      var image = { 
       "attachment":{ 
        "type":"image", 
        "payload": { 
         "attachment_id": attachmentId 
        } 
       } 
      }; 
      bot.reply(message, image); 
     } 
    }); 
} 

チェックBotkit Messenger documentation

+0

watson dilogレスポンスからそれを行う方法はありますか?ブローカーアプリ –

+0

からではなく、通常、ワトソンのダイアログからではなく、ブローカーアプリで何を返信するかを決定します。ワトソンのダイアログレスポンスは、自然言語処理、すなわちユーザーのステートメントがどのような意図であるかを検出することに関するものです。それに基づいて、あなたがしたいことを決める。いくつかの簡単な目的のために、はい、あなたはダイアログレスポンスを設定することができます。あなたのようなシナリオ - ブローカーで最高です。 – kashyapa

関連する問題