• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Bot na facebook nie działa tak jak powinien

Object Storage Arubacloud
0 głosów
271 wizyt
pytanie zadane 24 stycznia 2018 w PHP przez ShadoWs Bywalec (2,800 p.)
edycja 24 stycznia 2018 przez ShadoWs

Witam ogarniam sobie z tym poradnikiem bota https://devcorner.pl/zbudowac-chatbota-dla-messengera-php-…/ i mam problem. Bot odpisuje tylko jak piszę z konta z którego go stworzyłem. Znajomy jak coś pisze to mu nie odpisuje a wiadomość leci do skrzynki odbiorczej :( Co może być nie tak tutaj może ten kod jest zły. Dzięki z góry za rady :)

<?php

    $verify_token = "WixBot";

    $hub_verify_token = null;
    if(isset($_REQUEST['hub_challenge'])) {
        $challenge = $_REQUEST['hub_challenge'];
        $hub_verify_token = $_REQUEST['hub_verify_token'];
    }
    if ($hub_verify_token === $verify_token) {
        echo $challenge;
    }

$access_token = "xsxsxsxsxs";

$input = json_decode(file_get_contents('php://input'), true);
$sender = $input['entry'][0]['messaging'][0]['sender']['id'];
$message = $input['entry'][0]['messaging'][0]['message']['text'];
$message_to_reply = '';

$user_info_url = "https://graph.facebook.com/v2.6/".$sender."?fields=first_name,last_name,profile_pic,locale,timezone,gender&access_token=".$access_token;
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $user_info_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);

curl_close ($ch);

$user = json_decode($result);

if(preg_match('[cześć|dzień dobry|witam|hej]', strtolower($message))) {
    $array = ['Dzień dobry', 'Witam', 'Cześć', 'Hej'];
    $message_to_reply = $array[array_rand($array)]." ".$user->first_name;

    $jsonData = '{
        "recipient":{
            "id":"'.$sender.'"
        },
        "message":{
            "text":"'.$message_to_reply.'"
        }
    }';
}
 else {
    $message_to_reply = 'Nie rozumiem. Co masz na myśli?';

    $jsonData = '{
        "recipient":{
            "id":"'.$sender.'"
        },
        "message":{
            "text":"'.$message_to_reply.'"
        }
    }';
}


$url = 'https://graph.facebook.com/v2.6/me/messages?access_token='.$access_token;
$ch = curl_init($url);


// informujemy cURL, że chcemy przesłać żądanie POST.
curl_setopt($ch, CURLOPT_POST, 1);
// dodajemy zakodowany JSON string do POST.
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
// ustawiamy content type na application/json
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

// wykonaj żądanie
if(!empty($input['entry'][0]['messaging'][0]['message'])){
    $result = curl_exec($ch);
}

?>

 

komentarz 24 stycznia 2018 przez niezalogowany
Myślisz, że potrafimy wywróżyć twój kod z fusów? Bo na jakiej innej zasadzie możemy stwierdzić co jest nie tak w TWOIM kodzie? Wrzuć kod to wtedy zobaczymy...
komentarz 24 stycznia 2018 przez ShadoWs Bywalec (2,800 p.)
edycja 24 stycznia 2018 przez ShadoWs
Kod jest jota w jote taki jak w poradniku zmieniony jest token. Kod już dołączony
komentarz 24 stycznia 2018 przez niezalogowany

Nie wiem czy to mądrze jest wrzucać publicznie kod weryfikacyjny z API, radziłbym ci go unieważnić

Czy to taki copy-paste tylko ze zmianą tokenu to nie wiem, diff mówi co innego:

