- Add argument
item_type
todb.pointer
to provide interface for NamedTuple objects - Add correct exception propagation to inline units
- Add
-fs
arg to.lm
command - Add IDM
flush_loader_cache
- Add ability to cancel QR login using keyboard interrupt
- Add custom security groups
- Add automatic NoNick for tsec methods
- Add external debugging feature (off by default)
- Fix form invoke error message
- Fix
Backuper
- Fix backward compatiblity with security groups
SUDO
(0x2) andSUPPORT
(0x4) - Fix quickstart language buttons translations
- Fix language buttons disabling on restart
- Migrate inline heta search to userbot instead of centralized service
- Cosmetical changes
- Fix security issue with edited channel messages
- Add interface to interact with raw pointer data (
.data
attribute) - Translation fixes
- Randomize
device_model
to bypass fraud detection - Pass proper device information to Telegram
- Update
hikka-tl
in accordance to upstream telethon v1 - Update
hikka-pyro
in accordance to upstream pyrogram - Rename packages so that they don't conflict with originals
- Partially migrate to
pathlib
- Code cleanup
- Add ability to log in using QR code and --no-web
- Disable web interface for Termux and fallback to CLI login instead
- Add fancy ANSI banners
- Add guidelines to
--no-web
login - Fix session not being saved after logging in using QR without 2fa
- Minify static assets in web
- Replace snowfall with sakura flowers
- Update Termux installation design
- Whitelist requests in APILimiter to ignore internals
- Start web when using
.weburl
and--no-web
is used - Add inline commands targeted security rules control
- Completely remove security groups
sudo
andsupport
- Fix proxy-pass
- New core modules:
UnitHeta
,Translator
- New watcher tags:
no_pm
,no_channels
,no_groups
,no_inline
,no_stickers
,no_docs
,no_audios
,no_videos
,no_photos
,no_forwards
,no_reply
,no_mention
,mention
,only_reply
,only_forwards
- Remove default presets since they are the security risk
- Update and extend Tatar translation pack
- Restrict setting
s
as command prefix, since it will break commandsetprefix
- Transfer all previously non-essential modules to core ones
- Add alternative translation mechanism using YAML
- Remove miyahost from official hosts
- Fix memory leak when using 1.6.0 inside Docker
- Fix userbot dying after restart on Docker
- Root out stats mechanism
- Add French translation pack
- Bring support for Dragon Userbot modules
- Make
db
attribute ofModules
public - Mess up with some translations
- Fix
.helphide
command - Fix visual bug with phone input field in web
- Fix proxy-passing in web
- Fix
EntityLike
validator - Fix stringifying error in logging
- Fix command escaping when using layout translated prefix
- Patch
.info
,utils.answer
etc to support forums (topics) - Drop Okteto support
- Show Hikka platform and version in Telegram sessions list
- New type
DragonModule
- New argument of
get_prefix
-userbot
. Pass in"dragon"
to get its prefix - New attribute of
Modules
-dragon_modules
- New attribute of
CustomTelegramClient
-pyro_proxy
. Use pyrogram methods natively - New appearence of
help
command - New module loading animation
- New README.md with installation steps and new web recording
- New
utils.atexit
method - New
utils.get_topic
method - New
utils.answer_file
method - New
utils.get_cpu_usage
method - New
utils.get_ram_usage
method - New restart process, which correctly kills all child processes and threads
- New interactive web werkzeug debugger (view pin using
.debugpin
command) - New QR login flow
- New license banners
- New error-specific messages for RPCErrors, FloodWaitErrors, NetworkErrors
- Send
start
hook toInfiniteLoop
instances withautostart
flag only afterclient_ready
- Replace
__getattr__
inModule
object with properties for commands and handlers - Move from monkey-patching concept of filling modules' attributes to native one
- Minor and major bugfixes, adapt to topics
- Kazakh translation pack
- Italian translation pack
- Partial Tatar translation pack
- Logging tweaks
- Add
caller
field to inline units - Add ability to get module help by command alias
- Add ability to decorate aliases with
@loader.command
decorator - Add credits to developers and translators
- Add support for multiple usernames
- Add topic guesser in
send_message
,send_file
in order for old modules to work properly - Add local storage fallback in case remote end is not available
- Add
self.invoke
method for modules - Fresh Christmas web design
- EULA warning for lavHost and MiyaHost
- Support for Python 3.10
- Add Uzbek, Turkish, German and Spanish translation packs
- Fix module and command docs not being translated on-the-flight
- Fix
RegExp
validator
- Change the behavior of
@loader.raw_handler
decorator to accept starred arguments instead of list-like value
- Fix
--no-web
arg - Fix
tglog_level
config option of moduleTester
- Fix duplicated monkey on login page
- Fix shit modules with uppercase commands
- Add physical
Enter
button to login page on mobile devices - Add
--proxy-pass
arg - Add
utils.invite_inline_bot
method - Add
utils.iter_attrs
method - Add
@loader.raw_handler
decorator - Add
invite_bot
parameter toutils.asset_channel
- Add support for
String
validator'smin_len
andmax_len
parameters
- Fix
on_change
param processing in config - Fix
hikka.types.CoreOverwriteError
- Fix incorrect commit in info for users with multiple origins
- Fix error with module configs not being updated to values which were set by user
- Fix core unload and core overwrite errors not being raised correctly
- Fix config descriptions in
APIRatelimiter
- Fix
CoreOverwriteError
handling - Fix
TelegramID
validator to work with values between 2^32 and 2^64 - 1 - Fix web authorization messages being sent twice
- Fix duplicated animations in web
- Fix installation banner being shown after auth in web
- Fix form placeholder button being shown when not necessary
- Add
@loader.tag(thumb_url="")
decorator - Add new inline help format
- Add internal method for debug calls (
.invoke
) - Add Internal Debug Method (IDM) to inspect cache (
inspect_cache
) - Add IDM
inspect_modules
- Add IDM
clear_cache
,clear_entity_cache
,clear_fulluser_cache
,clear_fullchannel_cache
,clear_perms_cache
- Add IDM
reload_core
to automatically reload core modules from disk - Add ability to create custom IDMs
- Add fields
flags
anddescription
toRegExp
validator - Add fields
min_len
andmax_len
toString
validator - Add
Emoji
validator - Add
EntityLike
validator - Add
hikka.validators.MultiChoice
- Add
utils.get_args_html
to get arguments of command with HTML - Add switch to mute @BotFather only once in hikka inline
- Add ability to forbid certain tl methods using
.config APIRatelimiter
- Add new web interface design
- Add new code input design
- Add new 2fa password input design
- Add ability to set custom emojis in
.info
using command.setinfo
. In order to use it, remove buttons using config - Add full trace locals length limit
- Rework full trace locals to hashable converter
- Patch internal help module with bugfixes
- Clean type-hint mess, document utils and other methods, which were undocumented
- Remove redundant non-working code from configurator
- Remove redundant useless params
--hosting
,--no-nickname
,--token
,--web-only
,--docker-deps-internal
- Migrate to lazy string interpolation in logging
- Reformat the whole code to match the desired code style
- Rename
APIRatelimiter
->APILimiter
- Enable
joinChannel
andimportChatInvite
calls-by-external-modules blockage for all users by default - Change inline query placeholder to
user@hikka:~$
+ legacy migration - Completely drop Heroku support due to legacy code, limits and removing of free tier
- Allow user to send code only once to prevent FloodWaits
- Remove junk collector from tl cacher to keep old records so devs can access them w\o making new requests
- Remove FTG License in fully changed files
- Add official GoormIDE support
- Fix authorization error
- Create new type :obj:
hikka.tl_cache.CustomTelegramClient
to avoid monkeypatching - Add
ttl
param for :method:hikka.utils.asset_channel
- Add support for custom branches (e.g. for beta testers and users, who rolled back)
- Fix automatic modules reactions
- Fix :method:
hikka.inline.utils.Utils._find_caller_sec_map
- Fix the targeted security rules without time limit
- Require Hikka-TL >= 1.24.9
- Refactor
document_id
of custom emojis - Refactor validators to be classes, not functions
- Refactor typehints
- Publish hikka telethon fork and migrate to it in requirements, thereby fixing the deployment error on Heroku
- Add custom emojis filter to
utils.remove_html
- Fix
client.get_perms_cached
- Fix translation flaw in
HikkaSecurity
- Fix
.uninstall_hikka
being accessible by sudo - Fix
utils.find_caller
for :method:hikka.inline.utils.Utils._find_caller_sec_map
- Fix
.eval
- Fix: use old lib if its version is higher than new one
- Fix grep for messages bigger than 4096 UTF-8 characters
- Add more animated emojis to modules
- Add targeted security for users and chats (
.tsec
) - Add support for
tg_level
in.config Tester
- Add
-f
param to.restart
and.update
- Add platform-specific Hikka emojis to premium users
- Add codepaces to
utils.get_named_platform
- Add
Presets
core module - Add handler for
/start
command in inlinebot with userbot info - Rename
func
tag tofilter
due to internal python conflict with dynamically generated methods - Partially rework security unit
- Internal refactoring and typehints
- Remove custom :obj:
BotInlineMessage
hook for :method:answer
- Fix typo, which broke
client.get_fulluser
- Add
on_change
param toloader.ConfigValue
- Rework commands\inline handlers\callback handlers\watchers registration and unload process
- Rework tags processing
- Add junk collector aka reloader to
Modules
- Add caching to
utils.asset_channel
- Add
channel
param toutils.asset_channel
to actually create a channel, not supergroup - Add watcher tags:
startswith
,endswith
,contains
,regex
,func
,from_id
,chat_id
- Add buttons to
Choice
validator in.config
- Add new types:
PointerList
,PointerDict
- Add
db.pointer
- Add
self.pointer
to module and library instances - Add support for multiaccounting on Heroku
- Add ability to edit only reply markup or only media of message, w/o touching the actual text
- Add support for
@loader.command
-like commands in inline caller finder - Add
utils.find_caller
- Add possible cause of error in logs (module and method)
- Add
client.get_perms_cached
to cache nativeclient.get_permissions
- Add
client.get_fullchannel
with cache - Add
client.get_fulluser
with cache - Add
exp
andforce
params toclient.get_perms_cached
andclient.get_entity
- Add
exp
cached values check inclient.get_perms_cached
andclient.get_entity
- Add text validation to info (automatically remove broken tags)
- Add
utils.validate_html
to remove broken tags from text - Change errors format in web to more human-readable
- Change visible line of traceback in logs to be the last one
- Fix bug with custom_bot option on installation page
- Fix
RecursionError
in entity cacher - Fix command execution with space between prefix and command
- Fix
utils.answer
for forwarded messages - Remove
heroku3
from classic requirements, along with heroku installation code snippet - Remove
termux_requirements.txt
- Remove legacy
self.get
migration from strings - Move
hikka._types
tohikka.types
with legacy support - Remake all core modules to decorators
- Force custom hikka telethon installation with 144 layer support
- Add animated emojis to core modules strings
- Add trigger to toggle the appearence of custom emojis
- Patch stats so they correctly recognize links
- Fix bug when
...
is being replaced with..
(unnecessary prefix escape) - Add
@loader.tag
- Add watcher tags:
no_commands
,only_commands
,out
,in
,only_messages
,editable
,no_media
,only_media
,only_photos
,only_videos
,only_audios
,only_docs
,only_stickers
,only_inline
,only_channels
,only_groups
,only_pm
. See docs for detailed info - Add
utils.mime_type
to get mime_type of file in message - Replace token obtainment mechanism with callback instead of inline
- Do not cut off prefix in
message.message
,message.text
andmessage.raw_text
- Partially rework events processing and dispatching
- Attempt to fix cached entities mixing up
- Do not update modules in db when secure boot is active
- Refactor members getterr
- Add uptime to
.info
- Refactor
.help
, add version to single mod help message - Fix TypeError in
.e
when returning tl class instead of object - Remove stupid db lock in
.e
- Allow
.security
and.inlinesec
only to owner by default - Add support for
# requires
metatag in libraries - Add support for
# scope: hikka_min
metatag in libraries - Send stats of libraries, if enabled in
.settings
- Replace library existence check from source url to classname
- Add
self.inline
to libraries - Add
@loader.command
,@loader.watcher
,@loader.inline_handler
,@loader.callback_handler
- Add support for multiple watchers
- Add support for command translate directly in decorator (
@loader.command(ru_doc="Привет")
) - Add support for :obj:
aiogram.types.Message
inutils.get_chat_id
- Add human-readable error message when trying to unload core module
- Replace
print
withlogging.info
in main script to make url visible in logs - Automatically react to module post in developer's channel if possible
- Automatically patch reply markup in inline form in the way, that edit stays available anyway
- Do not unload inline form automatically, keep it for 10 minutes instead
- Use
telethon.utils.resolve_inline_message_id
to remove inline unit - Add
self.request_join
- Allow developers to declare
client_ready
without arguments
- Add support for lib attribute
version
(must be defined BEFOREinit
method) - Add
self.lookup
to libs - Add
self.allmodules
to libs - Add
self._lib_get
to libs - Add
self._lib_set
to libs - Add
self.get_prefix
to libs - Add
self.tg_id
to libs - Add
client.tg_id
to every TelegramClient - Add support for hook
on_lib_update
(invoked when library is being updated by new version) - Add adequate library migration with references replacement
- Add support for markup, generated for messages, sent by bot itself
- Reformat code with
black --preview
- Automatically send photo as gif if possible in form
- Update quickstart
- New fields in HikkaInfo
- Remove suffix
Hikka
if user specified it somewhere below - New exception handler
- Fix back button in
.config <lib>
- New
.e
error format - Ignore folder creation error
- Fix unload error in module without commands
- Rework aiogram media processing on edit
- Completely drop fast_uploader support
- Add :method:
utils.import_lib
- Add protection for :obj:
CheckChatInviteRequest
in forbid_joins - Add ability to search modules by classname in :method:
self.lookup
- Add anonymous stats of modules loading (YOU CAN DISABLE THEM IN
.settings
) - Add telethon objects formatting in
.e
- Add :obj:
loader.SelfSuspend
to disable module commands and watcher loading, e.g. if library is unavailable - Add migration native modules db storage from
strings["name"]
to classname.⚠️ Might break some stuff in the beginning in rare cases - Fix heroku-specific config error
- Small patch which allows developer to specify audio metadata in form and
_edit_unit
- Add automatic webpage bot unblock in heroku waker
- Add secure boot feature
- Update native heroku postgre database saving method
- Add easter egg to
.ping
- Add platform-specific errors while installing requirements
- Change postgresql column
id
datatype from int32 to int64 + legacy migration - Change proxypass tunnel behavior - now it only opens on setup and via command
.weburl
- Lavhost-specific web url
- Meaningful errors in web
⚠️ Dropfast_uploader
support. It will be completely removed in next major update- Deepsource fixes
- Multiple languages with priority
- Add automatic proxy pass
- Fix --no-web argument parsing
- Fix localization error in updater
- Print out only INFO statements to stdout
- Add rotating file handler (logfile with max 10MB size)
- Show web endpoint on startup if available
- Fix gallery
inline_message_id
error - Add support for
custom_buttons
ininline.list
- Add support for
custom_buttons
ininline.gallery
- Smart fast_uploader (Do not use hard download on files smaller than 1 MB)
- Attempt to parse
unit_id
from passedInlineCall
object ininline._delete_unit_message
- Reformatting
- Change typehints
- Show list-like values in formatted way in config
- Properly escape html in config
- Split config to pages and categories (core \ non-core)
- Properly edit dictionary config (iter)
- Properly remove items from series options through built-in configurator
- Remove warning from web by replacing coroutine generation with
functools.partial
- Fix processing of
# scope: hikka_min
- Add
forbid_joins.py
(to use it, download module from official repo with the same name)
- Add additional exit on restart to avoid port block
- Add unloaded module name on
.unloadmod
- Add
banner_url
config var toHikkaInfo
- Add
loader.validators.Hidden
- Add
websockets
dependency, so users can load hikarichat on Heroku - Add
reply_markup
kwarg toutils.answer
. This will automatically add buttons to plain message or edit buttons of inline unit - Add suggestion to join developer's channel on module load if available
- Add
client.force_get_entity
to bypass Hikka Cacher - Add clickable link to loaded module message if specified meta developer is channel
- Add support of
action
attributes for buttons ("action": "close", "action": "unload", "action": "answer") - Add log splitter between different clients of instance (if possible)
- Fix inline events
IndexError
- Fix text in inline input
- Fix translation issue in HikkaConfig
- Fix
.dump
- Fix modules list reset if you perform
.dlmod
when userbot is not yet fully loaded - Update links in README
- Remove nalinor from official repos until new modules appear
- Show current options in module config
- Add new validators:
loader.validators.Union
,loader.validators.NoneType
- Add additional Heroku deps
- Fix
load_module
reattempt - Reorder database read-writes to make postgres the ladder
- Make redis optional for non-heroku users
- Add source to Pipfile
- New Heroku dependencies list in Pipfile
- External Redis database support
- Mask more options in logs and .e output
- Remove psycopg2 from requirements.txt
- New installation banner
- Add automatic blob->raw convertion in loader
- Add banner with Hikka installation status
- Reorder config saving in web
- Fix
Unauthorized
error on Heroku
- Add field
action
to inline buttons. You can pass thereclose
to close inline form,unload
to unload it from memory,answer
&text
|show_alert
to answer callback query with message - Update docstrings in inline to match unified format
- Add surrogate error ignorance in dispatcher
- Fix :obj:
EntityCache
caching username@None
- Return :obj:
InlineMessage
inhikka.inline.gallery.Gallery.gallery
- Fix typo in docstring
- Update gitignore so git doesn't count shit on heroku
- Visual heroku fixes in updater
- Deepsource fixes
- Add
utils.get_entity_url
,utils.get_message_link
,utils.remove_html
,utils.get_kwargs
- Disable modules debugging on heroku
- Add
.nonickusers
,.nonickcmds
,.nonickchats
- Update blacklist command docs
- Fix grep removing everything in <...>
- Add
loader.validators.RegExp
- Automatically convert
None
to empty string \ zero integer etc., if validator is specified - More meaningful errors in
inline_handler
s - More meaningful errors in
self.inline.form
,self.inline.gallery
,self.inline.list
on user-side - Allow editing\adding media to form via
call.edit
. Currently supported:photo
,file
,video
,audio
,gif
- Add termux specific requirements
- Refactor
heroku.py
app searching algorithm - Refactor postgresql database saving process
- Fix heroku restart message not being edited
- Add heroku waker
- Make
hikka-
app naming optional
- Add full-featured Heroku support with additional buildpacks
- Notify which dependencies are being installed in .dlmod
- Additional GeekTG compat layer
- Fix logging chat
- Rework sessions storage and retrieval
- Rework session processing in web
- Allow adding and removing multiple items in config
- Add
ast.literal_eval
to config - Add explicit typecheck for
mod.config
- Fix non-working param
share_link
in loader - Assure logging bot is a member of logchat
- Do not store partial phone number in session, only ID
- Rework fast uploader so more types can be passed. For more information check code docstrings and typehints
- Rework installer so it properly displays which action is currently happening
- Fix
Series
not accepting one item - Show upcoming commit in update and warn if update is not required
- Add reset to default button to config
- Merge
hikka_logger.py
withtest.py
- Localization
- Allow opening options of specific mod via arguments in
.config
- Add
add
andremove
buttons toSeries
params - Do not unload form immediately, if
ttl
param was passed explicitly
- Reorder the steps of parsing in
loader.validators.Series
- Fix aliases (yet another time)
- Fix minor bug in
loader.validators.Series
, which allowed to put empty string in it - Fix some translation issues and type conversion ones
- Fix incorrect modules loading if multiple links end with specified name
- Fix type conversion bug in
loader.validators.String
- Fix typehints flaws
- Add additional fields to
inline.form
:gif
,file
,mime\_type
,video
,location
,audio
- Add reset-to-default action, if config is invalid while loading the userbot to prevent fall
- Add verification emoji to
input
to let user know, that new value was processed - Add badge showing how much the last restart took
- Add
min_len
,max_len
,fixed_len
params toloader.validators.Series
- Add option to show downloaded module link in result message of
.dlmod
- Add explicit database save after applying new config
- Add hint to web
- Add code of conduct
- Add changelog
- Remove redundant code in
database.py
as it literally does nothing
- Hopefully finally fix aliases being reset after restart
- Remove redundant internal hook _client_ready2
- Show user evaluated version of config value instead of pre-comp one
- Add validator for each item to Series, remove separator
- Add new validator: TelegramID
- Add separate messages on restart and full_restart. Second one is shown, when all modules are loaded
- Replace .uninstall_hikka with full uninstallation (remove bot, asset chats and folder)
- Suggest update if it is required by module
- New validator: Float
- Buttons in .config of option is a boolean value
- Drop support of argument positive in loader.validators.Integer as it can be easily replaced with minimum=0
- Update semantic generator in validators
- Yet another protection from monkey-patching
- Add String and Link validators
- Fix Series validator
- Reformat core modules to use validators
- Add config validators (loader.validators, Boolean, Integer, Choice, Series)
- Change info layout
- Add .uninstall_hikka
- Add .clearlogs
- Refactor code
- Fix minor bugs
- Fix aliases being reset after restart (aliases will now be available only when userbot is fully loaded)
- Fix bugs related to web, more specifically: Session save timing, adding more than 1 account and proper restart
- Rework Dockerfiles so they work properly
- Add uvloop so the asyncio runs faster
- Add Docker badge to info
- Improve Okteto performance by adjusting settings in okteto-stack.yml
- New ascii_faces in utils
- Typehints update
- Fix Okteto pinger messages removal
- Fix translation typos
- Add nonick suggestion when adding user to group
- Add entity caching
- Add legacy fs modules migration
- Add ready asyncio Event to help track userbot loading process from outside
- Replace logging in loader with module-dependent one
- Fix some bugs and bug-risk issues
- Send big logs as file, rather than an infinite series of messages
- HTML-escape # meta developer:
- Make self.animate available for core modules and modules, loaded from file
- Fix infinite loops
- Add client-specific check of fs modules
- Use classname of module, if it is possible to parse it with ast
- Rework infinite loops stopping and modules instance placement
- Add notification about not exact match in help
- Add automatic progress bar generation to self.fast_upload and self.fast_download
- Make Mod ending in modules class name not mandatory
- Fix some weird looking code
- Fix some emojies and translation issues
- Add native lavHost support (.restart, .update) via internal API
- Add utils.get_lang_flag()
- Fix config docstrings and html escaping
- Fix typehints
- Fix some security staff
- Add additional bot username check
- Add additional foolchecks
- Migrate to walrus operator where necessary
- Remove redundant code block
- Add default aiogram parse mode
- Rename some core stuff which was not supposed to be used by external developers
- Add automatic database autofix and rollback if database was broken by module
- Fix translation issues
- Warn user, if he tries to view .help when userbot is not yet fully loaded
- Create alias for _generate_markup (generate_markup)
- Fix modules which are deleting from helphide
- Automatically save db if it was edited via classic dictionary methods
- Fix utils.asset_channel()'s archive param
- Fix defect, which forced installation from additional trusted repo, rather than from primary one if the file names are matched
- Add avatar to utils.asset_channel() which automatically sets chat pic on creation (be careful, bc it leads to floodwaits, if you do it often)
- Add automatic hikka folder processing
- Add avatars to all official repo modules, which require asset chats (and add them to hikka folder)
- Rework database assets chat processing
- Replace some minor stuff like texts and emojies
- Force many core modules to use self.get\self.set rather than digging the db
- Add .fconfig command to forcefully set known config value if it doesn't fit in Telegram query
- Add dataclasses for module config (read the docs for more info), bc old way is blasphemy
- Automatically save config value if it was set to module self.config[option] = value
- Add utils.is_serializable(), utils.set_avatar()
- Send very large (over 4096*10 symbols) output in a file rather than in an inline list
- Fix processing commands on behalf of channel
- Fix .settings Restart and Update
- Add warning in call.edit(), if message was sent w\o buttons, ergo Telegram won't allow to edit this message
- Add --force restart
- Add ability to customize .info (this is only your problem, if you break something)
- Properly censor known tokens in logs
- Replace regex check in utils.check_url() with urllib parser
- Consider avoiding redundant requests to TG API in order to get the client id and rather using self._tg_id, which is now available for all modules
- Add fast uploader (self.fast_upload, self.fast_download)
- Fix translations
- Add ability to download modules from many additional repos (e.g. you can download weather by morisummer via just .dlmod weather, and also list all available repos via .dlmod)
- Fix _generate_markup in order that it automatically sets up callback hooks to _custom_map if callback was passed in buttons
- Add switch_inline_query and switch_inline_query_current_chat parsers
- Fix minor issues
- Stuff, related to translation issues
- Add self.get_prefix() to all modules, which returns current command prefix
- Add possibility to silently self-unload mod, e.g if some condition is not matched. Usecase can be found in modules/okteto.py
- Add async def on_dlmod(self, client: "TelegramClient", db: "database.Database") handling. This can be e.g. used to subscribe to module's author's channel
- Rework Okteto Pinger, so it removes messages, if userbot is installed on other platform and so it even works
- Add trusted developers to quickstart message
- Automatically switch language via quickstart message button
- Add self.animate function to all modules, which allows you to easily create fancy animations
- Allow and process callback field in result of inline query answer. You can also use this in your own functions. Simply pass prepare_callbacks=True to _generate_markup
- Generate InlineCall object on _custom_map handlers
- Minor update: Allow passing disable_security and always_allow to buttons directly
- Ability to set inline bot username on setup (in web interface)
- Fix inline help
- Add more debug info to logs
- Add attribute status to loops
- Fix HikkaDL link parsing
- Suggest enabling value in bounding mask if it is not
- Mask tokens in logs
- Add utils.get_git_hash()
- Add debugging mode for developers
- Finally (hopefully) fix config
- Minor bug fixes related to inline form processing
- Add @loader.loop, which provides developers access to easy-to-make infinite loops. Wait for developers docs to update for more info
- Drop Uniborg and Raphielgang compatibility layer. More info in 2d525ab
- Minor bug fixes
- Make inline commands' docstrings translatable
- Introducing HikkaDynamicTranslate - the possibility for developers to translate their own modules to other language without usage of native translates
- Rework translates system, because «translate channels wut¿». Now translate pack can be loaded from disk or from web
- Add utils.check_url
- Get rid of babel
- Add IP address and possible cities to web auth popup
- Add web auth popup ratelimit
- Automatically delete web auth flow when timeout's exceeded
- Adapt core modules so they send plain text message, if unable to send inline
- New type: InlineMessage
- Rework type InlineCall
- Make it so the forms, lists and galleries return editable InlineMessage
- Return a single answerable value from utils.answer, not a list
- Ensure that inline unit is actually being unloaded
- Refactor inline - remove redundant arguments, rename some core methods
- Fix userbot crash when using galleries' slideshow for a long time
- Rework slideshow so it runs in the background
- Fix here, fix there, fix somewhere...
- Add option to control inline and callback handlers' security via loader decorators, including brand new @loader.inline_everyone
- Refactor HikkaSecurity, especially the bounding mask control
- Add silent param to inline.form, inline.gallery, inline.list
- Add photo param to inline.form
- Add URL validator to inline._generate_markup
- Ignore MessageIdInvalidError in .e
Thankfully to @bsolute, now we have a cool smart_split in utils. The messages are split without loosing formatting and emojies, preferably on line breakes / spaces.
- Add utils.smart_split which splits message in chunks of chunk_size, keeping parse_mode and entities in a right way (relocates 'em)
- If response of utils.answer is too big to be sent in one particular message, it will be split in chunks of 4096 and sent via inline.list
- Add disable_security to inline forms, lists and galleries
- Okteto fixes (persistent uri, fix webpage)
- Add utils.dnd, which allows to mute and archive peer
- Security fixes for groups (not super\mega groups)
- Minor bug fixes
- Add ability to disable HikkaDL natively
- Fix Updater so it works if you have troubles with inline mode
Add HikkaDL module to use inline download buttons in verified channels
A lot of stuff: web fixes, bug fixes, automatic seamless userbot restart when adding new account in web, replace emojies, add inline list feature, fix types name conflict and I don't remember other fixes, read code
- Allow passing reply_markup field to InlineQuery's result
- Refactor reply markup parser so it accepts more formats of inline markup
- Allow developers to pass InlineQuery result via return operator in inline handlers. Read the docs for more info
- Move query_gallery to a separate module
- Add silent and archive params to utils.asset_channel.
- Remake logging so it become native with
BotLogger
. - Inject
BotLogger
analog directly
- Add ability to set up inline commands' security map (only
owner
,sudo
,support
andeveryone
, because other permissions are inaccessible when processing inline query). - Add database serializeability check to avoid JSON-serialization problems if unserializable object is being stored in db.
- Minor bugfixes
- Full support of Okteto cloud deployment inculding persistent data storage (additional volume is created)
- Fix automatic waker for container
- Add more errors to query aka query.e500()
- Add gallery slideshow
- Include command prefix in inline info.
- Fix --no-web.
- Suggest to save modules to filesystem
- Optimize forms, galleries and custom_map storage by ommiting keys with default values and dynamically generate them.
- Add feature to inherit command-caller permissions on form and gallery (crutchy).
- Minor improvements and bug fixes
- Add inline.query_gallery to add ability to call inline gallery via inline query.
- Add
e404
attribute toInlineQuery
, which should be shown, that no results were found
- Add feature to send gifs in inline galleries (gif param).
- Make argument
caption
of inline gallery not mandatory
- Full inline structure rework.
- Split this madness into separate modules (
InlineUnit
s), which extend the main unit -InlineManager
. - Compatibility layer is not main priority.
- Code refactoring
- Minor bug fixes
- Rewrite security
- Massive inline galleries update, memoization, back button, preloading and other features.
- Fix some minor bugs, add
ascii_face
to utils
- Add welcome message, triggered when userbot is installed
- Add gallery memoization (ability to close gallery and scroll it back)
- Add Okteto pinger, which will wake the pod up, when it goes to sleep
- Fix a lot of stuff in web
- Add new features to web
- Merge root and initial_root
- Remove trailing whitespaces
- Full restructure of core code
- Refactor web
- Create new active bg
- Drop heroku support
- Remove redundant code
- Remake badge
- Remake installer