function getUpdates($telegram) { date_default_timezone_set('Europe/Rome'); $today = date("Y-m-d H:i:s"); $update_manager = new mainloop(); // Get all the new updates and set the new correct update_id $req = $telegram->getUpdates(); for ($i = 0; $i < $telegram->UpdateCount(); $i++) { // You NEED to call serveUpdate before accessing the values of message in Telegram Class $telegram->serveUpdate($i); $text = $telegram->Text(); $chat_id = $telegram->ChatID(); $user_id = $telegram->User_id(); $location = $telegram->Location(); $reply_to_msg = $telegram->ReplyToMessage(); $update_manager->shell($telegram, $text, $chat_id, $user_id, $location, $reply_to_msg); } }
//hookremove per rimuovere il link di webhook //getupdates per eseguzione a polling (con cron o manualmente) //e non si imposta il primo paramentro da shell si assume di avere impostato il webhook e di utilizzare quello include 'settings_t.php'; include 'getUpdates.php'; //istanzia oggetto Telegram $bot_id = TELEGRAM_BOT; $bot = new Telegram($bot_id); //valuta se l'interfaccia è di tipo CLI per vedere il parametro e settare o rimuovere il webhook e poi esce (se lanciato da riga di comando) if (php_sapi_name() == 'cli') { if ($argv[1] == 'sethook') { //setta il webhook $bot->setWebhook(BOT_WEBHOOK); } else { if ($argv[1] == 'removehook') { //rimuove il webhook $bot->removeWebhook(); } else { if ($argv[1] == 'getupdates') { //esegue il getupdates manuale getUpdates($bot); } } } exit; } //legge $bot->init(); $update = $bot->getData(); $update_manager = new mainloop(); $update_manager->start($bot, $update);