Most versatile Telegram torrent and youtube-dl bot.

Overview

TorToolkit Telegram

So basically Tortoolkit is aimed to be the most versatile torrent leecher and Youtube-DL bot for telegram. This bot is highly customizable and to customize this bot you don't need to restart the bot every time. The bot gets started with minimum variables and others can be set as and when needed using the /settings.

Table of Content

Features

Following are some awesome features offered by this bot:-

  • Using the best torrent client to deal with torrent : qBittorrent
  • You can choose which files you want to download from the torrent.
  • A glorious settings menu from you can control the bot.
  • If the bot is in the group, the users have their own settings like:
    • Permanent thumbnail support.
    • Users can choose if they want a file or video.
    • Load in their own rclone config so that the torrent/direct link is uploaded to their drive. (Work in Progress)
  • Extraction of ZIP, TAR, ISO, RAR wih and without password. If you chose to extarct the archive and you enter the password wrong it will prompt you to enter the password upto 3 times after that zip will be uploaded as it is.
  • G Drive Index support.
  • Admins can put hard limits on the max torrent size and max youtube playlist size.
  • Aria2 for direct links download.
  • Upload to gdrive by using RCLONE.
    • You can load multiple drives in the conf and can switch on fly using the settings.
  • Sorted YTDL download menu.
  • Zip and upload also available.
  • Get the server status.
  • InstaDL support
  • Browse the settings menu and try stuff. ;)

Deployment

Heroku

For Heroku users New repo will come soon (This repo will not work on heroku)

Deploy

Zeet

According to me, this platform provides resources that are enough for a genuine user and by default prevents Abuse: Click the logo to see the video guide to see how to deploy. The web is not yet available but soon will be available on Zeet.

Deploy

VPS Deployment Docker

ExecVarsSample.py location:- tortoolkit/consts/ExecVarsSample.py

Deploy with Docker Video

Steps:-

  1. You should install docker first :- How to Install Docker

  2. Clone the repo and edit ExecVarsSample.py

    1. While editing Change
      1. API_HASH
      2. API_ID
      3. BOT_TOKEN
      4. ALD_USR
      5. BASE_URL_OF_BOT
      6. Uncomment the below DB_URI and comment out the above DB_URI
      7. Also if the given procedure dosent work then set IS_VPS to True and if you want to change the port when IS_VPS is true then change SERVPORT to your desired port number. (Note this should be used as backup)
  3. After that execute these commands in root of the repo where tortoolkit folder is located.

    1. apt install docker-compose
    2. docker-compose up
  4. If you edit a file like ExecVarsSample.py in future just run below commands

    1. docker-compose build
    2. docker-compose up

VPS Deployment Without Docker

Demo video for Deployment Without Docker

  1. Run the following commands. (Following commands can be used to setup the vps from scratch)

    1. git clone https://github.com/yash-dk/TorToolkit-Telegram.git
    2. sudo apt update
    3. sudo apt install -y python3.8
    4. sudo apt install -y python3-venv
    5. python3 -m venv venv
    6. source venv/bin/activate
    7. cd TorToolkit-Telegram
    8. pip install -r requirements.txt
    9. sudo apt install -y postgresql postgresql-contrib
    10. apt -qq install -y curl git wget python3 python3-pip aria2 ffmpeg mediainfo unzip p7zip-full p7zip-rar
    11. curl https://rclone.org/install.sh | bash
    12. apt-get install -y software-properties-common
    13. apt-get -y update
    14. add-apt-repository -y ppa:qbittorrent-team/qbittorrent-stable
    15. apt install -y qbittorrent-nox
  2. After that setup the database:- Remember the 'your-pass' that you enter below

    1. sudo -u postgres bash
    2. createdb tortk
    3. psql
    4. ALTER USER postgres with password 'your-pass';
    5. exit
    6. exit
  3. After that setup the Variables.

    Assuming that you are in the directory where you clonned the repo

    1. cd TorToolkit-Telegram/tortoolkit/consts
    2. nano ExecVarsSample.py
    3. Change the following:-
      1. API_HASH

      2. API_ID

      3. BOT_TOKEN

      4. ALD_USR

      5. BASE_URL_OF_BOT

      6. Change DB_URI = "dbname=tortk user=postgres password=your-pass host=127.0.0.1 port=5432"

        Enter the password in the above string.

      7. After that run (You can use any port for the web interface here i am using 80). Each time before starting the bot export the port Number

        export PORT=80

  4. And finally run this in clonned folder.

    1. chmod 777 start.sh
    2. ./start.sh

Variables

  • IS_VPS
    • Values :- False/True
    • Default Value :- False
    • Use :- Only set to True if you get errors regarding web server in VPS deployment. Only use as backup.

