【问题标题】:the persistent menu of facebook messenger bot is not being update with the last changesfacebook messenger bot 的持久菜单没有随着最后的更改而更新
【发布时间】:2017-04-11 06:59:02
【问题描述】:

我正在使用 botkit 来构建我的机器人。我第一次验证我的 webhook 时,那里的持久菜单就是一个例子:

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 天没有改变我的设置。我想了解什么是错误的,facebook messenger 何时更新菜单? 我什至尝试使用 curl 删除和添加持久菜单,但没有任何效果。

【问题讨论】:

  • Facebook 出了点问题。我通过 curl 配置了我的菜单,但是顶级的“回发”菜单不起作用,只有嵌套的菜单起作用。你可以参考这里:github.com/howdyai/botkit/issues/764
  • curl 对我来说根本不起作用,即使将域列入白名单 curl 不起作用,我也不知道它出了什么问题,stackoverflow.com/questions/43552879/… 是 curl 拒绝解决的问题之一。

标签: facebook-messenger-bot botkit


【解决方案1】:

您必须删除对话线程并重新开始才能看到更改生效。

另外,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"
        }
      ]
        }

    ]);

【讨论】:

    【解决方案2】:

    你需要这两个方法:removePersistentMenu 和 addPersistentMenu。

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

    请耐心等待,这可能需要一分钟,请检查您的控制台以获取响应。

    您还需要在 facebook messenger 中删除您与机器人的对话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-03
      • 2016-08-09
      • 2017-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多