GitHunt
ON

OnlyNoco/RenameBot

Telegram bot for renaming media files with custom thumbnails, batch processing, and advanced file management capabilities.

๐ŸŽฌ RenameBot

Python Version
License
Telegram Bot

A powerful Telegram bot that renames files, videos, and documents with custom thumbnails and advanced media processing capabilities.

Features โ€ข Installation โ€ข Configuration โ€ข Usage โ€ข Deployment


๐Ÿ“‹ Overview

RenameBot is a feature-rich Telegram bot designed to help users rename their media files effortlessly. With support for videos, documents, custom thumbnails, and quality optimization, this bot provides a seamless file management experience directly in Telegram.

Whether you need to rename files, compress thumbnails, or batch process media, RenameBot has you covered with an intuitive interface and powerful backend.


โœจ Features

๐ŸŽฏ Core Features

  • ๐Ÿ“ File Renaming - Rename videos and documents with custom names
  • ๐Ÿ–ผ๏ธ Custom Thumbnails - Set and manage custom thumbnail images
  • ๐Ÿ“ฅ Media Processing - Download, process, and upload files seamlessly
  • โšก Progress Tracking - Real-time progress bars for all operations
  • ๐Ÿ” Secure Operations - Safe file handling with automatic cleanup

๐Ÿš€ Advanced Features

  • ๐Ÿ“Š Batch Processing - Process multiple files efficiently
  • ๐ŸŽจ Thumbnail Optimization - Automatic image compression and resizing
  • ๐Ÿ’พ Smart Storage - Temporary file management with auto-cleanup
  • ๐Ÿ› ๏ธ Customizable Settings - Configurable download directory and quality settings
  • ๐Ÿ“ฑ User-Friendly Interface - Intuitive inline buttons and clear instructions

๐Ÿ›ก๏ธ Administrator Tools

  • /start - Check bot status and get started
  • /help - View available commands and features
  • /report - Report issues to the bot administrator
  • /stats - View system statistics and resource usage

๐Ÿš€ Quick Start

Prerequisites

Local Installation

  1. Clone the Repository
git clone https://github.com/OnlyNoco/RenameBot.git
cd RenameBot
  1. Install Dependencies
pip install -r requirements.txt
  1. Configure the Bot
cp sample_config.py config.py
# Edit config.py with your credentials
  1. Run the Bot
python main.py

โš™๏ธ Configuration

Environment Variables

Create a config.py file based on sample_config.py with the following variables:

Variable Type Description
BOT_TOKEN string Your Telegram bot token from BotFather
API_ID integer Telegram API ID from my.telegram.org
API_HASH string Telegram API Hash from my.telegram.org
OWNER_ID integer Your Telegram user ID (admin)
WORKER integer Number of worker threads (default: 4)
PORT integer Port for web server (default: 8080)
DB_URL string MongoDB connection URL
DB_NAME string MongoDB database name
DOWNLOAD_DIR string Directory for temporary downloads (default: ./downloads)
START_MSG string Custom welcome message
ABOUT_MSG string About bot message
CMD_MSG string Commands help message
START_PIC list URLs for start command media

Example Configuration

BOT_TOKEN = "your_bot_token_here"
API_ID = 26254064
API_HASH = "your_api_hash_here"
OWNER_ID = 5296584067
WORKER = 4
PORT = 8080
DB_URL = "mongodb+srv://username:password@cluster.mongodb.net"
DB_NAME = "RenameBot"
DOWNLOAD_DIR = "./downloads"

๐Ÿ“– Usage

User Commands

  1. Start the Bot

    • Use /start to initiate the bot and see the welcome message
  2. Send a File

    • Send a video or document file to the bot
    • The bot will ask for a custom filename
  3. Set Thumbnail

    • Send an image to the bot in private chat
    • The bot will save it as your custom thumbnail
  4. Rename Files

    • Send media with the custom thumbnail already set
    • Reply with the desired filename (without extension)
    • Choose between document or video format
    • The bot will process and send the renamed file
  5. Get Help

    • Use /help to view all available commands
    • Use /report to report issues to the admin

Example Workflow

1. /start                          โ†’ Bot sends welcome message
2. Send photo                       โ†’ Bot saves as thumbnail
3. Send video file                 โ†’ Bot asks for filename
4. Reply with "MyVideo"            โ†’ Bot asks for format
5. Click "Video" button            โ†’ Bot processes and sends file

๐Ÿ“ Project Structure

