Skip to content

EDM115/unzip-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Mar 17, 2025
8935855 ยท Mar 17, 2025
Mar 17, 2025
Mar 16, 2025
Nov 11, 2024
Nov 13, 2024
Nov 23, 2024
Nov 13, 2024
Mar 16, 2025
Nov 12, 2024
Nov 12, 2024
Dec 8, 2024
Oct 4, 2022
Nov 3, 2024
Aug 5, 2024
Mar 16, 2025
Jan 18, 2024
Mar 16, 2025
Nov 23, 2024
Jan 9, 2023
Mar 16, 2025
Nov 23, 2024
Mar 16, 2025
Mar 16, 2025
Mar 17, 2025
Nov 24, 2024

Repository files navigation

unzip-bot

A Telegram bot to extract various types of archives

unzip-bot

Code style : black 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 ๐Ÿฅฐ

@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 splitted 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.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 โœ๏ธ

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 ๐Ÿ“ค

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 legacy way

git clone https://github.com/EDM115/unzip-bot.git && cd unzip-bot
pip3 install -r requirements.txt
  • Install required dependencies
    Arch Linux : sudo pacman -S p7zip
    Ubuntu/Debian : sudo apt-get install p7zip-full p7zip-rar
  • Edit .env with your own values
chmod +x start.sh && ./start.sh

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 :
  • 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 ๐Ÿ›

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 (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