Releases: EDM115/unzip-bot
Version 7.0.0a [alpha]
Important
Naming scheme moving forward
Pre-releases of v7
will be in alpha at first (7.0.0a, 7.0.1a, ...)
They will then move to beta (ready for test) : 7.0.0b, 7.0.1b, ...
Finally, a release candidate might or might not be created (if so, will be called 7-RC, 7-RC1, ...)
And only then a production ready build will get a full name (7.0.0)
Caution
This release is created in the sole purpose to warn stargazers/forks owners of the future changes, to raise awareness about the breaking things and to have a "working" version before the massive switch
BREAKING CHANGES
- Uses an
.env
file for retrieving values - Switch to
unzip-bot
as the only way to describe the project. Also the module name is nowunzipbot
- Stores thumbnails as Telegram files instead of
telegra.ph
URLs since the shutdown of this feature. Backwards compatibility is kept. TheFILE_REFERENCE_EXPIRED
error can appear, right now we barely handle it and just delete 0B files - The base image is now Alpine Linux in place of Arch Linux. Consider this a plus, as the image now weights 294 Mb instead of 1.87 Gb (a 6 times improvement !). This implies the following :
- Separate Docker build steps to avoid bloat in the final image
- Usage of
7-zip
instead ofp7zip
- Manual build of
unrar
. Addition of a specific build script for it - RAR files have a special handling case for them. This will ease the treatment of splitted RARs in the future
bash
is the default shell
Features
- Send logs when shutting down the container to the logs channel
- Uses
ast.literal_eval
instead ofeval
for security reasons - No longer uses the deprecated
cgi
module - Display the full path name on the extracted file caption
- Added a
/privacy
command with temporary text - Add the ability to use an username as
LOGS_CHANNEL
- We can finally use newly created channels/groups as
LOGS_CHANNEL
- Ability to set a custom
MONGODB_DBNAME
. Defaults toUnzipper_Bot
for legacy purposes, will change in the future - Removes the keyboard when uploading a single file to avoid people spamming buttons
- Removes long tasks periodically using a proper cron job
- Boot time message now displays a human readable time. A timezone is set by default to
Europe/Paris
, will be customizable later on - Actually implements graceful handling of SIGTERM, so the logs and shutdown messages are sent to the logs channel
Bug fixes
- Fixed issues with tasks count being broken
- Uses
shutil
instead ofos
to avoid issues with Docker volumes - Fixed variables overlapping each other
- Spaces inside strings passed to command line utilities no longer breaks the commands
/eval
and/exec
no longer triggers an extraction prompt. Also they have a better text formatting and removes it when uploading the result as a file- Video duration and thumbnail are properly parsed and accurate
- Properly access dicts values
Other
- Updated dependencies
- Updated donation links
- Sorted imports using
isort
, formatted the code usingblack
- Better Docker instructions in the README. Globally reformatted it a bit
- Added a
.dockerignore
- The changelog file is now uppercase to match GitHub file sorting
- The log file is now called
unzip-bot.log
instead ofunzip-log.txt
What's Changed
- chore(dependencies): update dependency pillow to v10.2.0 - autoclosed by @renovate in #259
- Apply Black code style by @github-actions in #273
- chore(dependencies): update dependency aiohttp to v3.9.2 [security] by @renovate in #277
- chore(dependencies): update dependency aiohttp to v3.9.3 by @renovate in #278
- chore(dependencies): update peter-evans/create-pull-request action to v6 by @renovate in #279
- chore(dependencies): update dependency gitpython to v3.1.42 by @renovate in #280
- chore(dependencies): update dependency dnspython to v2.6.0 by @renovate in #281
- chore(dependencies): update dependency dnspython to v2.6.1 by @renovate in #283
- Create tech stack docs (techstack.yml and techstack.md) by @stack-file in #284
- chore(dependencies): update dependency motor to v3.4.0 by @renovate in #293
- chore(dependencies): update dependency gitpython to v3.1.43 by @renovate in #292
- chore(dependencies): update dependency pillow to v10.3.0 by @renovate in #294
- [dependabot/pip] (deps): Bump aiohttp from 3.9.3 to 3.9.4 by @dependabot in #299
- chore(dependencies): update dependency aiohttp to v3.9.5 by @renovate in #297
- refactor: merge collapsible
with
statements by @deepsource-autofix in #300 - chore(dependencies): update dependency requests to v2.32.0 by @renovate in #301
- chore(dependencies): update dependency requests to v2.32.1 by @renovate in #302
- chore(dependencies): update dependency requests to v2.32.2 by @renovate in #303
- chore(dependencies): update dependency requests to v2.32.3 by @renovate in #305
- chore(dependencies): update docker/build-push-action action to v6 by @renovate in #307
- chore(dependencies): update dependency motor to v3.5.0 by @renovate in #312
- chore(dependencies): update dependency pillow to v10.4.0 by @renovate in #315
- chore(dependencies): update dependency motor to v3.5.1 by @renovate in #319
- chore(dependencies): update dependency aiohttp to v3.10.0 by @renovate in #327
- Apply Black code style by @github-actions in #328
- chore(dependencies): update dependency psutil to v6 by @renovate in #308
- chore(dependencies): update dependency aiofiles to v24 by @renovate in #311
- chore(dependencies): update dependency unzip-http to v0.6 by @renovate in #317
- chore(dependencies): update dependency aiohttp to v3.10.1 by @renovate in #331
- Apply Black code style by @github-actions in #332
- chore(dependencies): update dependency aiohttp to v3.10.2 by @renovate in #334
- chore(dependencies): update dependency aiohttp to v3.10.3 by @renovate in #335
- chore(dependencies): update dependency aiohttp to v3.10.4 by @renovate in #338
- chore(dependencies): update dependency aiohttp to v3.10.5 by @renovate in #339
- chore(dependencies): update peter-evans/create-pull-request action to v7 by @renovate in #340
- Apply Black code style by @github-actions in #341
- chore(dependencies): update dependency motor to v3.6.0 by @renovate in #343
- chore(dependencies): update dependency aiohttp to v3.10.6 by @renovate in #344
- chore(dependencies): update dependency aiohttp to v3.10.7 by @renovate in #346
- chore(dependencies): update dependency aiohttp to v3.10.8 by @renovate in #347
- chore(dependencies): update dependency aiohttp to v3.10.9 by @renovate in #348
- chore(dependencies): update dependency dnspython to v2.7.0 by @renovate in #349
- chore(dependencies): update dependency aiohttp to v3.10.10 by @renovate in #350
- chore(dependencies): update actions/checkout action to v4 by @renovate in #351
- chore(dependencies): update dependency pillow to v11 by @renovate in #353
- chore(dependencies): update dependency psutil to v6.1.0 by @renovate in #354
New Contributors
- @github-actions made their first contribution in #273
Full Changelog: 6.3.3...7.0.0a
Version 6.3.3 [stable]
Improvements
- Added support for PKG archives
- ICO aren't treated as images anymore
- When we upload a picture, either catch PhotoExtInvalid if it isn't meant to be uploaded as a picture
or catch PhotoSaveFileInvalid if the picture is too big for Telegram - Added M4A and ALAC as Audio files
- Reduced the number of Docker layers
- Bumped the number of concurrent tasks to 75
- removed useless files and imports
- updated the licence years
- updated the gh bot's config files
- added ffmpeg buildpack
- updated python runtime from 3.11.5 to 3.12.1
- SIGTERM partial handling
- new feature : if you Upload all, you won't get hundreds of notifications ! Now the bot sends the files silently and send one notification when everything's uploaded
- New password for testing archives
- Cap the resources to avoid quota exceedings
- Don't upload files from MacOS archives (
.DS_Store
,__MACOSX
) - Fixed TAR archives being broken (basically a
.tar.gz
would only upload the.tar
inside) - Archives are no longer renamed to "archive_from_ID.ext"
- Added
/eval
and/exec
commands for Owner + aexec function - Audio files with media tags are uploaded with their tags
- Tasks aren't processed if there is less than 5% of disk space available
- All ongoing tasks are removed instantly instead of one by one
- Updated dependencies (GitPython, Pillow, aiohttp, psutil, gitdb, motor)
What's Changed
- Update dependency GitPython to v3.1.36 by @renovate in #223
- Update docker/metadata-action action to v5 by @renovate in #226
- Update docker/login-action action to v3 by @renovate in #225
- Update docker/build-push-action action to v5 by @renovate in #224
- Update dependency Pillow to v10.0.1 by @renovate in #227
- Update dependency GitPython to v3.1.37 by @renovate in #228
- Update dependency aiohttp to v3.8.6 by @renovate in #229
- Update ad-m/github-push-action action to v0.8.0 by @renovate in #230
- Update dependency psutil to v5.9.6 by @renovate in #232
- Update dependency Pillow to v10.1.0 by @renovate in #233
- Update dependency GitPython to v3.1.38 by @renovate in #234
- Update dependency GitPython to v3.1.40 by @renovate in #235
- Update dependency gitdb to v4.0.11 by @renovate in #237
- Create tech stack docs (techstack.yml and techstack.md) by @stack-file in #246
- Update dependency motor to v3.3.2 by @renovate in #247
- Update dependency aiohttp to v3.9.0rc0 by @renovate in #248
- Update dependency aiohttp to v3.9.0 by @renovate in #251
- Update dependency aiohttp to v3.9.1 by @renovate in #253
- Update github/codeql-action action to v3 by @renovate in #254
- Create tech stack docs (techstack.yml and techstack.md) by @stack-file in #255
- Create tech stack docs (techstack.yml and techstack.md) by @stack-file in #256
- Update dependency psutil to v5.9.7 by @renovate in #257
- Create tech stack docs (techstack.yml and techstack.md) by @stack-file in #261
- Update dependency GitPython to v3.1.41 [SECURITY] by @renovate in #264
- Create tech stack docs (techstack.yml and techstack.md) by @stack-file in #265
- refactor: replace multiple
==
checks within
by @deepsource-autofix in #268 - chore(dependencies): update dependency psutil to v5.9.8 by @renovate in #270
- chore(dependencies): update dependency dnspython to v2.5.0 by @renovate in #271
New Contributors
- @stack-file made their first contribution in #246
Full Changelog: 6.3.2...6.3.3
Version 6.3.2 [stable]
Improvements
- Fixed thumbnails not being saved
- Premium related stuff is moved to its own branch (buggy so yes)
- Fixed files being nearly all the time not uploaded
- Better logging
- Added Mend Bolt
- Downgraded pyromod to 1.5 again (too much errors, I know they had been fixed in 2.1.0 but still)
- Client specification in decorators instead of global @client
- New maintenance logic
- Attempt to support files sent as TG links (may fail for topics, unaccessible chats and forward-restricted files)
What's Changed
- Update dependency motor to v3.3.1 by @renovate in #213
- Update dependency GitPython to v3.1.33 by @renovate in #214
- Update dependency GitPython to v3.1.34 by @renovate in #215
- Configure Mend Bolt for GitHub by @mend-bolt-for-github in #216
- Update actions/checkout action to v4 by @renovate in #218
- Update dependency GitPython to v3.1.35 by @renovate in #220
New Contributors
- @mend-bolt-for-github made their first contribution in #216
Full Changelog: 6.3...6.3.2
Version 6.3.1 [stable]
Improvements
- Bugfix : No longer use of
subprocess.communicate()
, as it's thread blocking - All strings are in
bot_data.py
, hope this hsould ease #179 - Even less thread block : use of
async for
andyield
- Any file unreachable/with a size of 0B is skipped, thus avoiding the bot being stuck on an impossible task
- Fixes little error on strings
- Closes a lot of issues opened by DeepSource (mostly style)
- Added a task limit (configurable in
config.py
) - FloodWait is now handled correctly everywhere
- The bot is no longer blocking any task (finally)
- Attempt to add some URL parsers (fail)
- Even more refactor
- Splitted files can be renamed
- Url are checked before extracting
- If a thumbnail fails to be uploaded to telegra.ph, the error message is no longer saved in the db (and on download, non url strings are skipped)
/broadcast
now shows how many users had been processed- Ongoing tasks are removed from the database after a restart
- Added a new command : /cleantasks
- Finally upgraded pyromod to v2
- Upgraded from python-3.11.3 to python-3.11.5
- Removed any trace of bayfiles upload since the service is dead
- Support for
.partx.rar
splitted archives - Download files in 10 Mb chunks instead of 5 Mb
- Added maintenance on DB
- Aded VIP methods in DB + implementation of no-restrictions for VIP (#205)
- Finally fixed #133
- Attempt to create a premium user to upload +2Gb files
- Added
/maintenance
What's Changed
- remove unused imports by @deepsource-autofix in #181
- simplify the
if
statement by @deepsource-autofix in #182 - remove unnecessary whitespace by @deepsource-autofix in #183
- add newline at end of file by @deepsource-autofix in #184
- refactor unnecessary
else
/elif
whenif
block has areturn
statement by @deepsource-autofix in #185 - remove unnecessary whitespace by @deepsource-autofix in #186
- merge collapsible
if
statements by @deepsource-autofix in #188 - remove unnecessary
pass
by @deepsource-autofix in #189 - refactor
if
expression by @deepsource-autofix in #190 - add newline at end of file by @deepsource-autofix in #191
- remove unnecessary whitespace by @deepsource-autofix in #192
- refactor unnecessary
else
/elif
whenif
block has areturn
statement by @deepsource-autofix in #193 - chore(deps): update dependency gitpython to v3.1.32 by @renovate in #194
- chore(deps): update dependency dnspython to v2.4.0 by @renovate in #195
- chore(deps): update dependency aiohttp to v3.8.5 by @renovate in #196
- chore(deps): update dependency dnspython to v2.4.1 by @renovate in #197
- chore(deps): update dependency aiofiles to v23.2.0 by @renovate in #199
- chore(deps): update dependency aiofiles to v23.2.1 by @renovate in #200
- chore(deps): update dependency dnspython to v2.4.2 by @renovate in #201
- remove unused imports by @deepsource-autofix in #206
- chore(deps): update dependency motor to v3.3.0 by @renovate in #207
- chore(deps): update dependency pillow to v10 by @renovate in #172
- chore(deps): update dependency pyromod to v2 by @renovate in #141
- group imports from same package by @deepsource-autofix in #209
Full Changelog: 6.2...6.3
Version 6.2.2 [stable/bugfix/securityfix]
Improvements :
- The actions are no longer thread-blocking
- Empty/unreachable files are skipped
- All strings are in one place
- Merged files aren't swapped between users
- Use of
async for
andyield
Full Changelog: 6.0...6.2
Version 6.2.1 [stable/sync]
Improvements
- Dependencies update
- tgz and zst archives are now supported
- Thumbnail change tasks are now removed from DB after completion
- Dockerfile have been updated : Add of ffmpeg and venv
- Uploading videos as media is fixed ! #133
- Added Docker instructions on the README
- Added GitHub Actions for Docker publishing and deployment
- Updated the FUNDING.yml
- New command : /donate, plus donate button appears on /start and after a task is processed
- Tell users that they can rate the bot after a task is processed
- #33 is gone (no longer useless alerts)
- ETA is now correct
- Tried to add a way to cancel tasks, but it's not working
- Files above 2 GB are now splitted
- URL's also shows a progressbar + ETA when possible
- Downloads are 28 times faster
- Some databases are cleared upon restart
- Attempt to implement #137
- New boot sequence
- Added a new command : /merge (and /done)
- Allows to merge splitted archives in .XXX format
- Upload of thumbnails on telegra.ph now handles errors
What's Changed
- (v̶4̶) v5 by @EDM115 in #32
- Bump psutil from 5.9.2 to 5.9.3 by @dependabot in #97
- Bump motor from 3.0.0 to 3.1.1 by @dependabot in #100
- Bump motor from 3.0.0 to 3.1.1 by @dependabot in #101
- Bump pillow from 9.2.0 to 9.3.0 by @dependabot in #102
- Remove unused imports by @deepsource-autofix in #103
- Configure Renovate by @renovate in #104
- Update dependency pyrogram to v2.0.59 by @renovate in #105
- Update actions/checkout action to v3 by @renovate in #106
- Update dependency psutil to v5.9.4 by @renovate in #108
- Update dependency TgCrypto to v1.2.5 by @renovate in #109
- Update dependency pyrogram to v2.0.60 by @renovate in #110
- Update dependency pyrogram to v2.0.61 by @renovate in #111
- Update dependency pyrogram to v2.0.62 by @renovate in #112
- Update dependency pyrogram to v2.0.63 by @renovate in #113
- Update dependency pyrogram to v2.0.69 by @renovate in #114
- Update dependency pyrogram to v2.0.70 by @renovate in #115
- Update dependency pyrogram to v2.0.71 by @renovate in #116
- Update dependency pyrogram to v2.0.73 by @renovate in #117
- Update dependency pyrogram to v2.0.78 by @renovate in #118
- Update dependency pyrogram to v2.0.79 by @renovate in #119
- Update dependency pyrogram to v2.0.83 by @renovate in #120
- Update dependency pyrogram to v2.0.84 by @renovate in #121
- Update dependency pyrogram to v2.0.86 by @renovate in #122
- Update dependency pyrogram to v2.0.87 by @renovate in #123
- Update dependency pyrogram to v2.0.88 by @renovate in #124
- Update dependency pyrogram to v2.0.89 by @renovate in #125
- Update dependency pyrogram to v2.0.90 by @renovate in #126
- Update dependency pyrogram to v2.0.92 by @renovate in #127
- Update dependency pyrogram to v2.0.93 by @renovate in #128
- Update dependency Pillow to v9.4.0 by @renovate in #129
- Merge by @EDM115 in #131
- Update dependency pyrogram to v2.0.95 by @renovate in #134
- Update dependency pyrogram to v2.0.96 by @renovate in #135
- Update dependency requests to v2.28.2 by @renovate in #138
- Update dependency pyrogram to v2.0.97 by @renovate in #139
- Update dependency dnspython to v2.3.0 by @renovate in #140
- Update dependency aiofiles to v23 by @renovate in #145
- Update dependency pyrogram to v2.0.98 by @renovate in #146
- Update dependency pyrogram to v2.0.99 by @renovate in #147
- Update dependency aiohttp to v3.8.4 by @renovate in #148
- Update dependency GitPython to v3.1.31 by @renovate in #149
- Update dependency pyrogram to v2.0.100 by @renovate in #151
- Update dependency pyrogram to v2.0.101 by @renovate in #153
- Update dependency pyrogram to v2.0.102 by @renovate in #154
- Update dependency Pillow to v9.5.0 by @renovate in #155
- Update dependency motor to v3.1.2 by @renovate in #156
- Update dependency pyrogram to v2.0.103 by @renovate in #157
- Update dependency psutil to v5.9.5 by @renovate in #158
- Update dependency pyrogram to v2.0.104 by @renovate in #160
- Update dependency requests to v2.29.0 by @renovate in #161
- Update dependency pyrogram to v2.0.106 by @renovate in #162
- Update dependency requests to v2.30.0 by @renovate in #163
- Update dependency requests to v2.31.0 by @renovate in #166
- Update dependency motor to v3.2.0 by @renovate in #167
- V6 by @EDM115 in #168
- Update actions/checkout action to v3 by @renovate in #170
- ci: Update .deepsource.toml by @deepsource-autofix in #171
New Contributors
Full Changelog: 5.0...6.0
Version 5.1.2 [stable]
Improvements :
- URL downloaded files finally have their original name
- Prompting users to transload files I can't download
- What happens on the terminal is now on the logs
- Added issue templates
- /delthumb now also deletes it from the DB
- Huge code refactoring (see next paragraph)
- Thumbnails on upload are officially supported 🥳
- Made thumbnail support better (with buttons)
- Saves the thumbnail URL (telegra.ph) to the DB
- Thumbnail support is permanant 🥳 Redownloads them at every server restart
- Clears correctly the thumbnails
- FloodWait correctly handled
- Bot starting happens on another file (so we can use async/await)
- We fetch the file size before uploading
We try to split files above 2 GB(fail)- Added /user2 and /self
- Added ability to just change the thumbnail of the file (archive or not)
- Also we can rename it
- Heroku runtime shifted from Python 3.9.11 to 3.10.6
- Added wheel for faster deploymentons are side-by-side
- Checks if sent file is actually an archive (so we stop processing PDF and MKV 😭)
- Code style shifted to Black 🖤
- Upgraded to Pyrogram v2 (finally)
- The bot can process other things while extracting
- Better password handling
- Progressbar on uploads too
- Uploads as media by default
- Avoids splitted archives to be processed
- Better LOG_CHANNEL verification
- Added extensions list (for verification)
- Medias are sent as native media
- Fixed ENTITY_BOUNDS_INVALID error
- Removed numpy as we don't use it
- Added requests
- Added development followup (#38)
- Uptime on /stats works correctly
- Simpler buttons
- Commands updates (no /setmode, /me become /info, addded stats for everyone)
What's Changed
- Bump motor from 2.5.1 to 3.0.0 by @dependabot in #23
- v3.3.3 final draft by @EDM115 in #6
- Bump psutil from 5.9.0 to 5.9.1 by @dependabot in #29
- Bump pillow from 9.1.1 to 9.2.0 by @dependabot in #40
- Bump psutil from 5.9.1 to 5.9.2 by @dependabot in #42
- Bump aiofiles from 0.8.0 to 22.1.0 by @dependabot in #41
- Restyle (v̶4̶) v5 by @restyled-io in #43
- Restyle (v̶4̶) v5 by @restyled-io in #44
- Bump aiohttp from 3.8.1 to 3.8.3 by @dependabot in #47
- Convert string with anomalous backslash into a raw string by @deepsource-autofix in #49
- Use identity check for comparison to a singleton by @deepsource-autofix in #50
- Use
sys.exit()
calls by @deepsource-autofix in #51 - Refactor unnecessary
else
/elif
whenif
block has areturn
statement by @deepsource-autofix in #52 - Remove unnecessary whitespace by @deepsource-autofix in #53
- Replace multiple
==
checks within
by @deepsource-autofix in #54 - Remove unused imports by @deepsource-autofix in #55
- Remove commented out code by @deepsource-autofix in #56
- Refactor unnecessary
else
/elif
whenif
block has areturn
statement by @deepsource-autofix in #57 - Remove unnecessary f-string by @deepsource-autofix in #60
- Remove implicit
object
from the base class by @deepsource-autofix in #58 - Merge collapsible
with
statements by @deepsource-autofix in #59 - Format code with black and autopep8 by @deepsource-autofix in #61
- Remove commented out code by @deepsource-autofix in #78
- Restyle (v̶4̶) v5 by @restyled-io in #73
- Bump tgcrypto from 1.2.3 to 1.2.4 by @dependabot in #94
New Contributors
- @dependabot made their first contribution in #23
- @restyled-io made their first contribution in #43
- @deepsource-autofix made their first contribution in #49
Full Changelog: 4.5...5.0
Version 4.5.0 [stable] #32
Improvements :
-
Attempt to add
/merge
and/cancel
commands + linked callbacks. Actually failed -
The logs are better. Putting the text message before file, as it does with URL & replies to text message instead of file
-
Made a way more permissive regex for URL
-
Fixed exceptions on nearly all commands
-
Performing a
/restart
send the logs automatically -
Way better handling of
check_logs()
on start -
Fixed #NEW_USER name formatting
-
Errors sent to logs
-
Created
get_cloud()
-
If a file is above 2 Gb, it's uploaded to Bayfiles instead(BROKEN) -
Better
get_files()
-
Made
/stats
working for non owner -
Added
/getthumbs
, which don't work 😅 -
Thumbnail support for most of files. Nevertheless, it's removed at each restart
-
The thumbnail is resized according to Telegram API specifications
-
Thumbnails are saved to a separate folder
-
Created
thumb_exists()
-
More complete logs
-
Better texts
-
Keyboard now refreshes correctly after sending a file
-
Added
/dbexport
,/commands
,/admincmd
-
Added exec and eval, but not usable now
-
Major bug fixes
-
Empty keyboard buttons are side to side
- + Changes from previous release
Version 4.0.6 [half stable]
Improvements :
/me
works/restart
deletes everything- Created
/sendto {user_id}
that basically works like /broadcast but for a single user (don't handle replies yet) - Added uploaded files count towards the database. Still broken
- The bot now replies to the concerned archive in logs
- Error messages in logs
/cleanall
works (kinda)- Added logging (finally)
- A lof of commands can now be done everywhere (refer to this)
- Added
/logs
. But have been broken without reason - Handle quite correctly REPLY_MARKUP_TOO_LONG error (see #2)
- Sends downloaded URL to logs as file
- Close the session (unlike here #4)
/mode
now works correctly and no longer add users to banned_db- Various text changes
- Started the CrowdIn
- Added start message to logs (stop one still under construction)
- Shifted nearly every print() to LOGGER
- Tried to automatically
/clean
after an error - Added HOW_MANY_FILES_UPLOADED from archive count to logs (currently only works with "Upload All" choice)
- Made empty keyboard when bot isn't able to read the archive content. Also fixes #2
- Added a TimeFormatter that works with seconds instead of ms
- No longer gets AttributeError. If the bot can't get the user_id when he joins, he still sends the message "New user" but only with Username
- Added
/restart
, but I will search for a complete reboot, even if it hangs up
Bugs :
- Inline keyboard don't refresh
- "There is nothing to remove 💀" without reason
- Uptime and others are broken as hell
Version 3.3.4 [stable]
Version 3.3.4 [stable]
Changes :
- Merged beta branch
- Added a script to deploy to Heroku when needed (refer to this)
- Removed useless mentions of Nexa
- Added Python 3.9 runtime by default
- Added test functions for better ETA and humanbytes
- Overall graphic changes (less fancy fonts, less formatting, more emojis and more explicit buttons)
- Added file name in caption for uploads
- Better password support
- Downloaded URL is sent to logs in case URL has gone (this slow down the extraction)
- Unarchiving a password protected archive in normal mode no longer make hang up the bot
- Added
/help
,/about
and/me
commands for every user - Updaded
/stats
command for owner with uptame, total dl and ul of the day - Added
/me
,/addthumb
and/delthumb
commands for everyone (don't work for now) - Added
user
,db
,dbdive
,/redbutton
,/restart
and/cleanall
commands for owner (don't work for now)