Ho visto un paio di giorni fa this tutorial on youtube. È stato molto interessante, quindi ho deciso di creare un proprio robot. Ho usato il codice dal tutorial come modello:Crea il proprio bot su telegramma con php
<?php
$bottoken = "*****";
$website = "https://api.telegram.org/bot".$bottoken;
$update = file_get_contents('php://input');
$updatearray = json_decode($update, TRUE);
$length = count($updatearray["result"]);
$chatid = $updatearray["result"][$length-1]["message"]["chat"]["id"];
$text = $updatearray["result"][$length-1]["message"]["text"];
if($text == 'hy'){
file_get_contents($website."/sendmessage?chat_id=".$chatid."&text=hello");
}
elseif($text == 'ciao'){
file_get_contents($website."/sendmessage?chat_id=".$chatid."&text=bye");
}
Lo script ha funzionato se eseguo manualmente lo script. Tuttavia quando uso il webhook non funziona più. Il tutorial diceva che $update = file_get_contents('php://input');
è il modo giusto, da utilizzare prima dello $update = file_get_contents($website."/getupdates");
. La mia domanda: come posso usare lo php://input
per eseguire automaticamente il mio script? Lo script è su un server di "one.com" e anche il certificato è di "one.com".
Giusto per chiarire, hai impostato l'indirizzo web per il webhook e hai inserito il tuo codice all'interno del file index.php in quella cartella (il tuo server)? – fiz
Potrebbe anche essere possibile che il certificato non sia tra quelli di fiducia per Telegram (Se ricordo bene, usano l'elenco in Debian Lenny) –
Pensi che potrebbe ancora essere un problema di certificato? Vedi il mio commento qui sotto: Ho usato due certificati diversi (ufficiali/di terze parti) senza alcun risultato. Ho provato entrambi su PHP 5.6 e PHP 7. Qualche idea per una soluzione? – SJDS