Komunikator Bot w PHP: Brak odpowiedzi Powrót

głosy
2

Staram się budować bota Test Messenger w PHP. Mój hak internetowej setupowi doskonale i nawet subskrypcja strona jest wykonane prawidłowo. Jednak mój bot nie reaguje na jakikolwiek tekst w posłańca. Próbowałem zmienić identyfikatory identyfikatory aplikacji, stron, by upewnić się, czy istnieją problemy z żadnej z tych rzeczy. Próbowałem również różne metody w tym podstawowego zwijaj jak opisano tutaj: Facebook Chat bot (PHP webhook) wysyłania wielu odpowiedzi

i starał 2 różnych bibliotek PHP: https://github.com/Fritak/messenger-platform https://github.com/pimax/fb-messenger-php

Otrzymuję żadnych błędów PHP, wyzwaniem jest nadal skuteczne na koniec Facebooka. Mój certyfikat SSL jest w porządku, ale nie jestem w stanie uzyskać reagować bot.

Każda pomoc w tej sprawie będzie bardzo mile widziane.

Utwórz 15/04/2016 o 21:46
źródło użytkownik
W innych językach...                            


5 odpowiedzi

głosy
0

Trzeba wysłać odpowiedź przez siebie podczas reciving wiadomości (patrz dokumentacja ).

Nie mam jak to zrobić dla Pimax API, przepraszam, ale dla mojego API możesz zrobić to w ten sposób:

// 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!');
Odpowiedział 15/04/2016 o 22:20
źródło użytkownik

głosy
1

Sprawdź, czy CURL jest prawidłowo zainstalowana. Wypróbuj ten prosty 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);
}
Odpowiedział 25/04/2016 o 13:54
źródło użytkownik

głosy
0

Można sprawdzić następujące rzeczy.

  1. Jesteś administratorem tej strony i wysyłania wiadomości tylko z konta administratora.
  2. Czy odbieranie wiadomości wysłać przez ciebie na skrypcie logowania te wiadomości w jakimś pliku, aby sprawdzić?
  3. Na swoim koncie ma fb strona daje pewne ostrzeżenie, jak Twoja strona nie jest odbioru wiad. Jeśli nie, to msg został pomyślnie wysłany do Ciebie problem leży w odpowiedzi.
  4. Upewnij się, że żeton został utworzony podczas tworzenia webhook umieszczony jest poprawna.
  5. Czy kopiowane wygenerowany token.

Również plz wysłać kod.

Odpowiedział 18/06/2016 o 19:24
źródło użytkownik

głosy
0

Miałem ten sam problem, odpowiedź była, że ​​mój serwer WWW został przekierowuje żądanie (było dodanie ukośnika na końcu adresu URL).

Odpowiedział 11/09/2016 o 11:14
źródło użytkownik

głosy
0

1-upewnij się, że cURL jest poprawnie zainstalowane w komputerze
2-spróbuj wysłać go ręcznie przy użyciu tego kodu poniżej w terminalu, należy umieścić żeton dostępu i identyfikator odbiorcy. I hade ten sam problem jak ty .although miałem Curl zainstalowany w moim komputerze (Windows) nie wyśle żądanie .Przy zmieniłem na linux to działało dobrze.
Spróbuj.

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"
Odpowiedział 18/02/2017 o 16:30
źródło użytkownik

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