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

Comments
  • [FEATURE REQUEST] Append predefined trackers from tracker list in Torrent/Magnet Downloads to speed things up

    [FEATURE REQUEST] Append predefined trackers from tracker list in Torrent/Magnet Downloads to speed things up

    To put this simply, when a user provides a magnet link with 3/4 trackers, the files are downloaded slowly.

    But if the user would supply more live trackers appended onto the magnet link, the download would be faster as more tracker means more active peers connected.

    Any BitTorrent client GUI can add separate trackers manually, and Aria2 can also load extra trackers through an extra tracker list file.

    Maybe same result can be achieved through qbittorrent(-nox) api.

    I don't know how to, but it can surely be done.

    enhancement 
    opened by rokibhasansagar 6
  • RCLONE_BASE_DIR problem

    RCLONE_BASE_DIR problem

    I change the RCLONE_BASE_DIR:RCLONE_BASE_DIR = "Gdrive" and docker-compose up again. but the files still upload to GOOGLE DRIVE root folder image

    opened by 547555909 6
  • Extraction Not Working For Some Archives

    Extraction Not Working For Some Archives

    Extraction Doesn't Work For 10GB Above Tested On 7 Different Links

    Error Log:

    2021-02-23T11:02:36.111133+00:00 app[web.1]: File "/torapp/tortoolkit/core/HandleManager.py", line 231, in handle_leech_command 2021-02-23T11:02:36.111133+00:00 app[web.1]: await check_link(e,rclone, is_zip, is_ext) 2021-02-23T11:02:36.111133+00:00 app[web.1]: File "/torapp/tortoolkit/functions/Leech_Module.py", line 248, in check_link 2021-02-23T11:02:36.111134+00:00 app[web.1]: newpath = await handle_ext_zip(path, rmsg, omess) 2021-02-23T11:02:36.111134+00:00 app[web.1]: File "/torapp/tortoolkit/functions/Leech_Module.py", line 377, in handle_ext_zip 2021-02-23T11:02:36.111134+00:00 app[web.1]: if "Wrong Password" in ext_path: 2021-02-23T11:02:36.111134+00:00 app[web.1]: TypeError: argument of type 'bool' is not iterable

    opened by FristyFlakes 5
  • Some suggestions for overall improvements in User Experience

    Some suggestions for overall improvements in User Experience

    1. If Leech is disabled in bot settings , while trying to mirror a url/magnet ,the "To Telegram" button could very well be just absent altogether . There is no need to display it taking unnecessary screen space .
    2. Add ability to mirror a magnet or URL through same message . Its more convenient and morever gives alternative option for starting process . Currently it only works if replied to URL or magnet , the ability to start the process with same message command would be better . eg /leech URL/magnet , /ytdl URL , /pytdl URL , /instadl URL .So Eventually it will work with both replying ( current ) as well as same message command
    3. If Multiple remotes are present in rclone config file and user wants to change default config , one would always have to open settings , change default and save it . A lot better implementation is to just display the remotes as button during starting process . eg . If someone has remotes named movie and anime in his rclone config , while starting mirroring instead of the button "To drive" , there could be 2 butons namely "Anime" & "Movie"
    4. If there are multiple process going on , its lot better to automatically merge them . Eg A mirroring process is already active and after some chats another mirror process is started ,so the original process gets lost in the mix above . Like lizzy mirror bot , you can make the older mirroring process status ( if existing ) to get merged with the newer one and have buttons to cancel each of them one below the other
    enhancement 
    opened by xd003 5
  • #Error Uploading Video due to caption Too Long for all command /ytdl /leech, /instadl

    #Error Uploading Video due to caption Too Long for all command /ytdl /leech, /instadl

    When downloading URL from sites support using /ytdl command and URL from any supported sites containing too long text (name), get this error

    2021-08-10 03:38:42,927 INFO MainThread root Uplaoding the directory:- /torapp/userdata/16285469091257668 2021-08-10 03:39:38,511 ERROR MainThread tortoolkit.core.ttk_ytdl ERROR: unable to open for writing: [Errno 36] File name too long: '/torapp/userdata/1628546972955728/#Tokio2020 en Español - ¡En tan solo 6⃣ horas viviremos la #CeremoniaDeClausura de #Tokio2020!🇯🇵 Revive el inolvidable cierre de los @juegosolimpicos #Rio2016. 🎆 Hoy será el turno de @Paris2024. 🇫🇷 #UnitedByEmotion #StrongerTogether.mp4.part

    Btw, as an additional "issue" to download url with credentials, it is missing netrc support

    opened by norm-git 4
  • Database choice?

    Database choice?

    Why not MySQL? It can be deployed with minimal configuration when compared to postgresql. There's even a built-in module sqlite for accessing within python

    enhancement 
    opened by GauthamramRavichandran 4
  • Issue On cancelling big files

    Issue On cancelling big files

    2021-01-17 23:34:53,499 ERROR MainThread telethon.client.updates Unhandled exception on callback_handler_canc Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/telethon/client/updates.py", line 446, in _dispatch_update await callback(event) File "/torapp/tortoolkit/core/HandleManager.py", line 402, in callback_handler_canc if data[2] == str(e.sender_id): IndexError: list index out of range

    This is the error on trying to cancel this torrent

    bug Fixed Push Pending 
    opened by montagne316 4
  • [Feature Request] Youtube-dl add multiple links

    [Feature Request] Youtube-dl add multiple links

    Ability to download multiple links from youtube-dl supported site.

    Say I want to to download 10 videos in single command. Example command

    /ytdl link1,link2,link3 and so on And it will sequentiality download one by one or multiple at once

    Also when is Service Account support coming? @yash-dk

    enhancement 
    opened by a0v0 2
  • fix: variable be overridden by non-existent env

    fix: variable be overridden by non-existent env

    When a Boolean environment variable does not exist, the variable value is set to None instead of maintaining the original constant value, which should be wrong. For example, if LEECH_ENABLED is set to True in ExecVarsSample.py, but the environment variable is not defined, a strange warning will eventually be output: ERROR MainThread tortoolkit.core.varholdern The variable was not found in either the constants, environment or database. Variable is :- LEECH_ENABLED

    opened by mountlin 2
  • [Enhancement] Separate Var For Admin/Owner

    [Enhancement] Separate Var For Admin/Owner

    I say this because there's no control for downloads by owner of bot if used by other people.. Can't cancel download unless the other individual cancels it themselves.. Owner should have total control ready at will

    opened by RomanGoddess 2
  • Running error!

    Running error!

    [root@instance-20220726-1641 TorToolkit-Telegram]# ./start.sh

    Error: '' is not a valid port number.

    2022-07-26 11:10:17,173 INFO MainThread root Database created Traceback (most recent call last): File "/usr/local/python3.8.2/lib/python3.8/runpy.py", line 184, in _run_module_as_main mod_name, mod_spec, code = _get_module_details(mod_name, _Error) File "/usr/local/python3.8.2/lib/python3.8/runpy.py", line 143, in _get_module_details return _get_module_details(pkg_main_name, error) File "/usr/local/python3.8.2/lib/python3.8/runpy.py", line 110, in _get_module_details import(pkg_name) File "/root/TorToolkit-Telegram/tortoolkit/init.py", line 19, in upload_db = TtkUpload() File "/root/TorToolkit-Telegram/tortoolkit/core/database_handle.py", line 116, in init super().init(dburl) File "/root/TorToolkit-Telegram/tortoolkit/functions/pg_plugin.py", line 28, in init self._conn = psycopg2.connect(self._dburl) File "/usr/local/python3.8.2/lib/python3.8/site-packages/psycopg2/init.py", line 127, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync) psycopg2.OperationalError: FATAL: Ident authentication failed for user "postgres"

    Exception ignored in: <function TtkUpload.del at 0x7f1b40c48820> Traceback (most recent call last): File "/root/TorToolkit-Telegram/tortoolkit/core/database_handle.py", line 218, in del super().del() File "/root/TorToolkit-Telegram/tortoolkit/functions/pg_plugin.py", line 74, in del self._connection_users.pop() IndexError: pop from empty list

    what the hell?

    opened by b1fly 0
  • Hello,how to fill in ALD_USR and OWNER_ID? Can you give an example?

    Hello,how to fill in ALD_USR and OWNER_ID? Can you give an example?

    ALD_USR = [5052*****,-1001607****] OWNER_ID = 5052**** Is this correct? If this is filled in, an error will be reported. [2022-02-03 20:10:01 +0530] [6] [INFO] Starting gunicorn 20.0.4 tortk_1 | [2022-02-03 20:10:01 +0530] [6] [INFO] Listening at: http://0.0.0.0:80 (6) tortk_1 | [2022-02-03 20:10:01 +0530] [6] [INFO] Using worker: aiohttp.GunicornWebWorker tortk_1 | [2022-02-03 20:10:01 +0530] [10] [INFO] Booting worker with pid: 10 tortk_1 | Traceback (most recent call last): tortk_1 | File "/usr/lib/python3.8/runpy.py", line 185, in _run_module_as_main tortk_1 | mod_name, mod_spec, code = _get_module_details(mod_name, _Error) tortk_1 | File "/usr/lib/python3.8/runpy.py", line 144, in _get_module_details tortk_1 | return _get_module_details(pkg_main_name, error) tortk_1 | File "/usr/lib/python3.8/runpy.py", line 111, in _get_module_details tortk_1 | import(pkg_name) tortk_1 | File "/torapp/tortoolkit/init.py", line 13, in tortk_1 | from tortoolkit.core.wserver import start_server tortk_1 | File "/torapp/tortoolkit/core/wserver.py", line 7, in tortk_1 | from .database_handle import TtkTorrents tortk_1 | File "/torapp/tortoolkit/core/database_handle.py", line 7, in tortk_1 | from ..consts.ExecVarsSample import ExecVars tortk_1 | File "/torapp/tortoolkit/consts/ExecVarsSample.py", line 17 tortk_1 | ALD_USR = [505********,-1001*********]

    opened by Mpk2022 1
  • Index error:pop from empty list

    Index error:pop from empty list

    kit-telegram_tortk_1 exited with code 1 tortk_1 | tortk_1 | Error: '' is not a valid port number. tortk_1 | tortk_1 | 2021-12-12 13:23:39,462 INFO MainThread root Database created tortk_1 | Traceback (most recent call last): tortk_1 | File "/usr/lib/python3.8/runpy.py", line 185, in _run_module_as_main tortk_1 | mod_name, mod_spec, code = _get_module_details(mod_name, _Error) tortk_1 | File "/usr/lib/python3.8/runpy.py", line 144, in _get_module_details tortk_1 | return _get_module_details(pkg_main_name, error) tortk_1 | File "/usr/lib/python3.8/runpy.py", line 111, in _get_module_details tortk_1 | import(pkg_name) tortk_1 | File "/torapp/tortoolkit/init.py", line 19, in tortk_1 | upload_db = TtkUpload() tortk_1 | File "/torapp/tortoolkit/core/database_handle.py", line 116, in init tortk_1 | super().init(dburl) tortk_1 | File "/torapp/tortoolkit/functions/pg_plugin.py", line 28, in __init__tortk_1 | self._conn = psycopg2.connect(self._dburl) tortk_1 | File "/usr/local/lib/python3.8/dist-packages/psycopg2/init.py", line 127, in connect tortk_1 | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) tortk_1 | psycopg2.OperationalError: could not connect to server: Connection refused tortk_1 | Is the server running on host "127.0.0.1" and accepting tortk_1 | TCP/IP connections on port 5432? tortk_1 | tortk_1 | Exception ignored in: <function TtkUpload.del at 0x7fab5bcf5700> tortk_1 | Traceback (most recent call last): tortk_1 | File "/torapp/tortoolkit/core/database_handle.py", line 218, in del tortk_1 | super().del() tortk_1 | File "/torapp/tortoolkit/functions/pg_plugin.py", line 74, in del tortk_1 | self._connection_users.pop() tortk_1 | IndexError: pop from empty list tortoolkit-telegram_tortk_1 exited with code 1

    opened by Eagletech001 0
  • getting port error

    getting port error

    it gives me an error

    Error: '' is not a valid port number.

    2021-11-11 18:28:30,890 INFO MainThread root Database created Traceback (most recent call last): File "/usr/lib/python3.8/runpy.py", line 185, in _run_module_as_main mod_name, mod_spec, code = _get_module_details(mod_name, _Error) File "/usr/lib/python3.8/runpy.py", line 144, in _get_module_details return _get_module_details(pkg_main_name, error) File "/usr/lib/python3.8/runpy.py", line 111, in _get_module_details import(pkg_name) File "/torapp/tortoolkit/init.py", line 19, in upload_db = TtkUpload() File "/torapp/tortoolkit/core/database_handle.py", line 116, in init super().init(dburl) File "/torapp/tortoolkit/functions/pg_plugin.py", line 28, in init self._conn = psycopg2.connect(self._dburl) File "/usr/local/lib/python3.8/dist-packages/psycopg2/init.py", line 127, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync) psycopg2.OperationalError: could not connect to server: Connection refused Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 5432?

    Exception ignored in: <function TtkUpload.del at 0x7f0db9c43160> Traceback (most recent call last): File "/torapp/tortoolkit/core/database_handle.py", line 218, in del super().del() File "/torapp/tortoolkit/functions/pg_plugin.py", line 74, in del self._connection_users.pop() IndexError: pop from empty list Removing intermediate container 8e7334a75c7c The command '/bin/sh -c ./start.sh' returned a non-zero code: 1

    i am a noob do not have much knowledge.

    opened by ShashiTharoor 0
