2017-02-05 11 views
1

Ich bin mit dem Schreiben eines eigenen Bot für Telgramm mit hook.io, um das PHP-Skript hosten. Das Problem, das ich habe, ist, dass file_get_contents („php: // input“) immer leer zu sein scheint, da der Bot reagiert nicht, wenn ich versuche, das Update im Zusammenhang nichts zu tun:PHP: // Eingabe ist leer

$updates = json_decode(file_get_contents('php://input') ,true); 

if($updates['ok']){ 

    //loop over all messages 
    foreach($updates['result'] as $key => $value){ 
    if($value['message']['text']==="/test"){ 
     $chat_id = $value['message']['chat']['id']; 
     $result = file_get_contents($apiURL . $apiToken . '/sendMessage?chat_id=' . $chat_id . '&text=test'); 
    } 
    } 

} 

Kann jemand sagen, Was ist falsch mit diesem?

+0

versuchen Sie POST auf Ihrem Backend zu tun? Wenn es nicht die Anfrage eines Telegramms ist: // Eingabe trotzdem leer? –

Antwort

2

ich auf diese Weise korrigiert:

$updates = json_decode(file_get_contents('php://input') ,true); 

if($updates['update_id']){ 

if($updates['message']['text']==="/test"){ 
    $chat_id = $updates['message']['chat']['id']; 
    $result = file_get_contents($apiURL . $apiToken . '/sendMessage?chat_id=' . $chat_id . '&text=test'); 
} 
} 

die Nachricht immer eins ist, so löschte ich die foreach

+0

Danke Ich habe nicht daran gedacht. Außerdem habe ich herausgefunden, dass Hook.io den Inhalt von 'php: \\ input' löscht und in das $ Hook-Array einfügt. – Curunir