Releases: prototype74/HyperUBot
Releases · prototype74/HyperUBot
v7.3.0
What changed
- Updated most pip packages to the latest releases
- Support for Python 3.12 and Telethon 1.32.1
- Added Polish language support (thanks @PawiX25)
- Modules are no longer able to overwrite the registered features by Event Handler
- User module:
- Removed individual counter for blocked persons and bots in
.stats
command
- Removed individual counter for blocked persons and bots in
Fixes
- Fixed an issue in installer where cryptography installation failed on Android
- Fixed an issue in installer where Raspberry Pi OS was not detected as linux-gnu
- Fixed an issue in Terminal module where the userbot became unresponsive if no command input was given
v7.2.0
What changed
- Compatible with Telethon 1.25.0+
- User module:
- Added premium flag to
.info
- Added premium flag to
- Web Tools module:
- Requests to speedtest.net are secured (HTTPs) now. Affects result requests as picture too.
.speedtest
will now use the User-Agent built byspeedtest-cli
package
Fixes
- Fixed an issue in Web Tools module where speedtest was failing sometimes at init due to HTTP 403 status
v7.1.1
What changed
- Setup Assistant:
- Added headers to each setup for an easier orientation through the Assistant
- You can now skip setting a password when the script asked to setup a password and you accidentally typed
y
- Secure-Config-Updater:
- You can now skip setting a password when the script asked to setup a password and you accidentally typed
y
- You can now skip setting a password when the script asked to setup a password and you accidentally typed
Fixes
- Fixed an issue in Web Tools module where sending speedtest results as picture (
.speedtest pic
) wasn't working anymore
v7.1.0
What's new
- Added new function
getRateLimit()
to Git-API. - Added new command
.gitrate
(alias:.gitlimit
) to GitHub Module - Added Access Controller to block unwanted calls from modules to private attributes of the core service. This feature may increase the security of some sensitive data too. Well it's still Python tho.
- Added an update scheduler to Updater Module. If there is a new bot update available the update scheduler will notify the user about it by sending a message to it's saved messages. This feature is active only if config
UPDATER_ENABLE_SCHEDULER
is set toTrue
(UPDATER_ENABLE_SCHEDULER = True
) - Added new command line options
-safemode2
and-nomods
to the bot
What changed
- Total registered commands/features will be displayed in terminal at start
- Updated translations
- Admininstration module:
- Minor improvements to
.promote
and.demote
- Minor improvements to
- Messages module:
.msgs
is no longer remote usable
- Modules Utilities module:
.lcmds
will show the origin of the command/feature now
- Package Manager module:
- Package Manager does no longer live edit/update the message due to there was a chance to cause a FloodWaitError to the user if too many modules are being un/installed.
- Recovery System:
- The option
Start HyperUBot
has a submenu now
- The option
What has been removed
- Removed unneeded and/or unreachable code
Fixes
- Fixed a bug in Package Manager module where listing packages was always showing
Upgradeable
to modules after a new release even tho the target module was not updated - Fixed a bug in Recovery System where the HyperUBot version was displaying
None
instead ofUnknown
if there was an issue to parse the version from the bot - Fixed an issue in installer where Android 32-bit weren't detected anymore
- Fixed an issue in installer where building pip package
cryptography
failed to install on Android due to unknown build target. The installer will set the requiredCARGO_BUILD_TARGET
automatically now if possible.
v7.0.0
What's new
- Added support for Alpine Linux
- Added support for Docker. A separate setup for docker can be found here
- [SECURITY] Added
HyperClient
. HyperClient works 99% identical to telethon's TelegramClient. The purpose of HyperClient is to block access from the userbot to the client that may unveil the user's Telegram API IDs (App api_id
,App api_hash
) and the String Session - New module loader to support to un/import modules without rebooting the userbot
- New CLI options in Recovery System:
- Clear caches:
python3 recovery.py -clearcache
- Create a backup of current version:
python3 recovery.py -backup
orpython3 recovery.py -backup -f
(force overwrite) - Restore a backup:
python3 recovery.py -restore [backup filename]
- Clear caches:
What changed
- General performance improvements and optimizations
- It's no longer possible to use
client.on()
(default handler from telethon client) to register events. Use EventHandler instead - HyperUBot will now start the
language processor
before starting the modules - PIP package
certifi
is required now - Telethon 1.24.0+ is required now
- Updated translations and usages
- aux_funcs:
- Reworked function
pinger()
on to get a more accurate round-trip time. Does not affect Windows or other systems that are using theicmplib
library fetch_user()
is renamed tofetch_entity()
.fetch_user()
is still usable and an alias tofetch_entity()
but may be removed in future updatesfetch_entity()
is now able to return Channel/ChatFull from event too. Before it was limited to Users only. Sofetch_entity()
can either return a channel or user object now. Due to this change, commands usingfetch_entity()
(fetch_user()
) have to check if it's not limited to a specific entity only. For example, a command checks for user only, by this, the command also has to prevent the returned entity fromfetch_entity()
to be a channel as exceptions like AttributeError could occurr
- Reworked function
- Admininstration module:
.ban
,.unban
,.mute
and.unmute
will check first if admin privileges are there before they check for conditions- Support to ban/unban channels
- Chat Info module:
- Reduced API call
- Messages module:
.msgs
supports to count messages from channels now
- Modules Utilities module:
- Shortened commands:
.listcmds
->.lcmds
.modules
,.module
->.mods
,.mod
- Shortened commands:
- Package Manager module:
- Package Manager will log the current installed module now
- Module names are now formatted to monospace when list modules
- No more reboot needed after un/install modules (new module loader)
- List user modules in safe mode as
not loaded
- Sideloader module:
- Added config
SIDELOAD_NO_REBOOT
to sideload a module without prompt a reboot - By default, a sideloaded module will be started after a manual reboot by the user
- Added config
- System Tools module:
.status
will no longer displayCAS API
- Reworked neofetch feature:
- Main command is
.neofetch
now,.sysd
will stay as alternative command to.neofetch
- Improved style
- Main command is
- Terminal module:
.terminal
is now an alias to.shell
- Improved char handling. Focusing to
UTF-8
. Special characters will not be shown or displayed as unknown chars - On POSIX systems only: config
TERMINAL_USE_BIN_BASH
can be used to change the default shell (/bin/sh) to /bin/bash.TERMINAL_USE_BIN_BASH=True
will enable the feature .shell
will now show error messages reported by host terminal
- User module:
.userid
supports to display ids from channels now- Due to the fact that
.userid
can get IDs from channels, the main command is.id
now..userid
will remain as an alias to.id
What has been removed
- PIP package
requests
is no longer required - Removed CAS Interface module
- Removed cas_api
- Removed unneeded imports and code
- Removed
Registering commands...
log in terminal - Removed function
shell_runner()
in aux_funcs - Removed config
PKG_DISABLE_AUTO_REBOOT
which was used by Package Manager module - Removed function
botVerAsTuple()
in sys_funcs. UseVERSION_TUPLE
fromuserbot.version
instead - Removed sample config checks
Fixes
- Fixed undefined references
- Fixed some typos in translations (thanks again @AndrzejDwo)
- Fixed a critical issue in
language processor
that would break all built-in modules of the userbot at start - Fixed some exception handlings
- Fixed struct error in Chat Info module
- Fixed certification issues with
.currency
- Fixed an issue with version conflicts at init
- Fixed an issue that would trigger an AttributeError in Messages module
- Fixed an issue that would trigger an IndexError in
getGitReview()
if there is no git - Fixed an issue in
.currency
feature where a wrong file name was set - Fixed an issue where
.shell
did not work on Windows
v6.3.1
Changes:
- Fixed duplicates and whitespaces in package manager
- Fixed en/decoding issues in validator
- Package Manager tries to detect upgradeable modules now (not 100% accurate as it might be possible that pkg manager doesn't detect upgradeable modules even tho there are)
- Reconnections now controlable using
CLIENT_CONNECT_RETRIES
and/orCLIENT_RETRY_DELAY
configs - Updated translations (thanks for the hint @AndrzejDwo)
v6.3.0
Changes:
- Added low level validation check in package manager and sideloader
- Constant
OS
from init has been removed (deprecated since v5.0.0) - Fixed an issue in package manager where sometimes a warning message
No installation queued
occurred after an installation - Function
botVerAsTuple()
is deprecated and will be removed in future releases - HyperUBot will suggest possible options if secure config couldn't be loaded/parsed
- Minor changes in Recovery System (v2.2.3)
- Typing characters in password input will be echoed as asterisks now
- Updated installers
- Updated translations
- Further minimal changes
v6.2.0
Changes:
- Fixed an issue in package manager where it was still possible to remove protected community repos
- Ready for Python 3.10
- Updated installers
v6.1.2
Changes:
- Fixed edit message to 'Reboot complete!' after a reboot in groups
v6.1.1
Changes:
- Handle connection issues
- Further minimal changes