TeleClean — десктопное приложение для массового выхода из Telegram-каналов, чатов и удаления диалогов с удалёнными аккаунтами.
Стилизовано под Telegram Desktop. Работает "из коробки" — никаких ключей, .env и Python.
👉 Latest Release — TeleClean.exe (~78 MB)
- ✅ Авторизация — QR-код, номер телефона + SMS, 2FA
- ✅ Список диалогов — все каналы, супергруппы, чаты, боты, личные диалоги с реальными аватарками
- ✅ Поиск / фильтр / сортировка — по названию, активности, подписчикам/участникам
- ✅ Вкладки — 📺 Каналы, 👥 Чаты, 🤖 Боты, 🗑 Удалённые аккаунты
- ✅ Массовый выход — выберите несколько диалогов, прогресс-бар, кнопка Стоп
- ✅ Удаление чатов с удалёнными аккаунтами — находит диалоги с деактивированными пользователями и удаляет их
- ✅ Сброс сессии — завершает сессию на всех устройствах (включая телефон)
- ✅ Темы — Dark и Light, цвета из официального Telegram UI (tgui)
- ✅ API-ключи встроены —
.exeработает сразу после скачивания - ✅ Настройки API — если ключи не работают, можно ввести свои в интерфейсе
- ✅ Информация для отладки — все пути, статус соединения, версии
- ✅ Автосборка — CI создаёт релиз при каждом пуше в
main
- Скачайте
TeleClean.exeиз последнего релиза - Запустите — откроется окно с QR-кодом
- Отсканируйте QR в Telegram (Настройки → Устройства)
- После авторизации загрузится список всех диалогов с вкладками:
- 📺 Каналы — broadcast-каналы
- 👥 Чаты — группы и супергруппы
- 🤖 Боты — личные чаты с ботами
- 🗑 Удалённые — чаты с деактивированными аккаунтами
- Выберите диалоги → нажмите "Выйти из выбранных" (или "Удалить выбранные" для вкладки удалённых)
Файл → Перезапустить авторизацию — завершает текущую сессию на сервере Telegram (сессия становится неактивной на всех устройствах, включая телефон). После сброса потребуется повторная авторизация.
Откройте Настройки → API ключи Telegram, получите свои ключи на my.telegram.org/apps и введите их. Затем перезапустите приложение.
Помощь → Информация для отладки — показывает:
- Режим (Frozen .exe / Dev)
- Источник API-ключей
- Путь к данным, сессии, аватарам
- Состояние Telethon-клиента
- Статус AsyncWorker
git clone https://github.com/hiez1337/TeleClean.git
cd TeleClean
pip install -r requirements.txt
python main.pyДля сборки .exe:
.\build_exe.batГотовый файл: dist\TeleClean.exe.
| Слой | Технология |
|---|---|
| GUI | PySide6 (Qt 6) |
| Telegram API | Telethon (async MTProto) |
| Темизация | QSS по токенам @xelene/tgui |
| Аватарки | QPixmap + QPainter (круглая обрезка) |
| Сборка | PyInstaller — единый .exe |
TeleClean/
├── main.py # Точка входа
├── AGENTS.md # Guide для AI-агентов
├── build_exe.bat # PyInstaller скрипт
├── app/
│ ├── core/
│ │ ├── telegram_client.py # Telethon обёртка, QR, 2FA, диалоги
│ │ └── channel_manager.py # Бизнес-логика, фильтры, bulk leave
│ ├── models/
│ │ └── channel.py # Channel dataclass + dialog_type
│ ├── services/
│ │ ├── async_worker.py # QThread + asyncio bridge
│ │ └── session_service.py # Config, session, avatars
│ └── gui/
│ ├── main_window.py # QTabWidget (каналы/чаты/боты/удалённые)
│ ├── auth_widget.py
│ ├── channel_list.py # QStyledItemDelegate, subtitle per type
│ └── styles/
│ ├── telegram_dark.qss
│ └── telegram_light.qss
├── tests/
│ ├── conftest.py # FakeTelegramClient, fixtures
│ ├── test_channel_manager.py
│ └── test_channel_model.py
└── .github/workflows/ci.yml # Test → Build → Release
MIT