如何分离Facebook机器人和功能,以便将消息写入页面?

时间:2016-07-24 13:42:24

标签: facebook facebook-page facebook-messenger

当我使用node.js API创建一个facebook messenger机器人时,我需要将它连接到我的Facebook页面(而不是个人配置文件),这样用户就可以点击“消息”(默认情况下,这允许写一条消息到页面)按钮开始使用机器人。

那么,如何保存这两个功能:向页面写入消息并开始使用机器人?

1 个答案:

答案 0 :(得分:0)

  

那么,如何保存这两个功能:向页面写入消息并开始使用机器人?

我将此解释为“如何设置Messenger问候语和开始使用按钮”。

以下是有关如何在node.js中执行这些操作的示例:

//this sets the messenger greeting
function setMessengerGreeting(){
  var messageData = {
    setting_type: "greeting",
    greeting: {
      text: "Hi mom"
    }
  }
  callSendAPISetup(messageData);
}

//this sets the Get Started button and welcome message
function setWelcomeMessage(){
  var messageData = {
    setting_type: "call_to_actions",
    thread_state: "new_thread",
    call_to_actions: [
      {payload: "hi"}
    ]
  }
  callSendAPISetup(messageData);
}

//Sends the messageData for setup
function callSendAPISetup(messageData) {
  request({
    uri: 'https://graph.facebook.com/v2.6/me/thread_settings',
    qs: { access_token: PAGE_ACCESS_TOKEN },
    method: 'POST',
    json: messageData

  }, function (error, response, body) {
    if (!error && response.statusCode == 200) {
      console.log('response: ' + response.body.result);
    } else {
      console.log('error sending curl');
      console.error(response);
      console.error(error);
    }
  });  
}

文档:

Messenger问候语:https://developers.facebook.com/docs/messenger-platform/thread-settings/greeting-text

入门按钮:https://developers.facebook.com/docs/messenger-platform/thread-settings/get-started-button