Commit Graph

332 Commits (b4d893d8f4f877a9079651b9e2b850df789aae8e)

Author SHA1 Message Date
hikariatama 867f2c542d Fix heroku session saving flow 2022-05-30 19:59:13 +00:00
hikariatama 1288220c3f Rework session reading mechanism 2022-05-30 17:17:49 +00:00
hikariatama 6cde31579f Testing Heroku deployment 2022-05-28 07:26:31 +00:00
hikariatama a837428cea Remove `HikkaDL` as redundant 2022-05-26 18:07:13 +00:00
hikariatama 46fe403fae Replace huge mess of memory dicts with a single `_units` one, fix `TelegramID` validator 2022-05-26 16:59:39 +00:00
hikariatama 89b3295454 Patch, fixing HikkaConfig
- Allow adding and removing multiple items in config
- Add `ast.literal_eval` to config
- Add explicit typecheck for `mod.config`
2022-05-26 08:54:50 +00:00
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 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 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 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 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 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 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 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 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 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 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 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 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 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 fdef2634de
Fix weird bug with un-translated modules due to invalid `__module__` 2022-04-09 12:46:51 +00:00
Hikari f2ef452acd
Fix `.dlmod`, remove logspam from utils 2022-04-09 12:12:19 +00:00
hikari.ftg f76db91648 1.0.25: Add `disable_security` param to forms, galleries, lists and query galleries. Clean up code a lil bit 2022-04-08 12:26:42 +00:00
hikari.ftg bf4098339d Deepsource fixes 2022-04-07 18:01:20 +00:00
hikari.ftg 817eda537b Okteto fixes 2022-04-07 16:41:15 +00:00
hikari.ftg f19c40bbef `utils.dnd`, which silence the peer and archives it (especially good for bots, which are used to obtain tokens), automatically silence the @hikka_userbot, @botfather and others. Update typehints in utils 2022-04-07 16:29:59 +00:00
hikari.ftg 045fcf4323 Migrate from string formmating to f-strings in logging 2022-04-07 16:15:26 +00:00
hikari.ftg 4e87ebd3c2 1.0.24: Refactor security, fix security for groups, remake module storage system with legacy db migration 2022-04-07 15:50:13 +00:00
hikari.ftg 556a52b2fb Omit case when unloading module 2022-04-07 13:33:54 +00:00
hikari.ftg 3cf750a586 Attempt to install dependencies from error message if they are not specified in code 2022-04-07 13:27:33 +00:00
hikari.ftg 737dfd8343 Add modules' creators propriety gesture to HikkaDL (Automatic reaction when downloading via button) 2022-04-07 11:17:10 +00:00
hikari.ftg bd6f35878d 1.0.23: Add ability to disable HikkaDL natively, add support for non-inline mode for Updater 2022-04-07 10:54:16 +00:00
hikari.ftg 0139b7bd9c Automatically revoke HikkaAPI token if it expires \ becomes invalid 2022-04-07 09:14:27 +00:00
hikari.ftg db14892ce2 Add requirements 2022-04-06 19:09:20 +00:00
hikari.ftg 050ac0ea4f 1.0.22: Add HikkaDL module to use download buttons 2022-04-06 19:05:31 +00:00
hikari.ftg 8181ae56f4 UpdateNotifier translateability 2022-04-06 06:10:29 +00:00
hikari.ftg 29784d2e0d Delete last update notification when new one is upstrea 2022-04-06 06:03:19 +00:00
hikari.ftg 1cd3302c9c Cool updater (test) 2022-04-05 19:10:52 +00:00
hikari.ftg 25ae14de28 Fix `_bot_username` attribute error 2022-04-05 18:53:13 +00:00
hikari.ftg 179f12d9ca 1.0.21: 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 2022-04-05 16:46:03 +00:00
hikari.ftg 708639d7f2 Fix UpdateNotifier 2022-04-03 17:34:59 +00:00
hikari.ftg 467c093a26 Upload UpdateNotifier 2022-04-03 17:30:17 +00:00
hikari.ftg 273c3d6561 Remove Okteto debugging 2022-04-03 17:14:40 +00:00
hikari.ftg 764b158e91 Add `.hikkainfo` cmd 2022-04-03 16:52:45 +00:00
hikari.ftg 60fe788d2e 1.0.20: Allow passing `reply_markup` field to inline result. Allow passing only dict or only one embeded list with dicts, if you don't need a lot of lines of buttons 2022-04-03 16:17:54 +00:00
hikari.ftg 15bc667860 Minor bug fixes 2022-04-03 10:45:08 +00:00
hikari.ftg 495ef51acd Replace misswritten license 2022-04-02 20:16:45 +00:00
hikari.ftg 17e9e362d4 1.0.18: Add `silent` and `archive` params to `utils.asset_channel`. Remake logging so it become native with `BotLogger`. Inject `BotLogger` analog directly 2022-04-02 20:14:24 +00:00
hikari.ftg 288ac55c85 Add possibility to change bot username via `.ch_hikka_bot` 2022-04-01 22:04:12 +00:00
hikari.ftg a0e9586506 1.0.17: Add ability to set up inline commands' security map (only `owner`, `sudo`, `support` and `everyone`, 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 2022-04-01 20:51:35 +00:00
hikari.ftg 4583c98c1f Hotfix for Okteto users 2022-04-01 20:15:37 +00:00
hikari.ftg becec46e97 Ignore events to avoid errors in logs 2022-04-01 19:19:43 +00:00
hikari.ftg 0075802a63 1.0.16: Full support of Okteto cloud deployment inculding persistent data storage (additional volume is created), automatic waker for container and other stuff 2022-04-01 19:15:47 +00:00
hikari.ftg f22c811bfe Updates for Okteto 2022-04-01 17:09:00 +00:00
hikari.ftg 4222ea5840 When userbot is installed to Okteto, store persistent data in `data` folder 2022-04-01 12:49:56 +00:00
hikari.ftg fca9f44e07 Localization features 2022-03-31 18:45:26 +00:00
hikari.ftg c40b8e016e 1.0.13: Include command prefix in inline `info`. Fix `--no-web`. Suggest to save modules to filesystem 2022-03-31 18:24:00 +00:00
hikari.ftg 6dfaaebf0d Fix `query_gallery` permissions 2022-03-31 13:03:14 +00:00
hikari.ftg 0a2327c37e 1.0.11: Add `inline.query_gallery` to add ability to call inline gallery via inline query. Add `e404` attribute to `InlineQuery`, which will show, that no results were found 2022-03-29 11:14:20 +00:00
hikari.ftg 2b55fde4e8 Add protection from update loop 2022-03-28 10:25:34 +00:00
hikari.ftg c8059cd604 1.0.9: Full inline structure rework. Split this madness into separate modules (`InlineUnit`s), which extend the main unit - `InlineManager`. Compatibility layer is not main priority. Some modules will break after updating to 1.0.9 2022-03-28 09:10:31 +00:00
hikari.ftg 5bc8359590 1.0.8: Code refactoring, minor bug fixes, rewrite security 2022-03-28 08:19:31 +00:00
hikari.ftg 66997edfbd 1.0.7: Massive inline galleries update, memoization, back button, preloading and other features. Fix some minor bugs, add `ascii_face` to utils 2022-03-27 21:27:59 +00:00
hikari.ftg 3fde53f5f4 1.0.6: Add welcome message, triggered on userbot is installed 2022-03-27 17:52:36 +00:00
hikari.ftg b98b930c81 Deepsource fixes 2022-03-27 15:33:18 +00:00
hikari.ftg 4c68b2aebb Deepsource fixes 2022-03-27 15:06:15 +00:00
hikari.ftg b95887e20c 1.0.4: Add Okteto pinger, which will wake the pod up, when it goes to sleep 2022-03-27 13:19:29 +00:00
hikari.ftg 3985152b84 Minor bug fixes. Base for okteto pinger support 2022-03-27 12:40:52 +00:00
hikari.ftg 1d940b2b7f Digging and re-digging code 2022-03-26 23:10:09 +00:00
hikari.ftg b499c4ab1d Minor bug fixes 2022-03-26 21:18:28 +00:00
hikari.ftg f1171e2683 Fix a lot of stuff in web, add a lot of new features to web, merge root and initial_root, remove trailing whitespaces and other sutff 2022-03-24 13:59:16 +00:00
hikari.ftg a40fd0b1ec Continue refactoring stuff, removing redundant (IMHO) code, fix core modules; Added sub-license for edited files 2022-03-23 18:48:26 +00:00
hikari.ftg 34d58b5342 Full restructure of core code, refactor web, create new active bg 2022-03-23 17:38:35 +00:00
hikari.ftg 0112296998 Remove redundant backuper as it is available in classic repo, add okteto badge in info 2022-03-22 17:51:55 +00:00
hikari.ftg 6b96d4334f Move stylesheets from web to static, replace avatar, fix some shit 2022-03-22 15:55:41 +00:00
hikari.ftg 041960117f Continue fixing stuff; Add okteto support (manual build as far) 2022-03-22 15:03:50 +00:00
hikari.ftg 270ff31da0 Update utils list, add geek compat layer 2022-03-22 13:09:00 +00:00
hikari.ftg 7ad89e4995 Update installer 2022-03-21 12:55:31 +00:00
hikari.ftg e761b73a41 Continue development 2022-03-21 08:59:49 +00:00
hikari.ftg ef95f77789 Initial commit 2022-03-21 05:57:25 +00:00