Owner
Yash Khadse
Yash Khadse
A fast and small Torrent client made with Python 3.

pico-torrent A fast and small Torrent client made with Python 3. History and context It was programmed by a hacker known as Jazz_Man, around January o

Pindorama 9 Oct 4, 2022
A prometheus exporter for torrent downloader like qbittorrent/transmission/deluge

downloader-exporter A prometheus exporter for qBitorrent/Transmission/Deluge. Get metrics from multiple servers and offers them in a prometheus format

Lei Shi 41 Nov 18, 2022
Using Youtube downloader is the fast and easy way to download and save any YouTube video.

Youtube video downloader using Django Using Django as a backend along with pytube module to create Youtbue Video Downloader. https://yt-videos-downloa

Suman Raj Khanal 10 Jun 18, 2022
Tkinter based YouTube video downloader works on pytube 11.0.2. Can download YouTube videos in 720p(HD), 144p and even only audio.

YouTube-Downloader Tkinter based YouTube video downloader works on pytube 11.0.2. Can download YouTube videos in 720p(HD), 144p and even only audio. G

Manav Grover 2 Dec 27, 2021
PyQt5 simple files , youtube videos and youtube playlist downloader

PyQt5 simple files , youtube videos and youtube playlist downloader

AmirHossein Mohammadi 7 Jul 25, 2022
YouTube Downloader is extremely simple program for downloading songs or playlists (in audio or video) from YouTube. Created using Python, PyTube and PySimpleGUI.