*** webhook.php	2017-02-21 21:14:22.000000000 +0100
--- pi.php	2018-01-24 19:36:10.882904961 +0100
***************
*** 1,56 ****
! <?php
! 
!     $verify_token = "devcorner";
! 
!     $hub_verify_token = null;
!     if(isset($_REQUEST['hub_challenge'])) {
!         $challenge = $_REQUEST['hub_challenge'];
!         $hub_verify_token = $_REQUEST['hub_verify_token'];
!     }
!     if ($hub_verify_token === $verify_token) {
!         echo $challenge;
!     }
! 
! 
! $access_token = "twój kod weryfikacyjny tutaj";
! 
! $input = json_decode(file_get_contents('php://input'), true);
! $sender = $input['entry'][0]['messaging'][0]['sender']['id'];
! $message = $input['entry'][0]['messaging'][0]['message']['text'];
! $message_to_reply = '';
! 
! if(preg_match('[cześć|dzień dobry|witam]', strtolower($message))) {
!     $array = ['Dzień dobry', 'Witam', 'Cześć', 'Hej'];
!     $message_to_reply = $array[array_rand($array)];
! }
!  else {
!     $message_to_reply = 'Nie rozumiem. Co masz na myśli?';
! }
! 
! 
! $url = 'https://graph.facebook.com/v2.6/me/messages?access_token='.$access_token;
! $ch = curl_init($url);
! 
! $jsonData = '{
!     "recipient":{
!         "id":"'.$sender.'"
!     },
!     "message":{
!         "text":"'.$message_to_reply.'"
!     }
! }';
! 
! 
! // informujemy cURL, że chcemy przesłać żądanie POST.
! curl_setopt($ch, CURLOPT_POST, 1);
! // dodajemy zakodowany JSON string do POST.
! curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
! // ustawiamy content type na application/json
! curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
! 
! // wykonaj żądanie
! if(!empty($input['entry'][0]['messaging'][0]['message'])){
!     $result = curl_exec($ch);
! }
! 
! ?>
--- 1,76 ----
! <?php
!  
!     $verify_token = "WixBot";
!  
!     $hub_verify_token = null;
!     if(isset($_REQUEST['hub_challenge'])) {
!         $challenge = $_REQUEST['hub_challenge'];
!         $hub_verify_token = $_REQUEST['hub_verify_token'];
!     }
!     if ($hub_verify_token === $verify_token) {
!         echo $challenge;
!     }
!  
! $access_token = "EAACSHBUbs6K4KN7O1eFzIXEEl6MCtdRHwTXtHjCVKA3zdjYtRWqQCC81CnB7PBZAoxJB68KV1bY3lPSh1KuMhoTh4MrB1malP6HDFD9LgFhsHtdLB8qis1eaMoE8RQZDZD";
!  
! $input = json_decode(file_get_contents('php://input'), true);
! $sender = $input['entry'][0]['messaging'][0]['sender']['id'];
! $message = $input['entry'][0]['messaging'][0]['message']['text'];
! $message_to_reply = '';
!  
! $user_info_url = "https://graph.facebook.com/v2.6/".$sender."?fields=first_name,last_name,profile_pic,locale,timezone,gender&access_token=".$access_token;
! $ch = curl_init();
!  
! curl_setopt($ch, CURLOPT_URL, $user_info_url);
! curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
!  
! $result = curl_exec($ch);
!  
! curl_close ($ch);
!  
! $user = json_decode($result);
!  
! if(preg_match('[cześć|dzień dobry|witam|hej]', strtolower($message))) {
!     $array = ['Dzień dobry', 'Witam', 'Cześć', 'Hej'];
!     $message_to_reply = $array[array_rand($array)]." ".$user->first_name;
!  
!     $jsonData = '{
!         "recipient":{
!             "id":"'.$sender.'"
!         },
!         "message":{
!             "text":"'.$message_to_reply.'"
!         }
!     }';
! }
!  else {
!     $message_to_reply = 'Nie rozumiem. Co masz na myśli?';
!  
!     $jsonData = '{
!         "recipient":{
!             "id":"'.$sender.'"
!         },
!         "message":{
!             "text":"'.$message_to_reply.'"
!         }
!     }';
! }
!  
!  
! $url = 'https://graph.facebook.com/v2.6/me/messages?access_token='.$access_token;
! $ch = curl_init($url);
!  
!  
! // informujemy cURL, że chcemy przesłać żądanie POST.
! curl_setopt($ch, CURLOPT_POST, 1);
! // dodajemy zakodowany JSON string do POST.
! curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
! // ustawiamy content type na application/json
! curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
!  
! // wykonaj żądanie
! if(!empty($input['entry'][0]['messaging'][0]['message'])){
!     $result = curl_exec($ch);
! }
!  
! ?>
\ No newline at end of file

 

komentarz 24 stycznia 2018 przez ShadoWs Bywalec (2,800 p.)
edycja 24 stycznia 2018 przez ShadoWs
Token jest inny :D Ten kod co teraz mam jest poprawiony przez autora znajduje się w 3 części poradnika. To coś chyba z fb musi być bo bot działa ale tylko dla mnie reszcza idzie do szkrzynki

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 171 wizyt
pytanie zadane 20 stycznia 2019 w Offtop przez skrooq Nowicjusz (140 p.)
0 głosów
1 odpowiedź 299 wizyt
pytanie zadane 25 grudnia 2020 w Python przez Bakkit Dyskutant (7,600 p.)
+3 głosów
1 odpowiedź 297 wizyt
pytanie zadane 1 października 2017 w Inne języki przez Anoonymous Obywatel (1,560 p.)

92,554 zapytań

141,399 odpowiedzi

319,535 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...