A Telegram Daemon (not a bot) for file downloading automation
If you have got an Internet connected computer or NAS and you want to automate file downloading from Telegram channels, this daemon is for you.
Telegram bots are limited to 20Mb file size downloads. So I wrote this agent or daemon to allow bigger downloads (limited to 2GB by Telegram APIs).
You need Python3 (tested in 3.6).
Install dependencies by running this command:
pip install -r requirements.txt
(If you don't want to install cryptg
and its dependencies, you just need to install telethon
)
Obtain your own api id: https://core.telegram.org/api/obtaining_api_id
You need to configure these values:
Environment Variable | Command Line argument | Description | Default Value |
---|---|---|---|
TELEGRAM_DAEMON_API_ID |
--api-id |
api_id from https://core.telegram.org/api/obtaining_api_id | |
TELEGRAM_DAEMON_API_HASH |
--api-hash |
api_hash from https://core.telegram.org/api/obtaining_api_id | |
TELEGRAM_DAEMON_DEST |
--dest |
Destination path for downloaded files | /telegram-downloads |
TELEGRAM_DAEMON_TEMP |
--temp |
Destination path for temporary (download in progress) files | use --dest |
TELEGRAM_DAEMON_CHANNEL |
--channel |
Channel id to download from it |
You can define them as Environment Variables, or put them as a command line arguments, for example:
python telegram-download-daemon.py --api-id <your-id> --api-hash <your-hash> --channel <channel-number>
Finally, resend any file link to the channel to start the downloading. This daemon can manage many downloads simultaneously.
You can also 'talk' to this daemon using your Telegram client:
- Say "list" and get a list of available files in the destination path.
- Say "status" to the daemon yo check the current status.
- Say "clean" to remove stale (*.tdd) files from temporary directory.