Agar tum Telegram File Saver Bot banana chahte ho jo users se files le aur unko database ya cloud storage (Google Drive, Firebase, AWS) me save kare, toh yeh ek advanced project hoga. Mai tumhe VS Code me full setup, database integration aur deployment tak sab kuch step-by-step bataunga.
🔥 Features of Advanced Telegram File Saver Bot
✅ Users se images, videos, PDFs, aur other files accept karega.
✅ Files ko local storage ya cloud (Google Drive, Firebase, AWS S3) me save karega.
✅ Users ko file ka download link dega.
✅ Inline buttons ke saath interactive UI hoga.
✅ Database (MongoDB / Firebase) me users aur files ka record store karega.
🚀 Step 1: Bot Setup with BotFather
1️⃣ Telegram pe @BotFather
ko open karo.
2️⃣ Command likho: /newbot
3️⃣ Bot ka naam aur username set karo.
4️⃣ BotFather tumhe API Token dega (yeh important hai, isko safe rakho).
🛠 Step 2: VS Code Setup & Python Libraries Install
1️⃣ VS Code Install karo (agar already nahi hai)
🔗 Download VS Code
2️⃣ Python Install karo (Agar nahi hai)
🔗 Download Python
3️⃣ Python ke required libraries install karo
VS Code me Terminal (Ctrl +
`) open karo aur yeh command run karo:
pip install pyTelegramBotAPI pymongo python-dotenv requests
🔹 pyTelegramBotAPI
→ Telegram bot ke liye
🔹 pymongo
→ MongoDB database ke liye
🔹 requests
→ File uploads/downloads ke liye
🔹 python-dotenv
→ API keys securely manage karne ke liye
📜 Step 3: Python Script Likho (Basic File Saver Bot)
VS Code me ek new file banao → file_saver_bot.py
Aur yeh basic file saver bot code paste karo:
import telebot
import os
from dotenv import load_dotenv
import requests
# .env file se API token load karna
load_dotenv()
API_TOKEN = os.getenv("BOT_API_TOKEN")
bot = telebot.TeleBot(API_TOKEN)
# Directory jahan files save hongi
SAVE_DIR = "saved_files"
if not os.path.exists(SAVE_DIR):
os.makedirs(SAVE_DIR)
# File receiving and saving
@bot.message_handler(content_types=['document', 'photo', 'video', 'audio'])
def save_file(message):
file_info = bot.get_file(message.document.file_id if message.document else message.photo[-1].file_id)
file_url = f"https://api.telegram.org/file/bot{API_TOKEN}/{file_info.file_path}"
file_name = file_info.file_path.split("/")[-1]
file_path = os.path.join(SAVE_DIR, file_name)
# File download
file_data = requests.get(file_url)
with open(file_path, "wb") as f:
f.write(file_data.content)
bot.reply_to(message, f"✅ File saved successfully!\n📂 **Filename:** {file_name}")
bot.polling()
📌 .env
file banao aur apni API key wahan rakho:
BOT_API_TOKEN=YOUR_BOT_API_TOKEN
(🔹 Isko .gitignore
me add karna taaki security safe rahe.)
📦 Step 4: Database (MongoDB) Integration for File Records
Agar tum file records ko store karna chahte ho, toh MongoDB use kar sakte ho.
🔹 MongoDB install karo ya MongoDB Atlas (cloud database) use karo:
🔗 MongoDB Atlas Signup
Database ke liye Python me MongoDB Connect karo:
from pymongo import MongoClient
MONGO_URI = os.getenv("MONGO_URI")
client = MongoClient(MONGO_URI)
db = client['file_saver_bot']
collection = db['files']
def save_file_to_db(file_name, file_path, user_id):
file_record = {"file_name": file_name, "file_path": file_path, "user_id": user_id}
collection.insert_one(file_record)
📌 .env
file me MongoDB URI add karo:
MONGO_URI=mongodb+srv://your_username:your_password@cluster.mongodb.net/?retryWrites=true&w=majority
☁️ Step 5: Google Drive Integration for Cloud Storage
Agar tum Google Drive me files upload karna chahte ho, toh Google Drive API use karo:
🔗 Google Drive API Setup
1️⃣ pip install pydrive2
karo
2️⃣ Google Drive API enable karo aur credentials.json lo
3️⃣ Code update karo Google Drive upload ke liye:
from pydrive2.auth import GoogleAuth
from pydrive2.drive import GoogleDrive
# Google Drive Auth Setup
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
drive = GoogleDrive(gauth)
def upload_to_drive(file_path):
file_drive = drive.CreateFile({'title': os.path.basename(file_path)})
file_drive.SetContentFile(file_path)
file_drive.Upload()
return file_drive['id']
📌 Ab yeh function upload_to_drive(file_path)
call karne se Google Drive me file upload ho jayegi.
🚀 Step 6: Bot Deploy Karna (Heroku / Railway.app)
Agar tum bot ko 24/7 online rakhna chahte ho, toh Heroku ya Railway.app use kar sakte ho.
1️⃣ Heroku Install Karo
🔗 Heroku CLI
2️⃣ Git Repository Banao
git init
git add .
git commit -m "First Commit"
3️⃣ Heroku Pe Deploy Karo
heroku create your-bot-name
git push heroku main
📌 Heroku pe bot 24/7 chalta rahega!
🎯 Next-Level Features Add Karna
🔥 Inline Buttons – File download/share ke liye
🔥 User Authentication – Sirf authorized users ke liye
🔥 Cloud Storage (AWS S3, Firebase) – File storage ke liye
🔥 AI Features – Auto-caption aur sorting system
Agar tumhe koi specific feature ya aur deep explanation chahiye, toh batao! 🚀