Commit Graph

260 Commits (966ea0979ae3cd40ceb678a97404b587d5ee8021)

Author SHA1 Message Date
hikariatama 3fc77b5529 1.1.28
- 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` with `test.py`
- Localization
- Allow opening options of specific mod via arguments in `.config`
- Add `add` and `remove` buttons to `Series` params
- Do not unload form immediately, if `ttl` param was passed explicitly
2022-05-25 16:32:39 +00:00
hikariatama 673f4eb39c Minor fix of config processor
Added `.strip()` to process each item of `Series`
2022-05-21 19:13:50 +00:00
hikariatama a0aacf459e Hotfix for broken `hikka_info.py`
Bug occured of you tried to open config after loading module from file
2022-05-21 18:49:25 +00:00
hikariatama ec647fe34e 1.1.27
- 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 to `loader.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
2022-05-21 18:34:45 +00:00
hikariatama 34bbb44a3a 1.1.26
- 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`
2022-05-20 19:02:27 +00:00
hikariatama eae0c413f0 1.1.25
- 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)
- Clean code
- 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
2022-05-20 13:42:39 +00:00
hikariatama 3453fb9886 Hotfix for those who issued userbot fall with incorrect config set 2022-05-19 20:40:14 +00:00
hikariatama 059d531d39 1.1.24
- Add `String` and `Link` validators
- Fix `Series` validator
- Reformat core modules to use validators
2022-05-19 19:26:03 +00:00
hikariatama 64163b7218 Add Orange Pi as platform to `utils.get_named_platform` 2022-05-19 19:02:13 +00:00
hikariatama 6caa7a0e4e 1.1.23
- 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)
2022-05-19 18:55:37 +00:00
hikariatama 90b5ab0b4d Minor updates
- Update dockerfiles
- Update readme
- Suppress some logging shit
- Hopefully fix dl buttons
- New banner in info
2022-05-18 18:37:43 +00:00
hikariatama 96afa2fb33 Minor fixes
- Add additional config options to `HikkaInfo`
- Delete all update messages in update notifier
2022-05-16 15:41:15 +00:00
hikariatama 8f5e879dc4 Minor bugfixes
- Make uvloop optional
- Fix `utils.escape_html`
- Add nickname check when creating bot (less than 64)
- Add banner in `.info`
2022-05-16 05:37:58 +00:00
Sourcery AI 9a0a5a5543 'Refactored by Sourcery' 2022-05-14 20:44:57 +00:00
hikariatama a6d01c6cdb 1.1.22
- 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
2022-05-14 17:46:52 +00:00
hikariatama 5aad62610c Update Dockerfiles, prepare core modules to work with Docker properly 2022-05-13 16:09:21 +00:00
hikariatama 3ed1980595 Add native hashability check instead of typecheck one 2022-05-12 19:03:34 +00:00
hikariatama 9cd320e91e 1.1.21
- Fix translation typos
- Add nonick suggestion when adding user to group
- Add entity caching
2022-05-12 18:42:53 +00:00
hikariatama cee6783191 Patch, fixing legacy fs modules migration 2022-05-12 15:37:05 +00:00
hikariatama 0a17cefbab Patch for users with non-translatable prefix (e.g. "+", "-" etc) 2022-05-12 12:39:08 +00:00
hikariatama 9664d0e4f7 Patch for removing common error with logging 2022-05-12 12:19:34 +00:00
hikariatama e713035099 1.1.20
- 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-rist issues
- Refactor code
- 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
2022-05-11 17:46:36 +00:00
hikariatama 0893947d2c 1.1.19
- 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
2022-05-11 11:28:10 +00:00
hikariatama 4340e363c7 Fix typo 2022-05-09 20:10:49 +00:00
hikariatama 3d9d243d1b 1.1.18
- 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
2022-05-09 18:14:58 +00:00
hikariatama 3599d260cd Fix updater 2022-05-08 20:03:12 +00:00
hikariatama 14b15b65e8 Add ignorance of modules links case 2022-05-08 19:52:53 +00:00
hikariatama 94822ef54a Add error handlers to core modules 2022-05-08 19:40:43 +00:00
hikariatama 9a070479de Minor fixes 2022-05-07 21:59:30 +00:00
hikariatama 15075282d6 Add message processor 2022-05-07 19:41:26 +00:00
hikariatama b282bee88d 1.1.17
- 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()
2022-05-07 19:38:52 +00:00
hikariatama ed686343bb 1.1.16
- 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
2022-05-07 16:40:29 +00:00
hikariatama 2b1799492a Revert "Add lavHost-specific restart and update processors"
This reverts commit 3735d668bd.
2022-05-06 17:26:00 +00:00
hikariatama 3735d668bd Add lavHost-specific restart and update processors 2022-05-06 17:23:21 +00:00
hikariatama 334643178c 1.1.15
- 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
2022-05-06 12:13:01 +00:00
hikariatama b33d823056 Add self.lookup; Fix config message parsing; Fix hikka-backups pfp 2022-05-05 18:06:40 +00:00
hikariatama 526df8532f Create hikka folder only once 2022-05-05 17:51:18 +00:00
hikariatama c7dfb35270 1.1.14
- 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
2022-05-05 17:39:09 +00:00
hikariatama 05a92a9be7 Remove link prefix on primary repo modules 2022-05-04 17:44:29 +00:00
hikariatama d7428880e1 Fix commands parsing 2022-05-04 17:32:07 +00:00
hikariatama 1b96f8f8cc 1.1.13: Fix bugs, clean code, replace redundant methods. More info in t.me/hikka_ub 2022-05-04 17:18:45 +00:00
hikariatama b7a69b4a72 Bulk localization 2022-05-03 13:54:47 +00:00
hikariatama 440092e690 Fix LoadError handling 2022-05-02 15:55:58 +00:00
hikariatama d2d7674575 1.1.12: Add modules' attr `self._tg_id` which represents the client id 2022-05-01 06:52:18 +00:00
hikariatama 5ef3647643 Make API Protection optional 2022-05-01 06:38:44 +00:00
hikariatama 855379bd75 Add restart lock on protection, add protection from protections' flood in bot 2022-05-01 06:32:36 +00:00
hikariatama 70719ac6eb Increase threshold 2022-04-30 21:51:49 +00:00
hikariatama a5b7dcb8dc Add API protection 2022-04-30 21:41:44 +00:00
hikariatama 5d4962389b Add ability to specify filename in fast uploader 2022-04-30 17:53:45 +00:00
hikariatama b411d5156e 1.1.11: Add fast uploader, update translations 2022-04-30 15:10:56 +00:00
hikariatama 02fd9ad602 Fix some stuff for deepsource 2022-04-29 17:57:56 +00:00
hikariatama df3a2befd3 1.1.10: Add ability to download modules from additional repos (e.g. .dlmod weather) 2022-04-29 07:07:54 +00:00
hikariatama db9edf8d75 Fix HikkaDL as mentioned in https://github.com/hikariatama/Hikka/issues/13 2022-04-28 11:55:58 +00:00
Hikari 8c02fd5b1d
1.1.9: Fix `_generate_markup` (hooks setup), add `switch_inline_query|current_chat` parsers 2022-04-26 13:40:40 +00:00
Hikari f56a380fc6
1.1.8: Add `on_dlmod` hook, fix translations, fix okteto pinger and some minor stuff
More info in t.me/hikka_ub
2022-04-25 13:10:34 +00:00
Hikari 185457140d Minor fixes 2022-04-23 21:34:48 +00:00
Hikari afaeea5ab7
Add comparsation link to update notifications 2022-04-23 15:15:22 +00:00
Hikari 81f7cfeda6 Fix attr error `_find_data_channel` 2022-04-23 15:08:17 +00:00
Hikari d503def592
Hopefully fix origin of core modules 2022-04-23 12:40:52 +00:00
Hikari 0bb34f9966
Inherit `StopLoop` from `Exception` so the python doesn't piss off 2022-04-23 12:32:24 +00:00
Hikari 1b846a6e1b
Return best match if no full-match occurred in `.help` 2022-04-23 12:30:37 +00:00
Hikari d74aaa99fd
Remove weird "-> None" typehints, idk why I left them for so longs 2022-04-23 12:12:52 +00:00
Hikari 791f1d1774
Make core modules loader data accessible via inspect 2022-04-23 12:09:12 +00:00
Hikari 4bd1d302fa
1.0.7: Add `self.animate` function to all modules, which allows you to easily create fancy animations 2022-04-23 11:26:14 +00:00
Hikari d3144fcebd
1.0.6: Add `callback`s to inline query answers 2022-04-23 04:41:51 +00:00
Hikari 74e6bbdad6
1.0.5: Allow to pass `disable_security` and `always_allow` to buttons directly for use in inline queries 2022-04-23 04:20:44 +00:00
Hikari f4f7e8e0b9
1.1.4: `utils.get_git_hash()`, fix stuff, add debugging mode for modules. For more info check t.me/hikka_ub 2022-04-22 12:51:17 +00:00
Hikari c4501a5a4a
1.0.3: Finally (hopefully) fix config 2022-04-18 13:20:12 +00:00
Hikari 20992a7d43
1.1.2: Add `@loader.loop` in order to provide developers native and easy access to inifite loops 2022-04-17 15:59:54 +00:00
Hikari 60f104f542
Save config values at mod config, rather than in __module__ 2022-04-17 11:39:13 +00:00
Hikari d064cfeaf3
Minor bug fixes
Move `skip_hook` check before re-assigning strings, add Nonetype check close
2022-04-17 11:14:39 +00:00
Hikari a3ea19dc58
Minor bug fixes 2022-04-17 10:58:14 +00:00
Hikari 2d525ab6b0
1.1.1: Finally drop Uniborg and Raphielgang compatibility layer, refactor code a bit, fix minor bugs
This layer was needed 2 yrs ago, when FTG was starting and there were no modules. Right now, there are much more modules for FTG\GeekTG\Hikka, rather than for Uniborg and Raphielgang, so I decided to drop this layer, bc it is very large amount of code and kinda useless right now
2022-04-17 08:52:43 +00:00
Hikari db79a8a18f
Compatibilit tweak 2022-04-17 07:06:11 +00:00
Hikari 5b7a869f26
Fix fantom message with exception when trying to raise MessageNotModified 2022-04-16 20:29:41 +00:00
Hikari fa1ff8527a
Remember inline_message_id of form in case it gets unloaded before the result is returned 2022-04-16 20:27:13 +00:00
Hikari 69c64072c3
1.1.0: First major update. A LOT OF STUFF. Really, a lot. Check out hikka channel for more info 2022-04-16 20:00:15 +00:00
Hikari 6b1d20d0f8
Add ability to disable automatic backups 2022-04-15 09:39:41 +00:00
Hikari 74ae9ecb57
Add automatic database backup (`HikkaBackup`) 2022-04-15 09:30:34 +00:00
Hikari 22c260492a
Add `.nonickchat` command to HikkaSettings
You can enable NoNick for certain chat in order to avoid userbot spam in not-needed chats
2022-04-15 08:01:58 +00:00
Hikari a930e85678
Allow user to control callback buttons (forms) security via `.security` command 2022-04-15 07:44:59 +00:00
Hikari c6b03249e8
Update `cache_time` in native query answers so they are not cached anymore 2022-04-14 17:56:50 +00:00
Hikari c98a9f610b
Automatically confirm update if it was initiated via the button in update notifier 2022-04-14 09:25:26 +00:00
Hikari df3c684a43
Refactor inline security, replace weird two-level generator with for-loop and generator, fix galleries 2022-04-14 09:09:05 +00:00
Hikari 1e307b98c2 Add automatic restart after installing dependencies \ reinstalling telethon 2022-04-13 18:55:34 +00:00
Hikari 4b730c40d2
Add telethon check in order to avoid errors due to classic telethon installation 2022-04-13 18:42:33 +00:00
Hikari 21d9133d30
1.0.29: Add `@loader.inline_everyone`
This can be used underneath inline handlers and callback handlers to control default permission rules. Don't forget to set up an inline security mask in `.inlinesec`, otherwise some modules could become unusable
2022-04-13 17:59:55 +00:00
Hikari 748f51351f 1.0.28: Add `silent` param to lists, forms and galleries; Add `photo` param to inline form
Add URL validator to `inline._generate_markup`, which will ignore buttons with invalid urls
2022-04-13 17:15:00 +00:00
Hikari f4761b91de
Add CakesTwix to allowed origins
There was no https://twix.nonfalse-networks.net.ua/modules, which have been forbading to install modules from this origin via buttons
2022-04-12 13:08:06 +00:00
Hikari e6336679d7
Add Raspberry Pi recognition to `utils.get_named_platform`. thx to @CakesTwix 2022-04-11 13:21:29 +00:00
Hikari eea3d2f3e5 1.0.27: New requirement - grapheme. New `utils.smart_split`, authored by t.me/bsolute. Minor improvements 2022-04-10 21:44:20 +00:00
Hikari fdef2634de
Fix weird bug with un-translated modules due to invalid `__module__` 2022-04-09 12:46:51 +00:00
Hikari aa34046f27
Fix loading status messages for forms, galleries and lists 2022-04-09 12:30:46 +00:00
Hikari f2ef452acd
Fix `.dlmod`, remove logspam from utils 2022-04-09 12:12:19 +00:00
Hikari 070366b341
1.0.26: Add `utils.smart_split` which splits the message in chunks and relocates entities so they fit. If `utils.answer` response is too large to send in one message, it will be split in chunks and sent using `inline.list` 2022-04-09 11:56:39 +00:00
Hikari dc16e406ff
Fix when answering inline query via native method 2022-04-09 08:04:51 +00:00
Hikari bf6297388e
Fix markup 2022-04-08 16:06:55 +00:00
Hikari d0b63e4798
Fix some typos 2022-04-08 13:52:01 +00:00
Hikari 24759e5005
Protect core modules and internal commands from being overwritten by weird external analogs 2022-04-08 13:47:12 +00:00
hikari.ftg 19da41bcbc Fix `.unloadmod`, allow to edit forms `disable_security` on `call.edit` 2022-04-08 12:43:26 +00:00