MCPcopy Index your code
hub / github.com/EDM115/unzip-bot

github.com/EDM115/unzip-bot @7.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 7.3.0 ↗ · + Follow
162 symbols 678 edges 14 files 3 documented · 2% updated 6d ago7.3.0 · 2026-02-25★ 13925 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

unzip-bot

A Telegram bot to extract various types of archives

unzip-bot

uv Ruff DeepSource

unzip-bot analytics

[!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.
Check the master branch to use the older version.


Working bot :smiling_face_with_three_hearts:

@unzip_edm115bot
More info : edm115.dev/unzip

Features :eyes:

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 :fire: Dive into the code to find out :hand_over_mouth:

Config vars :book:

  • APP_ID - Your APP ID. Get it from my.telegram.org
  • API_HASH - Your API_HASH. Get it from my.telegram.org
  • BOT_OWNER - Your Telegram Account ID. Get it from @MissRose_bot (Start the bot and send /info command).
  • BOT_TOKEN - Bot Token of Your Telegram Bot. Get it from @BotFather
  • MONGODB_DBNAME - (optional) A custom name for the MongoDB database, useful if you deploy multiple instances of the bot on the same account. Defaults to Unzipper_Bot
  • MONGODB_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 add Rose, then send /id (In both cases, make sure to add your bot to the channel/group as an admin !)

Commands :writing_hand:

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 :construction:

Deploying is easy :smiling_face_with_three_hearts: You can deploy this bot in Heroku or in a VPS :heart:
Star :star2: Fork :fork_and_knife: and Deploy :outbox_tray:

The lazy way

Deploy me :pleading_face:
(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 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 :partying_face: enjoy the bot ! Be sure to follow me on GitHub and Star :star2: this repo to show some support :pleading_face:

How to build after changes ?

Trust GitHub Actions

  • Add new Actions secrets to the repo :
  • DOCKER_USERNAME : all in lowercase
  • DOCKER_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 errors
  • Publish 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)

Found a bug :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 :wink:

License & Copyright :cop:

Copyright (c) 2022 - 2025 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

Core symbols most depended-on inside this repo

get
called by 386
unzipbot/i18n/messages.py
del_ongoing_task
called by 36
unzipbot/helpers/database.py
answer_query
called by 17
unzipbot/modules/ext_script/up_helper.py
humanbytes
called by 12
unzipbot/helpers/unzip_help.py
run_shell_cmds
called by 11
unzipbot/modules/ext_script/ext_helper.py
get_files
called by 10
unzipbot/modules/ext_script/ext_helper.py
make_keyboard
called by 8
unzipbot/modules/ext_script/ext_helper.py
make_keyboard_empty
called by 8
unzipbot/modules/ext_script/ext_helper.py

Shape

Function 155
Class 3
Method 3
Route 1

Languages

Python100%

Modules by API surface

unzipbot/helpers/database.py60 symbols
unzipbot/modules/commands.py45 symbols
unzipbot/modules/ext_script/ext_helper.py13 symbols
unzipbot/helpers/start.py8 symbols
unzipbot/modules/ext_script/up_helper.py7 symbols
unzipbot/modules/callbacks.py7 symbols
unzipbot/helpers/unzip_help.py6 symbols
unzipbot/modules/ext_script/custom_thumbnail.py4 symbols
unzipbot/i18n/messages.py4 symbols
unzipbot/__main__.py4 symbols
unzipbot/modules/ext_script/metadata_helper.py2 symbols
unzipbot/i18n/buttons.py1 symbols

Datastores touched

(mongodb)Database · 1 repos

For agents

$ claude mcp add unzip-bot \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact