Коммуникатор Bot в PHP: Нет ответа Назад

голоса
2

Я пытаюсь построить тест посыльного бота в PHP. Мой веб - крюк получает настройки вверх отлично и даже страница подписки сделано правильно. Тем не менее, мой бот не реагирует на любой текст в мессенджере. Я попытался изменить идентификаторы приложений, идентификаторы страниц, просто чтобы убедиться , если есть проблемы с каким - либо из этого. Я также пробовал различные методы , в том числе основной ротор , как описано здесь: Facebook чат бота (PHP webhook) отправка несколько ответов

и пытался 2 различные библиотеки PHP: https://github.com/Fritak/messenger-platform https://github.com/pimax/fb-messenger-php

Я не получаю PHP ошибки, проблема по-прежнему успешна в конце Facebook. Мой сертификат SSL в порядке, но я не могу получить бот реагировать.

Любая помощь по этому вопросу будет весьма признателен.

Задан 15/04/2016 в 21:46
источник пользователем
На других языках...                            


5 ответов

голоса
0

Вам необходимо отправить ответ на себя , когда вы reciving сообщения (см документации ).

Я не как вы делаете это для Pimax API, извините, но для моего API вы можете сделать это следующим образом:

// Messenger is calling your URL, someone is sending a message...
$messages = $bot->getMessagesReceived();

// Now you need an ID
$userToSendMessage = $messages[0]->messaging[0]->sender->id;

// Send answer
$bot->sendMessage($userToSendMessage, 'Hi!');
Ответил 15/04/2016 в 22:20
источник пользователем

голоса
1

Убедитесь , что CURL установлен правильно. Попробуйте этот простой GIST, https://gist.github.com/visitdigital/58c71acb123870d1ac2ec714d7536587

$challenge = $_REQUEST['hub_challenge'];
$verify_token = $_REQUEST['hub_verify_token'];

// Set this Verify Token Value on your Facebook App 
if ($verify_token === 'YOURVERIFYTOKEN') {
  echo $challenge;
}

$input = json_decode(file_get_contents('php://input'), true);

// Get the Senders Graph ID
$sender = $input['entry'][0]['messaging'][0]['sender']['id'];

// Get the returned message
$message = $input['entry'][0]['messaging'][0]['message']['text'];

//API Url and Access Token, generate this token value on your Facebook App Page

$url = 'https://graph.facebook.com/v2.6/me/messages?access_token=ACCESSTOKEN';
//Initiate cURL.
$ch = curl_init($url);
//The JSON data.
$jsonData = '{
    "recipient":{
        "id":"' . $sender . '"
    }, 
    "message":{
        "text":"The message you want to return"
    }
}';

//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 but first check if the message is not empty.
if(!empty($input['entry'][0]['messaging'][0]['message'])){
  $result = curl_exec($ch);
}
Ответил 25/04/2016 в 13:54
источник пользователем

голоса
0

Вы можете проверить следующие вещи.

  1. Вы являетесь администратором этой страницы, и вы отправляете сообщение только с учетной записью администратора.
  2. Получаете ли вы сообщения послать вас на сценарий входа эти сообщения в какой-то файл, чтобы проверить?
  3. На странице вашей учетной записи делает фб дать вам предупреждение, как ваша страница не получает сбщ. Если нет, то сообщ успешно послан к вам проблема заключается в вашем ответе.
  4. Убедитесь, что маркер, созданный при создании webhook помещается правильно.
  5. Вы скопировали сгенерированный маркер.

Также плз отправить код.

Ответил 18/06/2016 в 19:24
источник пользователем

голоса
0

У меня была та же проблема, ответ в том, что мой веб-сервер был перенаправляет запрос (добавлял слэш в конце URL).

Ответил 11/09/2016 в 11:14
источник пользователем

голоса
0

1-убедитесь , что завиток правильно установлена в компьютере
2-попробуйте отправить его вручную , используя этот код , приведенный ниже в терминале, убедитесь , что поставить маркер доступа и идентификатор получателя. я мастерил ту же проблему , как вы .although я был Curl установлен в моем компьютере (Windows) не будет посылать запрос .when я изменил в Linux он работал нормально.
Дайте ему попробовать.

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient": {
    "id": "USER_ID"
  },
  "message": {
    "text": "hello, world!"
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=PAGE_ACCESS_TOKEN"
Ответил 18/02/2017 в 16:30
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more