Compulsory Vars

  • API_HASH

    • Values :- Valid API HASH obtained from Telegram.
    • Default Value :- ""
    • Use :- To connect to Telegram.
  • API_ID

    • Values :- Valid API ID obtained from Telegram.
    • Default Value :- 0
    • Use :- To connect to Telegram.
  • BOT_TOKEN

    • Values :- Valid BOT TOKEN Obtained from Botfather.
    • Default Value :- ""
    • Use :- To connect to Telegram as BOT.
  • BASE_URL_OF_BOT

    • Values :- Valid BASE URL of where the bot is deploy. Ip/domain of your bot like "http://myip" or if oy have chosen other port then 80 then "http://myip:port". No slash at the end.
    • Default Value :- ""
    • Use :- This is used for file selection of the torrent.
  • ALD_USR

    • Values :- It is a list of IDs of all the allowed groups and useres who can use this bot in private.
      • To supply multiple IDs in ExecVarsSample.py seperate by comma ','.
      • To supply multiple IDs from Environemnt variable seperate by spaces.
    • Default Value :- []
    • Use :- Users and groups with ids here can use the bot.
  • DB_URI =

    • Values :- Postgres database URL. Just replace your credentials from below. OR directly Paste the URI you obtained from a database hosting or somewhere else.
    • Default Value :- dbname=tortk user=postgres password=your-pass host=127.0.0.1 port=5432
    • Use :- Used to connect to DB. DB is used for many stuff in this bot.

