|
1 | 1 | <div align="center"> |
2 | | - |
3 | | -# Unarchiver Bot **BETA** |
| 2 | + |
| 3 | +# Unarchiver Bot |
4 | 4 |
|
5 | 5 | ## A Telegram bot to extract various types of archives |
6 | 6 |
|
|
11 | 11 |
|
12 | 12 | </div> |
13 | 13 |
|
14 | | -## Demo 🥰 |
15 | | - |
16 | | -[@unzip_edm115bot](https://t.me/unzip_edm115bot) |
17 | | -⚠️ From 22h to 06h UTC+1, this beta version is running. Try it at your own risks… |
18 | | - |
19 | | -## **THIS IS BETA BRANCH, DON'T BE MAD AT ME IF IT'S BUGGY 😞** |
20 | | - |
21 | | -## Important note : it may no longer be deployable. More informations here : https://blog.heroku.com/next-chapter |
22 | | - |
23 | | -## WORKAROUNDS (bugs to fix and features to add) 💀 |
24 | | - |
25 | | -- [ ] The ETA isn't accurate |
26 | | -- [x] Adding a `/db` command that returns a list of all users + banned ones **WILL BE IMPROVED** |
27 | | -- [x] Add a translation (start a CrowdIn dude) [](https://crowdin.com/project/unzip-bot-edm115) |
28 | | -- [ ] Get informations with smth like `/user {id}`, that returns his state (banned or not) + lastly uploaded files (5 last with link to channel/group message) + how many files he sent + size of all of them. The user could also get those infos with a `/me` command |
29 | | -- [x] Add a `/dbdive` that returns an url where we can visualize the db online **CAN BE IMPROVED** |
30 | | -- [x] Add status of extraction in logs (uploaded, started, extracted, failed (+ error), what is the password, …) **HALF-DONE** |
31 | | -- [ ] Add more things to `/stats` like average speed, … |
32 | | -- [ ] Add cancel process button for downloads and an emergency `/redbutton` one |
33 | | -- [x] Add an emergency `/restart` command that can be run **even** if the bot hanged up |
34 | | -- [x] Add permathumb support `/addthumb` `/delthumb` |
35 | | -- [x] Auto use `/clean` when a task failed **NOT 100% accurate** |
36 | | -- [x] Keep the archives 5 hours in server just in case someone resend the same (no download twice) **Will probably NOT be implemented** |
37 | | -- [ ] Add group support. You add bot to group as admin, then reply to any file with `/extract`. Then you choose where goes the files (group or PM), and drop here do the instructions (pass or no, what to upload, …) |
38 | | - |
39 | | -## Things to work with on v5 : |
40 | | - |
41 | | -Check [issue #38](https://github.com/EDM115/unzip-bot/issues/38) |
42 | | - |
43 | | -### Possible v6 ...? |
44 | | - |
45 | | -- [ ] Web interface |
46 | | -- [ ] Match with nextgenleech |
47 | | -- [ ] yt-dlp included. because why not |
48 | | -- [ ] Integration with upcomming ARCHIVER BOT 👀 |
49 | | -- [ ] Compatibility with premium accounts (4Gb upload) |
50 | | - |
51 | | -## Fixed/added :partying_face: |
52 | | - |
53 | | -#### Fixed : |
54 | | - |
55 | | -- [x] _Download speed stays constant, depending of what we have at begining. If the download started at 3 Mb/s, it will stay like that through all the process and can't evolve_ Fixed with new PyroGram | **Since the latest update I did, download speed is fastest than ever (8-10 Mb/s) and upload speed is around 20-25 Mb/s** |
56 | | -- [x] _Unzipping normally a password protected archive makes crash the bot 😭_ Fixed here : [1](https://github.com/EDM115/unzip-bot/commit/41adcb26d11fa0df2425e7aa1654c88d5a4b2151), [2](https://github.com/EDM115/unzip-bot/commit/e933acdf3b61ee1cc92a194cb53c491537405c8f), [3](https://github.com/EDM115/unzip-bot/commit/db59780a14cbde2da53e739f62462719a3c95cd4), [4](https://github.com/EDM115/unzip-bot/commit/9ed2bb8621f8fb874912d8d7b103af83075c0202), [5](https://github.com/EDM115/unzip-bot/commit/5d6004aaae3a494b2e2a83b9c980cb3c4b94c731) |
57 | | -- [x] _Looks like some "blank" users are added to the db, including a banned one Actually, the banned db can exist only if at least 1 value is inside. So, since owner have all rights, his ID can be added into it, the owner status will bypass it. But I noticed also other banned users while no `/ban` command were done_ [Fix here](https://github.com/EDM115/unzip-bot/commit/6b69084cd7337453effb7e9015d2c77da83f8d81) |
58 | | -- [x] [_Reply markup error_](https://github.com/EDM115/unzip-bot/issues/2) |
59 | | -- [x] _Some profile links doesn't work_ Fixed with replacing `.` with `_` |
60 | | - |
61 | | -#### Added : |
62 | | - |
63 | | -- [x] _Adding file name in description while uploading_ [Added here](https://github.com/EDM115/unzip-bot/commit/37e534873baba858583729f27927f42da368ed86) |
64 | | -- [x] _Add a `/cleanall` for forcing the server reset and freeing space_ |
65 | | - |
66 | | -## Take a look about the [changelog](https://github.com/EDM115/unzip-bot/blob/beta/changelog.md) 😏 |
67 | | - |
68 | | -[](https://www.heroku.com/deploy?template=https://github.com/EDM115/unzip-bot/tree/beta) |
69 | | -[](https://railway.app/new/template/ENIia-?referralCode=EDM115) |
| 14 | +</br></br> |
70 | 15 |
|
| 16 | +## Demo 🥰 |
| 17 | +[@unzip_edm115bot](https://t.me/unzip_edm115bot) |
| 18 | +⚠️ From 00h to 08h UTC+1, the [beta](https://github.com/EDM115/unzip-bot/tree/beta) version is running. Try it at your own risks… |
| 19 | + |
| 20 | +## Features 👀 |
| 21 | +- Extract various types of archives like `rar`, `zip`, `tar`, `7z`, `tar.xz`, … |
| 22 | +- Supports password protected archives |
| 23 | +- Extract archives from direct links |
| 24 | +- Broadcast messages to users |
| 25 | +- Ban / Unban users from using your bot |
| 26 | +- Send logs in a private channel/group |
| 27 | +- Can run only one extract per user at a time |
| 28 | +- Download speed : 4-12 Mb/s, can be even more if you're lucky |
| 29 | +- Upload speed : 15-25 Mb/s, unexpectedly |
| 30 | +- Fast to answer and process tasks |
| 31 | +- And some other features 🔥 Dive into the code to find them 🤭 |
| 32 | + |
| 33 | +## Simple version 😌 |
| 34 | +I made a special version if you only want to use it personally. Works smoother but with less features. |
| 35 | +[**👉 Try it here 👈**](https://github.com/EDM115/unzip-bot/tree/personal_only) |
| 36 | + |
| 37 | +## Bugs to fix and features to add 💀 |
| 38 | +[**Check the beta branch to find them. They normally also are on the master one**](https://github.com/EDM115/unzip-bot/blob/beta/README.md#bugs-to-fix-and-features-to-add-) |
| 39 | +Those are things that are fixed/added regarding to [`original repo`](https://github.com/EDM115/unzip-bot#license--copyright-%EF%B8%8F) |
| 40 | + |
| 41 | +## Config vars 📖 |
| 42 | +- `APP_ID` - Your APP ID. Get it from [my.telegram.org](my.telegram.org) |
| 43 | +- `API_HASH` - Your API_HASH. Get it from [my.telegram.org](my.telegram.org) |
| 44 | +- `BOT_OWNER` - Your Telegram Account ID. Get it from [@MissRose_bot](https://t.me/MissRose_bot) (Start the bot and send <samp>/info</samp> command). |
| 45 | +- `BOT_TOKEN` - Bot Token of Your Telegram Bot. Get it from [@BotFather](https://t.me/BotFather) |
| 46 | +- `MONGODB_URL` - Your MongoDB URL ([**tutorial here**](./CreateMongoDB.md)) |
| 47 | +- `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`](https://t.me/MissRose_bot?startgroup=startbot), then send `/id` (In both cases, make sure to add your bot to the channel/group as an admin !) |
| 48 | + |
| 49 | +## Commands ✍️ |
| 50 | +Copy-paste those to BotFather when he asks you for them |
| 51 | +``` |
| 52 | +clean - Remove your archives from my servers 🚮♻️ |
| 53 | +mode - Upload things as Doc 📄 or Video 📹 (alias : /setmode) |
| 54 | +start - Alive check 😪 Also useful after updates 🥰 |
| 55 | +``` |
| 56 | +Admin only commands (better to not include them) |
| 57 | +``` |
| 58 | +stats - Get detailed stats about users and server |
| 59 | +broadcast - Reply with this to a message to send it at every user |
| 60 | +ban - {id of user} |
| 61 | +unban - {id of user} |
| 62 | +``` |
| 63 | + |
| 64 | +## Deploy 🚧 |
| 65 | +Deploying is easy 🥰 You can deploy this bot in Heroku or in a VPS ♥️ |
| 66 | +**Star 🌟 Fork 🍴 and Deploy 📤** |
| 67 | + |
| 68 | +> ⚠️ Note : |
| 69 | +> We are using arch linux. But why 🤔 |
| 70 | +> |
| 71 | +> Because arch’s p7zip package is the only maintained version of the [original p7zip](http://p7zip.sourceforge.net/) package with some additional features ! |
| 72 | +--- |
| 73 | +#### The lazy way |
| 74 | +[](https://www.heroku.com/deploy?template=https://github.com/EDM115/unzip-bot/tree/master) |
| 75 | +(if you're in a fork, make sure to replace the template URL with your repo’s one) |
| 76 | + |
| 77 | +--- |
| 78 | +#### The legacy way |
| 79 | +```bash |
| 80 | +git clone -b master https://github.com/EDM115/unzip-bot.git |
| 81 | +cd unzip-bot |
| 82 | +pip3 install -r requirements.txt |
| 83 | +# Arch linux only ↓ |
| 84 | +sudo pacman -S p7zip |
| 85 | +# Edit config.py with your own values |
| 86 | +bash start.sh |
| 87 | +``` |
| 88 | +--- |
| 89 | +**DONE 🥳 enjoy the bot !** Be sure to follow me on [Github](https://github.com/EDM115) and Star 🌟 this repo to show some support 🥺 |
| 90 | + |
| 91 | + |
71 | 92 | ## Found a bug 🐞 |
72 | | - |
73 | | -If you found a bug in this beta version please open an [issue](https://github.com/EDM115/unzip-bot/issues) or report it at [me](https://t.me/EDM115) |
| 93 | +If you found a bug in this bot please open an [issue](https://github.com/EDM115/unzip-bot/issues) or report it at [me](https://t.me/EDM115) |
74 | 94 | Same if you have any feature request ☺️ |
| 95 | + |
| 96 | +## License & Copyright 👮♀️ |
| 97 | +``` |
| 98 | +Copyright (c) 2022 EDM115 |
| 99 | +
|
| 100 | +This Unarchiver Bot repository is licensed under MIT License (https://github.com/EDM115/unzip-bot/blob/master/LICENSE) |
| 101 | +Enjoy copying and modifying, but always mention me |
| 102 | +``` |
| 103 | +• Inspired by Itz-fork/Nexa’s work, but with additional features and bug fixes. This is a maintained repo of the [original](https://github.com/Itz-fork/Unzipper-Bot) |
0 commit comments