/**
* Download file
*
* @param Entities\File $file
*
* @return boolean
*/
public static function downloadFile(File $file)
{
$path = $file->getFilePath();
//Create the directory
$loc_path = self::$telegram->getDownloadPath() . '/' . $path;
$dirname = dirname($loc_path);
if (!is_dir($dirname) && !mkdir($dirname, 0755, true)) {
throw new TelegramException('Directory ' . $dirname . ' can\'t be created');
}
$debug_handle = TelegramLog::getDebugLogTempStream();
try {
$response = self::$client->get('/file/bot' . self::$telegram->getApiKey() . '/' . $path, ['debug' => $debug_handle, 'sink' => $loc_path]);
} catch (RequestException $e) {
throw new TelegramException($e->getMessage());
} finally {
//Logging verbose debug output
TelegramLog::endDebugLogTempStream("Verbose HTTP File Download Request output:\n%s\n");
}
return filesize($loc_path) > 0;
}