Проходить через элементы бота Facebook Messenger - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть код ниже

bodyObj['providers'].map(service => {
                // console.log(service.name)
            })
            const campaigns = {
                "attachment": {
                    "type": "template",
                    "payload": {
                        "template_type": "generic",
                        "elements": [{
                            "title": bodyObj['providers'][0].name,
                            "image_url": bodyObj['providers'][0].coverImage.toString(),
                            "subtitle": bodyObj['providers'][0].location.textLoc,
                            "buttons": [{
                                "type": "postback",
                                "payload": config.VIEW_SERVICES,
                                "title": "Select"
                            }]
                        },
                        {
                            "title": bodyObj['providers'][1].name,
                            "image_url": bodyObj['providers'][1].coverImage.toString(),
                            "subtitle": bodyObj['providers'][1].location.textLoc,
                            "buttons": [{
                                "type": "postback",
                                "payload": config.VIEW_SERVICES,
                                "title": "Select"
                            }]
                        }
                        ]
                    }
                }
            }

, но я хочу найти способ, как я могу проходить через объект bodyObj и отображать каждую деталь элемента в шаблоне бота мессенджера facebook вместо того, что я сделалвыше .Буду благодарен за помощь, заранее спасибо

1 Ответ

0 голосов
/ 29 сентября 2019

Просто используйте map внутри elements свойство:

const campaigns = {
 "attachment": {
   "type": "template",
   "payload": {
      "template_type": "generic",
      "elements": bodyObj['providers'].map(provider => ({
          "title": provider.name,
          "image_url": provider.coverImage.toString(),
          "subtitle": provider.location.textLoc,
          "buttons": [{
              "type": "postback",
              "payload": config.VIEW_SERVICES,
              "title": "Select"
          }]
      }))
    }
  }
}
...