feat: Add Telegram bot integration for remote control and authentication#1304
Open
jibanez-staticduo wants to merge 8 commits intoicloud-photos-downloader:masterfrom
Open
Conversation
- Add TelegramBot class with support for /sync, /syncall, /stop, /status commands - Implement webhook and polling support for Telegram updates - Add status tracking with Progress class enhancements - Support for manual sync triggers and progress reporting - All messages in English
- Add TELEGRAM option to MFAProvider enum - Implement request_2fa_telegram function for MFA via Telegram - Add /auth command to initiate authentication process - Support for 6-digit code input via Telegram messages - Automatic authentication expiration detection and notifications
- Add Telegram bot initialization and lifecycle management - Integrate Telegram commands with sync process - Add support for --mfa-provider telegram CLI option - Implement cookie deletion for forced re-authentication - Add authentication error detection and Telegram notifications - Optimize photo filtering with addedDate API filter for incremental syncs
- Implement FileCache class for storing last sync date - Use addedDate filter from iCloud API for incremental syncs - Add rate and counter display to download progress logs - Optimize sync process by filtering photos by addition date
- Integrate Telegram webhook endpoint with Flask server - Support for webhook-based message receiving - Maintain backward compatibility with polling mode
- Add note about this being a fork of original icloudpd project - Document additional Telegram bot features - Reference original project and maintain MIT license compatibility
- Add entrypoint-wrapper.sh for environment variable conversion - Add multiple Dockerfile variants for different build scenarios - Support for Docker-based deployment with Telegram integration
- Maintain original copyright from Nathan Broadbent and iCloud Photo Downloader Authors - Add note about this being a fork with additional features - All modifications remain under MIT License
Contributor
|
FWIW, something similar was discussed in #1008:
Seems like this plugin system is now in the works at #1302 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds comprehensive Telegram bot integration to icloudpd.
Features
Telegram Bot Commands
/sync- Trigger incremental sync (uses date filter)/syncall- Trigger full sync (ignores date filter)/stop- Stop current synchronization/status- Get current status with progress and rate information/auth- Initiate authentication processAuthentication Automation
--mfa-provider telegram)Performance Improvements
addedDatefilter from iCloud APIBased on: https://github.com/icloud-photos-downloader/icloud_photos_downloader