/rhulk-CloneBot_Heroku

A powerful bot to copy your google drive data to your team drive

Primary LanguagePythonMIT LicenseMIT

✪ CloneBot - Heroku/Railway/Qovery/Clever-Cloud/Scalingo/Okteto Version ❅


CloneBot is a telegram bot that allows you to copy folder/team drive to team drives. One of the main advantage of this bot is that you can host it to Heroku for free.


✅ Advantages

❌ Drawbacks

  • Does not support files upload (only copy)
  • You cannot copy the data to My Drive

Note : there are hidden features, check at the source code of the bot to find them 🙃


⚠ You need service accounts (sa) to use the bot



💠 Host the bot on your computer

--> https://github.com/MsGsuite/CloneBot

📱 Run the bot on your phone using termux

--> https://telegra.ph/Clone-Bot-Termux-04-30

⚛️ Deploying on Heroku

𝙈𝙚𝙩𝙝𝙤𝙙 - 1 : ᴠɪᴀ ɢɪᴛʜᴜʙ ᴀᴄᴛɪᴏɴ𝙨

Deploy

𝙈𝙚𝙩𝙝𝙤𝙙 - 2 : ᴠɪᴀ ᴇᴅɪᴛɪɴɢ ʀᴇᴘᴏ ɴᴀᴍᴇ ᴀɴᴅ ʟɪɴᴋ

Deploy

☂ Deploying on Railway.app

  1. For Direct Deploy,Click on the Below Button
    Deploy on Railway

  2. Fill the following Environment Values as per below Instructions:

path_to_gclone =./gclone ⚠ Don't touch this

group_ids = your telegram group ID (leave it blank if you don't want to add one). To get your group id, go to @MissRose_bot and type /id

telegram_token = go to @BotFather and send /newbot to get one

gclone_para_override = leave this empty if you don't know how to use it

user_ids = Your user id (go to @MissRose_bot and type /id to get your id) - If you want to authorize multiple users, add a comma between each ID (ex: 150654065,5897065)

  1. Click on Deploy
  2. Wait a little bit.You will see that your app has been deployed to Railway and then you can clone without any Time Limit.Railway does not restart App every 24 hours meaning you can clone large data which can run for days at a time

🌟 Deploying on Qovery

This Method does not work anymore as Qovery has stopped Open Signup

Deploy to Qovery

𝐒𝐓𝐄𝐏𝐒-

  1. Login to Qovery via Github Account.Fork this Repo.
  2. Then create a new Environment followed by new app.Just follow the On-Screen Instructions.
  3. Then select Deploy App from Repo and click the Repo in your Account.
  4. From settngs of the App scroll down and change Deploy Method from Buildpacks to DockerFile
  5. Then go to variables and add the below Environment Variables one by one with proper values.

path_to_gclone =./gclone ⚠ Don't touch this

group_ids = your telegram group ID (leave it blank if you don't want to add one). To get your group id, go to @MissRose_bot and type /id

telegram_token = go to @BotFather and send /newbot to get one

gclone_para_override = leave this empty if you don't know how to use it

user_ids = Your user id (go to @MissRose_bot and type /id to get your id) - If you want to authorize multiple users, add a comma between each ID (ex: 150654065,5897065)

  1. Wait a little bit.You will see that your app has been deployed to Qovery and then you can clone without any Time Limit.
    Qovery does not restart App every 24 hours meaning you can clone large data which can run for days at a time


💎 Deploying on Clever-Cloud


This Service provides enough resources so that the Bot can run for 40 days without the need to add CC.
Clever Cloud does not restart App every 24 hours meaning you can clone large data which can run for days at a time



Thanks to Katarina for the addition of this Service.

🗡️ Deploying on Scalingo

Deploy


This Service provides enough resources so that the Bot can run for 30 days without the need to add CC.
Scalingo does not restart App every 24 hours meaning you can clone large data which can run for days at a time



Thanks to Katarina for the addition of this Service.

💫 Deploying on Okteto

For quick use, use this repo directly and deploy it to Okteto Cloud. Customize docker-compose.yml as you want if needed.

You need to fillup the below variables in order to use it in Okteto

group_ids = your telegram group ID (leave it blank if you don't want to add one). To get your group id, go to @MissRose_bot and type /id

telegram_token = go to @BotFather and send /newbot to get one

PORT = Add PORT as an environmental variable, and add 8080. Use Cron Job to ping the App every 30 mins else the bot will sleep

user_ids = Your user id (go to @MissRose_bot and type /id to get your id) - If you want to authorize multiple users, add a comma between each ID (ex: 150654065,5897065)


This Service is like Heroku as it does not mention any definite number of days in Free Trial.
Okteto does not restart App every 24 hours meaning you can clone large data which can run for days at a time


📢 Follow us:

❤️ Credits & thanks :

  • wrenfairbank for the original python script
  • smartass08 to adapt the scrip to heroku
  • anymeofu for making the Direct Heroku deployable Version
  • Zero-The-Kamisama to making me discover this amazing bot and the detailed instructions
  • zorgof for the termux script
  • Aishik Tokdar for Adding Guide to Deploy on Railway.app , Qovery , Clever Cloud , Scalingo and some other Code Improvements.Also Added Heroku Workflow Deployment Method.
  • Katarina for adding the ability to be deployed to Clever Cloud and Scanlingo
  • Miss Emily for adding Support of Okteto Cloud Deployment as well as improving little layout