Skip to content

vanshcz/GitHubZipBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– GitHubZipBot

Typing SVG

Telegram Bot Node.js grammY License

πŸ’« A powerful Telegram bot that downloads GitHub repositories as ZIP files with rich metadata

Features β€’ Demo β€’ Setup β€’ Usage β€’ Contact

✨ Features

Feature Description
πŸ”— Smart URL Parsing Accepts full GitHub URLs or owner/repo shorthand
πŸ“¦ Zip Download Downloads the default branch as a zip file instantly
πŸ“ Rich Captions Displays name, description, languages, stars, forks & more
πŸ“Š Language Breakdown Beautiful percentage-based language composition
⚑ Live Progress Real-time status updates while processing
🎨 Premium Emojis Uses Telegram premium custom emojis for polish
⚠️ Error Handling Friendly messages for invalid repos & rate limits
πŸš€ Lightning Fast Optimized performance for quick downloads

🎬 Demo

πŸ”₯ See It In Action!

Simply send a GitHub repo link and get instant results:

You: https://github.com/expressjs/express
Bot: πŸ“¦ Downloading express...
     ⚑ Processing...
     βœ… Done! Sending file...

πŸ›  Setup

πŸ“‹ Prerequisites
  • Node.js v16 or higher
  • A Telegram Bot Token (get from @BotFather)
  • (Optional) GitHub Personal Access Token

1️⃣ Clone the repository

git clone https://github.com/vanshvx1-afk/GitHubZipBot
cd GitHubZipBot

2️⃣ Install dependencies

npm install

3️⃣ Configure environment variables

cp .env.example .env

Edit .env file:

BOT_TOKEN=your_telegram_bot_token_here
GITHUB_TOKEN=your_github_personal_access_token  # optional

πŸ’‘ Pro Tip: GitHub token increases rate limit from 60 to 5,000 requests/hour!

4️⃣ Start the bot

npm start

πŸŽ‰ Your bot is now live!

πŸ“– Usage

πŸš€ Three Simple Steps

  1. Open your bot on Telegram
  2. Send a GitHub repository link:
    https://github.com/expressjs/express
    
    or use shorthand:
    expressjs/express
    
  3. Receive the ZIP file with detailed metadata!

πŸ“¦ Example Output

The bot sends a .zip file with a caption containing:

Info Description
πŸ“¦ Repository name
πŸ“ Project description
🌐 Languages (with percentages)
⭐ Stars and πŸ”„ Forks
🌿 Branch info
πŸ“„ License type
πŸ’Ύ ZIP file size
πŸ”— Inline button to view on GitHub

πŸ“ Project Structure

GitHubZipBot/
β”œβ”€β”€ πŸ“œ bot.js           # Main bot logic
β”œβ”€β”€ πŸ” .env             # Environment variables (not committed)
β”œβ”€β”€ πŸ“‹ .env.example     # Template for .env
β”œβ”€β”€ 🚫 .gitignore       # Git ignore rules
β”œβ”€β”€ πŸ“¦ package.json     # Dependencies
└── πŸ“– README.md        # You are here!

⚠️ Limitations

Limitation Details
πŸ“€ File Size 50 MB max (Telegram limit)
πŸ”’ Private Repos Requires GitHub token with permissions
⏱️ Rate Limit 60/hr without token, 5000/hr with token

πŸ’‘ For repos > 50MB, bot provides direct GitHub download link!

🀝 Connect With Me

πŸ“± Let's Stay Connected!

Telegram Channel Contact Portfolio



πŸ“’ Join my Telegram channel: @botsarefather
πŸ’¬ Contact me: @itsukiarai
🌐 Portfolio: vanshcz.online

πŸ“œ License

ISC License

Made with ❀️ by Vansh

⭐ Star this repo if you find it useful!


About

GitHubZipBot For Telegram

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors