{"id":19064284,"url":"https://github.com/sahilkr24/kuebikobot","last_synced_at":"2025-05-07T13:01:32.037Z","repository":{"id":39059787,"uuid":"287544599","full_name":"SahilKr24/kuebikobot","owner":"SahilKr24","description":"A telegram bot that deploys to heroku/aws and downloads links and torrents and uploads to google drive and returns public share link","archived":false,"fork":false,"pushed_at":"2023-02-08T00:45:24.000Z","size":54,"stargazers_count":127,"open_issues_count":10,"forks_count":139,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-31T10:11:59.261Z","etag":null,"topics":["aria2","google-drive","heroku","mirror","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SahilKr24.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-14T13:53:33.000Z","updated_at":"2025-01-21T03:50:21.000Z","dependencies_parsed_at":"2024-11-09T00:42:15.718Z","dependency_job_id":"5e522b47-8c74-42d0-b5a4-d89f4c017c0e","html_url":"https://github.com/SahilKr24/kuebikobot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SahilKr24%2Fkuebikobot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SahilKr24%2Fkuebikobot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SahilKr24%2Fkuebikobot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SahilKr24%2Fkuebikobot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SahilKr24","download_url":"https://codeload.github.com/SahilKr24/kuebikobot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252883219,"owners_count":21819157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aria2","google-drive","heroku","mirror","telegram-bot"],"created_at":"2024-11-09T00:42:03.241Z","updated_at":"2025-05-07T13:01:31.289Z","avatar_url":"https://github.com/SahilKr24.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"\" rel=\"noopener\"\u003e\n \u003cimg width=200px height=200px src=\"https://i.imgur.com/FxL5qM0.jpg\" alt=\"Bot logo\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003ekuebiko bot\u003c/h3\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![Status](https://img.shields.io/badge/status-active-success.svg)]()\n[![Platform](https://img.shields.io/badge/platform-heroku-lightgrey)]()\n[![GitHub Issues](https://img.shields.io/github/issues/sahilkr24/kuebikobot)](https://github.com/SahilKr24/kuebikobot/issues)\n[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/SahilKr24/kuebikobot)](https://github.com/SahilKr24/kuebikobot/pulls)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)\n\n\u003c/div\u003e\n\n---\n\n\u003cp align=\"center\"\u003e 🤖 A telegram bot that deploys to heroku and downloads links and torrents and uploads to google drive and returns public share link. \n    \u003cbr\u003e \n\u003c/p\u003e\n\n## 📝 Table of Contents\n\n- [About](#about)\n- [Demo / Working](#demo)\n- [How it works](#working)\n- [Usage](#usage)\n- [Getting Started](#getting_started)\n- [Deploying your own bot](#deployment)\n- [Built Using](#built_using)\n- [Authors](#authors)\n\n## 🧐 About \u003ca name = \"about\"\u003e\u003c/a\u003e\n\nThis bot is written in python and imports aria2 for downloading files and magnet links and uploads to google drive via drive-cli then returns direct download/share link with visibility set to public for easy sharing.\n\nThis bot is asynchronous and also has pause and cancel buttons of easy management of downloads.\n\n## 🎥 Demo / Working \u003ca name = \"demo\"\u003e\u003c/a\u003e\n\n![Working](https://media.giphy.com/media/20NLMBm0BkUOwNljwv/giphy.gif)\n\nWill be updated shortly!\n\n## 💭 How it works \u003ca name = \"working\"\u003e\u003c/a\u003e\n\nThe bot first extracts the link from the the command it's called from and then adds it to aria2 cli via webhooks, after that it will show progress every 2 seconds in form of message updates.\n\nOnce the download completes it will then proceed to upload the file/folder using predefined scripts that will then return the shared link in form of a reply to the original message.\n\nThe entire bot is written in Python 3.7\n\n## 🎈 Usage \u003ca name = \"usage\"\u003e\u003c/a\u003e\n\nTo use the bot, type:\n\n```\n/help\n```\nor\n\n```\n/start (personal message only)\n```\n\nAll commands, i.e. \"/help\" **are not** case sensitive.\n\nThe bot will then give you the help context menu.\n\n### Start:\n\n\u003e /help\n**Response:**\n\n**/mirror**  :for http(s),ftp and file downloads\n\n**/magnet**  :for torrent magnet links\n\n**/cancel**  :cancel all in progress downloads\n\n**/list**    :get a list of downloads\n\nuse these commands along with your link or magnets.\n\n### Example:\n\n```\n/mirror https://releases.ubuntu.com/20.04/ubuntu-20.04.1-desktop-amd64.iso\n```\n**Response:**\n\n\u003eMirror, [14.08.20 19:57]\u003cbr\u003e\n\u003e[In reply to Sahil]\u003cbr\u003e\n\u003eDownloading \u003cbr\u003e\n\u003e'ubuntu-20.04.1-desktop-amd64.iso'\u003cbr\u003e\n\u003eProgress : 17.62/2656.00 MBs \u003cbr\u003e\n\u003eat 33.53 MBps\u003cbr\u003e\n\u003e[--------------------] 0.7 %\u003cbr\u003e\n\n\n\u003eMirror, [14.08.20 19:59]\u003cbr\u003e\n\u003e[In reply to Sahil]\u003cbr\u003e\n\u003ehttps://drive.google.com/open?id=\u003c- id of the file -\u003e\u003cbr\u003e\n\n\u003eMirror, [14.08.20 19:59]\u003cbr\u003e\n\u003eUpload complete\u003cbr\u003e\n---\n\u003csup\u003eBeep boop. I am a bot. If there are any issues, contact at my [GitHub](https://github.com/SahilKr24/kuebikobot)\u003c/sup\u003e\n\n\u003csup\u003eWant to make a similar bot? Check out: [GitHub](https://github.com/SahilKr24/kuebikobot)\u003c/sup\u003e\n\n## 🏁 Getting Started \u003ca name = \"getting_started\"\u003e\u003c/a\u003e\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See [deployment](#deployment) for notes on how to deploy the project on heroku.\n\n### Prerequisites\n\nAll the prerequisites are mentioned in the requirements.txt. Additionally, you'll need to install aria2c on your linux machine if you want to run a local version.\nYou'll also need to get google credentials for the google drive via API dashboard from google developers console.\n\n```\naria2c\ncredentials.json\nbot id from bot father (telegram)\n```\n\n### Installing\n\nFirst, copy the credentials.json in the root directory and update the bot id in bot.py at line 14.\n\nSwitch to venv and install all the requirements from requirements.txt\n\n```\nrun python3 bot.py\n```\n\nWhen you run for the first time, it will ask you to authorise or refresh token for drive using local web server, follow the link from terminal and open in any web browser. After authenticating copy back the access code to cli. This will create token.json which is importantand should be kept securely.\n\nThat's it.\nThe bot should send a **bot started** message on the channels it addded to verifying it's active.\n\nYou're bot is now ready to use. Yay!\n\n## 🚀 Deploying your own bot \u003ca name = \"deployment\"\u003e\u003c/a\u003e\n\nTo deploy your bot on heroku, please follow the above steps and then procced below:\nProcfile and and other settings have already been added as per needs.\n\n- **Heroku**: https://github.com/SahilKr24/kuebikobot\n\n\u003ePush the repo to your local github and set up a deployment in heroku.\nAdd the following buildpacks under **Settings \u003e Buildpacks**\n\u003eheroku/python\u003cbr\u003e\n\u003ehttps://github.com/amivin/aria2-heroku.git\nthe second buildpack will ensure that aria is installed on the dyno on which the bot will run.\n\nAfter that deploy your branch and if everything is correctly configured, the bot will reply with **bot started** message in the channels.\n\n## ⛏️ Built Using \u003ca name = \"built_using\"\u003e\u003c/a\u003e\n\n- [python-telegram-bot](https://pypi.org/project/python-telegram-bot/) - This library provides a pure Python interface for the Telegram Bot API.\n- [Heroku](https://www.heroku.com/) - SaaS hosting platform\n- [aria2p](https://pypi.org/project/aria2p/) - Command-line tool and library to interact with an aria2c daemon process with JSON-RPC.\n- [aria2c](https://github.com/aria2/aria2) - aria2 is a lightweight multi-protocol \u0026 multi-source, cross platform download utility operated in command-line. \n- [pydrive](https://pypi.org/project/PyDrive/) - Google Drive API made easy.\n\n\n## ✍️ Authors \u003ca name = \"authors\"\u003e\u003c/a\u003e\n\n- [@Rkrohk](https://github.com/Rkrohk) - Inital Idea \u0026 Scripting\n- [@SahilKr24](https://github.com/SahilKr24) - Scripting \u0026 Dev-Ops\n\nSee also the list of [contributors](https://github.com/SahilKr24/kuebikobot/contributors) who participated in this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsahilkr24%2Fkuebikobot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsahilkr24%2Fkuebikobot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsahilkr24%2Fkuebikobot/lists"}