MergeImages handles common image and document tasks directly in Telegram:
- Merge images vertically, horizontally, or as a grid
- Convert and compress images
- Process PDF and DOCX files
- Extract text with OCR
- Remove image and document metadata
- Create GIFs, memes, QR codes, ZIP files, and stickers
- Edit images through a Telegram Mini App
- Open support tickets and view personal usage statistics
The bot has multilingual menus and messages, with support for eight languages.
- Python 3.11 or newer
- Tesseract OCR
- A Telegram bot token
- Go, if you plan to run the Mini App
git clone https://github.com/MartianCatBR/MergeImagesTelegramBot.git
cd MergeImagesTelegramBot
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtInstall Tesseract separately and make sure it is available in your system PATH.
Set the required environment variables:
TELEGRAM_TOKEN=your_telegram_bot_token
ADMIN_ID=your_telegram_user_idFor the Mini App, also configure the allowed origin:
MINIAPP_ALLOWED_ORIGINS=https://your-miniapp-domain.examplesource venv/bin/activate
python3 UnifyImages.pyThe bot creates its local database and runtime directories when needed.
The Mini App source is in miniapp/. From that directory:
cd miniapp
gofmt -w main.go
go test ./...
go run .Set MINIAPP_ALLOWED_ORIGINS to the real origin used by the Mini App. The server validates Telegram initData; CORS alone is not authentication.
The bot keeps basic usage metrics for service administration. General activity logs do not need to store usernames. Support tickets are handled differently because the user opens them to request help: ticket text, public name, username, and Telegram ID may be shown to the administrator.
Visual search asks for confirmation before sending an image to external services such as Telegra.ph, Catbox.moe, and Google Lens. Those services have their own privacy and retention policies.
Do not commit tokens, .env files, databases, logs, backups, virtual environments, or production data. The repository includes a .gitignore for local files and generated data.
Privacy policies are available in:
- 🇺🇸 English
- 🇧🇷 Português
- 🇪🇸 Español
- 🇫🇷 Français
- 🇮🇹 Italiano
- 🇸🇦 العربية
- 🇷🇺 Русский
- 🇺🇦 Українська
Bug reports, suggestions, and code contributions are welcome through GitHub Issues and pull requests.
Before opening an issue, please avoid including bot tokens, database files, private user content, or other sensitive information.
This project is licensed under the MIT License.