-
-
Save salvatorecordiano/873c48328f91c459865632cf62e035bb to your computer and use it in GitHub Desktop.
<?php | |
$content = file_get_contents("php://input"); | |
$update = json_decode($content, true); | |
if(!$update) | |
{ | |
exit; | |
} | |
$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['chat']['first_name']) ? $message['chat']['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'] : ""; | |
$response = ''; | |
if(isset($message['text'])) | |
{ | |
$response = "Ho ricevuto il seguente messaggio di testo: " . $message['text']; | |
} | |
elseif(isset($message['audio'])) | |
{ | |
$response = "Ho ricevuto un messaggio audio"; | |
} | |
elseif(isset($message['document'])) | |
{ | |
$response = "Ho ricevuto un messaggio document"; | |
} | |
elseif(isset($message['photo'])) | |
{ | |
$response = "Ho ricevuto un messaggio photo"; | |
} | |
elseif(isset($message['sticker'])) | |
{ | |
$response = "Ho ricevuto un messaggio sticker"; | |
} | |
elseif(isset($message['video'])) | |
{ | |
$response = "Ho ricevuto un messaggio video"; | |
} | |
elseif(isset($message['voice'])) | |
{ | |
$response = "Ho ricevuto un messaggio voice"; | |
} | |
elseif(isset($message['contact'])) | |
{ | |
$response = "Ho ricevuto un messaggio contact"; | |
} | |
elseif(isset($message['location'])) | |
{ | |
$response = "Ho ricevuto un messaggio location"; | |
} | |
elseif(isset($message['venue'])) | |
{ | |
$response = "Ho ricevuto un messaggio venue"; | |
} | |
else | |
{ | |
$response = "Ho ricevuto un messaggio ?"; | |
} | |
header("Content-Type: application/json"); | |
$parameters = array('chat_id' => $chatId, "text" => $response); | |
$parameters["method"] = "sendMessage"; | |
echo json_encode($parameters); |
Salve, sono proprio un neofita in materia ma la trovo molto interessante. Spero non sia una domanda stupida ma non sono riuscito a trovare esempi.
Secondo lei è possibile fare in modo che un bot restituisca un valore contenuto in un file/tabella a seconda della richiesta ?
Mi spiego meglio, digito il nome di una persona e mi viene restituito l'indirizzo.
Grazie
Paolo
@cpaolo si. fai un array dalla tabella e usa l'indice dato dall'utente per prelevare il valore voluto.
$tabella = array(
0 => "via canini",
1 => "corso virtuale",
2 => "strada bona"
// etc
);
Ciao. Ho intenzione di fare un piccolo bot che funge da "amministratore" di un gruppo. In particolare questo bot, quando un utente entra nel gruppo, scrivere un messaggio come "benvenuto 'nome utente' nel gruppo, invia il comando '/ciao' entro 5 minuti, altrimenti verrai preventivamente cacciato dal gruppo come sospetto bot'. Quindi vorrei che l utente che entro x minuti dalla sua entrata non invia alcun comando, venga kickato dal gruppo (ovviamente il bot in questione avrà poteri di ammistrazione, mi sembra si possano dare ai bot giusto?). Che funzioni dovrei usare e come dovrei usarle per fare questa cosa? La vorrei fare per dei gruppi che ultimamente sono invasi da profili bot che spammano dei siti poco attinenti agli argomenti dei gruppi in questione
grazie in anticipo
Ciao, grazie per il tuo aiuto.
Potresti anche condividere codice per vb.net o asp.net?
Lo stesso che hai già condiviso per PHP, cioè gestite getUpdates e nel caso si tratti di una immagine.un file, un video ecc. salvarlo su server (oppure su pc).
Grazie
perchè a me non va più?
Ciao Salvatore,
volevo chiederti come fare per ottenere latitudine e longitudine ed eventualmente il numero di telefono.
Inoltre ho notato che le variabili già da te settate non riesco ad inserirle nel messaggio di benvenuto.
$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['chat']['first_name']) ? $message['chat']['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'] : "";
$user_id = isset($message['user_id']) ? $message['user_id'] : "";
$phone_number = isset($message['chat']['phone_number']) ? $message['chat']['phone_number'] : "";
$location=$message['chat']['location'];
$text = trim($text);
$text = strtolower($text);
Se scrivo
if(strpos($text, "/start") === 0 || $text=="ciao")
{
$tastiera=0;
$response = "Ciao $firstname $lastname il tuo username è $username";
}
mi da il nome, il cognome ma non la username.
Da che può dipendere? E per la latitdine e longitudine come funziona?
Grazie mille anticipatamente.