Messenger Bot in PHP: Geen reactie Terug

stemmen
2

Ik ben op zoek naar een test boodschapper bot in PHP te bouwen. Mijn web hook krijgt setup perfect en zelfs de pagina abonnement is correct gedaan. Echter, mijn bot niet reageren op een tekst in messenger. Ik heb geprobeerd om app-id's, pagina-ID's te veranderen, alleen maar om ervoor te zorgen dat als er problemen zijn met een van die. Ik heb ook geprobeerd verschillende methoden, met inbegrip basic krul zoals hier beschreven: Facebook Chat bot (PHP webhook) het verzenden van meerdere antwoorden

en probeerde 2 verschillende php bibliotheken: https://github.com/Fritak/messenger-platform https://github.com/pimax/fb-messenger-php

Ik krijg geen PHP fouten, de uitdaging is nog steeds succesvol bij Facebook einde. Mijn SSL-certificaat is prima, maar ik ben niet in staat om het bot reageren krijgen.

Alle hulp op dit zal zeer gewaardeerd worden.

De vraag is gesteld op 15/04/2016 om 21:46
bron van user
In andere talen...                            


5 antwoorden

stemmen
0

Je moet antwoord te zenden door jezelf wanneer je reciving berichten (zie documentatie ).

Ik weet niet hoe je dat voor PImax API, sorry, maar voor mijn API kun je het op deze manier doen:

// 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!');
antwoordde op 15/04/2016 om 22:20
bron van user

stemmen
1

Controleer of CURL juist is geïnstalleerd. Probeer deze eenvoudige 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);
}
antwoordde op 25/04/2016 om 13:54
bron van user

stemmen
0

Kunt u controleren na dingen.

  1. U bent de beheerder van die pagina en je bent het verzenden van berichten uit alleen admin-account.
  2. Krijgt u berichten die u op het script te loggen deze berichten in een bestand te controleren?
  3. Op de pagina 'Accountinstellingen doet fb u enkele waarschuwing te geven, zoals uw pagina niet ontvangt msg. Zo niet, dan msg wordt verzonden naar je probleem ligt in uw antwoord.
  4. Zorg ervoor dat token u hebt gemaakt bij het maken van webhook wordt geplaatst correct is.
  5. Hebt u de gegenereerde token gekopieerd.

Ook plz stuur uw code.

antwoordde op 18/06/2016 om 19:24
bron van user

stemmen
0

Ik had hetzelfde probleem, het antwoord was dat mijn webserver werd omgeleid de aanvraag (was het toevoegen van een slash aan het einde van de URL).

antwoordde op 11/09/2016 om 11:14
bron van user

stemmen
0

1-controleren of cURL goed is geïnstalleerd in uw computer
2-proberen te sturen handmatig met behulp van onder deze code in uw terminal, zorg ervoor dat uw access token en id van de ontvanger te zetten. i hade hetzelfde probleem als je .Hoewel ik had krul geïnstalleerd op mijn computer (Windows) het zou niet het verzoek te verzenden .wanneer ik veranderd in linux het werkte prima.
Probeer het eens.

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"
antwoordde op 18/02/2017 om 16:30
bron van user

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