【问题标题】:Facebook Chat Bot - How do I test the welcome message?Facebook 聊天机器人 - 如何测试欢迎信息?
【发布时间】:2016-04-20 14:23:57
【问题描述】:

我的聊天机器人运行良好,但我在调试欢迎消息功能时遇到了问题,因为它仅在发起对话时显示(尽管我很确定在同事的电话上尝试过它没有工作)。如何重置我的聊天,让它将我视为与之交互的新用户?

这是我现在欢迎的 PHP 脚本

<?php

function webhook() {
$challenge = $_REQUEST['hub_challenge'];
$verify_token = $_REQUEST['hub_verify_token'];

if ($verify_token === 'MYTOKEN') {
  echo $challenge;
}

$input = json_decode(file_get_contents('php://input'), true); 
$sender = $input['entry'][0]['messaging'][0]['sender']['id'];

$welcomejson = welcomemessage();

welcomesend($json);

function message() {
$json = '{
"setting_type":"call_to_actions",
"thread_state":"new_thread",
"call_to_actions":[
     {
      "message":{
      "text":"Welcome to My BOT!"
     }
}
]
}';
return $json;
}

function send($json) {
$url = 'https://graph.facebook.com/v2.6/MYPAGEID/thread_settings?access_token=MYTOKEN';

//Initiate cURL.
$ch = curl_init($url);

//Tell cURL that we want to send a POST request.
curl_setopt($ch, CURLOPT_POST, 1);

//Attach our encoded JSON string to the POST fields.
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);

//Set the content type to application/json
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

 //Execute the request
 $result = curl_exec($ch);
}

【问题讨论】:

标签: php facebook drupal-7 facebook-messenger


【解决方案1】:

试试这个:

  1. 在桌面浏览器中打开 Facebook 并转到链接到您的 Messenger 机器人的页面
  2. 按“留言”
  3. 在消息弹出/讨论中选择“选项”(齿轮图标)
  4. 选择“删除对话...”并在确认提示中说“删除对话”
  5. 再次选择“消息”
  6. 选择“开始”

第 4 步。确实会删除您与页面/应用程序的聊天记录,所以要小心。

【讨论】:

  • 正确...虽然...在 Facebook Messenger API 文档中有一条奇怪的消息。 “欢迎屏幕仅针对新对话出现。删除对话不会导致欢迎屏幕出现。”在这里看到:developers.facebook.com/docs/messenger-platform/…
  • 我认为 iOS Messenger 中存在一个错误,因为“开始”按钮仅出现在桌面而不是移动设备上。
  • 另外,有没有办法设置欢迎屏幕?我的只有一个“开始”按钮。
  • 这是用户最初与机器人互动所需要做的事情
  • 看起来他们已经编辑了文档并消除了混乱。现在文档说:“欢迎屏幕仅针对新对话显示。在移动设备上,删除对话不会导致欢迎屏幕再次出现。在桌面网络上,如果您删除对话,您可以使欢迎屏幕再次出现。” developers.facebook.com/docs/messenger-platform/…
【解决方案2】:
  • 在桌面上,删除对话并再次向页面发送消息。

这将让您再次看到“开始”按钮,让您可以测试它以及欢迎消息的功能。

如果您尝试测试“Messenger Greeting”,则要复杂得多。见下文。


在桌面上,删除对话后“Messenger Greeting”仍然不会显示。只有“开始”按钮重新出现。我相信这是一个错误,我很可能会为此开张票。

您可以通过删除对话、卸载并重新安装 Messenger 在移动设备上获得类似的体验,但同样不会显示 Messenger 问候语,它只显示开始按钮。

对于那些对 Messenger 问候语的逐行格式挑剔的开发人员,或者只是需要再次查看 Messenger 机器人演示的开发人员来说,无法再次看到 Messenger Greeting 是一个问题。问候语已经看过了。

谢天谢地,虽然非常痛苦,但有一种解决方法。基本上必须重新设置你的机器人。

  1. 创建一个新页面
  2. 在第 17 步之前,切勿使用页面/机器人打开消息
  3. 点击设置、Messenger,设置您的Messenger问候语,然后按保存。
  4. 由于某种原因实际上并未保存切换设置,因此请从侧边栏中的 Messenger 中选择不同的内容
  5. 重新选择 Messenger
  6. 打开问候语(消息应该已正确保存,而不是打开或关闭的开关)
  7. 在侧边栏中更改为不同的内容
  8. 重新选择 Messenger 并仔细检查是否启用了 Messenger 问候语
  9. 创建一个新应用
  10. 将 Messenger 添加为产品
  11. 选择页面并复制页面访问令牌
  12. 将页面访问令牌放在代码中需要的地方
  13. 运行您的代码
  14. 使用您的验证令牌连接到 webhook url 并选中所有框
  15. webhook 连接成功后,订阅你的新页面
  16. 运行您的 curl 命令以启用“开始”按钮以及按下按钮后将出现的欢迎消息
  17. 用您的页面打开一条消息,然后应该会出现 Messenger 问候和开始按钮。您有一次机会,然后您必须重复所有这些步骤才能再次看到问候语。

我相信打开信使问候不保存的权利也是一个错误,我可能会为它开一张票。

【讨论】:

  • 我赞成这个只是因为这仍然是一个错误。
  • @user2322082 我看到他们(FB 团队)提到他们已经解决了这个问题。但是,我仍然面临同样的问题(作为开发人员)。你还发现同样的错误吗?
  • 回复晚了,但如果是在桌面上,可能是一个新的无关错误。当我处理这个问题时,该错误已在该错误报告关闭前几天得到修复。从那以后就再也没有遇到过问题,但是在他们修复它时,我也有一段时间没有使用它了。
【解决方案3】:

有一种方法可以在 iOS 上的 Messenger 中获取欢迎屏幕(至少截至 4 月 28 日),尽管它非常烦人。基本上,除了删除 convo 之外,您还必须在手机上重新安装该应用程序。

  1. 在桌面版 facebook 中转到链接到您的机器人的页面
  2. 存档对话
  3. 在手机上打开 Messenger,然后在对话列表中的单元格上向右滑动以删除转换
  4. 从您的手机中删除 Messenger
  5. 从 App Store 重新安装 Messenger

【讨论】:

    猜你喜欢
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 2020-10-14
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    相关资源
    最近更新 更多