90-debug.php
1<?php
2// Risponde "debug!" a qualsiasi cosa.
3// Questo programma usa la libreria cURL [1] per fare le richieste.
4// Il proramma scrive in un file sia i dati della richiesta di cURL
5// ATTENZIONE: il file usato (ad esempio 'debug.txt')
6// deve esistere ed essere scrivibile da parte di PHP
7
8$botToken = "metti_qui_il_tuo_id";
9$sitoApi = "https://api.telegram.org/bot" . $botToken;
10$contentutoRichiesta = file_get_contents("php://input");
11$messaggioRicevuto = json_decode($contentutoRichiesta, true);
12
13$filePerDebug = 'debug.txt';
14// se il file non esiste per crearlo (o per cancellarne il contenuto)
15// echo -n "" > debug.txt
16// per renderelo scrivibile da tutti [2]
17// chmod a+w debug.txt
18
19$chatId=$messaggioRicevuto['message']['chat']['id'];
20
21sendMessage($chatId,"debug!");
22
23function sendMessage($chatId, $testo){
24 $url=$GLOBALS['sitoApi']
25 ."/sendMessage?chat_id=$chatId&parse_mode=HTML&text="
26 .urlencode($testo);
27
28 // l'istruzione qui sotto scrive nel file degli errori del server web
29 error_log("Provo a chiamare la URL $url"); // [3]
30
31 // https://www.php.net/manual/en/function.curl-init.php
32 $ch = curl_init();
33 curl_setopt($ch, CURLOPT_VERBOSE, 1); // solo per DEBUG
34 $fileDebug = fopen('debug.txt', 'w'); // solo per DEBUG
35 curl_setopt($ch, CURLOPT_STDERR, $fileDebug); // solo per DEBUG
36 // se è false il secondo parametro
37 // l'output di curl_exec() viene stampato (e non lo voglio)
38 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
39 // imposto la URL
40 curl_setopt($ch, CURLOPT_URL, $url);
41 $output = curl_exec($ch);
42 fwrite($fileDebug, "==================== RISPOSTA ====================\n");
43 fwrite($fileDebug, $output);
44 fwrite($fileDebug, "================= FINE RISPOSTA ==================\n");
45 fclose($fileDebug);
46}
47
2
qui allegramente ignoriamo problemi di sicurezza