Messenger Bot în PHP: No Response Înapoi

voturi
2

Am încercat să construiască un bot de testare mesager în PHP. Cârlig meu web devine configurare perfect în sus și chiar abonamentul paginii se face corect. Cu toate acestea, bot meu nu răspunde la orice text din messenger. Am încercat să schimbe ID - uri de aplicație, ID - uri de pagini, doar pentru a vă asigura că în cazul în care există probleme cu oricare din. Am încercat , de asemenea , diferite metode , inclusiv ondulare de bază așa cum se arată aici: Facebook Chat bot (PHP webhook) trimiterea mai multor raspunsuri

și a încercat 2 biblioteci PHP diferite: https://github.com/Fritak/messenger-platform https://github.com/pimax/fb-messenger-php

I a lua nici o eroare PHP, provocarea este încă succes la sfârșitul Facebook. certificat SSL meu este bine, dar eu sunt în imposibilitatea de a obține răspunde bot.

Orice ajutor cu privire la acest lucru va fi apreciat foarte mult.

Întrebat 15/04/2016 la 21:46
sursa de către utilizator
În alte limbi...                            


5 răspunsuri

voturi
0

Ai nevoie pentru a trimite răspuns de unul singur , atunci când sunt mesaje să acumuleze (vezi documentația ).

Nu cum să faci asta pentru API Pimax, îmi pare rău, dar pentru API - ul meu puteți face acest fel:

// 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!');
Publicat 15/04/2016 la 22:20
sursa de către utilizator

voturi
1

Verificați dacă FLEXIE este instalat corect. Încercați această Sinteza simplu, 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);
}
Publicat 25/04/2016 la 13:54
sursa de către utilizator

voturi
0

Poți verifica următoarele lucruri.

  1. Sunteți administratorul acestei pagini și trimiteți mesaje de la doar contul de administrator.
  2. Primiți mesaje trimise de tine pe script-ul log aceste mesaje într-un fișier pentru a verifica?
  3. Pe contul pagina nu fb vă dau câteva avertisment ca pagina dvs. nu primește msg. Dacă nu, atunci msg este trimis cu succes pentru a vă problemă constă în răspunsul dumneavoastră.
  4. Asigurați-vă că ați creat jeton la crearea webhook este plasat corect.
  5. Ați copiat simbolul generat.

De asemenea, plz a trimite codul.

Publicat 18/06/2016 la 19:24
sursa de către utilizator

voturi
0

Am avut aceeași problemă, răspunsul a fost că webserver meu a fost redirecționat cererea (a fost adăugarea de un slash la sfarsitul URL-ului).

Publicat 11/09/2016 la 11:14
sursa de către utilizator

voturi
0

1- a verifica dacă cURL este instalat corect în calculatorul dvs.
2-încercați să îl trimiteți manual utilizând acest cod de mai jos în terminalul, asigurați - vă că pentru a pune accesul indicativului și ID - ul destinatarului. Am hade aceeași problemă ca și tine .Deși am avut Curl instalat în calculatorul meu (Windows) nu va trimite cererea .Atunci am schimbat în Linux a mers foarte bine.
Incearca.

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"
Publicat 18/02/2017 la 16:30
sursa de către utilizator

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