Commit Graph

346 Commits (8b047073538dc07168d60e100533e37a696c5f8b)

Author SHA1 Message Date
hikariatama b4c41deabe Patch fixing userbot for users with multiaccount 2022-07-19 22:04:01 +00:00
hikariatama f46b81ddce Add `await` to folder adder in Updater 2022-07-19 20:37:26 +00:00
hikariatama e477a07147 Black formatting after sourcery fixes 2022-07-19 20:32:22 +00:00
Sourcery AI c7bea2a5e0 'Refactored by Sourcery' 2022-07-19 20:29:32 +00:00
hikariatama 9d88819cb5 Deepsource fixes 2022-07-19 20:22:43 +00:00
hikariatama 8b632fdbd2 Part of v1.2.11 update 2022-07-19 16:37:12 +00:00
hikariatama 1f6c44e903 Part of v1.2.11 update
Check changelogs for more info
2022-07-16 21:56:43 +00:00
hikariatama 08443aa775 Part of v1.2.11 update
Check changelogs for more info
2022-07-16 21:55:45 +00:00
hikariatama 6637977f0c Part of v1.2.11 update
- Remove Database and TelegramClient from local variables in stack
- Remove redundant parameters in `send_ready_one` and similar
2022-07-16 10:24:15 +00:00
hikariatama 63c6d354ce Part of v1.2.11 update
See changelogs for more info
2022-07-16 09:59:19 +00:00
hikariatama 9ddfef305f Part of v1.2.11 update
See changelogs for more info
2022-07-15 22:04:09 +00:00
hikariatama 7fdcca8d8a Add `get_prefix` to library instance 2022-07-14 21:35:35 +00:00
hikariatama e995391bf0 Add references replacement with garbage collector
Old method doesn't work at all btw
2022-07-14 20:28:29 +00:00
hikariatama 071b1c1d01 Fix typo 2022-07-14 20:01:58 +00:00
hikariatama 8e3647b45b 1.2.11
- Add support for lib attribute `version` (must be defined BEFORE `init` method)
- Add `self.lookup` to libs
- Add `self.allmodules` to libs
- Add `self.lib_get` to libs
- Add `self.lib_set` to libs
- Add support for hook `on_lib_update` (invoked when library is being updated by new version)
2022-07-14 19:40:38 +00:00
Sourcery AI 90163f8cfc 'Refactored by Sourcery' 2022-07-13 20:29:27 +00:00
hikariatama 5dd942992e Fix multiple spaces in `.help -f` for modules without commands 2022-07-13 20:26:10 +00:00
hikariatama 3b18c068fb Show actual module name in <core>, <file> and <string> origins 2022-07-13 20:16:35 +00:00
hikariatama 633845f8d6 Add key-specific config and dictionary migration 2022-07-13 19:54:45 +00:00
hikariatama 5fe75d3af7 Rename duplicate variable which caused error on migration 2022-07-13 19:43:41 +00:00
hikariatama 7994b82566 Forcefully override new db values with legacy ones 2022-07-13 18:51:03 +00:00
hikariatama 1af82d85b2 1.2.10
- 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
2022-07-13 18:39:19 +00:00
hikariatama 66426025e0 Patch with minor fixes
- Refactorment
- Deepsource suggestions
- License update
2022-07-07 20:24:20 +00:00
hikariatama 5c4fba228a Patch for Updater 2022-07-06 19:25:50 +00:00
hikariatama 32bcd634a4 Fix typo, which caused db problems on Heroku 2022-07-03 18:41:14 +00:00
hikariatama 402ed878c6 1.2.9
Small fixing, which allows developer to specify audio metadata in form and `_edit_unit`
2022-07-03 14:41:58 +00:00
hikariatama f40a4eba09 1.2.8
- 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
- ⚠️ Drop `fast_uploader` support. It will be completely removed in next major update
- Deepsource fixes
- Multiple languages with priority
2022-07-02 22:04:27 +00:00
hikariatama 12ae1ec44d Patch
- Temporarily disable `fast_download` and `fast_upload` (no need to remove them from code, they are available as-is, but use legacy transfer
- Fix gallery loop
2022-06-19 19:19:38 +00:00
hikariatama 91db334a89 1.2.7
- 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` in `inline.list`
- Add support for `custom_buttons` in `inline.gallery`
- Smart fast_uploader (Do not use hard download on files smaller than 1 MB)
- Attempt to parse `unit_id` from passed `InlineCall` object in `inline._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`
2022-06-17 22:22:30 +00:00
hikariatama db09fa3aca Fix protection 2022-06-12 19:24:12 +00:00
hikariatama 879aefa1ed 1.2.6
- Fix processing of `# scope: hikka_min`
- Add `forbid_joins.py` (to use it, download module from official repo with the same name)
2022-06-12 18:45:02 +00:00
hikariatama 6f7fde5e6a Temporarily remove ttl check in inline units to fix config 2022-06-12 17:30:37 +00:00
hikariatama fd749d3189 Minor fixes 2022-06-12 17:14:22 +00:00
hikariatama 212a1a3f59 Suppress any exceptions on web stop 2022-06-12 15:25:10 +00:00
hikariatama 7e5b9ad58d Patch
- Fix non-working inline in `.logs`
- Fix unit deletion via "action" attr
- Fix module load error, if invalid entity was specified in #meta developer
- Hopefully fix config
- Remove notification about setattr error in dispatcher
2022-06-12 15:23:48 +00:00
hikariatama 19ebbe85a0 Fix false hidden config 2022-06-12 10:25:55 +00:00
hikariatama 966ea0979a Fix inline, migrate to new close handlers 2022-06-12 10:20:45 +00:00
hikariatama 8018cc8a35 Fix missed dependency 2022-06-12 09:50:59 +00:00
hikariatama e382cbc7a5 1.2.5
- Add additional exit on restart to avoid port block
- Add unloaded module name on `.unloadmod`
- Add `banner_url` config var to `HikkaInfo`
- Add `loader.validators.Hidden`
- Add `websockets` dependency, so users can load hikarichat on Heroku
- Add `reply_markup` kwarg to `utils.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
2022-06-12 09:46:48 +00:00
hikariatama 491a3b3f37 [minor] Replace imgur link with github 2022-06-09 22:08:27 +00:00
hikariatama 07970bbcdf Patch for loader 2022-06-07 16:51:52 +00:00
hikariatama ac8e7371e9 1.2.4
- Show current options in module config
- Add new validators: `loader.validators.Union`, `loader.validators.NoneType`
2022-06-06 16:54:31 +00:00
hikariatama 3725d6ed25 Patch
- Add additional Heroku deps
- Fix `load_module` reattempt
2022-06-05 17:24:18 +00:00
hikariatama 7fb206aaa0 Reorder database read-writes to make postgres the ladder 2022-06-05 16:54:38 +00:00
hikariatama 1374ddb09a Make `redis` optional for non-heroku users 2022-06-05 16:44:53 +00:00
hikariatama 534fb32c2a Heroku Patch
- New Heroku dependencies list in Pipfile
- External Redis database support
- Mask more options in logs and .e output
- Remove psycopg2 from requirements.txt
2022-06-05 16:30:16 +00:00
hikariatama 30542381a8 Revert "[DO NOT INSTALL] - Testing Heroku-redis migration"
This reverts commit 18a0dac15d.
2022-06-05 13:34:14 +00:00
hikariatama 18a0dac15d [DO NOT INSTALL] - Testing Heroku-redis migration 2022-06-05 13:17:12 +00:00
hikariatama dc7434e036 Patch
- New installation banner
- Add automatic blob->raw convertion in loader
2022-06-05 12:58:08 +00:00
hikariatama 993b005adf Patch for Heroku
- Add banner with Hikka installation status
- Reorder config saving in web
- Fix `Unauthorized` error
2022-06-03 20:09:00 +00:00
hikariatama c410f97089 1.2.3
- Add field `action` to inline buttons. You can pass there `close` 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` in `hikka.inline.gallery.Gallery.gallery`
- Fix typo in docstring
2022-06-03 12:11:49 +00:00
hikariatama a37263a5d8 Addition to latest commit 2022-06-02 22:31:07 +00:00
hikariatama d5dedf7f4c Patch
- Fix inline list close button
- Fix `disable_notifications` param in `update_notifier.py`
- Minor core code naming
2022-06-02 22:29:44 +00:00
hikariatama 0138fe15db Fix typo 2022-06-02 16:22:38 +00:00
hikariatama 07c3cb15e6 1.2.2
- 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`
2022-06-02 16:15:08 +00:00
hikariatama 30e26fe117 Add ts to logs, refactor logging unit 2022-06-01 23:45:45 +00:00
hikariatama 428834990f I fucked up with method name 2022-06-01 22:38:27 +00:00
hikariatama 5ebc50c82b Fix heroku typos 2022-06-01 22:36:57 +00:00
hikariatama f622bf93c8 Add heroku specific update 2022-06-01 22:27:40 +00:00
hikariatama 071f88db5e 1.2.1
- Add termux specific requirements
- Ignore `heroku3` import error on non-heroku platforms
- 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
2022-06-01 22:14:55 +00:00
hikariatama 9873cc50c9 Update installation script. Hide session and postgresql in eval 2022-05-31 12:36:32 +00:00
hikariatama d0dae477c6 Update README, deepsource fixes 2022-05-31 11:07:13 +00:00
hikariatama e529165c37 Patch for help and heroku
- Show modules without commands in `.help -f`
- Update `app.json`
2022-05-31 10:27:41 +00:00
hikariatama 5d21fca599 Update version and changelog 2022-05-30 21:56:56 +00:00
Sourcery AI b85bdc3b26 'Refactored by Sourcery' 2022-05-30 21:35:09 +00:00
hikariatama 0db5607e49 Fix Heroku restart 2022-05-30 21:25:06 +00:00
hikariatama 1e7c0201d9 Heroku multiple accounts database, fixes 2022-05-30 20:58:20 +00:00
hikariatama e99caceb63 Database fixes for Heroku (should work hopefully) 2022-05-30 20:41:33 +00:00
hikariatama e67b98a999 Install postgresql, fix session import on heroku 2022-05-30 20:16:07 +00:00
hikariatama 867f2c542d Fix heroku session saving flow 2022-05-30 19:59:13 +00:00
hikariatama 3d9e2402c9 Do not store pending client in a 1-value list 2022-05-30 18:19:45 +00:00
hikariatama 45d18c1160 Allow app creation even if no telegram creds were specified 2022-05-30 18:05:09 +00:00
hikariatama c06db6310b Remove incompatible buildpack 2022-05-30 17:55:25 +00:00
hikariatama bd221fcb8d Mess around buildpacks 2022-05-30 17:34:19 +00:00
hikariatama bb96c7ca3b Do not ask user to enter Telegram credintials locally when installing to heroku 2022-05-30 17:25:03 +00:00
hikariatama 1288220c3f Rework session reading mechanism 2022-05-30 17:17:49 +00:00
hikariatama ed6d34cb82 Properly save Heroku session 2022-05-29 21:59:30 +00:00
hikariatama 925b1caedd Add GeekTG compat; Continue integrating Heroku 2022-05-28 08:12:36 +00:00
hikariatama 692402a8ea Add heroku-specific stuff 2022-05-28 07:39:24 +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 71682ba8a1 Add `.mp4` to allowed animated media types of gallery 2022-05-26 17:07:27 +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 280a97cb2b Attempt to guess media file type in gallery (gif/image) 2022-05-26 16:31:20 +00:00
hikariatama 47d5cf9374 Small patch for validators 2022-05-26 09:43:16 +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 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