• 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

VPS Starter Arubacloud
0 głosów
269 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ź 169 wizyt
pytanie zadane 20 stycznia 2019 w Offtop przez skrooq Nowicjusz (140 p.)
0 głosów
1 odpowiedź 280 wizyt
pytanie zadane 25 grudnia 2020 w Python przez Bakkit Dyskutant (7,600 p.)
+3 głosów
1 odpowiedź 295 wizyt
pytanie zadane 1 października 2017 w Inne języki przez Anoonymous Obywatel (1,560 p.)

92,417 zapytań

141,222 odpowiedzi

318,984 komentarzy

61,831 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...