постоянное меню бота facebook messenger не обновляется с последними изменениями

Я использую botkit для создания своего бота. В первый раз, когда я проверил свой веб-хук, постоянное меню, которое было там, было тем, которое пришло в качестве примера:

controller.api.thread_settings.menu([
        {
            "type":"postback",
            "title":"Hello",
            "payload":"hello"
        },
        {
            "type":"postback",
            "title":"Help",
            "payload":"help"
        },
        {
          "type":"web_url",
          "title":"Botkit Docs",
          "url":"https://github.com/howdyai/botkit/blob/master/readme-facebook.md"
        },
    ]);

Я изменил постоянное меню на:

controller.api.thread_settings.menu([
        {
            "type":"postback",
            "title":"Account",
            "payload":"account"
        },
        {
            "type":"postback",
            "title":"News",
            "payload":"news"
        },
        {
            "type": "postback",
            "title": "Contact",
            "payload": "contact"
        },
    ]);

Но уже 3 дня не меняется то, что я установил. Хотелось бы понять что не так и когда именно фейсбук мессенджер обновляет меню? Я даже пытался использовать curl для удаления и добавления постоянного меню, но ничего не работает.


person aidonsnous    schedule 11.04.2017    source источник
comment
Вместо этого что-то не так с Facebook. Я настроил свои меню через curl, но меню «постбэк» верхнего уровня не работали, работают только вложенные. вы можете обратиться сюда: github.com/howdyai/botkit/issues/764   -  person Micheal Vu    schedule 22.04.2017
comment
curl у меня вообще не работает, я не знаю, что это не так, даже когда завиток доменов в белом списке не работает, stackoverflow.com/questions/43552879/ это одна из проблем, которые curl отказывается решать.   -  person aidonsnous    schedule 22.04.2017


Ответы (2)


Вы должны удалить ветку беседы и начать ее заново, чтобы изменения вступили в силу.

Также FB изменил структуру полезной нагрузки для этого, вам нужно установить локаль, и поместить пункты меню в массив call_to_actions.

 controller.api.thread_settings.menu([
       { "locale": "default",
         "compose_input_disabled": false,
         "call_to_actions": [
           {
          "title":"My Account",
          "type":"nested",
          "call_to_actions":[
            {
              "title":"Pay Bill",
              "type":"postback",
              "payload":"PAYBILL_PAYLOAD"
            },
            {
              "title":"History",
              "type":"postback",
              "payload":"HISTORY_PAYLOAD"
            },
            {
              "title":"Contact Info",
              "type":"postback",
              "payload":"CONTACT_INFO_PAYLOAD"
            }
          ]
        },
        {
            "type":"postback",
            "title":"Help",
            "payload":"help"
        },
        {
          "type":"web_url",
          "title":"Botkit Docs",
          "url":"https://github.com/howdyai/botkit/blob/master/readme-facebook.md"
        }
      ]
        }

    ]);
person Jon Church    schedule 28.04.2017

Вам нужны эти 2 метода: removePersistentMenu и addPersistentMenu.

https://github.com/matthewericfisher/fb-robot/blob/master/app.js

Будьте терпеливы, это может занять минуту, проверьте консоль на наличие ответа.

Также нужно удалить свой разговор с ботом в мессенджере фейсбук.

person Laurens Mertens    schedule 04.09.2017