img
gradient

Telegram yt-dlp Cookie Bot

Written by Upeksha Indeewara

Project Details:

The Telegram yt-dlp Cookie Bot is a powerful Telegram bot designed to download videos, including private ones, directly into Telegram. It leverages the yt-dlp library to provide this functionality and also integrates with Firebase as a database for user management and activity tracking. This bot is unique in its ability to access private video files and can even download specific video ranges within playlists.


Project Overview:

This bot primarily serves the purpose of downloading YouTube or related video files directly into Telegram. It can handle playlists as well as private video files and playlists using cookies for authentication. Additionally, the bot includes admin commands for managing users and their interactions. It also allows users to rename the captions of video files by simply replying to the video with their desired caption. Here are some key features and components:

Languages / Frameworks and Libraries:

  • Python

  • Firebase (utilizing the pyrebase4 library)

  • Telegram API (Pyrogram)

  • yt-dlp

User Commands:

  • /start: Start the bot.

  • /help: Get help and usage instructions.

  • /clean: Clean your working directory.

  • /usage: View your usage statistics.

  • /save_as_cookie: Save a text file as a cookie.

/save_as_cookie This is your cookie text
  • /check_cookie: Check the current cookie file.

Admin Commands:

  • /start: Start the bot.

  • /help: Get help and usage instructions.

  • /run_time: Display the bot's runtime.

  • /clean: Clean your working directory.

  • /usage: View your usage statistics.

  • /save_as_cookie: Save a text file as a cookie.

/save_as_cookie This is your cookie text
  • /check_cookie: Check the current cookie file.

  • /log [user ID]: Get user logs.

/log 10101010
  • /broadcast: Send a message to all users (requires replying to a message with this command).

  • /download_cookie: Download a cookie file from a specific URL path.

  • /block_user [user ID]: Block a user.

/block_user 10101010
  • /unblock_user [user ID]: Unblock a user.

/unblock_user 10101010
  • /all_users: Get a list of all users.

  • /all_blocked: Get a list of all blocked users.

  • /all_unblocked: Get a list of all unblocked users.

Functionality of the Bot:

  • Downloading Videos: You can start the bot using the /start command and download a video by sending a link like this:

https://youtu.be/qmq7UzSfr-U?si=ULTSESXg840uTREN.
  • Downloading Playlists: To download a playlist, use a URL with a specified range like this. Below example will download the playlist from 5th video to 8th video.

https://www.youtube.com/watch?v=yOuqn4w1ozA&list=PL3-sRm8xAzY9gpXTMGVHJWy_FMD67NBed*5*8
  • Custom Captions for Playlists: You can add custom captions to playlist downloads by setting a range and name in the URL:

https://www.youtube.com/watch?v=yOuqn4w1ozA&list=PL3-sRm8xAzY9gpXTMGVHJWy_FMD67NBed*5*8*Your custom name here
  • Caption Editing: Change the caption of a video by replying to it with your desired caption.

  • Usage Monitoring: To see your activity usage, simply send the /usage command.

  • Cookie Management: Set a cookie file for your downloads by sending the cookies.txt file to the bot. Check the current cookie file using /check_cookie. You can also send cookie content as text: /save_as_cookie This is the cookie content.

  • Error Handling and Cleanup: If you encounter errors or need to clean up your working environment, use the /clean command.

Installation (Deploy on VM):

  • First, You need to add your bot to the logging channel and subscription channel in Telegram. Both are required.

  • Give me a strar and fork this repository. Then change the _config.py file to config.py

  • Add your configuration for the config.py file.

Setup debian/any for docker

sudo apt-get update
sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
docker -v

Setting the config.py file

git clone https://github.com/upekshaip/tg-ytdlp-bot.git
cd tg-ytdlp-bot
sudo mv _config.py config.py
nano config.py
  • Now you can edit your config before the deployment

  • After your edit process please follow as below

Install Dockerfile

sudo docker build . -t tg-public-bot
sudo docker ps -a
sudo docker run tg-public-bot

Open Source

This bot is open source, and you can find the project repository on GitHub . We believe in the power of collaboration and welcome contributions from the community.

Contributing:

We encourage developers, testers, and enthusiasts to contribute to our project. Whether you want to fix a bug, add a feature, or help with documentation, your contributions are valuable. Please refer our repository for more information.


Summary:

This project is a powerful Telegram bot designed to facilitate video downloading from YouTube and related platforms directly into Telegram. Its unique feature is the ability to download private video files and playlists with ease. It was inspired by Anasty17's mirror-leech-telegram-bot. The project provides valuable knowledge and motivation for the development community, making it an interesting and innovative endeavor. Special thanks to Anasty17 for the inspiration behind this project.