Come creare un telegram bot game, esempio in PHP

Tra le particolarità di telegram c’è anche la possibilità di utilizzare tramite dei Bot giochi realizzati in HTML5, questo articolo serve per vedere come creare un Telegram Bot Game in Php.
I giochi su telegram funzionano tramite bot telegram, quindi sfruttando un webhook e the BotFather.

Ho realizzato un semplicissimo “Hello Word” per vedere come funziona il webhook per i giochi:

 

Codice esempio per realizzare un Telegram Bot Game

 
define('BOT_TOKEN', '');
define('API_URL', 'https://api.telegram.org/bot'.BOT_TOKEN.'/');
$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'] : "";
header("Content-Type: application/json");
if(isset($update["callback_query"])) {
  $parameters["method"] = "answerCallbackQuery";
  $parameters["callback_query_id"] = $update["callback_query"]["id"];
  $parameters["url"] = "[url-game]";
  echo json_encode($parameters);
  
  die;
}
$parameters = array('chat_id' => $chatId);
$parameters["method"] = "sendGame";
$parameters["game_short_name"] = "[nome-gioco]";
echo json_encode($parameters);

Differenze con i bot telegram

A differenza degli altri bot, per poter utilizzare i giochi utilizzando le chiamate “sendGame” viene inviata tramite Json al Webhook una variabile “CallbackQuery”. In questo momento il mio il nostro Hook si aspetta un file Json impostato in questo modo:

{"method":"answerCallbackQuery","callback_query_id":"[la nostra variabile inviata tramite CallbackQuery]","url":"[il path assoluto del nostro gioco HTML5]"}

 

Indirizzi:

  • Esempio su github: link