Skip to main content

Download and upload files via telegram up to 1.5GB, CLI

Project description

Telegram-cloud (A.K.A tgcloud)

Telegram-cloud

telegram-cloud

Download and upload files via telegram, Use your telegram account as free cloud storage.

PyPI version Supported Python versions Downloads StackOverflow Build demos workflow Documentation Status

Uploader, Downloader, Crawler, Bot 50MB limitation bypasser.

  • Upload file upto 1.5GB
  • Download file from every conversation, group, channel, ...
  • Crawling! search by name or caption for a specific file to download it

You can also:

  • Use it for multiple accounts, download from one Telegram account and upload that on another account, there is no difficulty
  • download files with file_id
  • Send regular and silent messages to any user, channel or chat

Hmm what is this?

It's a python library for Telegram messenger, which can give you an ability to download, upload, and more options to do with your Telegram account on CLI.

Installation

telegram-cloud requires Python3 and Telethon as requirment.

$ pip3 install telegram-cloud

Also can be found on pypi

How can I use it?

  • install the package by pip package manager.
  • after installing, type tglogin on your terminal
  • Now you need to get api_id and api_hash from here Telegram from Telethon document:

    Before working with Telegram’s API, you need to get your own API ID and hash: Login to your Telegram account with the phone number of the developer account to use. Click under API Development tools. A Create new application window will appear. Fill in your application details. There is no need to enter any URL, and only the first two fields (App title and Short name) can currently be changed later. Click on Create application at the end. Remember that your API hash is secret and Telegram won’t let you revoke it. Don’t post it anywhere!

  • After that you able to call tgcloud on your terminal.

Commands

telegram-cloud is currently working with the following commands.

args help
--mode / -m Two modes for specify what you want, Available modes: download - upload
--name / -n A Name you choose while tglogin-ing and use for specify the current user you work on it
--username / -u Target username that you want to send file, type me if you want to get it on your saved messages
--path / -p For download mode: pass simple directory path like "/Users/nima/Desktop/Iwanttoescapefrom/"
--path / -p For upload mode: pass file path like "/Users/nima/Desktop/Iwanttoescapefrom/Iran.zip"
--caption / -c For download mode: pass the name of file or caption to crawl and download
--caption / -c For upload mode: write the caption to see it under your file

tgsend accepts these arguments:

args help
--name / -n A Name you choose while tglogin-ing and use for specify the current user you work on it
--username / -u Target username that you want to send file, type me if you want to get it on your saved messages
--format { text, markdown, html } How to parse message body. Default is text
--silent Disable audible notification
--stdin Read message text from stdin

Need more examples?

Are you done with tglogin? so come with me.

Unix based operating systems

Download a music from my saved messages and save it on /Users/nima/Desktop/:

$ tgcloud -m download -n nima -u me -p "/Users/nima/Desktop/" -c "sad but true"
$ tgcloud --mode download --name nima --username me --path "/Users/nima/Desktop/" --caption "sad but true"

Upload a banner with caption to my saved messages:

$ tgcloud -m upload -n nima -u me -p "/Users/nima/Desktop/banner.png" -c "Help me"
$ tgcloud --mode upload --name nima --username me --path "/Users/nima/Desktop/banner.png" --caption "Help me"

Upload a pdf to an telegram ID:

$ tgcloud -m upload -n nima -u @autisticbruh -p "/Users/nima/Desktop/file.pdf" -c "Help me"

Search and download a zip from telegram chat_id group:

$ tgcloud -m download -n nima -u -1001240213443 -p "/Users/nima/Desktop/" -c "best memes"

Send a silent text message to a chat group:

$ tgsend -n anightshade -u -1001240213443 --silent "Panda eats shoots and leaves"

Send a fortune cookie to yourself via stdin:

$ fortune | tgsend -n anightshade -u me --stdin

not Unix (Lol I mean windows)

Just like unix but CAREFUL about paths, your path must not end with \ !! Download all PDFs from your saved messages and save it on C:\Users\Nima\Desktop:

$ tgcloud -m download -n nima -u me -p "C:\Users\Nima\Desktop" -c ".pdf"

What is file_id?

from Telegram Doc:

When working with the API, it is sometimes necessary to send a relatively large file to the server. For example, when sending a message with a photo/video attachment or when setting the current user’s profile picture.

You can upload a file to Telegram once, and send it again to others or do things with file_id. So when you upload a file, you can see the file_id. So now what? If you have a Telegram bot and you have 50MB limitation for uploading and send to users, you can bypass this limitation by this trick and upload files upto 1.5GB and pass it by file_id or message_id or...

Good to know

The config file can be found on ~/.telegram-cloud/ (Also ~\.telegram-cloud\ in windows) Each login make *.session file which is located there and it cause script for logged-in user works globally. Inside telegram-cloud-config.ini, you can find api_hash and api_id and name you've entered by tglogin

To do

  • Send message via cli (tgsend)
  • Upload and download multiple files
  • Upload and download a directory
  • Add progress bar while downloading/uploading
  • Add progress bar while downloading/uploading

Issues

Feel free to submit issues and enhancement requests.

Contributing

Please refer to each project's style and contribution guidelines for submitting patches and additions. In general, we follow the "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes

NOTE: Be sure to merge the latest from "upstream" before making a pull request!

Python + Telethon

Contributors 🤝

Special thanks to Contributors

@anightshade: For adding tgsend and fixing bugs!

LICENSE

License: MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

telegram-cloud-1.3.3.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

telegram_cloud-1.3.3-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file telegram-cloud-1.3.3.tar.gz.

File metadata

  • Download URL: telegram-cloud-1.3.3.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0

File hashes

Hashes for telegram-cloud-1.3.3.tar.gz
Algorithm Hash digest
SHA256 0a2a5910c9ebcf3b432659aad836d83558a0b420491a6e07821a1e700907856a
MD5 f6e3d8f21282510fa0025110b1c8b8cb
BLAKE2b-256 cf9867378be19674cef5edc77075ae75796ef6440ed567231791eba8244d14e6

See more details on using hashes here.

File details

Details for the file telegram_cloud-1.3.3-py3-none-any.whl.

File metadata

  • Download URL: telegram_cloud-1.3.3-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0

File hashes

Hashes for telegram_cloud-1.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 efd567a3276ca7c7988a9022fdc753545f7b7ba92e65ab8b33cc6a54012b9446
MD5 48a25eb54dd44d3688ef03721bbd52c5
BLAKE2b-256 5c4f0896b295b84909050d9c146c8cdbbedbf18e852072a6d28b2e7968b77587

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page