https://github.com/naxonm/tdl-gui
A simple GUI front for TDL
https://github.com/naxonm/tdl-gui
python tdl telegram
Last synced: 2 months ago
JSON representation
A simple GUI front for TDL
- Host: GitHub
- URL: https://github.com/naxonm/tdl-gui
- Owner: NaxonM
- Created: 2025-09-07T13:14:35.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-10-06T21:53:52.000Z (9 months ago)
- Last Synced: 2025-10-06T23:32:04.973Z (9 months ago)
- Topics: python, tdl, telegram
- Language: Python
- Homepage:
- Size: 754 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TDL GUI
A modern, feature-rich graphical user interface for the `tdl` command-line tool, built with PyQt6 for Windows.
This application provides an intuitive way to access the powerful features of `tdl` without needing to use the command line. It is designed to be user-friendly, robust, and self-sufficient.
## Features
- **Reliable `tdl` Installation**: The GUI automatically detects if `tdl` is missing and downloads the correct version for your system using a robust, native Python downloader.
- **Light & Dark Themes**: Automatically detects your system's theme and applies a modern, harmonious color scheme for excellent readability.
- **Comprehensive Download Tab**:
- Download from multiple message links or JSON files.
- Full control over advanced options like concurrency, file filtering, and naming templates.
- Collapsible "Advanced Options" section for a clean and compact layout.
- **Intuitive Export Tab**:
- A guided workflow to export message data from any chat.
- Filter by time range, message ID range, or the last N messages.
- **Full Account Management**:
- Automatically discovers all your logged-in `tdl` accounts (namespaces).
- Easily switch between accounts or log into new ones via the Settings dialog.
- **Hybrid Progress Display**:
- A "Live Downloads" area shows a separate progress bar for each channel you are downloading from.
- The main status bar displays the total, aggregate progress and live stats (speed, ETA) for the entire download batch.
- **Robust Error & Process Handling**:
- A configurable command timeout prevents the application from hanging on stalled processes.
- Gracefully stops background tasks when the application is closed.
- Provides a "Reset All Data" option in the settings to safely clear all `tdl` login sessions and data.
## Requirements
- Windows 10 or newer.
- Python 3.8+
## How to Use
Simply double-click the **`start.bat`** file to launch the application.
The script is intelligent and will handle the setup for you:
- If you already have the required `PyQt6` library installed on your system, the application will start immediately.
- If `PyQt6` is missing, the script will prompt you to automatically create a local, sandboxed environment and install it. Just follow the on-screen instructions.
## Development & Testing
To contribute to development, you'll need to install the testing dependencies:
```bash
pip install -r requirements-dev.txt
```
You can run the full test suite using `pytest`:
```bash
pytest
```
This project uses `ruff` for linting and formatting. You can check the code for issues with:
```bash
ruff check .
```
To automatically fix issues, run:
```bash
ruff check . --fix
```
## Screenshots
*(Placeholder for screenshots of the application)*
### Main Window (Dark Theme)

### Download Tab

### Export Tab

### Settings Dialog
