A Telegram downloader bot. Powered by YT-DLP https://github.com/sudospaes/rigel
Find a file
Sudo Space d326c2f437 Fix freezing when downloading a thing
By running processes in a middleware-independent manner, the bot is prevented from freezing while downloading content.
2025-04-16 07:48:11 +03:30
prisma Update: Read this commit description for details. 2025-04-13 15:49:12 +03:30
src Fix freezing when downloading a thing 2025-04-16 07:48:11 +03:30
.gitignore Add yotube cookies to youtube model 2025-04-14 22:46:49 +03:30
bun.lock Update: Read this commit description for details. 2025-04-13 15:49:12 +03:30
LICENSE Initial commit 2025-04-10 00:13:22 +03:30
package.json Update README 2025-04-13 19:18:25 +03:30
README.md Update README 2025-04-14 23:07:55 +03:30
tsconfig.json Enable noUnusedLocals, noUnusedParameters in tsconfig 2025-04-11 11:27:52 +03:30

Rigel, A cool downloader bot 🌠

A personal Telegram bot for downloading from various media. Powered by ytdlp 😉

This bot supports concurrency, meaning that if multiple users request the same content simultaneously, it downloads the file only once and sends it to all of them.

Supported media:

  • 📌 Pinterest (Video)
  • 📺 Youtube (Video / Audio)
  • 🎧 Youtube Music
  • 👯 Tiktok (Video)
  • 📸 Instagram (Video)
  • ☁️ SoundCloud

Admin's Commands

Command Example Description
/add /add 12345667 <-- (user id) name <-- (a name) Add a user to can use bot
/remove /remove 12345667 <-- (user id) Remove a user to can't use bot
/users /users Show allowed users

Usage

Just send your media link to bot and get your content 😃. Of course, the admin needs to add users who are allowed to use the bot to the list of users using the commands mentioned.

Setup and deploy

  1. Install Bun, Ytdlp, ffmpeg and aria2.
  2. Clone it this repo git clone https://github.com/sudospaes/rigel.git.
  3. Move to cloned directory.
  4. Run bun i to install dependencies.
  5. Create .env in the current directory and paste these in that.
ADMIN_ID="" You can get it from @userinfobot.
ADMIN_UN="" Your username without @ if you want.
BOT_TOKEN="" Your bot token.
API_ID="" Your API id, get it from my.telegram.org.
API_HASH="" Your API hash, get it from my.telegram.org.
CHANNEL_ID="" Your channel id for achivtion, You can get it from @username_to_id_bot.
CAPTION="" Bot messages caption.
  1. Create a private or public channel and add your bot to that.
  2. Create ytcookies.txt in the current directory and put your youtube cookies on that.
  3. Run bun run init first_init to initialize database for the first time.
  4. Run bun start and insert your telegram account infomation.
  5. Done! if everything is correct, you should see "Bot is running...".

How to update

  1. Stop bot
  2. Move to cloned directory.
  3. Run these commands:
git fetch origin
git merge origin/main
git restore bun.lock
git pull origin main
bun i
bun run init new_update