A Telegram downloader bot. Powered by YT-DLP
https://github.com/sudospaes/rigel
prisma | ||
src | ||
.gitignore | ||
bun.lock | ||
LICENSE | ||
package.json | ||
README.md | ||
tsconfig.json |
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
- Install Bun, Ytdlp and ffmpeg.
- Clone it this repo
git clone https://github.com/sudospaes/rigel.git
. - Move to cloned directory.
- Run
bun i
to install dependencies. - 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.
- Create a private or public channel and add your bot to that.
- Run
bun run init first_init
to initialize database for the first time. - Run
bun start
and insert your telegram account infomation. - Done! if everything is correct, you should see "Bot is running...".
How to update
- Stop bot
- Move to cloned directory.
- 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