Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // recupero il contenuto inviato da Telegram
- $content = file_get_contents("php://input");
- // converto il contenuto da JSON ad array PHP
- $update = json_decode($content, true);
- // se la richiesta è null interrompo lo script
- if(!$update)
- {
- exit;
- }
- // assegno alle seguenti variabili il contenuto ricevuto da Telegram
- $message = isset($update['message']) ? $update['message'] : "";
- $messageId = isset($message['message_id']) ? $message['message_id'] : "";
- $chatId = isset($message['chat']['id']) ? $message['chat']['id'] : "";
- $firstname = isset($message['from']['first_name']) ? $message['from']['first_name'] : "";
- $lastname = isset($message['chat']['last_name']) ? $message['chat']['last_name'] : "";
- $username = isset($message['chat']['username']) ? $message['chat']['username'] : "";
- $date = isset($message['date']) ? $message['date'] : "";
- $text = isset($message['text']) ? $message['text'] : "";
- // pulisco il messaggio ricevuto togliendo eventuali spazi prima e dopo il testo
- $text = trim($text);
- // converto tutti i caratteri alfanumerici del messaggio in minuscolo
- $text = strtolower($text);
- // mi preparo a restitutire al chiamante la mia risposta che è un oggetto JSON
- // imposto l'header della risposta
- header("Content-Type: application/json");
- // echo json_encode(array('chat_id' => $chatId, "text" => "Ho ricevuto firstname [$firstname] e ho ricevuto questi dati:\n".print_r($update, true), "method" => "sendMessage")); exit();
- $response = '';
- //INSERIRE QUI LA LOGICA DEL BOT
- if (strpos($text, "!") === 0) {
- if(strpos(!$text, "!start") === 0 || $text=="!ciao")
- {
- $response = "Ciao $firstname, benvenuto!";
- }
- elseif($text=="!domanda 1")
- {
- $response = "risposta 1";
- }
- elseif($text=="!domanda 2")
- {
- $response = "risposta 2";
- }
- elseif(trim($text) == "!quote")
- {
- //inserire query php per quote
- //////////////////////////////////////////////////////////////////////////////
- $servername = "localhost";
- $username = "lospaturno";
- $password = "stocazzo";
- $dbname = "my_lospaturno";
- // Create connection
- $conn = new mysqli($servername, $username, $password, $dbname);
- // Check connection
- if ($conn->connect_error) {
- die("Connection failed: " . $conn->connect_error);
- }
- $sql = "SELECT quote, user FROM quote ORDER BY RAND() LIMIT 1;";
- $result = $conn->query($sql);
- while ($row = $result->fetch_assoc()) {
- $response.= "\"".$row["quote"]."\" (added by ".$row["user"].")";
- }
- $conn->close();
- }
- // se inizia per quote (ma con la condizione precedente è escluso che sia solo quote)
- elseif (strpos($text, "!quote ") === 0 ) {
- //elabora la chiave di ricerca trimmando e poi splittando dove c'è il primo spazio
- $text=trim("$text");
- list($comando, $search) = split(" ", $text, 2);
- $servername = "localhost";
- $username = "lospaturno";
- $password = "stocazzo";
- $dbname = "my_lospaturno";
- // Create connection
- $conn = new mysqli($servername, $username, $password, $dbname);
- // Check connection
- if ($conn->connect_error) {
- die("Connection failed: " . $conn->connect_error);
- }
- $sql = "SELECT quote, user FROM quote WHERE quote LIKE '%$search%' ORDER BY RAND() LIMIT 1 ";
- $result = $conn->query($sql);
- if (mysqli_num_rows($result)=== 0) {
- $response = "Nessuna citazione trovata con quella parola";
- }
- else {
- while ($row = $result->fetch_assoc()) {
- $response.= "\"".$row["quote"]."\" (added by ".$row["user"].")";
- }
- }
- $conn->close();
- }
- //////////////////////////////////////////////////////////////////////////////
- //codice per aggiungere i quote
- elseif (strpos($text, "!addquote ") === 0 ) {
- $text=trim("$text");
- list($comando, $frase) = split(" ", $text, 2);
- $servername = "localhost";
- $username = "lospaturno";
- $password = "stocazzo";
- $dbname = "my_lospaturno";
- // Create connection
- $conn = new mysqli($servername, $username, $password, $dbname);
- // Check connection
- if ($conn->connect_error) {
- die("Connection failed: " . $conn->connect_error);
- }
- $stmt = $conn->prepare("INSERT INTO quote (quote, name) VALUES (?,?)");
- $stmt->bind_param("ss", $frase, $firstname);
- $risultatoquery = $stmt->execute();
- if($risultatoquery == true) {
- $response = "questa me la segno";
- } else {
- $response = "eh? non ho capito";
- }
- $stmt->close();
- $conn->close();
- }
- else
- {
- $response = "Comando non valido!";
- }
- }
- elseif($text=="chi?") {
- $response = "Stocazzo!";
- }
- // la mia risposta è un array JSON composto da chat_id, text, method
- // chat_id mi consente di rispondere allo specifico utente che ha scritto al bot
- // text è il testo della risposta
- $parameters = array('chat_id' => $chatId, "text" => $response);
- // method è il metodo per l'invio di un messaggio (cfr. API di Telegram)
- $parameters["method"] = "sendMessage";
- // converto e stampo l'array JSON sulla response
- echo json_encode($parameters);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement