/mega-to-gdrive-bot

Mega.nz to GDrive uploader

Primary LanguagePython

Mega.nz to GDrive uploader

With this telegram bot you can download files from mega.nz and upload those files or telegram uploaded files to GDrive. You can even upload telegram uploaded files to mega.nz. This TG bot is heroku based. Now before you continue i recommend you to read Prerequisites section and What this bot can do? section.

Can it download files over 5GiB?

  • Yes it can download. But for downloading files over 5GiB you have to wait for 5-6 hours or 10-12 hours after transfer quota exceeds. After completing 5-6 hours it will automatically download that file and after completing download it will ask you for uploading that file on GDrive. See proofs here:-
screenshot 1 screenshot 2
photo_2021-10-20_15-46-43 photo_2021-10-20_15-46-51

Prerequisites:-

ℹ️ Important information.
  1. Create account on GitHub (if you haven't).
  2. Create account on mega.nz (if you haven't).
  3. Create account on Heroku (if you haven't).
  4. Create account on Telegram (if you haven't).
  5. Create account on Gmail (if you haven't for only this script).
  6. Go to my.telegram.org/auth, login and create app. Check how to create app on telegram. Now save api_id and api_hash which you got from my.telegram.org/auth.
  7. Create a telegram bot by using Bot Father. Check how to create bot in telegram. Bot Father will give you bot token save that token.
  8. Create Google Drive API key from your above created gmail account. Read this article's Getting Your API Key and Saving Your Credentials section for getting two file named client_secrets.json and mycreds.txt.
  9. Search @chatid_echo_bot in telegram (This bot is not mine. You can google how to get chat id in telegram.) and click start this will give you your telegram user_id.
  10. So now you have saved six things:-
    • api_id
    • api_hash
    • bot_token
    • client_secrets.json
    • mycreds.txt
    • telegram user_id

How to use?

Steps to use.

Step 1:

  • Just git clone this repository.

    git clone https://github.com/whitehatjrchintu/mega-to-gdrive-bot.git

    cd mega-to-gdrive-bot

  • Or download this repository as zip.

Step 2:

  • After cd or unzip upload client_secrets.json and mycreds.txt files, which we download in step 8 of Prerequisites, in that folder.

Step 3:

  • Now create repository (i will recommend to create private repository.) in your github account and upload all files and folders.

Step 4:

  • Copy your github repository's link and paste after ?template= in this link https://www.heroku.com/deploy/?template=. Like this:-

    https://www.heroku.com/deploy/?template=https://github.com/whitehatjrchintu/mega-to-gdrive-bot

Step 5:

  • Now enter App name in app_name and api_id, api_hash, bot_token, mega.nz email, mega.nz password and your telegram user_id which you saved in above steps, in respective asked field. Then click Deploy app.

Step 6:

  • Finally go to your bot, click start button, send #login command and this will login into mega.nz.

What this bot can do?

Full Details
  • You can operate your mega.nz account with this bot.

  • You can list files that are uploaded on your mega.nz account. Just use #ls command.

  • You can remove any file from your mega.nz account. Just use #rm file_name command.

  • You can download your own mega.nz files. Just use #get file_name command.

  • You can use #other command for executing other mega.nz commands. Such as:- #other mv old_name.mp4 new_name.mp4, #other cp orignal.mp4 copied.mp4 etc.

  • You can download other mega.nz files to telegram. Just send https://mega.nz/the_other_file_url it will send that file to your telegram.

  • You can upload mega.nz uploaded files to GDrive. Just send https://mega.nz/the_other_file_url it will ask you.

    link

  • You can upload telegram uploaded files to mega.nz. Just forward the telegram upload file to the bot.

  • You can upload telegram uploaded files to GDrive. Just forward the telegram upload file to the bot.

    forward

  • You can import other mega.nz files to your account. Use #import https://mega.nz/the_other_file_url command.

Please note spaces are sensitive here so use double quotes if your file have spaces in its name. Example:-

correct ✓ wrong ✗
#rm "my video.mp4" #rm my video.mp4
#other mv "my video with spaces.mp4" my_video_without_spaces.mp4 #other mv my video with spaces.mp4 my_video_without_spaces.mp4
List of commands
commands mean
#login for login into mega.nz
#ls list files that are in your mega.nz account.
#import mega.nz url directly import another mega.nz file to your account. no download no upload for mega to mega.
#get file_name download your own mega.nz file and will ask you where to upload that file.
#rm file_name remove file from your mega.nz account.
#other mega commands execute other mega.nz commands with the help of this command. mean operate your mega.nz account on telegram
url of mega.co.nz or mega.nz this will download file from mega.nz automatically and will ask you where to upload that file.

Todo:-

  • After download share mega.nz folder as a zip. Currently it download folder but can't zip the folder.

If you found any mistake or have any suggestion let me know i will correct/apply that.

Meant for educational purpose only. I am not responsible if mega or telegram block your account.