YouTube Downloader YouTube Downloader is extremely simple program for downloading songs or playlists (in audio or video) from YouTube. Disclaimer It's

Simeon Tsvetanov 3 Dec 14, 2022
Python based Telegram bot. Search and download YouTube video or audio.

Python-Telegram-Youtube-Media-Bot Python based Telegram bot. Search and download YouTube video or audio. Just change settings.py and start TelegramBot

Ahmet Bohur 2 Oct 2, 2022
DYA ( Ditch YouTube API ) is a package created to power the user with YouTube Data API functionality without any API Key

Ditch YouTubeAPI (BETA) DYA ( Ditch YouTube API ) is a package created to power the user with YouTube Data API functionality without any API Key Detai

Sougata Jana 23 Dec 22, 2022
Youtube Downloader is a Graphic User Interface(GUI) that lets users download a Youtube Video or Audio through a URL

Youtube Downloader This Python and Tkinter based GUI allows users to directly download the Best Resolution Videos and Audios from Youtube. Pa-fy Insta

Samarth Kumar 2 Jun 25, 2022
A simple Python program which uses youtube-dl for downloading YouTube videos as mp3 files.

yt-mp3 converter This is a simple Python program which uses youtube-dl for downloading YouTube videos as mp3 files. This program is for you if you are

