Bot mensajero en PHP: sin respuesta Volver

votos
2

Estoy tratando de construir un robot mensajero prueba en PHP. Mi web hook obtiene configuración perfectamente e incluso la página de suscripción se realiza correctamente. Sin embargo, mi bot no responde a cualquier texto en mensajero. He intentado cambiar ID de aplicación, ID de la página, sólo para asegurarse de que si hay problemas con nada de eso. También he intentado varios métodos incluyendo rizo básica tal como se indica aquí: Facebook Chat bot (PHP web hook) el envío de múltiples respuestas

y trató 2 bibliotecas de php diferentes: https://github.com/Fritak/messenger-platform https://github.com/pimax/fb-messenger-php

No me sale errores de PHP, el reto sigue siendo un éxito en el extremo de Facebook. Mi certificado SSL está muy bien, sin embargo, yo soy incapaz de conseguir responde el bot.

Cualquier ayuda en esto será muy apreciada.

Publicado el 15/04/2016 a las 18:46
fuente por usuario
En otros idiomas...                            


5 respuestas

votos
0

Es necesario enviar la respuesta por sí mismo cuando se está reciving mensajes (ver documentación ).

No sé cómo hacer eso por API PImáx, lo siento, pero para mi API puede hacerlo de esta manera:

// 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!');
Respondida el 15/04/2016 a las 19:20
fuente por usuario

votos
1

Compruebe que CURL se ha instalado correctamente. Prueba esta sencilla 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);
}
Respondida el 25/04/2016 a las 10:54
fuente por usuario

votos
0

¿Se puede comprobar después de las cosas.

  1. Usted es el administrador de esa página y que está enviando mensaje solamente en la cuenta de administrador.
  2. ¿Está recibiendo mensajes enviados por usted en el guión registrar estos mensajes en algún archivo para comprobar?
  3. En su cuenta de la página hace fb darle un poco de advertencia como su página no está recibiendo msg. Si no, entonces MSG es enviado con éxito para que problema radica en su respuesta.
  4. Asegúrese de que simbólico que ha creado al crear web hook se coloca es correcta.
  5. ¿Ha copiado el token generado.

También PLZ enviar su código.

Respondida el 18/06/2016 a las 16:24
fuente por usuario

votos
0

Yo tenía el mismo problema, la respuesta fue que mi servidor web se redirige la petición (fue la adición de una barra al final de la URL).

Respondida el 11/09/2016 a las 08:14
fuente por usuario

votos
0

1-Verify que se curvan está correctamente instalado en su ordenador
2-intente enviarlo de forma manual utilizando el código de abajo en su terminal, asegúrese de poner su token de acceso y la identificación del destinatario. i hade el mismo problema, ya que me había .Aunque Curl instalado en mi PC (Windows) que no enviaría la solicitud .cuando he cambiado a Linux ha funcionado bien.
Darle una oportunidad.

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"
Respondida el 18/02/2017 a las 13:30
fuente por usuario

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