client
TDL
Bases: BaseModel
Python SDK for the TDL (Telegram Downloader) CLI tool.
Provides a Pythonic interface to all tdl commands by wrapping the CLI binary via subprocess.
Example
Methods:
| Name | Description |
|---|---|
login |
Login to Telegram. |
backup |
Backup your data. |
recover |
Recover your data from a backup. |
migrate |
Migrate your current data to another storage. |
chat_ls |
List your chats. |
chat_export |
Export messages from (protected) chat for download. |
chat_users |
Export users from (protected) channels. |
download |
Download anything from Telegram (protected) chat. |
upload |
Upload anything to Telegram. |
forward |
Forward messages with automatic fallback and message routing. |
ext_install |
Install a tdl extension. |
ext_list |
List installed extension commands. |
ext_remove |
Remove an installed extension. |
ext_upgrade |
Upgrade a tdl extension. |
global_options
global_options: GlobalOptions = Field(
default_factory=GlobalOptions, description="Global options for all tdl commands."
)
timeout
timeout: float | None = Field(
default=None, description="Default timeout in seconds for all commands."
)
login
Login to Telegram.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
LoginOptions | None
|
Login options. Defaults to desktop login mode. |
None
|
backup
Backup your data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
BackupOptions | None
|
Backup options. |
None
|
recover
Recover your data from a backup.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
RecoverOptions
|
Recover options with the backup file path. |
required |
migrate
Migrate your current data to another storage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
MigrateOptions
|
Migrate options with destination storage config. |
required |
chat_ls
List your chats.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
ChatListOptions | None
|
Chat list options. |
None
|
chat_export
Export messages from (protected) chat for download.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
ChatExportOptions | None
|
Chat export options. |
None
|
Source code in src/tdl_sdk/_client.py
chat_users
Export users from (protected) channels.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
ChatUsersOptions
|
Chat users export options. |
required |
download
Download anything from Telegram (protected) chat.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
DownloadOptions | None
|
Download options. |
None
|
Source code in src/tdl_sdk/_client.py
upload
Upload anything to Telegram.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
UploadOptions
|
Upload options with paths to upload. |
required |
forward
Forward messages with automatic fallback and message routing.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
ForwardOptions
|
Forward options. |
required |
ext_install
Install a tdl extension.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Extension URL, e.g. github.com/user/tdl-ext-name. |
required |
|
ExtInstallOptions | None
|
Install options. |
None
|
Source code in src/tdl_sdk/_client.py
ext_list
List installed extension commands.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
ExtListOptions | None
|
List options. |
None
|
Source code in src/tdl_sdk/_client.py
ext_remove
Remove an installed extension.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Extension name to remove. |
required |
|
ExtRemoveOptions | None
|
Remove options. |
None
|
Source code in src/tdl_sdk/_client.py
ext_upgrade
Upgrade a tdl extension.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Extension name to upgrade. |
required |
|
ExtUpgradeOptions | None
|
Upgrade options. |
None
|