Facebook Chat Bot — как протестировать приветственное сообщение?

Мой чат-бот работает отлично, но у меня возникли проблемы с отладкой функциональности приветственного сообщения, потому что оно появляется только при начале разговора (хотя я почти уверен, что он не работает, попробовав его на телефоне коллеги). Как сбросить настройки чата, чтобы он воспринимал меня как нового пользователя, взаимодействующего с ним?

Это мой приветственный 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);
}

exampleofissue


person Lee Woodman    schedule 20.04.2016    source источник
comment
Можете ли вы указать мне где-нибудь, где я могу найти, как это сделать в php? Спасибо.   -  person Ukor    schedule 05.04.2017
comment
@Ukor gist.github.com/visitdigital/58c71acb123870d1ac2ec714d7536587   -  person Lee Woodman    schedule 06.04.2017


Ответы (3)


Попробуй это:

  1. Откройте Facebook в настольном браузере и перейдите на страницу, связанную с вашим мессенджер-ботом.
  2. Нажмите "Сообщение"
  3. Во всплывающем окне/обсуждении сообщения выберите «Параметры» (значок шестеренки).
  4. Выберите «Удалить беседу...» и скажите «Удалить беседу» в запросе подтверждения.
  5. Выберите «Сообщение» еще раз
  6. Выберите «Начать»

Шаг 4. действительно удаляет историю чата, которую вы ведете со страницей/приложением, так что будьте осторожны.

person otso    schedule 20.04.2016
comment
Правильно... хотя... в документах Facebook Messenger API есть странные сообщения. Экран приветствия появляется только для новых разговоров. Удаление разговоров не приведет к появлению экрана приветствия. См. это здесь: developers.facebook.com/docs/messenger-platform/ - person Lee Woodman; 24.04.2016
comment
Я думаю, что в мессенджере iOS есть ошибка, поскольку кнопка «Начать» появляется только на рабочем столе, а не на мобильном устройстве. - person Lee Woodman; 24.04.2016
comment
Кроме того, есть ли способ настроить экран приветствия? У меня есть только кнопка «Начать». - person forallepsilon; 28.04.2016
comment
Это то, что нужно сделать пользователям, чтобы начать взаимодействие с ботом. - person Lee Woodman; 28.04.2016
comment
Я понял, почему это решение не работает для меня! Вам нужно использовать мессенджер на facebook.com, а НЕ тот, что на messenger.com, если вы удалите конво там, вы все равно не получите приветственное сообщение, просто нажмите кнопку «Начать». - person mbwasi; 03.04.2017

  • На рабочем столе удалите беседу и снова отправьте сообщение странице.

Это позволит вам снова увидеть кнопку «Начать», что позволит вам протестировать ее и функциональность вашего приветственного сообщения.

Если вы пытаетесь протестировать «Приветствие мессенджера», это намного сложнее. Смотри ниже.


На рабочем столе «Приветствие мессенджера» по-прежнему не будет отображаться после удаления разговора. Снова появляется только кнопка «Начать». Я считаю, что это ошибка, для которой я, скорее всего, открою тикет.

Вы можете получить аналогичный опыт на мобильном телефоне, удалив разговор, удалив и переустановив Messenger, но опять же, это не отображает приветствие Messenger, а показывает только кнопку «Начать».

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

К счастью, хотя это и ЧРЕЗВЫЧАЙНО болезненно, есть обходной путь. В основном нужно перенастроить бота.

  1. Создать новую страницу
  2. НИКОГДА НЕ ОТКРЫВАЙТЕ СООБЩЕНИЕ СО СТРАНИЦЕЙ/БОТОМ ДО ШАГА 17
  3. Нажмите «Настройки», «Messenger», установите приветствие для мессенджера и нажмите «Сохранить».
  4. Поскольку по какой-то причине это на самом деле не сохраняет переключенный параметр, выберите другую вещь в мессенджере на боковой панели.
  5. Повторно выберите мессенджер
  6. Включите приветствие (сообщение должно быть сохранено правильно, но не переключаться на его включение или выключение)
  7. Изменить на другую вещь в боковой панели
  8. Повторно выберите Messenger и дважды проверьте, включено ли приветствие Messenger.
  9. Создать новое приложение
  10. Добавить Messenger как продукт
  11. Выберите страницу и скопируйте токен доступа к странице.
  12. Поместите токен доступа к странице там, где это необходимо в вашем коде.
  13. Запустите свой код
  14. Подключитесь к URL-адресу веб-перехватчика с вашим токеном подтверждения и установите все флажки.
  15. После успешного подключения к веб-хуку подпишите его на свою новую страницу.
  16. Запустите команду curl, чтобы включить кнопку «Начать» и ваше приветственное сообщение, которое появится после нажатия кнопки.
  17. Откройте сообщение со своей страницей, и должна появиться кнопка приветствия и начала работы в Messenger. ВЫ ПОЛУЧАЕТЕ ОДИН ШАНС, И ЗАТЕМ ВАМ ПРИДЕТСЯ ПОВТОРИТЬ ВСЕ ЭТИ ШАГИ, ЧТОБЫ УВИДЕТЬ ПРИВЕТСТВИЕ ЕЩЕ РАЗ.

Я считаю, что переключение на приветствие в мессенджере, не сохраняющееся правильно, также является ошибкой, и я могу открыть тикет для этого.

person user2322082    schedule 23.06.2016
comment
Я проголосовал за это только потому, что это все еще ошибка. - person Udit Kapahi; 23.08.2016
comment
@user2322082 user2322082 Я вижу, что они (команда FB) упоминают, что исправили это. Однако я все еще сталкиваюсь с той же проблемой (как разработчик). Вы все еще находите ту же ошибку? - person Stergios; 04.05.2017
comment
Поздний ответ, но если это на рабочем столе, это, вероятно, новая несвязанная ошибка. Когда я работал с этим, ошибка была исправлена ​​за пару дней до того, как этот отчет об ошибке был закрыт. С тех пор у меня никогда не было проблем, но я также не работал с ним какое-то время после того, как все уладил, когда они его исправили. - person user2322082; 17.05.2017

Есть способ получить экран приветствия в Messenger на iOS (по крайней мере, по состоянию на 28 апреля), хотя это очень раздражает. По сути, помимо удаления конвоя, вам нужно переустановить приложение на свой телефон.

  1. Перейдите на страницу, связанную с вашим ботом, в facebook на рабочем столе.
  2. Архивировать разговор
  3. Откройте Messenger на своем телефоне и удалите конверсию, проведя пальцем вправо по ячейке в списке бесед.
  4. Удалить мессенджер с телефона
  5. Переустановите Messenger из App Store.
person Stas Nikiforov    schedule 28.04.2016