无法为Messenger机器人设置问候语文本

时间:2017-10-07 22:23:57

标签: node.js facebook messenger

我正在尝试为我的Messenger机器人like this之一设置问候语:

curl -X POST -H "Content-Type: application/json" -d '{
  "setting_type":"call_to_actions",
  "thread_state":"new_thread",
  "call_to_actions":[
    {
      "payload":"Greeting"
    }
  ]
}' "https://graph.facebook.com/v2.6/me/thread_settings?access_token=PAGE_ACCESS_TOKEN"

以及like this

curl -X POST -H "Content-Type: application/json" -d '{
  "setting_type":"greeting",
  "greeting":{
    "text":"Timeless apparel for the masses."
  }
}' "https://graph.facebook.com/v2.6/me/thread_settings?access_token=PAGE_ACCESS_TOKEN"

此外,我的页面的消息设置

也设置了相同的设置

messaging settings

Messenger正确显示“使用入门”按钮:

Messenger correctly shows the Get Started button

但是没有像问候语那样的机器人

nothing like greeting comes on the bot

除了page access token

之外,还有什么问题

1 个答案:

答案 0 :(得分:1)

我不知道您到底需要什么。但是,让我猜想,一旦有人单击“入门”按钮,然后Messenger僵尸程序就会向用户发送类似“欢迎来到机器人!我想为您提供XXX的服务”之类的信息,对吗?

首先,您需要设置“入门”按钮回发。

curl -X POST -H "Content-Type: application/json" -d '{
  "get_started": {"payload": "<postback_payload>"}
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>"

除了使用curl与服务器对话外,您还需要通过在文件app.js中编写代码来处理“入门按钮回传”。

switch (payload) {
    case 'get_started':
        sendGetStarted(senderID);
        break;

    default:
        sendTextMessage(senderID, "Postback called");
}

有关更多信息,请查看https://messenger.fb.com/developers/tutorials/setting-up-the-welcome-screen/上的文档