Optional Vars

  • GD_INDEX_URL

    • Values :- Base URL of the index that you are using. (Now that you should include the directory also in URL if you have set RCLONE_BASE_DIR). (Dosen't matter if a slash is at the end or not)
    • Default Value :- False
    • Use :- Provides an addition Index link for Google Drive Upload.
  • EDIT_SLEEP_SECS

    • Values :- Seconds to Sleep before edits. Recommended is 40. (If you are using the bot for your own you can try 10 if you get FloodWait Error in LOGS then increase the value) [Can be set from settings menu]
    • Default Value :- 40
    • Use :- The bot will update the progress regulary after these number of seconds.
  • TG_UP_LIMIT

    • Values :- Telegram Upload limit in bytes. (you can set max 2147483648 which is ~2GB) [Can be set from settings menu]
    • Default Value :- 1700000000
    • Use :- The bot will use this value to automatically slice the file bigger that this size into small parts to upload to Telegram.
  • FORCE_DOCUMENTS

    • Values :- True/False [Can be set from settings menu]
    • Default Value :- False
    • Use :- Should all the upload to telegram be forced as documents or not.
  • COMPLETED_STR

    • Values :- Any character [Only 1 character] [Can be set from settings menu]
    • Default Value :-
    • Use :- Character used to denote completed progress in the progress bar.
  • REMAINING_STR

    • Values :- Any character [Only 1 character] [Can be set from settings menu]
    • Default Value :-
    • Use :- Character used to denote remaining progress in the progress bar.
  • RCLONE_BASE_DIR

    • Values :- Rclone Base Directory to where stuff should be clonned inside your drive. [Cannot be configured from settings]
    • Default Value :- "/"
    • Use :- The bot will upload all the files to that folder in the drive.
  • LEECH_ENABLED

    • Values :- True/False [Can be set from settings under control action]
    • Default Value :- True
    • Use :- Upload to telegram should be enabled or not.
  • RCLONE_ENABLED

    • Values :- True/False [Can be set from settings under control action]
    • Default Value :- False
    • Use :- Upload to rclone should be enabled or not.
  • DEFAULT_TIMEOUT

    • Values :- "leech"/"rclone"
    • Default Value :- "leech"
    • Use :- Default destination (rclone or leech) to choose if the user fails to choose upload destination in 60 seconds.
  • RCLONE_CONFIG

    • Values :- Path to the RCLONE.conf file [IT IS RECOMMENDED TO SET THIS FROM SETTINGS MENU]
    • Default Value :- False
    • Use :- Rclone file path.
  • DEF_RCLONE_DRIVE

    • Values :- Default Rclone drive from the config file. This is the heading of a config from the file. [IT IS RECOMMENDED TO SET THIS FROM SETTINGS MENU]
    • Default Value :- ""
    • Use :- Name of the config in the conf file to refer to.
  • MAX_YTPLAYLIST_SIZE

    • Values :- Max size of a playlist that is allowed (Number of videos) [Can be set from settings menu]
    • Default Value :- 20
    • Use :- Stops the user from downloading big playlists.
  • MAX_TORRENT_SIZE

    • Values :- Max torrent size in GBs that is allowed. [Can be set from settings menu]
    • Default Value :- 10
    • Use :- Stops the user from downloading big torrents.
  • USER_CAP_ENABLE : Work in progress

  • USER_CAP_LIMIT : Work in progress

Rest Variables are not to be changed

Commands

leech - To Leech a torrent or download a direct link
ytdl - Donwload YouTube Video
pytdl - Download YouTube Playlist
about - About the bot
status - Status of all the downloads
server - Get server status
usettings - User Settings
instadl - Instagram Post/Reel/IGTV download
settings - Settings of the bot ⚠️ Admin Only
pauseall - Pause all torrents⚠️ Admin Only
resumeall - Resume all torrents⚠️ Admin Only
purge - Delete all torrents ⚠️ Admin Only
getlogs - Get the robot logs ⚠️ Admin Only

Credits

Yash-DK Lonami for awesome Telethon All the Libraries owner

Owner
Yash Khadse
Yash Khadse
Tool To download Amazon 4k SDR HDR 1080, CDM IS Not Included

WV-AMZN-4K-RIPPER Tool To download Amazon 4k SDR HDR 1080, CDM IS Not Included For CDM You can Mail :- Denis Trunov 179 Dec 17, 2022

Download your Spotify playlists and songs along with album art and metadata

spotDL Download your Spotify playlists and songs along with album art and metadata The fastest, easiest, and most accurate command-line music download

10.6k Jan 03, 2023
Download India Stocks Historical Data

Kite Helper - Download Stock Market Data 🌎 Website Simple Application to Download any stock market data in .csv format using Kite 🏃‍♂️ Running Serve

Pishang Ujeniya 12 Dec 06, 2022
A very fast file streaming bot used for streaming and downloading movies

FileStreamBot GIVE A STAR AND FORK ELSE NO MORE OPENSOURCE A Telegram bot to turn all media and documents files to web link . Report a Bug | Request F

Code X Mania a.k.a Adarsh Goel 190 Jan 04, 2023
lo2: Simple youtube-dl web frontend

Simple youtube-dl web frontend

Denis Volk 22 Jun 03, 2022
This is a python based web scraping bot for windows to download all ACCEPTED submissions of any user on Codeforces

CODEFORCES DOWNLOADER This is a python based web scraping bot for windows to download all ACCEPTED submissions of any user on Codeforces Requirements

Mohak 6 Dec 29, 2022
Download all your URI Online Judge source codes and upload to GitHub with simple steps.

URI-Code-Downloader Download all your URI Online Judge source codes and upload to GitHub with simple steps. Prerequisites Python 3.x Installing Downlo

Luan Simões 9 Mar 23, 2022
Python utility to download jobs at seek.com.au

Job Seeker job_seeker is an utility to download data of a job search from seek.com.au into a csv file for data analysis and exploration Install using

PyBites 3 May 14, 2022
Youtube videos and channels scraper python wrapper!

YouTubeCrawle Wrapper for python Why This wrapper? This is wrapper is not limited to videos only it can scrape both channel and videos seperately ;D

Kei 16 Aug 08, 2022
YoutubeDownloader - Download any public Playlist from Youtube

YoutubeDownloader Download any public Youtube Channel / Playlist Features Bulk d

17 Nov 12, 2022
Copy online media to your USB pen by night and watch it on your daily commute

commute-tube commute-tube is your friend on your daily commute. It will download videos of your interest to your USB pen by night so that you're able

Matthias Küch 19 Mar 23, 2022
Newsemble is an API that provides easy access to the current news for programmatic analysis

Newsemble is an API that provides easy access to the current news for programmatic analysis. It has been built using Python, BeautifulSoup and MongoDB.

Rishabh 43 Dec 16, 2022
👻🟡 Download all Snapchat video & photo memories from a data export.

Snapchat "Memories" Fetcher In compliance with the California Consumer Privacy Act of 2018 (“CCPA”), businesses which collect and store user data must

Todd Birchard 18 Dec 26, 2022
Open Source application for downloading and playing music.

Musifre Greetings For HackHeist(Wartex) Judges: Synopsis, Promotion Video & Product Functioning Video are present in Documentation Folder. A Star woul

Yash Dhingra 9 Mar 22, 2022
A simple python script to fetch Bing daily images and set them randomly using hsetroot

Daily bing walls A script to set the daily bing image as the wallpaper. It can also set from a random set of previously fetched wallpapers. usage: dai

Harinarayanan K S 5 Nov 23, 2022
利用python3,爬取并下载91porn网站上面的视频

91porn_python 利用python3,爬取并下载91porn网站上面的视频 增加爬取t66y论坛图片的脚本 该脚本支持一下功能: 支持多线程 下载视频有进度条显示 支持从特定页的特定视频开始下载 将m3u8和mp4格式的视频下载到不同文件夹,加以分类 自动过滤已经下载过的视频

253 Feb 23, 2021
YouTube-Downloader - YouTube Video Downloader made using python

YouTube-Downloader YouTube Videos Downloder made using python.

Shivam 1 Jan 16, 2022
This project is helps to download contents from Streamtape by utilizing the API

It scrapes Streamtape api and download contents from the site.

Debiprasad Das 5 Dec 28, 2022
MMDL (Mega Music Downloader) - A tool to easily download music.

mmdl - Mega Music Downloader What is mmdl ❓ TLDR: MMDL is a cli app which allows you to quickly and efficiently download one or multiple songs from Yo

techboy-coder 30 Dec 13, 2022
Smule Video Downloader

Smule Video Downloader Using Requests,Re & Urllib Installation - apt install git (for vps) or pkg install git (for termux)

Hansen Gianto 4 Aug 31, 2022