OnlyNoco/RenameBot
Telegram bot for renaming media files with custom thumbnails, batch processing, and advanced file management capabilities.
๐ฌ RenameBot
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
- Python 3.11 or higher
- Telegram Bot Token (BotFather)
- Telegram API credentials (my.telegram.org)
- MongoDB database (MongoDB Cloud) - Optional
Local Installation
- Clone the Repository
git clone https://github.com/OnlyNoco/RenameBot.git
cd RenameBot- Install Dependencies
pip install -r requirements.txt- Configure the Bot
cp sample_config.py config.py
# Edit config.py with your credentials- 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
-
Start the Bot
- Use
/startto initiate the bot and see the welcome message
- Use
-
Send a File
- Send a video or document file to the bot
- The bot will ask for a custom filename
-
Set Thumbnail
- Send an image to the bot in private chat
- The bot will save it as your custom thumbnail
-
Rename Files
- Send media with the custom thumbnail already set
- Reply with the desired filename (without extension)
- Choose between
documentorvideoformat - The bot will process and send the renamed file
-
Get Help
- Use
/helpto view all available commands - Use
/reportto report issues to the admin
- Use
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
- Pyrofork - Advanced Telegram client library
- Python 3.11+ - Core language
- MongoDB - User database
- PIL/Pillow - Image processing
- aiohttp - Async HTTP server
- TgCrypto - Fast encryption
๐ 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
- Click the button above
- Fill in the environment variables
- Deploy and monitor logs
๐ฏ Render Deployment
Steps:
- Connect your GitHub repository
- Select Python as runtime
- Set build command:
pip install -r requirements.txt - Set start command:
python main.py - Add environment variables:
BOT_TOKENAPI_IDAPI_HASHOWNER_IDDB_URLDB_NAME
- Deploy
๐ Koyeb Deployment
Steps:
- Click deploy button above
- Connect your GitHub account
- Select this repository
- Configure environment variables:
BOT_TOKEN- Your Telegram bot tokenAPI_ID- Telegram API IDAPI_HASH- Telegram API HashOWNER_ID- Your Telegram user IDDB_URL- MongoDB connection stringDB_NAME- Database namePORT- Web server port (8080)
- 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.pyUsing Systemd (for persistent running):
sudo nano /etc/systemd/system/renamebot.serviceAdd:
[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.targetThen run:
sudo systemctl daemon-reload
sudo systemctl enable renamebot
sudo systemctl start renamebot๐ Troubleshooting
Bot Not Responding
- Verify
BOT_TOKENis 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_DIRpermissions - 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_URLis 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
/reportcommand - ๐ก 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:
- ๐ฌ Battle Through The Heavens - Anime streaming and updates
- ๐ Hentai Crisp - Adult anime content
๐ Special Thanks
- Mayuri-Chan - Pyrofork Library
- Lonami - PyroMod Extension
- MongoDB - Database Service
๐ Support
For issues, questions, or suggestions:
- Use
/reportcommand in the bot to report problems - Contact @OnlyNoco on Telegram
- Open an issue on GitHub
- Join support group for community help