TikTok β’ Instagram β’ YouTube β’ Twitter/X β’ Facebook β’ Reddit β’ And 10+ More!
π Quick Start β’ π Features β’ π― Usage β’ π Admin Panel β’ β FAQ
Ever wanted to save that hilarious TikTok, awesome Instagram Reel, or YouTube Short? Just paste the link in Telegram and BOOM π₯ - the video appears instantly in your chat! No ads, no sketchy websites, no clicking around. Just pure video downloading magic! β¨
- π― One-Click Downloads - Just paste a link, get your video
- π Lightning Fast - Smart caching means instant re-downloads
- π¨ Beautiful Admin Panel - Dark-themed dashboard with analytics
- π‘οΈ Production Ready - Comprehensive error handling & failover mechanisms
- π Auto-Everything - Auto-retry, auto-cleanup, auto-restart
- π Full Analytics - Track every download with beautiful charts
|
|
User: https://vm.tiktok.com/ZMexample/
Bot: β³ Downloading TikTok video... Please wait!
Bot: β³ Downloading... 45%
Bot: π€ Uploading to Telegram...
Bot: [Video sent directly to chat] β
Downloaded from TikTok
- π¨ Pure Black Dark Theme - Easy on the eyes
- π 6 Stat Cards - Total, Successful, Failed, Users, Platforms, Cache Hit Rate
- π Search Bar - Real-time filtering across all fields
- π Date Range Filter - From/To date pickers
- π Platform Filter - Dropdown with all platforms
- β Status Filter - Success/Failed/Cached
- π Sortable Columns - Click to sort any column
- π Pagination - 10/25/50/100 items per page
- βοΈ Bulk Selection - Select all/deselect all
- ποΈ Delete Modal - Confirmation before deletion
- π Toast Notifications - Visual feedback
- π₯ Export Buttons - JSON/CSV download
For the impatient (automated installation):
curl -o- https://raw.githubusercontent.com/ragilmalik/telegram-tiktok-downloader/main/install.sh | bashThat's it! The script will:
- β Check and install Git (if needed)
- β Clone the repository
- β Check and install Node.js (if needed)
- β Install yt-dlp (video downloader)
- β Install dependencies
- β Configure environment variables
- β Test the bot (optional)
- β Set up systemd service (auto-start on boot)
- β Configure firewall (optional)
After installation, your bot will be running at:
- π€ Telegram Bot: Ready to receive links
- π Web Server:
http://your-server-ip:3456 - π Admin Panel:
http://your-server-ip:5789
Don't worry if you've never touched a server before! This guide will walk you through every single step. Just follow along! π
-
π₯οΈ A Server - Can be:
- VPS (DigitalOcean, Linode, Vultr, AWS EC2, etc.)
- Your home computer running Linux
- Raspberry Pi
- Any Linux machine with internet access
-
π° Budget: $5-10/month for a basic VPS (or free if using home computer)
-
β±οΈ Time: ~15-20 minutes
-
π§ Skill Level: Complete beginner friendly!
What's a bot token? Think of it as a password that lets your bot talk to Telegram.
- Open Telegram on your phone or computer
- Search for
@BotFather(it's an official Telegram bot) - Start a chat with BotFather
- Type:
/newbot - Follow the prompts:
- Give your bot a name (Example: "My Video Downloader")
- Give your bot a username (Must end in "bot", Example: "myvideo_dl_bot")
- π Success! BotFather will give you a token that looks like:
1234567890:ABCdefGHIjklMNOpqrsTUVwxyz1234567 - π Copy this token - you'll need it soon!
If you're using a VPS or remote server:
# Replace 'your-server-ip' with your actual server IP address
# Replace 'root' with your username if different
ssh root@your-server-ipFirst time connecting? You'll see a message asking "Are you sure you want to continue connecting?" - Type yes and press Enter.
If you're on your local Linux machine: You can skip this step and just open a terminal!
What's Node.js? It's the engine that runs our bot. Like how you need an engine to drive a car! π
For Ubuntu/Debian:
# Update package list
sudo apt update
# Install Node.js 20 LTS (recommended for best compatibility)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
# Verify installation
node --version # Should show v20.x.x
npm --version # Should show 10.x.xFor other systems:
- CentOS/RHEL: Replace
aptwithyum - macOS:
brew install node@20 - Already have Node? Node.js 18-20 LTS is recommended. Node.js 24+ is not compatible with better-sqlite3.
What's yt-dlp? The magic tool that actually downloads videos from all those platforms! πͺ
Choose ONE method that works for you:
Method 1: Using pip (Recommended)
# Install pip if you don't have it
sudo apt install -y python3-pip
# Install yt-dlp
sudo pip3 install -U yt-dlp
# Verify
yt-dlp --versionMethod 2: Download binary (if pip doesn't work)
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
# Verify
yt-dlp --versionMethod 3: Using package manager
# Ubuntu/Debian
sudo apt install -y yt-dlp
# macOS
brew install yt-dlpLet's get the bot code onto your server!
# Install git if you don't have it
sudo apt install -y git
# Clone the repository
git clone https://github.com/ragilmalik/telegram-tiktok-downloader.git
# Enter the directory
cd telegram-tiktok-downloader
# Check that you're in the right place
ls # You should see files like bot.js, package.json, etc.What are dependencies? Think of them as helper tools the bot needs to work properly.
# This command reads package.json and installs everything needed
npm installYou'll see a lot of text scrolling by - that's normal! β
Wait for it to finish (usually takes 1-2 minutes).
Now we'll tell the bot your settings!
# Copy the example configuration file
cp .env.example .env
# Open the file for editing
nano .envYou'll see a file that looks like this:
# Telegram Bot Configuration
TELEGRAM_BOT_TOKEN=your_bot_token_here
# Server Configuration
PORT=3456
ADMIN_PORT=5789
PUBLIC_URL=http://your-server-ip:3456
# Download Settings
MAX_FILE_AGE_HOURS=24
CLEANUP_INTERVAL_MINUTES=60
MAX_CONCURRENT_DOWNLOADS=3
# Rate Limiting
RATE_LIMIT_MINUTES=1
# Retry Settings
MAX_RETRIES=3Now let's fill it in:
-
Replace
your_bot_token_herewith the token you got from BotFather in Step 1 -
Replace
your-server-ipwith your actual server IP address- Don't know your IP? Run:
curl ifconfig.me - Example:
PUBLIC_URL=http://142.93.123.45:3456
- Don't know your IP? Run:
-
Leave everything else as default (you can customize later!)
To save and exit nano:
- Press
Ctrl + X - Press
Yto confirm - Press
Enterto save
π― Pro Tip: If you make a mistake, just run nano .env again to fix it!
Before setting up auto-start, let's make sure everything works!
# Start the bot
node bot.jsYou should see:
β
Database initialized successfully
β
Directories ready
β
yt-dlp is available
β
Web server running on port 3456
β
Public URL: http://your-server-ip:3456
β
Admin panel running on port 5789
π Access admin panel at: http://localhost:5789
π€ Multi-Platform Video Downloader Bot is running...
π Features: Queue (3 concurrent), Caching, Rate Limiting, Analytics
π± Waiting for messages...
β Perfect! Now let's test it:
- Open Telegram
- Find your bot (search for the username you created)
- Send:
/start - Bot replies? β Success!
- Send a TikTok/Instagram/YouTube link
- Video downloads? π You're in business!
To stop the bot:
- Press
Ctrl + C
What's this? Makes your bot start automatically when your server boots up, and restart if it crashes! π
β¨ NEW: Automatic Setup (Recommended)
We've made this super easy! Just run ONE command:
./setup-service.shWhat it does automatically:
- β Detects your username
- β Finds where Node.js is installed
- β Gets the correct bot directory path
- β Generates the service file with all correct paths
- β Installs and enables the service
- β Validates your .env file exists
That's it! No manual configuration needed!
Start the bot:
sudo systemctl start tiktok-bot
# Check if it's running
sudo systemctl status tiktok-botYou should see:
β tiktok-bot.service - Telegram TikTok Downloader Bot
Loaded: loaded
Active: active (running) since ...
View live logs:
sudo journalctl -u tiktok-bot -fCommon commands:
# Stop the bot
sudo systemctl stop tiktok-bot
# Restart the bot
sudo systemctl restart tiktok-bot
# View last 50 log lines
sudo journalctl -u tiktok-bot -n 50
# Disable auto-start
sudo systemctl disable tiktok-botπ Congratulations! Your bot is now running and will auto-start on reboot!
Open your browser and go to:
http://your-server-ip:5789
Replace your-server-ip with your actual server IP!
You should see:
- π¨ Beautiful dark-themed dashboard
- π Stats cards showing downloads, users, platforms
- π Table with all download records
- π Search and filter options
- π₯ Export buttons
π― Bookmark this page! This is your control center for monitoring the bot.
It's incredibly simple:
- Open the bot in Telegram
- Send
/startto see the welcome message - Paste any video link from supported platforms
- Wait a few seconds β³
- Receive your video directly in the chat! π
Supported commands:
/start- Welcome message & instructions/help- Show help and supported platforms/stats- Your personal statistics
Example:
You: https://www.tiktok.com/@username/video/1234567890
Bot: β³ Downloading TikTok video... Please wait!
Bot: β³ Downloading... 25%
Bot: β³ Downloading... 50%
Bot: β³ Downloading... 75%
Bot: π€ Uploading to Telegram...
Bot: [Sends video] β
Downloaded from TikTok
Access the admin panel at: http://your-server-ip:5789
What you can do:
-
π View Statistics
- Total downloads
- Success/failure rates
- Unique users
- Platform breakdown
- Cache hit rate
- Average download time
-
π Search & Filter
- Search by URL, username, platform
- Filter by date range
- Filter by platform
- Filter by status (success/failed/cached)
-
π Manage Records
- Sort by any column
- Select individual records
- Select all records
- Delete selected records
- Pagination (10/25/50/100 per page)
-
π₯ Export Data
- Export to JSON
- Export to CSV
- Import into Excel/Google Sheets for analysis
-
π Analytics
- Platform breakdown cards
- Last 7 days activity
- User activity patterns
- Download trends
# Check if bot is running
sudo systemctl status tiktok-bot
# Stop the bot
sudo systemctl stop tiktok-bot
# Start the bot
sudo systemctl start tiktok-bot
# Restart the bot (after making changes)
sudo systemctl restart tiktok-bot
# View bot logs (live)
sudo journalctl -u tiktok-bot -f
# View last 100 log lines
sudo journalctl -u tiktok-bot -n 100
# Disable auto-start on boot
sudo systemctl disable tiktok-botWhen a new version is released:
# Navigate to bot directory
cd telegram-tiktok-downloader
# Stop the bot
sudo systemctl stop tiktok-bot
# Pull latest changes
git pull origin main
# Install any new dependencies
npm install
# Restart the bot
sudo systemctl start tiktok-bot
# Check it's running
sudo systemctl status tiktok-botBackup your database:
# Create backup directory
mkdir -p ~/backups
# Copy database
cp analytics.db ~/backups/analytics-$(date +%Y%m%d).db
# Copy configuration
cp .env ~/backups/.env-$(date +%Y%m%d)π‘ Pro Tip: Set up a cron job to backup automatically!
# Edit crontab
crontab -e
# Add this line (backup daily at 2 AM)
0 2 * * * cp ~/telegram-tiktok-downloader/analytics.db ~/backups/analytics-$(date +\%Y\%m\%d).dbLet's understand each setting in .env:
TELEGRAM_BOT_TOKEN=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz- What: Your unique bot token from BotFather
- Required: YES
- Where to get: @BotFather on Telegram
PORT=3456- What: Port for the download link server
- Default: 3456 (changed from 3000 to avoid conflicts)
- Change if: Port is already in use
- Note: Avoids conflict with common dev servers (React, Next.js, etc.)
ADMIN_PORT=5789- What: Port for the admin dashboard
- Default: 5789 (changed from 5000 to avoid conflicts)
- Change if: Port is already in use
- Access:
http://your-server-ip:5789 - Note: Avoids conflict with Flask and other common apps
PUBLIC_URL=http://142.93.123.45:3456- What: Your server's public URL
- Format:
http://YOUR_IP:PORT - Required for: Fallback download links (when files are too large)
- Find your IP: Run
curl ifconfig.me
MAX_FILE_AGE_HOURS=24- What: How long to keep downloaded files before deletion
- Default: 24 hours
- Range: 1-720 (30 days)
- Why: Saves disk space
- Note: Files are also deleted immediately after successful Telegram send
CLEANUP_INTERVAL_MINUTES=60- What: How often to run the cleanup job
- Default: 60 minutes (1 hour)
- Range: 5-1440 (24 hours)
- Why: Removes old files automatically
MAX_CONCURRENT_DOWNLOADS=3- What: Maximum simultaneous downloads
- Default: 3
- Range: 1-10
- Increase if: You have powerful server (more CPU/RAM)
- Decrease if: Server struggles with performance
- Sweet spot: 3-5 for most VPS
RATE_LIMIT_MINUTES=1- What: Minimum time between requests per user
- Default: 1 minute
- Range: 0.5-60
- Why: Prevents spam and abuse
- Set to 0.5: For trusted users only
- Set to 5: For public bots with many users
MAX_RETRIES=3- What: How many times to retry failed downloads
- Default: 3
- Range: 1-10
- Backoff: 2s, 4s, 8s (exponential)
- Why: Handles temporary network issues
Check if bot is running:
sudo systemctl status tiktok-botCheck logs for errors:
sudo journalctl -u tiktok-bot -n 50Common issues:
-
β Invalid token
- Error:
CONFIGURATION ERROR: Telegram bot token is missing - Fix: Check your
.envfile, ensure token is correct
- Error:
-
β Network issues
- Error:
TELEGRAM POLLING ERROR: Connection issue - Fix: Check internet connection, firewall rules
- Error:
-
β Bot is blocked
- Error:
Failed to send initial status message - Fix: Unblock the bot in Telegram settings
- Error:
Most common issues and solutions:
Cause: The .env file doesn't exist
Solution:
cd ~/telegram-tiktok-downloader
# Create .env file
cp .env.example .env
# Edit and add your bot token
nano .env
# Restart service
sudo systemctl restart tiktok-botCause: Wrong node path or incorrect service file configuration
Solution: Use the automatic setup script:
cd ~/telegram-tiktok-downloader
# This automatically detects everything
./setup-service.sh
# Start the bot
sudo systemctl start tiktok-botWhat the script does:
- β Detects your username automatically
- β
Finds where Node.js is installed (
which node) - β Gets the correct bot directory path
- β Generates service file with all correct paths
- β Checks if .env file exists
Cause: Wrong systemd directive in wrong section
Solution: The setup script fixes this automatically. Run:
./setup-service.shCheck logs:
sudo journalctl -u tiktok-bot -n 100Common causes:
-
Invalid bot token:
# The bot will show: "Invalid bot token" in logs # Fix: Update your token in .env nano .env sudo systemctl restart tiktok-bot
-
Network issues:
# Test if you can reach Telegram API curl -I https://api.telegram.org # If fails, check firewall/VPN
-
Another instance running:
# Check for other bot processes ps aux | grep bot.js # Kill them pkill -f bot.js # Then restart service sudo systemctl restart tiktok-bot
View real-time logs:
# Watch logs as they happen
sudo journalctl -u tiktok-bot -f
# Press Ctrl+C to exitError: "C++20 or later required" during npm install
This means you have Node.js v24+ which is incompatible with better-sqlite3.
Solution: Downgrade to Node.js 20 LTS:
# Install Node.js 20 LTS
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# Verify version
node --version # Should show v20.x.x
# Try installing again
cd ~/telegram-tiktok-downloader
rm -rf node_modules package-lock.json
npm installCheck yt-dlp installation:
yt-dlp --versionUpdate yt-dlp:
sudo pip3 install -U yt-dlp
# or
sudo yt-dlp -UCommon issues:
-
β 403 Forbidden
- Reason: Video is private or geo-restricted
- Fix: Ensure video is publicly accessible
-
β 404 Not Found
- Reason: Video was deleted or link is broken
- Fix: Check if the link works in a browser
-
β Unable to extract
- Reason: Platform changed their format
- Fix: Update yt-dlp:
sudo pip3 install -U yt-dlp
-
β Network timeout
- Reason: Slow connection or large file
- Fix: Check internet speed, try again later
Check if admin server is running:
curl http://localhost:5789Check firewall:
# Allow port 5789
sudo ufw allow 5789/tcp
# Or disable firewall temporarily to test
sudo ufw disableCheck if port is in use:
sudo lsof -i :5789If port is taken, change it:
# Edit .env
nano .env
# Change ADMIN_PORT=5789 to ADMIN_PORT=5790 (or another unused port)
# Restart bot
sudo systemctl restart tiktok-botDatabase locked:
# Stop the bot
sudo systemctl stop tiktok-bot
# Check if database file exists and has correct permissions
ls -la analytics.db
# If corrupted, backup and recreate
mv analytics.db analytics.db.backup
# Start the bot (will create new database)
sudo systemctl start tiktok-botDisk full:
# Check disk space
df -h
# Clean up old downloads
cd ~/telegram-tiktok-downloader/downloads
rm -rf *
# Or reduce MAX_FILE_AGE_HOURS in .envPermission denied:
# Fix permissions
cd ~/telegram-tiktok-downloader
chmod 755 .
chmod 644 .env
chmod 755 downloadsFind what's using the port:
# For web server port
sudo lsof -i :3456
# For admin panel port
sudo lsof -i :5789Kill the process:
# Find the PID from above command
sudo kill -9 PID_NUMBEROr change the port in .env:
nano .env
# Change PORT=3456 to another unused port (e.g., 3457, 3912, etc.)
# Change ADMIN_PORT=5789 to another unused port (e.g., 5790, 5800, etc.)
sudo systemctl restart tiktok-botNote: Ports 3456 and 5789 are less commonly used than 3000/5000, so conflicts should be rare.
For high-traffic bots:
# Edit .env
nano .envRecommended settings for busy bots:
MAX_CONCURRENT_DOWNLOADS=5 # More parallel downloads
MAX_FILE_AGE_HOURS=6 # Clean up faster
CLEANUP_INTERVAL_MINUTES=30 # Run cleanup more often
RATE_LIMIT_MINUTES=2 # Stricter rate limitingFor powerful servers:
MAX_CONCURRENT_DOWNLOADS=10 # Max parallel downloadsWant bot.yourdomain.com instead of http://142.93.123.45:5000?
1. Point your domain to your server IP (in your domain registrar)
2. Install Nginx:
sudo apt install -y nginx3. Create Nginx config:
sudo nano /etc/nginx/sites-available/tiktok-botPaste this:
server {
listen 80;
server_name bot.yourdomain.com;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}4. Enable and restart:
sudo ln -s /etc/nginx/sites-available/tiktok-bot /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx5. (Optional) Add SSL with Let's Encrypt:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d bot.yourdomain.comNow access your admin panel at: https://bot.yourdomain.com π
How it all works under the hood:
User sends link to Telegram Bot
β
Telegram API validates message
β
Bot receives message via polling
β
Check rate limit (1 req/min)
β
Add to queue (max 3 concurrent)
β
Check cache (SHA-256 hash of URL)
β
Cache Hit? β Send from cache (instant!)
β
Cache Miss β Download with yt-dlp
β
Parse progress & update user
β
Retry on failure (3 attempts, exponential backoff)
β
File downloaded successfully
β
Try to send via Telegram API
β
Success? β Delete file, log to DB
β
File too large? β Send download link (fallback)
β
Log everything to SQLite
β
Admin panel displays stats in real-time
- Runtime: Node.js 18+
- Bot Framework: node-telegram-bot-api
- Downloader: yt-dlp
- Queue: p-queue (concurrency control)
- Database: SQLite via better-sqlite3
- Web Server: Express.js
- Service Manager: systemd
- Admin UI: Vanilla HTML/CSS/JS (no framework!)
Keep your bot secure! π‘οΈ
-
π Never share your bot token
- Treat it like a password
- Don't commit
.envto Git (it's in .gitignore) - Regenerate token if accidentally exposed
-
π₯ Configure firewall
# Allow SSH sudo ufw allow 22/tcp # Allow bot ports only from your IP (optional) sudo ufw allow from YOUR_IP to any port 3000 sudo ufw allow from YOUR_IP to any port 5000 # Enable firewall sudo ufw enable
-
πͺ Secure admin panel
# Option 1: Use Nginx with basic auth sudo apt install -y apache2-utils sudo htpasswd -c /etc/nginx/.htpasswd admin # Add to Nginx config location / { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://localhost:5000; }
-
π¦ Regular updates
# Update system sudo apt update && sudo apt upgrade -y # Update Node.js packages npm update # Update yt-dlp sudo pip3 install -U yt-dlp
Q: Is this free? A: Yes! The bot code is completely free and open-source (MIT license). You only pay for your server hosting (~$5-10/month for a basic VPS).
Q: Do I need coding experience? A: Not at all! Just follow the step-by-step guide above. If you can copy-paste, you can set this up! π
Q: Can I use this on Windows? A: The bot is designed for Linux servers, but you can run it on Windows using WSL (Windows Subsystem for Linux) or Docker.
Q: How many users can it handle? A: Depends on your server. A $5/month VPS can easily handle 100-500 users. For thousands of users, upgrade to a more powerful server.
Q: Can I monetize this bot? A: Yes! You can add ads, require subscriptions, or accept donations. The code is yours to modify as you wish (MIT license).
Q: Why do some downloads fail? A: Common reasons:
- Video is private or deleted
- Geo-restricted content
- Platform changed their format (update yt-dlp)
- Network issues
- File too large for Telegram (50MB limit)
Q: Can I download private/premium content? A: No. The bot can only download publicly accessible content. This is a limitation of yt-dlp and respects content creators' privacy settings.
Q: What's the maximum video length? A: No specific limit, but:
- Telegram has a 50MB file size limit for bots
- Larger files will use fallback download links
- Very long downloads might timeout
Q: Can I add more platforms? A: If yt-dlp supports it, the bot supports it! yt-dlp works with 1000+ sites. The platform detection is just for nice labels.
Q: How do I change the bot's messages/language?
A: Edit bot.js and search for the messages you want to change. All bot responses are plain text strings.
Q: Bot was working, now it's not. What happened? A: Check in this order:
- Is the bot running?
sudo systemctl status tiktok-bot - Check logs:
sudo journalctl -u tiktok-bot -n 50 - Did server restart? Bot should auto-start
- Did you change anything in .env? Restart bot after changes
- Is yt-dlp updated?
sudo pip3 install -U yt-dlp
Q: "Port already in use" error? A: Another application is using that port. Either:
- Stop that application
- Change PORT in .env to a different number
- Find what's using it:
sudo lsof -i :3000
Q: Database errors? A: Database might be locked or corrupted:
# Backup
cp analytics.db analytics.db.backup
# Stop bot
sudo systemctl stop tiktok-bot
# Delete corrupted DB
rm analytics.db
# Restart (creates new DB)
sudo systemctl start tiktok-botWant to make the bot truly yours? Here are some ideas!
Edit bot.js around line 560:
bot.onText(/\/start/, (msg) => {
const chatId = msg.chat.id;
const welcomeMessage = `
π¬ *Your Custom Bot Name!*
β¨ *Your tagline here!*
π± *How to use:*
1. Send me any video link
2. I'll download it for you
3. Receive it instantly!
Add your own custom instructions here...
`.trim();
bot.sendMessage(chatId, welcomeMessage, { parse_mode: 'Markdown' });
});Edit admin/index.html CSS variables (around line 14):
:root {
--bg-primary: #1a1a2e; /* Dark blue instead of black */
--accent-primary: #00ff88; /* Green accent */
--accent-secondary: #ff0088; /* Pink accent */
/* ... customize all colors ... */
}Want to make this bot even better? Contributions are welcome!
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Test thoroughly
- Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
MIT License - Free to use, modify, and distribute!
What this means:
- β Use commercially
- β Modify as you want
- β Distribute freely
- β Private use
- β No warranty (use at your own risk)
This bot wouldn't be possible without:
- π¬ yt-dlp - The amazing video downloader that powers everything
- π€ node-telegram-bot-api - Telegram Bot API wrapper
- π better-sqlite3 - Fast SQLite3 for Node.js
- β‘ p-queue - Promise queue with concurrency control
- π Node.js Community - For the amazing ecosystem
If this bot helped you, consider:
- β Starring the repo
- π΄ Sharing with friends
- π¬ Leaving feedback
- β Buying me a coffee
Happy Downloading! π¬β¨
Last updated: 2025-11-18