mirror of
https://github.com/danog/tg-file-decoder.git
synced 2024-11-30 04:38:58 +01:00
1701 lines
24 KiB
Markdown
1701 lines
24 KiB
Markdown
# tg-file-decoder
|
|
|
|
[![Build Status](https://travis-ci.org/danog/tg-file-decoder.svg?branch=master)](https://travis-ci.org/danog/tg-file-decoder) [![Build status](https://ci.appveyor.com/api/projects/status/akmq8k33ojdn5vf0?svg=true)](https://ci.appveyor.com/project/danog/tg-file-decoder)
|
|
|
|
|
|
Decode [Telegram bot API file IDs](https://core.telegram.org).
|
|
|
|
## Install
|
|
|
|
```bash
|
|
composer require danog/tg-file-decoder
|
|
```
|
|
|
|
On 32-bit systems, [phpseclib](https://github.com/phpseclib/phpseclib) is also required.
|
|
|
|
## Examples:
|
|
|
|
### Decoding bot API file IDs
|
|
|
|
```php
|
|
use danog\Decoder\FileId;
|
|
use danog\Decoder\UniqueFileId;
|
|
|
|
$fileId = FileId::fromBotAPI('CAACAgQAAxkDAAJEsl44nl3yxPZ8biI8uhaA7rbQceOSAAKtAQACsTisUXvMEbVnTuQkGAQ');
|
|
|
|
$version = $fileId->getVersion(); // bot API file ID version, usually 4
|
|
$subVersion = $fileId->getSubVersion(); // bot API file ID subversion, equivalent to a specific tdlib version
|
|
|
|
$dcId = $fileId->getDcId(); // On which datacenter is this file stored
|
|
|
|
$type = $fileId->getType(); // File type
|
|
$typeName = $fileId->getTypeName(); // File type (as string)
|
|
|
|
$id = $fileId->getId();
|
|
$accessHash = $fileId->getAccessHash();
|
|
|
|
$fileReference = $fileId->getFileReference(); // File reference, https://core.telegram.org/api/file_reference
|
|
$url = $fileId->getUrl(); // URL, file IDs with encoded webLocation
|
|
|
|
// You can also use hasFileReference and hasUrl
|
|
$fileIdReencoded = $fileId->getBotAPI(); // CAACAgQAAxkDAAJEsl44nl3yxPZ8biI8uhaA7rbQceOSAAKtAQACsTisUXvMEbVnTuQkGAQ
|
|
$fileIdReencoded = (string) $fileId; // CAACAgQAAxkDAAJEsl44nl3yxPZ8biI8uhaA7rbQceOSAAKtAQACsTisUXvMEbVnTuQkGAQ
|
|
|
|
// For photos, thumbnails if ($fileId->getType() <= PHOTO)
|
|
$volumeId = $fileId->getVolumeID();
|
|
$localId = $fileId->getLocalID();
|
|
|
|
// if $fileId->hasPhotoSizeSource()
|
|
$photoSizeSource = $fileId->getPhotoSizeSource(); // PhotoSizeSource object
|
|
$photoSizeSource->getDialogId();
|
|
$photoSizeSource->getStickerSetId();
|
|
|
|
// And more, depending on photosize source
|
|
```
|
|
|
|
The bot API subversion, present since file IDs v4, is equivalent to the [version of tdlib](https://github.com/tdlib/td/blob/master/td/telegram/Version.h#L13) used server-side in the bot API.
|
|
|
|
For file types, see [file types](#bot-api-file-id-types).
|
|
For photosize source, see [here](#photosize-source).
|
|
|
|
### Decoding bot API unique file IDs
|
|
|
|
```php
|
|
$uniqueFileId = UniqueFileId::fromUniqueBotAPI('AgADrQEAArE4rFE');
|
|
|
|
$type = $fileId->getType(); // Unique file type
|
|
$typeName = $fileId->getTypeName(); // Unique file type (as string)
|
|
|
|
$id = $uniqueFileId->getId();
|
|
$accessHash = $uniqueFileId->getAccessHash();
|
|
$url = $uniqueFileId->getUrl(); // URL, for unique file IDs with encoded webLocation
|
|
// You can also use hasUrl
|
|
|
|
// For photos
|
|
$volumeId = $uniqueFileId->getVolumeID();
|
|
$localId = $uniqueFileId->getLocalID();
|
|
```
|
|
|
|
For unique file types, see [unique types](#bot-api-unique-file-id-types).
|
|
|
|
### Extracting unique file IDs from full file IDs
|
|
|
|
```php
|
|
$full = 'CAACAgQAAxkDAAJEsl44nl3yxPZ8biI8uhaA7rbQceOSAAKtAQACsTisUXvMEbVnTuQkGAQ';
|
|
$unique = 'AgADrQEAArE4rFE';
|
|
|
|
$fileId = FileId::fromBotAPI($full);
|
|
$uniqueFileId = UniqueFileId::fromUniqueBotAPI($unique);
|
|
$uniqueFileIdExtracted1 = UniqueFileId::fromBotAPI($full);
|
|
|
|
$uniqueFileIdExtracted2 = $fileId->getUniqueBotAPI();
|
|
|
|
var_dump(((string) $uniqueFileId) === ((string) $uniqueFileIdExtracted1)); // true, always AgADrQEAArE4rFE!
|
|
var_dump(((string) $uniqueFileId) === ((string) $uniqueFileIdExtracted2)); // true, always AgADrQEAArE4rFE!
|
|
```
|
|
|
|
### Photosize source
|
|
|
|
```php
|
|
$fileId = FileId::fromString('CAACAgQAAxkDAAJEsl44nl3yxPZ8biI8uhaA7rbQceOSAAKtAQACsTisUXvMEbVnTuQkGAQ');
|
|
|
|
$photoSizeSource = $fileId->getPhotoSizeSource(); // PhotoSizeSource object
|
|
|
|
$sourceType = $photoSizeSource->getType();
|
|
|
|
// If $sourceType === PHOTOSIZE_SOURCE_DIALOGPHOTO_SMALL|PHOTOSIZE_SOURCE_DIALOGPHOTO_SMALL or
|
|
// If $photoSizeSource instanceof PhotoSizeSourceDialogPhoto
|
|
$dialogId = $photoSizeSource->getDialogId();
|
|
$dialogId = $photoSizeSource->getStickerSetId();
|
|
```
|
|
|
|
The `PhotoSizeSource` abstract base class indicates the source of a specific photosize from a chat photo, photo, stickerset thumbnail, file thumbnail.
|
|
Each photosize type (`getType`) is mapped to a specific subclass of the `PhotoSizeSource` abstract class, returned when calling getPhotoSizeSource.
|
|
The photosize type is one of:
|
|
|
|
* `const PHOTOSIZE_SOURCE_LEGACY = 0` - Legacy, used for file IDs with the deprecated `secret` field, returns [PhotoSizeSourceLegacy](#photosizesourcelegacy) class.
|
|
* `const PHOTOSIZE_SOURCE_THUMBNAIL = 1` - Used for document and photo thumbnail, returns [PhotoSizeSourceThumbnail](#photosizesourcethumbnail) class.
|
|
* `const PHOTOSIZE_SOURCE_DIALOGPHOTO_SMALL = 2` - Used for dialog photos, returns [PhotoSizeSourceDialogPhoto](#photosizesourcedialogphoto) class.
|
|
* `const PHOTOSIZE_SOURCE_DIALOGPHOTO_BIG = 3` - Used for dialog photos, returns [PhotoSizeSourceDialogPhoto](#photosizesourcedialogphoto) class.
|
|
* `const PHOTOSIZE_SOURCE_STICKERSET_THUMBNAIL = 4` - Used for document and photo thumbnails, returns [PhotoSizeSourceThumbnail](#photosizesourcethumbnail) class.
|
|
|
|
### Building custom file IDs
|
|
|
|
```php
|
|
$fileId = new FileId;
|
|
|
|
$fileId->setType(STICKER);
|
|
$fileId->setId($id);
|
|
$fileId->setAccessHash($customHash);
|
|
|
|
// You get it...
|
|
|
|
$encoded = (string) $fileId; // CAACAgQAAxkDAAJEsl44nl3yxPZ8biI8uhaA7rbQceOSAAKtAQACsTisUXvMEbVnTuQkGAQ, or something
|
|
```
|
|
|
|
All classes, from [FileId](#fileid), to [UniqueFileID](#uniquefileid), to [PhotoSizeSource](PhotoSizeSourceDialogPhoto) can be built using `set` methods for each and every field.
|
|
|
|
### Bot API file ID types
|
|
|
|
The file type is a numeric constant indicating the type of file, (the constant is always in the `danog\Decoder` namespace).
|
|
The file type name is a string version of the file type, typically the one used in bot API file objects.
|
|
|
|
The `TYPES` array contains a `file type` => `file type name` map.
|
|
The `TYPES_IDS` array contains a `file type name` => `file type` map.
|
|
|
|
`const CONSTANTNAME = value` - Description (`type name`)
|
|
|
|
* `const THUMBNAIL = 0` - Thumbnail (`thumbnail`)
|
|
* `const PROFILE_PHOTO = 1` - Profile photo; used for users, supergroups and channels, chat photos are normal PHOTOs (`profile_photo`)
|
|
* `const PHOTO = 2` - Photo (`photo`)
|
|
* `const VOICE = 3` - Voice message (`voice`)
|
|
* `const VIDEO = 4` - Video (`video`)
|
|
* `const DOCUMENT = 5` - Document (`document`)
|
|
* `const ENCRYPTED = 6` - Secret chat document (`encrypted`)
|
|
* `const TEMP = 7` - Temp document (`temp`)
|
|
* `const STICKER = 8` - Sticker (`sticker`)
|
|
* `const AUDIO = 9` - Music (`audio`)
|
|
* `const ANIMATION = 10` - GIF (`animation`)
|
|
* `const ENCRYPTED_THUMBNAIL = 11` - Thumbnail of secret chat document (`encrypted_thumbnail`)
|
|
* `const WALLPAPER = 12` - Wallpaper (`wallpaper`)
|
|
* `const VIDEO_NOTE = 13` - Round video (`video_note`)
|
|
* `const SECURE_RAW = 14` - Passport raw file (`secure_raw`)
|
|
* `const SECURE = 15` - Passport file (`secure`)
|
|
* `const WALLPAPER = 16` - Background (`background`)
|
|
* `const WALLPAPER = 17` - Size (`size`)
|
|
* `const NONE = 18` -
|
|
|
|
### Bot API unique file ID types
|
|
|
|
The unique file type is a numeric constant indicating the type of the unique file ID, (the constant is always in the `danog\Decoder` namespace).
|
|
The unique file type name is a string version of the unique file type, typically the one used in bot API file objects.
|
|
|
|
|
|
The `UNIQUE_TYPES` array contains a `unique file type` => `unique file type name` map.
|
|
The `UNIQUE_TYPES_IDS` array contains a `unique file type name` => `unique file type` map.
|
|
The `FULL_UNIQUE_MAP` array contains a `full file type` => `unique file type` map.
|
|
|
|
* `const UNIQUE_WEB = 0` - Used for web files (all file types that have a URL (`hasUrl`))
|
|
* `const UNIQUE_PHOTO = 1` - Used for photos and similar (`getType() <= PHOTO`)
|
|
* `const UNIQUE_DOCUMENT = 2` - Used for all other types of files (documents, audio, video, voice, sticker, animation, video note)
|
|
* `const UNIQUE_SECURE = 3` - Used for passport files
|
|
* `const UNIQUE_ENCRYPTED = 4` - Used for secret chat files
|
|
* `const UNIQUE_TEMP = 5` - Used for temp files
|
|
|
|
## Full API documentation
|
|
|
|
* [FileId](#fileid) - Main file ID class
|
|
* [fromBotAPI](#frombotapi)
|
|
* [getBotAPI](#getbotapi)
|
|
* [getUnique](#getunique)
|
|
* [getVersion](#getversion)
|
|
* [setVersion](#setversion)
|
|
* [getSubVersion](#getsubversion)
|
|
* [setSubVersion](#setsubversion)
|
|
* [getType](#gettype)
|
|
* [getTypeName](#gettypename)
|
|
* [setType](#settype)
|
|
* [getFileReference](#getfilereference)
|
|
* [setFileReference](#setfilereference)
|
|
* [hasFileReference](#hasfilereference)
|
|
* [getUrl](#geturl)
|
|
* [hasUrl](#hasurl)
|
|
* [setUrl](#seturl)
|
|
* [getId](#getid)
|
|
* [setId](#setid)
|
|
* [hasId](#hasid)
|
|
* [getAccessHash](#getaccesshash)
|
|
* [setAccessHash](#setaccesshash)
|
|
* [getVolumeId](#getvolumeid)
|
|
* [setVolumeId](#setvolumeid)
|
|
* [hasVolumeId](#hasvolumeid)
|
|
* [getLocalId](#getlocalid)
|
|
* [setLocalId](#setlocalid)
|
|
* [hasLocalId](#haslocalid)
|
|
* [getPhotoSizeSource](#getphotosizesource)
|
|
* [setPhotoSizeSource](#setphotosizesource)
|
|
* [hasPhotoSizeSource](#hasphotosizesource)
|
|
* [getDcId](#getdcid)
|
|
* [setDcId](#setdcid)
|
|
* [PhotoSizeSourceDialogPhoto](#photosizesourcedialogphoto)
|
|
* [setType](#settype-1)
|
|
* [getDialogId](#getdialogid)
|
|
* [setDialogId](#setdialogid)
|
|
* [getDialogAccessHash](#getdialogaccesshash)
|
|
* [setDialogAccessHash](#setdialogaccesshash)
|
|
* [isSmallDialogPhoto](#issmalldialogphoto)
|
|
* [setDialogPhotoSmall](#setdialogphotosmall)
|
|
* [PhotoSizeSourceLegacy](#photosizesourcelegacy)
|
|
* [setType](#settype-2)
|
|
* [getSecret](#getsecret)
|
|
* [setSecret](#setsecret)
|
|
* [PhotoSizeSourceStickersetThumbnail](#photosizesourcestickersetthumbnail)
|
|
* [setType](#settype-3)
|
|
* [getStickerSetId](#getstickersetid)
|
|
* [setStickerSetId](#setstickersetid)
|
|
* [getStickerSetAccessHash](#getstickersetaccesshash)
|
|
* [setStickerSetAccessHash](#setstickersetaccesshash)
|
|
* [PhotoSizeSourceThumbnail](#photosizesourcethumbnail)
|
|
* [setType](#settype-4)
|
|
* [getThumbFileType](#getthumbfiletype)
|
|
* [getThumbFileTypeString](#getthumbfiletypestring)
|
|
* [setThumbFileType](#setthumbfiletype)
|
|
* [getThumbType](#getthumbtype)
|
|
* [setThumbType](#setthumbtype)
|
|
* [UniqueFileId](#uniquefileid)
|
|
* [__toString](#__tostring-1)
|
|
* [getUniqueBotAPI](#getuniquebotapi)
|
|
* [fromUniqueBotAPI](#fromuniquebotapi)
|
|
* [fromBotAPI](#frombotapi-1)
|
|
* [fromFileId](#fromfileid)
|
|
* [getTypeName](#gettypename-1)
|
|
* [getType](#gettype-1)
|
|
* [setType](#settype-5)
|
|
* [getId](#getid-1)
|
|
* [setId](#setid-1)
|
|
* [hasId](#hasid-1)
|
|
* [getVolumeId](#getvolumeid-1)
|
|
* [setVolumeId](#setvolumeid-1)
|
|
* [hasVolumeId](#hasvolumeid-1)
|
|
* [getLocalId](#getlocalid-1)
|
|
* [setLocalId](#setlocalid-1)
|
|
* [hasLocalId](#haslocalid-1)
|
|
* [getUrl](#geturl-1)
|
|
* [setUrl](#seturl-1)
|
|
* [hasUrl](#hasurl-1)
|
|
|
|
## FileId
|
|
|
|
Represents decoded bot API file ID.
|
|
|
|
|
|
* Full name: \danog\Decoder\FileId
|
|
|
|
|
|
### fromBotAPI
|
|
|
|
Decode file ID from bot API file ID.
|
|
|
|
```php
|
|
FileId::fromBotAPI( string $fileId ): self
|
|
```
|
|
|
|
|
|
|
|
* This method is **static**.
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$fileId` | **string** | File ID |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getBotAPI
|
|
|
|
Get bot API file ID.
|
|
|
|
```php
|
|
FileId::getBotAPI( ): string
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getUnique
|
|
|
|
Get unique file ID from file ID.
|
|
|
|
```php
|
|
FileId::getUnique( ): \danog\Decoder\UniqueFileId
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### __toString
|
|
|
|
Get bot API file ID.
|
|
|
|
```php
|
|
FileId::__toString( ): string
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getVersion
|
|
|
|
Get bot API file ID version.
|
|
|
|
```php
|
|
FileId::getVersion( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setVersion
|
|
|
|
Set bot API file ID version.
|
|
|
|
```php
|
|
FileId::setVersion( integer $_version ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_version` | **integer** | Bot API file ID version. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getSubVersion
|
|
|
|
Get bot API file ID subversion.
|
|
|
|
```php
|
|
FileId::getSubVersion( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setSubVersion
|
|
|
|
Set bot API file ID subversion.
|
|
|
|
```php
|
|
FileId::setSubVersion( integer $_subVersion ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_subVersion` | **integer** | Bot API file ID subversion. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getType
|
|
|
|
Get file type.
|
|
|
|
```php
|
|
FileId::getType( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getTypeName
|
|
|
|
Get file type as string.
|
|
|
|
```php
|
|
FileId::getTypeName( ): string
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setType
|
|
|
|
Set file type.
|
|
|
|
```php
|
|
FileId::setType( integer $_type ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_type` | **integer** | File type. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getFileReference
|
|
|
|
Get file reference.
|
|
|
|
```php
|
|
FileId::getFileReference( ): string
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setFileReference
|
|
|
|
Set file reference.
|
|
|
|
```php
|
|
FileId::setFileReference( string $_fileReference ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_fileReference` | **string** | File reference. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### hasFileReference
|
|
|
|
Check if has file reference.
|
|
|
|
```php
|
|
FileId::hasFileReference( ): boolean
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getUrl
|
|
|
|
Get file URL for weblocation.
|
|
|
|
```php
|
|
FileId::getUrl( ): string
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### hasUrl
|
|
|
|
Check if has file URL.
|
|
|
|
```php
|
|
FileId::hasUrl( ): boolean
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setUrl
|
|
|
|
Set file URL for weblocation.
|
|
|
|
```php
|
|
FileId::setUrl( string $_url ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_url` | **string** | File URL for weblocation. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getId
|
|
|
|
Get file id.
|
|
|
|
```php
|
|
FileId::getId( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setId
|
|
|
|
Set file id.
|
|
|
|
```php
|
|
FileId::setId( integer $_id ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_id` | **integer** | File id. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### hasId
|
|
|
|
Check if has file id.
|
|
|
|
```php
|
|
FileId::hasId( ): boolean
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getAccessHash
|
|
|
|
Get file access hash.
|
|
|
|
```php
|
|
FileId::getAccessHash( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setAccessHash
|
|
|
|
Set file access hash.
|
|
|
|
```php
|
|
FileId::setAccessHash( integer $_accessHash ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_accessHash` | **integer** | File access hash. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getVolumeId
|
|
|
|
Get photo volume ID.
|
|
|
|
```php
|
|
FileId::getVolumeId( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setVolumeId
|
|
|
|
Set photo volume ID.
|
|
|
|
```php
|
|
FileId::setVolumeId( integer $_volumeId ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_volumeId` | **integer** | Photo volume ID. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### hasVolumeId
|
|
|
|
Check if has volume ID.
|
|
|
|
```php
|
|
FileId::hasVolumeId( ): boolean
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getLocalId
|
|
|
|
Get photo local ID.
|
|
|
|
```php
|
|
FileId::getLocalId( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setLocalId
|
|
|
|
Set photo local ID.
|
|
|
|
```php
|
|
FileId::setLocalId( integer $_localId ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_localId` | **integer** | Photo local ID. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### hasLocalId
|
|
|
|
Check if has local ID.
|
|
|
|
```php
|
|
FileId::hasLocalId( ): boolean
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getPhotoSizeSource
|
|
|
|
Get photo size source.
|
|
|
|
```php
|
|
FileId::getPhotoSizeSource( ): \danog\Decoder\PhotoSizeSource
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setPhotoSizeSource
|
|
|
|
Set photo size source.
|
|
|
|
```php
|
|
FileId::setPhotoSizeSource( \danog\Decoder\PhotoSizeSource $_photoSizeSource ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_photoSizeSource` | **\danog\Decoder\PhotoSizeSource** | Photo size source. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### hasPhotoSizeSource
|
|
|
|
Check if has photo size source.
|
|
|
|
```php
|
|
FileId::hasPhotoSizeSource( ): boolean
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getDcId
|
|
|
|
Get dC ID.
|
|
|
|
```php
|
|
FileId::getDcId( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setDcId
|
|
|
|
Set dC ID.
|
|
|
|
```php
|
|
FileId::setDcId( integer $_dcId ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_dcId` | **integer** | DC ID. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
## PhotoSizeSourceDialogPhoto
|
|
|
|
Represents source of photosize.
|
|
|
|
|
|
|
|
* Full name: \danog\Decoder\PhotoSizeSource\PhotoSizeSourceDialogPhoto
|
|
* Parent class: \danog\Decoder\PhotoSizeSource
|
|
|
|
|
|
### setType
|
|
|
|
Get photosize source type.
|
|
|
|
```php
|
|
PhotoSizeSourceDialogPhoto::setType( integer $type ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$type` | **integer** | Type |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getDialogId
|
|
|
|
Get dialog ID.
|
|
|
|
```php
|
|
PhotoSizeSourceDialogPhoto::getDialogId( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setDialogId
|
|
|
|
Set dialog ID.
|
|
|
|
```php
|
|
PhotoSizeSourceDialogPhoto::setDialogId( integer $id ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$id` | **integer** | Dialog ID |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getDialogAccessHash
|
|
|
|
Get access hash of dialog.
|
|
|
|
```php
|
|
PhotoSizeSourceDialogPhoto::getDialogAccessHash( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setDialogAccessHash
|
|
|
|
Set access hash of dialog.
|
|
|
|
```php
|
|
PhotoSizeSourceDialogPhoto::setDialogAccessHash( integer $dialogAccessHash ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$dialogAccessHash` | **integer** | Access hash of dialog |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### isSmallDialogPhoto
|
|
|
|
Get whether the big or small version of the photo is being used.
|
|
|
|
```php
|
|
PhotoSizeSourceDialogPhoto::isSmallDialogPhoto( ): boolean
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setDialogPhotoSmall
|
|
|
|
Set whether the big or small version of the photo is being used.
|
|
|
|
```php
|
|
PhotoSizeSourceDialogPhoto::setDialogPhotoSmall( boolean $_dialogPhotoSmall ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_dialogPhotoSmall` | **boolean** | Whether the big or small version of the photo is being used |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
## PhotoSizeSourceLegacy
|
|
|
|
Represents source of photosize.
|
|
|
|
|
|
|
|
* Full name: \danog\Decoder\PhotoSizeSource\PhotoSizeSourceLegacy
|
|
* Parent class: \danog\Decoder\PhotoSizeSource
|
|
|
|
|
|
### setType
|
|
|
|
Get photosize source type.
|
|
|
|
```php
|
|
PhotoSizeSourceLegacy::setType( integer $type ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$type` | **integer** | Type |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getSecret
|
|
|
|
Get secret legacy ID.
|
|
|
|
```php
|
|
PhotoSizeSourceLegacy::getSecret( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setSecret
|
|
|
|
Set secret legacy ID.
|
|
|
|
```php
|
|
PhotoSizeSourceLegacy::setSecret( integer $_secret ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_secret` | **integer** | Secret legacy ID |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
## PhotoSizeSourceStickersetThumbnail
|
|
|
|
Represents source of photosize.
|
|
|
|
|
|
|
|
* Full name: \danog\Decoder\PhotoSizeSource\PhotoSizeSourceStickersetThumbnail
|
|
* Parent class: \danog\Decoder\PhotoSizeSource
|
|
|
|
|
|
### setType
|
|
|
|
Get photosize source type.
|
|
|
|
```php
|
|
PhotoSizeSourceStickersetThumbnail::setType( integer $type ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$type` | **integer** | Type |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getStickerSetId
|
|
|
|
Get stickerset ID.
|
|
|
|
```php
|
|
PhotoSizeSourceStickersetThumbnail::getStickerSetId( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setStickerSetId
|
|
|
|
Set stickerset ID.
|
|
|
|
```php
|
|
PhotoSizeSourceStickersetThumbnail::setStickerSetId( integer $_stickerSetId ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_stickerSetId` | **integer** | Stickerset ID |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getStickerSetAccessHash
|
|
|
|
Get stickerset access hash.
|
|
|
|
```php
|
|
PhotoSizeSourceStickersetThumbnail::getStickerSetAccessHash( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setStickerSetAccessHash
|
|
|
|
Set stickerset access hash.
|
|
|
|
```php
|
|
PhotoSizeSourceStickersetThumbnail::setStickerSetAccessHash( integer $_stickerSetAccessHash ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_stickerSetAccessHash` | **integer** | Stickerset access hash |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
## PhotoSizeSourceThumbnail
|
|
|
|
Represents source of photosize.
|
|
|
|
|
|
|
|
* Full name: \danog\Decoder\PhotoSizeSource\PhotoSizeSourceThumbnail
|
|
* Parent class: \danog\Decoder\PhotoSizeSource
|
|
|
|
|
|
### setType
|
|
|
|
Get photosize source type.
|
|
|
|
```php
|
|
PhotoSizeSourceThumbnail::setType( integer $type ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$type` | **integer** | Type |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
### getThumbFileType
|
|
|
|
Get file type of original file.
|
|
|
|
```php
|
|
PhotoSizeSourceThumbnail::getThumbFileType( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getThumbFileTypeString
|
|
|
|
Get file type of original file as string.
|
|
|
|
```php
|
|
PhotoSizeSourceThumbnail::getThumbFileTypeString( ): string
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setThumbFileType
|
|
|
|
Set file type of original file.
|
|
|
|
```php
|
|
PhotoSizeSourceThumbnail::setThumbFileType( integer $_thumbFileType ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_thumbFileType` | **integer** | File type of original file |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getThumbType
|
|
|
|
Get thumbnail size.
|
|
|
|
```php
|
|
PhotoSizeSourceThumbnail::getThumbType( ): string
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setThumbType
|
|
|
|
Set thumbnail size.
|
|
|
|
```php
|
|
PhotoSizeSourceThumbnail::setThumbType( string $_thumbType ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_thumbType` | **string** | Thumbnail size |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
## UniqueFileId
|
|
|
|
Represents decoded unique bot API file ID.
|
|
|
|
|
|
|
|
* Full name: \danog\Decoder\UniqueFileId
|
|
|
|
|
|
### __toString
|
|
|
|
Get unique bot API file ID.
|
|
|
|
```php
|
|
UniqueFileId::__toString( ): string
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getUniqueBotAPI
|
|
|
|
Get unique bot API file ID.
|
|
|
|
```php
|
|
UniqueFileId::getUniqueBotAPI( ): string
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### fromUniqueBotAPI
|
|
|
|
Decode unique bot API file ID.
|
|
|
|
```php
|
|
UniqueFileId::fromUniqueBotAPI( string $fileId ): self
|
|
```
|
|
|
|
|
|
|
|
* This method is **static**.
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$fileId` | **string** | Bot API file ID |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### fromBotAPI
|
|
|
|
Convert full bot API file ID to unique file ID.
|
|
|
|
```php
|
|
UniqueFileId::fromBotAPI( string $fileId ): self
|
|
```
|
|
|
|
|
|
|
|
* This method is **static**.
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$fileId` | **string** | Full bot API file ID |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### fromFileId
|
|
|
|
Turn full file ID into unique file ID.
|
|
|
|
```php
|
|
UniqueFileId::fromFileId( \danog\Decoder\FileId $fileId ): self
|
|
```
|
|
|
|
|
|
|
|
* This method is **static**.
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$fileId` | **\danog\Decoder\FileId** | Full file ID |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getTypeName
|
|
|
|
Get unique file type as string.
|
|
|
|
```php
|
|
UniqueFileId::getTypeName( ): string
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getType
|
|
|
|
Get unique file type.
|
|
|
|
```php
|
|
UniqueFileId::getType( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setType
|
|
|
|
Set file type.
|
|
|
|
```php
|
|
UniqueFileId::setType( integer $_type ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_type` | **integer** | File type. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getId
|
|
|
|
Get file ID.
|
|
|
|
```php
|
|
UniqueFileId::getId( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setId
|
|
|
|
Set file ID.
|
|
|
|
```php
|
|
UniqueFileId::setId( integer $_id ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_id` | **integer** | File ID. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### hasId
|
|
|
|
Check if has ID.
|
|
|
|
```php
|
|
UniqueFileId::hasId( ): boolean
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getVolumeId
|
|
|
|
Get photo volume ID.
|
|
|
|
```php
|
|
UniqueFileId::getVolumeId( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setVolumeId
|
|
|
|
Set photo volume ID.
|
|
|
|
```php
|
|
UniqueFileId::setVolumeId( integer $_volumeId ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_volumeId` | **integer** | Photo volume ID. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### hasVolumeId
|
|
|
|
Check if has volume ID.
|
|
|
|
```php
|
|
UniqueFileId::hasVolumeId( ): boolean
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getLocalId
|
|
|
|
Get photo local ID.
|
|
|
|
```php
|
|
UniqueFileId::getLocalId( ): integer
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setLocalId
|
|
|
|
Set photo local ID.
|
|
|
|
```php
|
|
UniqueFileId::setLocalId( integer $_localId ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_localId` | **integer** | Photo local ID. |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### hasLocalId
|
|
|
|
Check if has local ID.
|
|
|
|
```php
|
|
UniqueFileId::hasLocalId( ): boolean
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### getUrl
|
|
|
|
Get weblocation URL.
|
|
|
|
```php
|
|
UniqueFileId::getUrl( ): string
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### setUrl
|
|
|
|
Set weblocation URL.
|
|
|
|
```php
|
|
UniqueFileId::setUrl( string $_url ): self
|
|
```
|
|
|
|
|
|
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|------|-------------|
|
|
| `$_url` | **string** | Weblocation URL |
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
### hasUrl
|
|
|
|
Check if has weblocation URL.
|
|
|
|
```php
|
|
UniqueFileId::hasUrl( ): boolean
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|