arpakitlib 1.8.17__py3-none-any.whl → 1.8.19__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json +3 -0
- arpakitlib/_arpakit_project_template_v_5/command/alembic_revision_autogenerate.sh +2 -0
- arpakitlib/_arpakit_project_template_v_5/command/reinit_all_sqlalchemy_db.py +13 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/auth.py +5 -5
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/auth2.py +72 -25
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/exception_handler.py +10 -10
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/admin/get_arpakitlib_project_template_info.py +2 -2
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/client/get_errors_info.py +12 -2
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/client/now_utc_datetime.py +2 -2
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/out/admin/common.py +1 -1
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/out/admin/operation.py +2 -2
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/out/admin/story_log.py +2 -2
- arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user.py +22 -0
- arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user_token.py +14 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/out/client/common.py +1 -1
- arpakitlib/{_arpakit_project_template_v_4/project/api/schema/out/general → _arpakit_project_template_v_5/project/api/schema/out/common}/error.py +1 -1
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/operation_execution/operation_executor_worker.py +2 -2
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sandbox/sandbox_1.py +3 -1
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqlalchemy_db_/sqlalchemy_model/user.py +1 -1
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/blank/admin.py +2 -8
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/client.py +69 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/callback/client.py +4 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/const.py +7 -6
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_admin.py +18 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_client.py +18 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/middleware/init_user.py +9 -8
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/router/admin/arpakitlib_project_template_info.py +6 -4
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/clear_log_file.py +33 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/drop_sqlalchemy_db.py +31 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/init_sqlalchemy_db.py +28 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_not_modified.py +59 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_old_cd.py +40 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_raise_error.py +48 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_remove_message.py +35 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/log_file.py +37 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/router/admin/me.py +4 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/router/admin/raise_fake_error.py +5 -1
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/router/admin/reinit_sqlalchemy_db.py +7 -3
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/set_tg_bot_commands.py +28 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/about.py +30 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/error_handler.py +91 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/router/client/healthcheck.py +3 -1
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/router/client/hello_world.py +5 -2
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_callback_query.py +30 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_inline_query.py +14 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_message.py +15 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/remove_message.py +28 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/router/client/start.py +3 -2
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/support.py +30 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/main_router.py +36 -0
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/notify_admins.py +58 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/util/set_tg_bot_commands.py +26 -4
- arpakitlib/_arpakit_project_template_v_5/project/util/__init__.py +0 -0
- arpakitlib/ar_base_worker_util.py +7 -7
- arpakitlib/ar_blank_util.py +2 -2
- arpakitlib/ar_func_util.py +21 -14
- arpakitlib/ar_logging_util.py +2 -2
- arpakitlib/ar_sqlalchemy_util.py +9 -3
- {arpakitlib-1.8.17.dist-info → arpakitlib-1.8.19.dist-info}/METADATA +1 -1
- arpakitlib-1.8.19.dist-info/RECORD +347 -0
- arpakitlib/_arpakit_project_template_v_4/arpakitlib_project_template_info.json +0 -3
- arpakitlib/_arpakit_project_template_v_4/command/alembic_revision_autogenerate.sh +0 -2
- arpakitlib/_arpakit_project_template_v_4/project/api/schema/out/common.py +0 -5
- arpakitlib/_arpakit_project_template_v_4/project/tg_bot/blank/client.py +0 -44
- arpakitlib/_arpakit_project_template_v_4/project/tg_bot/error_handler.py +0 -37
- arpakitlib/_arpakit_project_template_v_4/project/tg_bot/filter_/user_roles_has_admin.py +0 -27
- arpakitlib/_arpakit_project_template_v_4/project/tg_bot/filter_/user_roles_has_client.py +0 -27
- arpakitlib/_arpakit_project_template_v_4/project/tg_bot/router/admin/main_router.py +0 -15
- arpakitlib/_arpakit_project_template_v_4/project/tg_bot/router/client/main_router.py +0 -14
- arpakitlib/_arpakit_project_template_v_4/project/tg_bot/router/main_router.py +0 -13
- arpakitlib-1.8.17.dist-info/RECORD +0 -330
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/.gitignore +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/.python-version +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/LICENSE +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/README.md +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/alembic/README +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/alembic/env.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/alembic/script.py.mako +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/alembic/versions/__init__.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/alembic.ini +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/__init__.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/alembic_history.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/alembic_upgrade_head.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/beautify_json.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/check_logging.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/check_sqlalchemy_db.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/demojize.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/docker_ps_a.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/docker_rm_postgres.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/docker_run_postgres.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/docker_start_postgres.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/docker_stop_postgres.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/drop_json_db.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/drop_sqlalchemy_db.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/generate_settings_env_example.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/git_commit.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/git_push_arpakit_company_github_1.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/git_push_arpakit_company_gitlab_1.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/git_push_arpakit_github_1.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/git_push_arpakit_gitlab_1.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/git_remote_v.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/git_set_arpakit_company_origin.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/git_set_arpakit_origin.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/git_set_divarteam_origin.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/git_status.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/hello_world.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/init_json_db.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/init_sqlalchemy_db.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/poetry_check.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/poetry_clear_cache.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/poetry_config.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/poetry_install.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/poetry_lock.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/poetry_remove_and_add_arpakitlib.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/poetry_show.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/poetry_show_arpakitlib.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/poetry_update.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/poetry_update_arpakitlib.sh +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/reinit_json_db.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/reinit_sqlalchemy_db.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/remove_operations.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/remove_story_logs.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/rm_all_records_in_json_db.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/set_tg_bot_commands.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/show_settings.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/start_api.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/start_api_for_prod.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/start_api_with_reload.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/start_operation_executor_worker.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/start_operation_executor_workers.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/start_scheduled_operation_creator_worker.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/start_sqladmin.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/start_sqladmin_for_prod.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/start_sqladmin_with_reload.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/start_tg_bot.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/command/start_tg_bot_for_prod.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/example.env +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/note/note_1.txt +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/note/note_2.txt +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/note/note_3.txt +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/note/note_4.txt +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/note/note_5.txt +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/__init__.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/additional_model/__init__.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/additional_model/common.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/__init__.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/asgi.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/const.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/create_api_app.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/event.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/exception.py +1 -1
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/openapi_ui.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/response.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/__init__.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/admin/__init__.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/admin/get_auth_data.py +1 -1
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/admin/main_router.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/client/__init__.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/client/main_router.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/general/__init__.py +0 -0
- arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/general/healthcheck.py +1 -1
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/general/main_router.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/router/main_router.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/in_/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/in_/admin/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/in_/admin/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/in_/client/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/in_/client/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/api/schema/in_/general → _arpakit_project_template_v_5/project/api/schema/in_/common}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/api/schema/out → _arpakit_project_template_v_5/project/api/schema/in_/general}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/in_/general/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/api/schema/out/admin → _arpakit_project_template_v_5/project/api/schema/out}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/api/schema/out/client → _arpakit_project_template_v_5/project/api/schema/out/admin}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/api/schema/out/common → _arpakit_project_template_v_5/project/api/schema/out/client}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/api/schema/out/general → _arpakit_project_template_v_5/project/api/schema/out/common}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/out/common/datetime_.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/out/common/raw_data.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/business_service → _arpakit_project_template_v_5/project/api/schema/out/general}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/out/general/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/out/general/errors_info_general.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/schema/out/general/healthcheck.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/api/util.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/celery_ → _arpakit_project_template_v_5/project/business_service}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/business_service/hello_world.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/business_service/remove_operations.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/core → _arpakit_project_template_v_5/project/celery_}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/json_db → _arpakit_project_template_v_5/project/core}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/core/cache_file_storage_in_dir.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/core/const.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/core/dump_file_storage_in_dir.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/core/jinja2_templates.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/core/media_file_storage_in_dir.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/core/settings.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/core/util.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/operation_execution → _arpakit_project_template_v_5/project/json_db}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/json_db/json_db.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/more/helloworld +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/resource → _arpakit_project_template_v_5/project/operation_execution}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/operation_execution/const.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/operation_execution/scheduled_operation_creator_worker.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/operation_execution/scheduled_operations.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/operation_execution/util.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/sandbox → _arpakit_project_template_v_5/project/resource}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/1 +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/healthcheck +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/helloworld +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/openapi-favicon.png +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/redoc/redoc.standalone.js +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/favicon-16x16.png +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/favicon-32x32.png +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/index.css +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/index.html +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/oauth2-redirect.html +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-initializer.js +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui-bundle.js +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui-bundle.js.map +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui-es-bundle.js +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui.css +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui.css.map +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui.js +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/resource/static/swagger-ui/swagger-ui.js.map +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/site → _arpakit_project_template_v_5/project/sandbox}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sandbox/sandbox_2.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sandbox/sandbox_3.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sandbox/sandbox_4.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sandbox/sandbox_5.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sandbox/sandbox_6.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sandbox/sandbox_7.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/site/router → _arpakit_project_template_v_5/project/site}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/site/asgi.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/site/consts.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/site/create_site_app.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/site/event.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/site/exception_handler.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/sqladmin_ → _arpakit_project_template_v_5/project/site/router}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/site/router/main_router.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/sqlalchemy_db_ → _arpakit_project_template_v_5/project/sqladmin_}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqladmin_/add_admin_in_app.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqladmin_/admin_auth.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqladmin_/asgi.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqladmin_/create_sqladmin_app.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqladmin_/event.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqladmin_/model_view/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqladmin_/model_view/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqladmin_/model_view/operation.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqladmin_/model_view/story_log.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/test_data → _arpakit_project_template_v_5/project/sqlalchemy_db_}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqlalchemy_db_/const.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqlalchemy_db_/sqlalchemy_db.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqlalchemy_db_/sqlalchemy_model/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqlalchemy_db_/sqlalchemy_model/api_key.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqlalchemy_db_/sqlalchemy_model/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqlalchemy_db_/sqlalchemy_model/operation.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqlalchemy_db_/sqlalchemy_model/story_log.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqlalchemy_db_/sqlalchemy_model/user_token.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/sqlalchemy_db_/util.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot → _arpakit_project_template_v_5/project/test_data}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/test_data/make_test_data_1.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/test_data/make_test_data_2.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/test_data/make_test_data_3.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/test_data/make_test_data_4.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/test_data/make_test_data_5.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/blank → _arpakit_project_template_v_5/project/tg_bot}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/callback → _arpakit_project_template_v_5/project/tg_bot/blank}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/blank/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/filter_ → _arpakit_project_template_v_5/project/tg_bot/callback}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/callback/admin.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/callback/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/event.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/kb → _arpakit_project_template_v_5/project/tg_bot/filter_}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/filter_/is_private_chat.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/filter_/message_text.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/filter_/not_prod_mode_filter.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/filter_/prod_mode_filter.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/kb/inline_ → _arpakit_project_template_v_5/project/tg_bot/kb}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/kb/inline_/admin → _arpakit_project_template_v_5/project/tg_bot/kb/inline_}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/kb/inline_/client → _arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/kb/inline_/admin/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/kb/static_ → _arpakit_project_template_v_5/project/tg_bot/kb/inline_/client}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/kb/inline_/client/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/kb/inline_/client/hello_world.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/kb/inline_/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/kb/static_/admin → _arpakit_project_template_v_5/project/tg_bot/kb/static_}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/kb/static_/client → _arpakit_project_template_v_5/project/tg_bot/kb/static_/admin}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/kb/static_/admin/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/middleware → _arpakit_project_template_v_5/project/tg_bot/kb/static_/client}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/kb/static_/client/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/kb/static_/client/hello_world.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/kb/static_/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/router → _arpakit_project_template_v_5/project/tg_bot/middleware}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/middleware/common.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/middleware/middleware.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/router/admin → _arpakit_project_template_v_5/project/tg_bot/router}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/router/client → _arpakit_project_template_v_5/project/tg_bot/router/admin}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project/tg_bot/util → _arpakit_project_template_v_5/project/tg_bot/router/client}/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/start_tg_bot.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/tg_bot.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/tg_bot_dispatcher.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4/project → _arpakit_project_template_v_5/project/tg_bot}/util/__init__.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/util/etc.py +0 -0
- /arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/util/arpakitlib_project_template.py +0 -0
- {arpakitlib-1.8.17.dist-info → arpakitlib-1.8.19.dist-info}/LICENSE +0 -0
- {arpakitlib-1.8.17.dist-info → arpakitlib-1.8.19.dist-info}/WHEEL +0 -0
- {arpakitlib-1.8.17.dist-info → arpakitlib-1.8.19.dist-info}/entry_points.txt +0 -0
arpakitlib/{_arpakit_project_template_v_4 → _arpakit_project_template_v_5}/project/tg_bot/const.py
RENAMED
@@ -4,23 +4,24 @@ from arpakitlib.ar_enumeration_util import Enumeration
|
|
4
4
|
class ClientTgBotCommands(Enumeration):
|
5
5
|
start = "start"
|
6
6
|
about = "about"
|
7
|
+
support = "support"
|
7
8
|
healthcheck = "healthcheck"
|
8
9
|
hello_world = "hello_world"
|
9
10
|
|
10
11
|
|
11
12
|
class AdminTgBotCommands(Enumeration):
|
12
13
|
arpakitlib_project_template_info = "arpakitlib_project_template_info"
|
13
|
-
|
14
|
+
init_sqlalchemy_db = "init_sqlalchemy_db"
|
14
15
|
reinit_sqlalchemy_db = "reinit_sqlalchemy_db"
|
15
|
-
|
16
|
-
|
17
|
-
|
16
|
+
drop_sqlalchemy_db = "drop_sqlalchemy_db"
|
17
|
+
set_all_tg_bot_commands = "set_all_tg_bot_commands"
|
18
|
+
raise_fake_error = "raise_fake_error"
|
18
19
|
me = "me"
|
19
20
|
log_file = "log_file"
|
20
21
|
clear_log_file = "clear_log_file"
|
21
|
-
|
22
|
+
kb_with_old_cd = "kb_with_old_cd"
|
22
23
|
kb_with_not_modified = "kb_with_not_modified"
|
23
|
-
|
24
|
+
kb_with_raise_error = "kb_with_raise_error"
|
24
25
|
kb_with_remove_message = "kb_with_remove_message"
|
25
26
|
|
26
27
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import aiogram.types
|
2
|
+
from aiogram.filters import Filter
|
3
|
+
|
4
|
+
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
5
|
+
|
6
|
+
|
7
|
+
class UserRolesHasAdminTgBotFilter(Filter):
|
8
|
+
|
9
|
+
async def __call__(
|
10
|
+
self,
|
11
|
+
update: aiogram.types.Message | aiogram.types.CallbackQuery | aiogram.types.TelegramObject,
|
12
|
+
middleware_data_tg_bot: MiddlewareDataTgBot,
|
13
|
+
**kwargs
|
14
|
+
) -> bool:
|
15
|
+
if middleware_data_tg_bot.user_dbm is not None:
|
16
|
+
if middleware_data_tg_bot.user_dbm.roles_has_admin:
|
17
|
+
return True
|
18
|
+
return False
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import aiogram.types
|
2
|
+
from aiogram.filters import Filter
|
3
|
+
|
4
|
+
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
5
|
+
|
6
|
+
|
7
|
+
class UserRolesHasClientTgBotFilter(Filter):
|
8
|
+
|
9
|
+
async def __call__(
|
10
|
+
self,
|
11
|
+
update: aiogram.types.Message | aiogram.types.CallbackQuery | aiogram.types.TelegramObject,
|
12
|
+
middleware_data_tg_bot: MiddlewareDataTgBot,
|
13
|
+
**kwargs
|
14
|
+
) -> bool:
|
15
|
+
if middleware_data_tg_bot.user_dbm is not None:
|
16
|
+
if middleware_data_tg_bot.user_dbm.roles_has_client:
|
17
|
+
return True
|
18
|
+
return False
|
@@ -2,6 +2,7 @@ import logging
|
|
2
2
|
from typing import Any, Awaitable, Callable, Dict
|
3
3
|
|
4
4
|
import aiogram
|
5
|
+
import sqlalchemy
|
5
6
|
from aiogram import BaseMiddleware
|
6
7
|
from aiogram.types import TelegramObject
|
7
8
|
|
@@ -45,9 +46,9 @@ class InitUserTgBotMiddleware(BaseMiddleware):
|
|
45
46
|
now_local_dt_ = now_local_dt()
|
46
47
|
|
47
48
|
if tg_user is not None and get_cached_sqlalchemy_db() is not None:
|
48
|
-
with get_cached_sqlalchemy_db().
|
49
|
-
middleware_data_tg_bot.user_dbm = (
|
50
|
-
|
49
|
+
async with get_cached_sqlalchemy_db().new_async_session() as async_session:
|
50
|
+
middleware_data_tg_bot.user_dbm = await async_session.scalar(
|
51
|
+
sqlalchemy.select(UserDBM).filter(UserDBM.tg_id == tg_user.id)
|
51
52
|
)
|
52
53
|
if middleware_data_tg_bot.user_dbm is None:
|
53
54
|
roles = [UserDBM.Roles.client]
|
@@ -60,9 +61,9 @@ class InitUserTgBotMiddleware(BaseMiddleware):
|
|
60
61
|
tg_data=tg_user.model_dump(mode="json"),
|
61
62
|
tg_bot_last_action_dt=now_local_dt_
|
62
63
|
)
|
63
|
-
|
64
|
-
|
65
|
-
|
64
|
+
async_session.add(middleware_data_tg_bot.user_dbm)
|
65
|
+
await async_session.commit()
|
66
|
+
await async_session.refresh(middleware_data_tg_bot.user_dbm)
|
66
67
|
middleware_data_tg_bot.user_dbm_just_created = True
|
67
68
|
_logger.info(f"user_dbm was added, {middleware_data_tg_bot.user_dbm}")
|
68
69
|
else:
|
@@ -75,8 +76,8 @@ class InitUserTgBotMiddleware(BaseMiddleware):
|
|
75
76
|
middleware_data_tg_bot.user_dbm.roles = (
|
76
77
|
middleware_data_tg_bot.user_dbm.roles + [UserDBM.Roles.admin]
|
77
78
|
)
|
78
|
-
|
79
|
-
|
79
|
+
await async_session.commit()
|
80
|
+
await async_session.refresh(middleware_data_tg_bot.user_dbm)
|
80
81
|
middleware_data_tg_bot.user_dbm_just_created = False
|
81
82
|
|
82
83
|
_logger.info("finish")
|
@@ -1,8 +1,10 @@
|
|
1
1
|
import aiogram.filters
|
2
2
|
|
3
3
|
from arpakitlib.ar_aiogram_util import as_tg_command
|
4
|
-
from
|
4
|
+
from arpakitlib.ar_json_util import transfer_data_to_json_str
|
5
5
|
from project.tg_bot.const import AdminTgBotCommands
|
6
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
7
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
6
8
|
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
7
9
|
from project.util.arpakitlib_project_template import get_arpakitlib_project_template_info
|
8
10
|
|
@@ -10,6 +12,8 @@ tg_bot_router = aiogram.Router()
|
|
10
12
|
|
11
13
|
|
12
14
|
@tg_bot_router.message(
|
15
|
+
IsPrivateChatTgBotFilter(),
|
16
|
+
UserRolesHasAdminTgBotFilter(),
|
13
17
|
aiogram.filters.Command(AdminTgBotCommands.arpakitlib_project_template_info)
|
14
18
|
)
|
15
19
|
@as_tg_command()
|
@@ -19,7 +23,5 @@ async def _(
|
|
19
23
|
**kwargs
|
20
24
|
):
|
21
25
|
await m.answer(
|
22
|
-
text=
|
23
|
-
arpakitlib_project_template_info=get_arpakitlib_project_template_info()
|
24
|
-
)
|
26
|
+
text=transfer_data_to_json_str(get_arpakitlib_project_template_info(), beautify=True)
|
25
27
|
)
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import aiogram
|
2
|
+
from aiogram import Router, types
|
3
|
+
from aiogram.filters import Command
|
4
|
+
|
5
|
+
from arpakitlib.ar_aiogram_util import as_tg_command
|
6
|
+
from project.core.settings import get_cached_settings
|
7
|
+
from project.tg_bot.blank.admin import get_cached_admin_tg_bot_blank
|
8
|
+
from project.tg_bot.const import AdminTgBotCommands
|
9
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
10
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
11
|
+
|
12
|
+
tg_bot_router = Router()
|
13
|
+
|
14
|
+
|
15
|
+
@tg_bot_router.message(
|
16
|
+
IsPrivateChatTgBotFilter(),
|
17
|
+
UserRolesHasAdminTgBotFilter(),
|
18
|
+
aiogram.filters.Command(AdminTgBotCommands.clear_log_file)
|
19
|
+
)
|
20
|
+
@as_tg_command(passwd_validator=get_cached_settings().tg_bot_command_passwd)
|
21
|
+
async def _(
|
22
|
+
m: types.Message,
|
23
|
+
**kwargs
|
24
|
+
):
|
25
|
+
with open(get_cached_settings().log_filepath, mode="r") as f:
|
26
|
+
if not f.read():
|
27
|
+
await m.answer(get_cached_admin_tg_bot_blank().good())
|
28
|
+
return
|
29
|
+
|
30
|
+
with open(get_cached_settings().log_filepath, mode="w") as f:
|
31
|
+
f.write("")
|
32
|
+
|
33
|
+
await m.answer(get_cached_admin_tg_bot_blank().good())
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import aiogram.filters
|
2
|
+
|
3
|
+
from arpakitlib.ar_aiogram_util import as_tg_command
|
4
|
+
from project.core.settings import get_cached_settings
|
5
|
+
from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
|
6
|
+
from project.tg_bot.blank.admin import get_cached_admin_tg_bot_blank
|
7
|
+
from project.tg_bot.const import AdminTgBotCommands
|
8
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
9
|
+
from project.tg_bot.filter_.not_prod_mode_filter import NotProdModeTgBotFilter
|
10
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
11
|
+
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
12
|
+
|
13
|
+
tg_bot_router = aiogram.Router()
|
14
|
+
|
15
|
+
|
16
|
+
@tg_bot_router.message(
|
17
|
+
IsPrivateChatTgBotFilter(),
|
18
|
+
UserRolesHasAdminTgBotFilter(),
|
19
|
+
NotProdModeTgBotFilter(),
|
20
|
+
aiogram.filters.Command(AdminTgBotCommands.drop_sqlalchemy_db),
|
21
|
+
)
|
22
|
+
@as_tg_command(passwd_validator=get_cached_settings().tg_bot_command_passwd)
|
23
|
+
async def _(
|
24
|
+
m: aiogram.types.Message,
|
25
|
+
middleware_data_tg_bot: MiddlewareDataTgBot,
|
26
|
+
**kwargs
|
27
|
+
):
|
28
|
+
get_cached_sqlalchemy_db().drop()
|
29
|
+
await m.answer(
|
30
|
+
text=get_cached_admin_tg_bot_blank().good()
|
31
|
+
)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import aiogram.filters
|
2
|
+
|
3
|
+
from arpakitlib.ar_aiogram_util import as_tg_command
|
4
|
+
from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
|
5
|
+
from project.tg_bot.blank.admin import get_cached_admin_tg_bot_blank
|
6
|
+
from project.tg_bot.const import AdminTgBotCommands
|
7
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
8
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
9
|
+
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
10
|
+
|
11
|
+
tg_bot_router = aiogram.Router()
|
12
|
+
|
13
|
+
|
14
|
+
@tg_bot_router.message(
|
15
|
+
IsPrivateChatTgBotFilter(),
|
16
|
+
UserRolesHasAdminTgBotFilter(),
|
17
|
+
aiogram.filters.Command(AdminTgBotCommands.init_sqlalchemy_db)
|
18
|
+
)
|
19
|
+
@as_tg_command()
|
20
|
+
async def _(
|
21
|
+
m: aiogram.types.Message,
|
22
|
+
middleware_data_tg_bot: MiddlewareDataTgBot,
|
23
|
+
**kwargs
|
24
|
+
):
|
25
|
+
get_cached_sqlalchemy_db().init()
|
26
|
+
await m.answer(
|
27
|
+
text=get_cached_admin_tg_bot_blank().good()
|
28
|
+
)
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import aiogram
|
2
|
+
from aiogram import Router, types
|
3
|
+
from aiogram.filters import Command
|
4
|
+
from aiogram.filters.callback_data import CallbackData
|
5
|
+
from aiogram.types import InlineKeyboardButton
|
6
|
+
from aiogram.utils.keyboard import InlineKeyboardBuilder
|
7
|
+
|
8
|
+
from arpakitlib.ar_aiogram_util import as_tg_command
|
9
|
+
from project.tg_bot.blank.admin import get_cached_admin_tg_bot_blank
|
10
|
+
from project.tg_bot.const import AdminTgBotCommands
|
11
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
12
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
13
|
+
|
14
|
+
tg_bot_router = Router()
|
15
|
+
|
16
|
+
|
17
|
+
class _CD(CallbackData, prefix=AdminTgBotCommands.kb_with_not_modified):
|
18
|
+
pass
|
19
|
+
|
20
|
+
|
21
|
+
@tg_bot_router.message(
|
22
|
+
IsPrivateChatTgBotFilter(),
|
23
|
+
UserRolesHasAdminTgBotFilter(),
|
24
|
+
aiogram.filters.Command(AdminTgBotCommands.kb_with_not_modified, ignore_case=True)
|
25
|
+
)
|
26
|
+
@as_tg_command()
|
27
|
+
async def _(
|
28
|
+
m: types.Message,
|
29
|
+
**kwargs
|
30
|
+
):
|
31
|
+
kb_builder = InlineKeyboardBuilder()
|
32
|
+
kb_builder.row(InlineKeyboardButton(
|
33
|
+
text="Button raises Not Modified",
|
34
|
+
callback_data=_CD().pack()
|
35
|
+
))
|
36
|
+
await m.answer(
|
37
|
+
text=get_cached_admin_tg_bot_blank().good(),
|
38
|
+
reply_markup=kb_builder.as_markup()
|
39
|
+
)
|
40
|
+
|
41
|
+
|
42
|
+
@tg_bot_router.callback_query(
|
43
|
+
IsPrivateChatTgBotFilter(),
|
44
|
+
UserRolesHasAdminTgBotFilter(),
|
45
|
+
_CD.filter()
|
46
|
+
)
|
47
|
+
async def _(
|
48
|
+
cq: types.CallbackQuery,
|
49
|
+
**kwargs
|
50
|
+
):
|
51
|
+
kb_builder = InlineKeyboardBuilder()
|
52
|
+
kb_builder.row(InlineKeyboardButton(
|
53
|
+
text="Button raises Not Modified",
|
54
|
+
callback_data=_CD().pack()
|
55
|
+
))
|
56
|
+
await cq.message.edit_text(
|
57
|
+
text=get_cached_admin_tg_bot_blank().good(),
|
58
|
+
reply_markup=kb_builder.as_markup()
|
59
|
+
)
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import aiogram.filters
|
2
|
+
from aiogram.types import InlineKeyboardButton
|
3
|
+
from aiogram.utils.keyboard import InlineKeyboardBuilder
|
4
|
+
|
5
|
+
from arpakitlib.ar_aiogram_util import as_tg_command
|
6
|
+
from project.tg_bot.callback.common import BaseCD
|
7
|
+
from project.tg_bot.const import AdminTgBotCommands
|
8
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
9
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
10
|
+
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
11
|
+
|
12
|
+
tg_bot_router = aiogram.Router()
|
13
|
+
|
14
|
+
|
15
|
+
class _CD(BaseCD, prefix=AdminTgBotCommands.kb_with_old_cd):
|
16
|
+
pass
|
17
|
+
|
18
|
+
|
19
|
+
@tg_bot_router.message(
|
20
|
+
IsPrivateChatTgBotFilter(),
|
21
|
+
UserRolesHasAdminTgBotFilter(),
|
22
|
+
aiogram.filters.Command(AdminTgBotCommands.kb_with_old_cd, ignore_case=True)
|
23
|
+
)
|
24
|
+
@as_tg_command()
|
25
|
+
async def _(
|
26
|
+
m: aiogram.types.Message,
|
27
|
+
middleware_data_tg_bot: MiddlewareDataTgBot,
|
28
|
+
**kwargs
|
29
|
+
):
|
30
|
+
kb_builder = InlineKeyboardBuilder()
|
31
|
+
|
32
|
+
kb_builder.row(InlineKeyboardButton(
|
33
|
+
text="Button with old data",
|
34
|
+
callback_data=_CD().pack()
|
35
|
+
))
|
36
|
+
|
37
|
+
await m.answer(
|
38
|
+
text="Old data",
|
39
|
+
reply_markup=kb_builder.as_markup()
|
40
|
+
)
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import aiogram.filters
|
2
|
+
from aiogram.types import InlineKeyboardButton
|
3
|
+
from aiogram.utils.keyboard import InlineKeyboardBuilder
|
4
|
+
|
5
|
+
from arpakitlib.ar_aiogram_util import as_tg_command
|
6
|
+
from project.tg_bot.blank.admin import get_cached_admin_tg_bot_blank
|
7
|
+
from project.tg_bot.callback.common import BaseCD
|
8
|
+
from project.tg_bot.const import AdminTgBotCommands
|
9
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
10
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
11
|
+
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
12
|
+
|
13
|
+
tg_bot_router = aiogram.Router()
|
14
|
+
|
15
|
+
|
16
|
+
class _CD(BaseCD, prefix=AdminTgBotCommands.kb_with_raise_error):
|
17
|
+
pass
|
18
|
+
|
19
|
+
|
20
|
+
@tg_bot_router.message(
|
21
|
+
IsPrivateChatTgBotFilter(),
|
22
|
+
UserRolesHasAdminTgBotFilter(),
|
23
|
+
aiogram.filters.Command(AdminTgBotCommands.kb_with_raise_error)
|
24
|
+
)
|
25
|
+
@as_tg_command()
|
26
|
+
async def _(
|
27
|
+
m: aiogram.types.Message,
|
28
|
+
middleware_data_tg_bot: MiddlewareDataTgBot,
|
29
|
+
**kwargs
|
30
|
+
):
|
31
|
+
kb_builder = InlineKeyboardBuilder()
|
32
|
+
kb_builder.row(InlineKeyboardButton(
|
33
|
+
text="Raise fake error",
|
34
|
+
callback_data=_CD().pack()
|
35
|
+
))
|
36
|
+
await m.answer(
|
37
|
+
text=get_cached_admin_tg_bot_blank().good(),
|
38
|
+
reply_markup=kb_builder.as_markup()
|
39
|
+
)
|
40
|
+
|
41
|
+
|
42
|
+
@tg_bot_router.callback_query(_CD.filter())
|
43
|
+
async def _(
|
44
|
+
m: aiogram.types.Message,
|
45
|
+
middleware_data_tg_bot: MiddlewareDataTgBot,
|
46
|
+
**kwargs
|
47
|
+
):
|
48
|
+
raise Exception("fake error")
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_remove_message.py
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
import aiogram.filters
|
2
|
+
from aiogram.types import InlineKeyboardButton
|
3
|
+
from aiogram.utils.keyboard import InlineKeyboardBuilder
|
4
|
+
|
5
|
+
from arpakitlib.ar_aiogram_util import as_tg_command
|
6
|
+
from project.tg_bot.blank.admin import get_cached_admin_tg_bot_blank
|
7
|
+
from project.tg_bot.callback.client import RemoveMessageCD
|
8
|
+
from project.tg_bot.const import AdminTgBotCommands
|
9
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
10
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
11
|
+
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
12
|
+
|
13
|
+
tg_bot_router = aiogram.Router()
|
14
|
+
|
15
|
+
|
16
|
+
@tg_bot_router.message(
|
17
|
+
IsPrivateChatTgBotFilter(),
|
18
|
+
UserRolesHasAdminTgBotFilter(),
|
19
|
+
aiogram.filters.Command(AdminTgBotCommands.kb_with_remove_message)
|
20
|
+
)
|
21
|
+
@as_tg_command()
|
22
|
+
async def _(
|
23
|
+
m: aiogram.types.Message,
|
24
|
+
middleware_data_tg_bot: MiddlewareDataTgBot,
|
25
|
+
**kwargs
|
26
|
+
):
|
27
|
+
kb_builder = InlineKeyboardBuilder()
|
28
|
+
kb_builder.row(InlineKeyboardButton(
|
29
|
+
text="Remove",
|
30
|
+
callback_data=RemoveMessageCD().pack()
|
31
|
+
))
|
32
|
+
await m.answer(
|
33
|
+
text=get_cached_admin_tg_bot_blank().good(),
|
34
|
+
reply_markup=kb_builder.as_markup()
|
35
|
+
)
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import os
|
2
|
+
|
3
|
+
import aiogram
|
4
|
+
from aiogram import Router, types
|
5
|
+
from aiogram.filters import Command
|
6
|
+
from aiogram.types import FSInputFile
|
7
|
+
|
8
|
+
from arpakitlib.ar_aiogram_util import as_tg_command
|
9
|
+
from project.core.settings import get_cached_settings
|
10
|
+
from project.tg_bot.const import AdminTgBotCommands
|
11
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
12
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
13
|
+
|
14
|
+
tg_bot_router = Router()
|
15
|
+
|
16
|
+
|
17
|
+
@tg_bot_router.message(
|
18
|
+
IsPrivateChatTgBotFilter(),
|
19
|
+
UserRolesHasAdminTgBotFilter(),
|
20
|
+
aiogram.filters.Command(AdminTgBotCommands.log_file),
|
21
|
+
)
|
22
|
+
@as_tg_command(passwd_validator=get_cached_settings().tg_bot_command_passwd)
|
23
|
+
async def _(
|
24
|
+
m: types.Message,
|
25
|
+
**kwargs
|
26
|
+
):
|
27
|
+
with open(get_cached_settings().log_filepath, mode="r") as f:
|
28
|
+
if not f.read():
|
29
|
+
await m.answer("log файл пустой")
|
30
|
+
return
|
31
|
+
|
32
|
+
await m.answer_document(
|
33
|
+
document=FSInputFile(
|
34
|
+
path=get_cached_settings().log_filepath,
|
35
|
+
filename=os.path.basename(get_cached_settings().log_filepath)
|
36
|
+
)
|
37
|
+
)
|
@@ -3,12 +3,16 @@ import aiogram.filters
|
|
3
3
|
from arpakitlib.ar_aiogram_util import as_tg_command
|
4
4
|
from project.tg_bot.blank.admin import get_cached_admin_tg_bot_blank
|
5
5
|
from project.tg_bot.const import AdminTgBotCommands
|
6
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
7
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
6
8
|
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
7
9
|
|
8
10
|
tg_bot_router = aiogram.Router()
|
9
11
|
|
10
12
|
|
11
13
|
@tg_bot_router.message(
|
14
|
+
IsPrivateChatTgBotFilter(),
|
15
|
+
UserRolesHasAdminTgBotFilter(),
|
12
16
|
aiogram.filters.Command(AdminTgBotCommands.me)
|
13
17
|
)
|
14
18
|
@as_tg_command()
|
@@ -3,13 +3,17 @@ import aiogram.filters
|
|
3
3
|
from arpakitlib.ar_aiogram_util import as_tg_command
|
4
4
|
from project.core.settings import get_cached_settings
|
5
5
|
from project.tg_bot.const import AdminTgBotCommands
|
6
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
7
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
6
8
|
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
7
9
|
|
8
10
|
tg_bot_router = aiogram.Router()
|
9
11
|
|
10
12
|
|
11
13
|
@tg_bot_router.message(
|
12
|
-
|
14
|
+
IsPrivateChatTgBotFilter(),
|
15
|
+
UserRolesHasAdminTgBotFilter(),
|
16
|
+
aiogram.filters.Command(AdminTgBotCommands.raise_fake_error)
|
13
17
|
)
|
14
18
|
@as_tg_command(passwd_validator=get_cached_settings().tg_bot_command_passwd)
|
15
19
|
async def _(
|
@@ -7,21 +7,25 @@ from project.core.settings import get_cached_settings
|
|
7
7
|
from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
|
8
8
|
from project.tg_bot.blank.admin import get_cached_admin_tg_bot_blank
|
9
9
|
from project.tg_bot.const import AdminTgBotCommands
|
10
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
10
11
|
from project.tg_bot.filter_.not_prod_mode_filter import NotProdModeTgBotFilter
|
12
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
11
13
|
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
12
14
|
|
13
15
|
tg_bot_router = Router()
|
14
16
|
|
15
17
|
|
16
18
|
@tg_bot_router.message(
|
19
|
+
IsPrivateChatTgBotFilter(),
|
20
|
+
UserRolesHasAdminTgBotFilter(),
|
21
|
+
NotProdModeTgBotFilter(),
|
17
22
|
Command(AdminTgBotCommands.reinit_sqlalchemy_db),
|
18
|
-
NotProdModeTgBotFilter()
|
19
23
|
)
|
20
24
|
@as_tg_command(passwd_validator=get_cached_settings().tg_bot_command_passwd)
|
21
|
-
async def
|
25
|
+
async def _(
|
22
26
|
m: aiogram.types.Message,
|
23
27
|
middleware_data_tg_bot: MiddlewareDataTgBot,
|
24
28
|
**kwargs
|
25
29
|
):
|
26
30
|
get_cached_sqlalchemy_db().reinit()
|
27
|
-
await m.answer(text=get_cached_admin_tg_bot_blank().
|
31
|
+
await m.answer(text=get_cached_admin_tg_bot_blank().good())
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import aiogram
|
2
|
+
from aiogram import Router
|
3
|
+
from aiogram.filters import Command
|
4
|
+
|
5
|
+
from arpakitlib.ar_aiogram_util import as_tg_command
|
6
|
+
from project.tg_bot.blank.admin import get_cached_admin_tg_bot_blank
|
7
|
+
from project.tg_bot.const import AdminTgBotCommands
|
8
|
+
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
9
|
+
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
10
|
+
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
11
|
+
from project.tg_bot.util.set_tg_bot_commands import set_all_tg_bot_commands
|
12
|
+
|
13
|
+
tg_bot_router = Router()
|
14
|
+
|
15
|
+
|
16
|
+
@tg_bot_router.message(
|
17
|
+
IsPrivateChatTgBotFilter(),
|
18
|
+
UserRolesHasAdminTgBotFilter(),
|
19
|
+
aiogram.filters.Command(AdminTgBotCommands.set_all_tg_bot_commands)
|
20
|
+
)
|
21
|
+
@as_tg_command()
|
22
|
+
async def _(
|
23
|
+
m: aiogram.types.Message,
|
24
|
+
middleware_data_tg_bot: MiddlewareDataTgBot,
|
25
|
+
**kwargs
|
26
|
+
):
|
27
|
+
await set_all_tg_bot_commands()
|
28
|
+
await m.answer(get_cached_admin_tg_bot_blank().good())
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import logging
|
2
|
+
|
3
|
+
import aiogram
|
4
|
+
from aiogram import Router
|
5
|
+
from aiogram.filters import Command, or_f
|
6
|
+
|
7
|
+
from project.tg_bot.blank.client import get_cached_client_tg_bot_blank
|
8
|
+
from project.tg_bot.const import ClientTgBotCommands
|
9
|
+
from project.tg_bot.filter_.message_text import MessageTextTgBotFilter
|
10
|
+
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
11
|
+
|
12
|
+
tg_bot_router = Router()
|
13
|
+
_logger = logging.getLogger(__name__)
|
14
|
+
|
15
|
+
|
16
|
+
@tg_bot_router.message(
|
17
|
+
or_f(
|
18
|
+
Command(ClientTgBotCommands.about),
|
19
|
+
MessageTextTgBotFilter([
|
20
|
+
ClientTgBotCommands.about,
|
21
|
+
"о проекте"
|
22
|
+
], ignore_case=True)
|
23
|
+
),
|
24
|
+
)
|
25
|
+
async def _(
|
26
|
+
m: aiogram.types.Message,
|
27
|
+
middleware_data_tg_bot: MiddlewareDataTgBot,
|
28
|
+
**kwargs
|
29
|
+
):
|
30
|
+
await m.answer(text=get_cached_client_tg_bot_blank().about_project())
|