RenameBot/
โ”œโ”€โ”€ main.py                 # Entry point and bot initialization
โ”œโ”€โ”€ bot.py                  # Bot class and core configuration
โ”œโ”€โ”€ config.py              # Configuration (create from sample_config.py)
โ”œโ”€โ”€ sample_config.py       # Configuration template
โ”œโ”€โ”€ requirements.txt       # Python dependencies
โ”œโ”€โ”€ Dockerfile             # Docker configuration
โ”œโ”€โ”€ Procfile              # Deployment configuration
โ”œโ”€โ”€ LICENSE               # MIT License
โ”œโ”€โ”€ README.md             # This file
โ”‚
โ”œโ”€โ”€ database/
โ”‚   โ””โ”€โ”€ database.py       # MongoDB operations and user management
โ”‚
โ”œโ”€โ”€ plugins/
โ”‚   โ”œโ”€โ”€ __init__.py       # Web server initialization
โ”‚   โ”œโ”€โ”€ route.py          # Web routing
โ”‚   โ”œโ”€โ”€ start.py          # Start command handler
โ”‚   โ”œโ”€โ”€ report.py         # Issue reporting
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ core/
โ”‚       โ”œโ”€โ”€ main_decorator.py     # Main file processing logic
โ”‚       โ”œโ”€โ”€ thumb.py              # Thumbnail management
โ”‚       โ”œโ”€โ”€ cleanup.py            # Temporary file cleanup
โ”‚       โ””โ”€โ”€ progressbar.py        # Progress bar utilities
โ”‚
โ””โ”€โ”€ thumbnails/           # User thumbnail storage directory

๐Ÿ”ง Technology Stack


๐ŸŒ Deployment

๐Ÿณ Docker Deployment

docker build -t renamebot .
docker run -e BOT_TOKEN="your_token" -e API_ID="your_id" \
  -e API_HASH="your_hash" -e OWNER_ID="your_id" renamebot

โ˜๏ธ Heroku Deployment

Deploy to Heroku

  1. Click the button above
  2. Fill in the environment variables
  3. Deploy and monitor logs

๐ŸŽฏ Render Deployment

Deploy to Render

Steps:

  1. Connect your GitHub repository
  2. Select Python as runtime
  3. Set build command: pip install -r requirements.txt
  4. Set start command: python main.py
  5. Add environment variables:
    • BOT_TOKEN
    • API_ID
    • API_HASH
    • OWNER_ID
    • DB_URL
    • DB_NAME
  6. Deploy

๐Ÿš€ Koyeb Deployment

Deploy to Koyeb

Steps:

  1. Click deploy button above
  2. Connect your GitHub account
  3. Select this repository
  4. Configure environment variables:
    • BOT_TOKEN - Your Telegram bot token
    • API_ID - Telegram API ID
    • API_HASH - Telegram API Hash
    • OWNER_ID - Your Telegram user ID
    • DB_URL - MongoDB connection string
    • DB_NAME - Database name
    • PORT - Web server port (8080)
  5. Click "Deploy" and wait for completion

๐Ÿ’ป VPS/Local Deployment

Requirements:

  • Linux VPS or Local Machine
  • Python 3.11+
  • MongoDB access

Installation:

# Clone repository
git clone https://github.com/OnlyNoco/RenameBot.git
cd RenameBot

# Install dependencies
pip3 install -U -r requirements.txt

# Configure
cp sample_config.py config.py
nano config.py  # Edit with your credentials

# Run bot
python3 main.py

Using Systemd (for persistent running):

sudo nano /etc/systemd/system/renamebot.service

Add:

[Unit]
Description=RenameBot
After=network.target

[Service]
Type=simple
User=your_user
WorkingDirectory=/path/to/RenameBot
ExecStart=/usr/bin/python3 /path/to/RenameBot/main.py
Restart=always

[Install]
WantedBy=multi-user.target

Then run:

sudo systemctl daemon-reload
sudo systemctl enable renamebot
sudo systemctl start renamebot

๐Ÿ› Troubleshooting

Bot Not Responding

  • Verify BOT_TOKEN is correct
  • Check internet connection
  • Ensure bot is running: python main.py
  • Check logs for error messages

File Download Issues

  • Verify bot has enough disk space
  • Check DOWNLOAD_DIR permissions
  • Ensure MongoDB is connected

Thumbnail Not Saving

  • Send image as file, not as photo
  • Ensure image file is under 5MB
  • Check directory permissions for thumbnails/

Database Connection Issues

  • Verify DB_URL is correct and accessible
  • Check MongoDB cluster IP whitelist
  • Ensure network connectivity
  • Test connection string with MongoDB Compass

๐Ÿค Contributing

Contributions are welcome! Feel free to:

  • ๐Ÿ› Report bugs via /report command
  • ๐Ÿ’ก Suggest new features
  • ๐Ÿ”ง Submit pull requests
  • ๐Ÿ“š Improve documentation

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

You are free to:

  • โœ… Use privately
  • โœ… Modify and distribute
  • โœ… Host yourself

We only ask that you provide proper credit by linking to the original repository.


๐Ÿ‘จโ€๐Ÿ’ป Author & Credits

๐ŸŒŸ OnlyNoco

Portfolio: onlynoco.vercel.app
Telegram: @OnlyNoco
GitHub: github.com/OnlyNoco


๐Ÿ“ข My Channels

Join our community for more amazing bots and content:


๐Ÿ™ Special Thanks


๐Ÿ“ž Support

For issues, questions, or suggestions:

  • Use /report command in the bot to report problems
  • Contact @OnlyNoco on Telegram
  • Open an issue on GitHub
  • Join support group for community help

โฌ† Back to Top

Made with โค๏ธ by OnlyNoco

Python
Telegram
MongoDB
License