nostalgicnerdpenguin 1 Oct 24, 2021
Youtube Downloader by PyTube é uma ferramenta simples com interface gráfica e escrito em python para baixar vídeos e playlists do youtube...

YouTube Downloader by PyTube O que é o YouTube Downloader by PyTube? YouTube Downloader by PyTube é um software simples para baixar vídeos no YouTube

Elizeu Barbosa Abreu 5 Jul 30, 2022
YouTube-Video-Downloader - Download Youtube Videos for free.

YouTube-Video-Downloader Download Youtube Videos for free. Installing Dependencies:- Windows pip install pytube Mac/Linux pip3 install pytube Clonin

Xception Inc. 1 Jan 1, 2022
Youtube_dl_helper - A hacky python script meant to automate the process of downloading mp3 files from YouTube using youtube-dl library

youtube_dl_helper A helper program meant to automate the process of downloading mp3 files from YouTube using youtube-dl library Dependencies In order

Guilherme Bittencourt de Borba 1 Jan 4, 2022
Youtube-music - Youtube music with python

youtube-music fzf on https://github.com/junegunn/fzf python3 ytb.py [no/yes] yes

direskyfer 0 Feb 3, 2022
YouTube Video publisher using youtube-dl & ROS2🐢

YouTube-publisher-ROS2 Publish sensor_msgs/Image by "YouTube" ?? ?? ?? ! You don't have to use webcamera or your video to check demos. Purpose Quick d

Ar-Ray 5 Dec 4, 2022
YouTube-Downloader - YouTube Video Downloader made using python

YouTube-Downloader YouTube Videos Downloder made using python.

Shivam 1 Jan 16, 2022
Youtube list to mp3 - Youtube list to mp3 downloader

Youtube list to mp3 downloader Tiny script to convert a list of youtube videos t

Papi Diagne 3 Feb 11, 2022
Python-Youtube-Downloader - An Open Source Python Youtube Downloader

Python-Youtube-Downloader Hello There This Is An Open Source Python Youtube Down

Flex Tools 3 Jun 14, 2022
Youtube Downloader is a simple but highly efficient Youtube Video Downloader, made completly using Python

Youtube Downloader is a simple but highly efficient Youtube Video Downloader, made completly using Python

Arsh 2 Nov 26, 2022