Important
The bot is undergoing an important rewrite.
Please be patient and wait a few months to get the unzip-bot in its full glory !
Check [ROADMAP] The future of unzip-bot (v7) (#296) to know more about the current development.
Working bot 🥰
@unzip_edm115bot
More info : edm115.dev/unzip
Features 👀
User side
- Extract all formats of archives like
rar,zip,7z,tar.gz, … - Supports password protected archives
- Able to process split archives (
.001,.partX.rar, …) - Download files from links
- Rename and set custom thumbnail for files
- Uploads files as documents or media
- Can report issues directly
Admin side
- Broadcast messages to all users or specific ones
- Ban/unban users from using your bot
- Get realtime stats of the bot usage, along an API
- Ability to set sudo users
- Restart simply the bot and pull updates in one command
- Can eval and exec code directly from Telegram
- Send logs in a custom channel/group + retrieve logs from the bot
And much more 🔥 Dive into the code to find out 🤭
Config vars 📖
APP_ID- Your APP ID. Get it from my.telegram.orgAPI_HASH- Your API_HASH. Get it from my.telegram.orgBOT_OWNER- Your Telegram Account ID. Get it from @MissRose_bot (Start the bot and send/command).BOT_TOKEN- Bot Token of Your Telegram Bot. Get it from @BotFatherMONGODB_DBNAME- (optional) A custom name for the MongoDB database, useful if you deploy multiple instances of the bot on the same account. Defaults toUnzipper_BotMONGODB_URL- Your MongoDB URL (tutorial here)LOGS_CHANNEL- Make a private channel and get its ID (search on Google if you don’t know how to do). Using a group works as well, just addRose, then send/id(In both cases, make sure to add your bot to the channel/group as an admin !)
Commands ✍️
Copy-paste those to BotFather when he asks you for them
commands - Get commands list
mode - Upload as Doc 📄 / Media 📺
addthumb - Add custom thumbnail
delthumb - Remove your thumbnail
stats - Know if bot is overused
clean - Cancel ongoing process
help - In case you need 😭
Deploy 🚧
Deploying is easy 🥰 You can deploy this bot in Heroku or in a VPS ❤️
Star 🌟 Fork 🍴 and Deploy 📤
Tip
If you need a cloud server (VPS) to host the bot, try Hetzner Cloud.
This is what I personally use for all my bots, my website, APIs and more !
Cheap service but awesome quality.
Sign up using this link to get 20€ in cloud credits.
The lazy way
(if you’re in a fork, make sure to replace the template URL with your repo’s one, also replace the URL in the Dockerfile)
The fast way
Run the following command in your terminal
bash <(curl -sSL https://raw.githubusercontent.com/EDM115/unzip-bot/v7-rework-part-1/setup.sh)
(if curl isn’t available on your system, use wget)
bash <(wget -qO- https://raw.githubusercontent.com/EDM115/unzip-bot/v7-rework-part-1/setup.sh)
DO NOT run this script as sudo. If Docker complains, follow Docker’s postinstall steps.
Usage of flags is available with this script to make it a bit faster. More info with -h|--help
bash <(curl -sSL https://raw.githubusercontent.com/EDM115/unzip-bot/v7-rework-part-1/setup.sh) -- -h
The easy way
- Install Docker then restart your computer (if on Windows)
git clone https://github.com/EDM115/unzip-bot.git && cd unzip-bot
nano .env
docker build -t edm115/unzip-bot .
- Open Docker Desktop, go on the Images tab, click on the Run button
- On Optional settings, fill the env variables
The nerdy way
git clone https://github.com/EDM115/unzip-bot.git && cd unzip-bot
nano .env
docker build -t edm115/unzip-bot .
docker run -d -v downloaded-volume-prod:/app/Downloaded -v thumbnails-volume-prod:/app/Thumbnails --env-file ./.env --name unzipbot edm115/unzip-bot
DONE 🥳 enjoy the bot ! Be sure to follow me on GitHub and Star 🌟 this repo to show some support 🥺
How to build after changes ?
Trust GitHub Actions
- Add new Actions secrets to the repo :
DOCKER_USERNAME: all in lowercaseDOCKER_TOKEN: one with all rights, here : https://hub.docker.com/settings/security
- Go in Actions tab, 2 workflows are here for ya :
Build Docker Image: Check if it builds without errorsPublish Docker Image: Rebuild && publish
Do it manually
- Go in the repo’s folder
docker build --no-cache -t edm115/unzip-bot .
docker run -d -v downloaded-volume:/app/Downloaded -v thumbnails-volume:/app/Thumbnails --env-file ./.env --network host --name unzip-bot-container edm115/unzip-bot
docker start unzip-bot-container
# if you want to check something
docker exec -it unzip-bot-container sh
docker logs unzip-bot-container
# once you're done
docker stop unzip-bot-container
- If you wanna publish :
docker tag edm115/unzip-bot edm115/unzip-bot:latest
(replace edm115 with your docker hub username, unzip-bot with the repo’s name and latest whith whatever you want)
docker login
login and don’t mind the errors
docker push edm115/unzip-bot:latest
(same, replace accordingly)
Dev commands
- Upgrade/install dependencies :
uv sync - Lint code :
ruff check - Lint and fix code :
ruff check --fix - Format code :
ruff format
Found a bug 🐛
If you found a bug in this bot please open an issue or report it on Telegram : @EDM115
Same if you have any feature request 😉
License & Copyright 👮
Copyright © 2022 - present EDM115
This unzip-bot repository is licensed under the MIT License
Enjoy copying and modifying, but always mention me
• Inspired by Itz-fork/Nexa’s work, but with additional features and bug fixes.
This is a maintained repo of the original, props to him for the OG code 🫡