ksaa 2025.8.23.1__py3-none-any.whl → 2025.9b2__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.
- {kotonebot/kaa → kaa}/application/core/idle_mode.py +1 -1
- {kotonebot/kaa → kaa}/application/core/misc_core.py +1 -1
- {kotonebot/kaa → kaa}/common.py +2 -2
- {kotonebot/kaa → kaa}/config/const.py +1 -1
- {kotonebot/kaa → kaa}/config/produce.py +1 -1
- {kotonebot/kaa → kaa}/config/schema.py +10 -1
- {kotonebot/kaa → kaa}/db/sqlite.py +1 -1
- {kotonebot/kaa → kaa}/errors.py +7 -0
- {kotonebot/kaa → kaa}/game_ui/dialog.py +1 -1
- {kotonebot/kaa → kaa}/game_ui/idols_overview.py +4 -4
- {kotonebot/kaa → kaa}/game_ui/schedule.py +2 -2
- {kotonebot/kaa → kaa}/game_ui/scrollable.py +4 -3
- {kotonebot/kaa → kaa}/image_db/db.py +1 -1
- {kotonebot/kaa → kaa}/main/gr.py +157 -65
- {kotonebot/kaa → kaa}/main/kaa.py +2 -2
- {kotonebot/kaa → kaa}/metadata.py +55 -0
- kaa/resources/__pycache__/__init__.cpython-310.pyc +0 -0
- {kotonebot/kaa → kaa}/resources/game.db +0 -0
- kaa/resources/game_ver.txt +0 -0
- kaa/resources/idol_cards/i_card-skin-fktn-3-014_0.png +0 -0
- kaa/sprites/207594fa-6a0b-45ec-aeff-b3e45348c508.png +0 -0
- kaa/sprites/9483fae5-3a72-4684-9403-d25d2c602d3d.png +0 -0
- kaa/sprites/eaad330d-4e50-4b55-be2c-8da0f72764d9.png +0 -0
- {kotonebot/kaa → kaa}/tasks/R.py +133 -127
- {kotonebot/kaa → kaa}/tasks/actions/commu.py +3 -3
- {kotonebot/kaa → kaa}/tasks/actions/loading.py +1 -1
- {kotonebot/kaa → kaa}/tasks/actions/scenes.py +5 -3
- {kotonebot/kaa → kaa}/tasks/actions/stats.py +1 -1
- {kotonebot/kaa → kaa}/tasks/daily/acquire_activity_funds.py +2 -2
- {kotonebot/kaa → kaa}/tasks/daily/acquire_presents.py +2 -2
- {kotonebot/kaa → kaa}/tasks/daily/assignment.py +2 -2
- {kotonebot/kaa → kaa}/tasks/daily/capsule_toys.py +4 -3
- {kotonebot/kaa → kaa}/tasks/daily/club_reward.py +3 -3
- {kotonebot/kaa → kaa}/tasks/daily/contest.py +4 -4
- {kotonebot/kaa → kaa}/tasks/daily/mission_reward.py +2 -2
- {kotonebot/kaa → kaa}/tasks/daily/purchase.py +2 -2
- {kotonebot/kaa → kaa}/tasks/daily/upgrade_support_card.py +3 -3
- {kotonebot/kaa → kaa}/tasks/end_game.py +1 -1
- {kotonebot/kaa → kaa}/tasks/produce/cards.py +17 -7
- {kotonebot/kaa → kaa}/tasks/produce/common.py +94 -6
- {kotonebot/kaa → kaa}/tasks/produce/in_purodyuusu.py +94 -71
- {kotonebot/kaa → kaa}/tasks/produce/non_lesson_actions.py +17 -11
- {kotonebot/kaa → kaa}/tasks/produce/p_drink.py +1 -1
- {kotonebot/kaa → kaa}/tasks/produce/produce.py +42 -61
- {kotonebot/kaa → kaa}/tasks/start_game.py +9 -7
- {kotonebot/kaa → kaa}/util/paths.py +1 -1
- {ksaa-2025.8.23.1.dist-info → ksaa-2025.9b2.dist-info}/METADATA +5 -2
- ksaa-2025.9b2.dist-info/RECORD +519 -0
- ksaa-2025.9b2.dist-info/entry_points.txt +2 -0
- ksaa-2025.9b2.dist-info/top_level.txt +1 -0
- kotonebot/__init__.py +0 -40
- kotonebot/backend/bot.py +0 -302
- kotonebot/backend/color.py +0 -525
- kotonebot/backend/context/__init__.py +0 -3
- kotonebot/backend/context/context.py +0 -1001
- kotonebot/backend/context/task_action.py +0 -176
- kotonebot/backend/core.py +0 -126
- kotonebot/backend/debug/__init__.py +0 -1
- kotonebot/backend/debug/entry.py +0 -89
- kotonebot/backend/debug/mock.py +0 -79
- kotonebot/backend/debug/server.py +0 -223
- kotonebot/backend/debug/vars.py +0 -346
- kotonebot/backend/dispatch.py +0 -228
- kotonebot/backend/flow_controller.py +0 -197
- kotonebot/backend/image.py +0 -748
- kotonebot/backend/loop.py +0 -277
- kotonebot/backend/ocr.py +0 -511
- kotonebot/backend/preprocessor.py +0 -103
- kotonebot/client/__init__.py +0 -10
- kotonebot/client/device.py +0 -500
- kotonebot/client/fast_screenshot.py +0 -378
- kotonebot/client/host/__init__.py +0 -12
- kotonebot/client/host/adb_common.py +0 -94
- kotonebot/client/host/custom.py +0 -114
- kotonebot/client/host/leidian_host.py +0 -202
- kotonebot/client/host/mumu12_host.py +0 -245
- kotonebot/client/host/protocol.py +0 -213
- kotonebot/client/host/windows_common.py +0 -55
- kotonebot/client/implements/__init__.py +0 -7
- kotonebot/client/implements/adb.py +0 -85
- kotonebot/client/implements/adb_raw.py +0 -159
- kotonebot/client/implements/nemu_ipc/__init__.py +0 -8
- kotonebot/client/implements/nemu_ipc/external_renderer_ipc.py +0 -280
- kotonebot/client/implements/nemu_ipc/nemu_ipc.py +0 -327
- kotonebot/client/implements/remote_windows.py +0 -193
- kotonebot/client/implements/uiautomator2.py +0 -82
- kotonebot/client/implements/windows.py +0 -168
- kotonebot/client/protocol.py +0 -69
- kotonebot/client/registration.py +0 -24
- kotonebot/config/__init__.py +0 -1
- kotonebot/config/base_config.py +0 -96
- kotonebot/config/manager.py +0 -36
- kotonebot/debug_entry.py +0 -42
- kotonebot/errors.py +0 -72
- kotonebot/interop/win/message_box.py +0 -314
- kotonebot/interop/win/reg.py +0 -37
- kotonebot/interop/win/shortcut.py +0 -43
- kotonebot/interop/win/task_dialog.py +0 -469
- kotonebot/kaa/resources/__pycache__/__init__.cpython-310.pyc +0 -0
- kotonebot/kaa/resources/game_ver.txt +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-014_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-011_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-011_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-012_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-012_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-013_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-013_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-001_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-1-001_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-2-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-2-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-001_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-001_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-002_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-002_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-003_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-003_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-004_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-004_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-005_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-005_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-006_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-006_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-007_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-007_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-008_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-008_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-009_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-009_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-010_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-010_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-011_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-011_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-012_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-012_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-013_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-013_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-001_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-1-001_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-2-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-2-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-001_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-001_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-002_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-002_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-004_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-004_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-005_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-005_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-006_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-006_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-007_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-007_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-008_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-008_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-009_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-009_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-010_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-010_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-011_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-011_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-012_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-012_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-013_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-013_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-001_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-1-001_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-2-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-2-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-001_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-001_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-002_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-002_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-003_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-003_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-004_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-004_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-006_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-006_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-007_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-007_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-008_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-008_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-009_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-009_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-010_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-010_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-011_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-011_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-012_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-012_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-013_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-shro-3-013_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-001_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-1-001_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-2-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-2-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-001_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-001_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-002_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-002_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-003_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-003_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-005_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-005_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-006_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-006_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-007_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-007_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-008_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-008_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-009_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-009_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-010_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-010_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-011_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-011_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-012_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-012_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-013_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-013_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-014_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-014_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-001_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-1-001_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-2-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-2-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-000_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-000_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-001_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-001_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-002_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-002_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-003_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-003_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-004_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-004_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-006_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-006_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-007_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-007_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-008_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-008_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-009_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-009_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-010_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-010_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-011_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-011_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-012_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-012_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-013_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-013_1.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-014_0.png +0 -0
- kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-014_1.png +0 -0
- kotonebot/kaa/tasks/actions/__init__.py +0 -0
- kotonebot/kaa/tasks/daily/__init__.py +0 -0
- kotonebot/kaa/tasks/produce/__init__.py +0 -0
- kotonebot/logging/__init__.py +0 -2
- kotonebot/logging/log.py +0 -18
- kotonebot/primitives/__init__.py +0 -17
- kotonebot/primitives/geometry.py +0 -290
- kotonebot/primitives/visual.py +0 -63
- kotonebot/tools/__init__.py +0 -0
- kotonebot/tools/mirror.py +0 -354
- kotonebot/ui/__init__.py +0 -0
- kotonebot/ui/file_host/sensio.py +0 -36
- kotonebot/ui/file_host/tmp_send.py +0 -54
- kotonebot/ui/pushkit/__init__.py +0 -3
- kotonebot/ui/pushkit/image_host.py +0 -87
- kotonebot/ui/pushkit/protocol.py +0 -13
- kotonebot/ui/pushkit/wxpusher.py +0 -53
- kotonebot/ui/user.py +0 -144
- kotonebot/util.py +0 -409
- ksaa-2025.8.23.1.dist-info/RECORD +0 -755
- ksaa-2025.8.23.1.dist-info/entry_points.txt +0 -2
- ksaa-2025.8.23.1.dist-info/top_level.txt +0 -1
- {kotonebot/kaa → kaa}/application/adapter/misc_adapter.py +0 -0
- {kotonebot/kaa → kaa}/config/__init__.py +0 -0
- {kotonebot/kaa → kaa}/config/migrations/__init__.py +0 -0
- {kotonebot/kaa → kaa}/config/migrations/_idol.py +0 -0
- {kotonebot/kaa → kaa}/config/migrations/_v1_to_v2.py +0 -0
- {kotonebot/kaa → kaa}/config/migrations/_v2_to_v3.py +0 -0
- {kotonebot/kaa → kaa}/config/migrations/_v3_to_v4.py +0 -0
- {kotonebot/kaa → kaa}/config/migrations/_v4_to_v5.py +0 -0
- {kotonebot/kaa → kaa}/config/migrations/_v5_to_v6.py +0 -0
- {kotonebot/kaa → kaa}/config/upgrade.py +0 -0
- {kotonebot/kaa → kaa}/db/__init__.py +0 -0
- {kotonebot/kaa → kaa}/db/constants.py +0 -0
- {kotonebot/kaa → kaa}/db/idol_card.py +0 -0
- {kotonebot/kaa → kaa}/game_ui/__init__.py +0 -0
- {kotonebot/kaa → kaa}/game_ui/badge.py +0 -0
- {kotonebot/kaa → kaa}/game_ui/common.py +0 -0
- {kotonebot/kaa → kaa}/game_ui/commu_event_buttons.py +0 -0
- {kotonebot/kaa → kaa}/game_ui/primary_button.py +0 -0
- {kotonebot/kaa → kaa}/game_ui/toolbar.py +0 -0
- {kotonebot/kaa → kaa}/image_db/__init__.py +0 -0
- {kotonebot/kaa → kaa}/image_db/descriptors/__init__.py +0 -0
- {kotonebot/kaa → kaa}/image_db/descriptors/hist.py +0 -0
- {kotonebot/kaa → kaa}/kaa_context.py +0 -0
- {kotonebot/kaa → kaa}/main/__init__.py +0 -0
- {kotonebot/kaa → kaa}/main/cli.py +0 -0
- {kotonebot/kaa → kaa}/main/dmm_host.py +0 -0
- {kotonebot/backend → kaa/resources}/__init__.py +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-1-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-1-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-1-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-1-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-2-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-2-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-002_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-002_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-003_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-003_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-005_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-005_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-006_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-006_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-007_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-007_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-008_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-008_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-009_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-009_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-010_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-010_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-011_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-011_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-012_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-012_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-013_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-amao-3-013_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-1-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-1-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-1-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-1-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-2-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-2-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-002_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-002_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-003_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-003_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-005_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-005_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-006_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-006_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-007_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-007_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-008_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-008_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-009_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-009_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-010_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-010_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-011_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-011_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-012_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-012_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-013_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-013_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-014_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-015_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-fktn-3-015_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-1-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-1-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-1-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-1-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-2-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-2-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-002_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-002_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-005_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-005_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-010_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-010_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-012_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hmsz-3-012_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-1-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-1-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-1-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-1-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-2-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-2-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-002_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-002_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-003_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-003_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-004_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-004_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-005_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-005_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-006_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-006_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-007_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-007_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-008_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-008_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-009_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-009_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-010_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-010_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-011_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-011_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-012_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-012_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-014_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hrnm-3-014_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-1-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-1-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-1-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-1-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-2-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-2-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-002_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-002_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-003_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-003_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-005_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-005_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-006_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-006_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-007_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-007_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-008_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-008_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-009_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-009_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-010_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-010_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-011_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-011_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-012_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-012_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-013_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-013_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-014_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hski-3-014_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-1-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-1-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-1-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-1-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-2-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-2-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-002_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-002_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-004_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-004_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-005_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-005_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-006_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-006_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-011_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-011_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-012_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-012_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-013_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-013_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-014_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-hume-3-014_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-1-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-1-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-1-001_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-1-001_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-2-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-2-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-000_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-000_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-002_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-002_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-003_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-003_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-004_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-004_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-005_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-005_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-006_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-006_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-007_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-007_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-008_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-008_1.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-010_0.png +0 -0
- {kotonebot/kaa → kaa}/resources/idol_cards/i_card-skin-jsna-3-010_1.png +0 -0
- {kotonebot/kaa → kaa}/sprites/00551158-fee9-483f-b034-549139a96f58.png +0 -0
- /kotonebot/kaa/sprites/a938bf45-e622-424f-829a-76152586f413.png → /kaa/sprites/0078d85c-3f22-4d65-834d-bef862386c28.png +0 -0
- /kotonebot/kaa/sprites/6dacc5c6-85e2-4e26-b7a4-6bda6cc3ed0e.png → /kaa/sprites/01621013-b0e9-49bb-b7c1-296d1c8e7c4d.png +0 -0
- /kotonebot/kaa/sprites/9dcb4207-f546-4382-a87d-5d3377a31f4f.png → /kaa/sprites/03ea1e8a-93e4-41c2-940c-6738de3519ad.png +0 -0
- /kotonebot/kaa/sprites/998be65c-b835-4004-bbe0-411a4d74985c.png → /kaa/sprites/03f1e81a-e762-45bd-b8fc-a5ccd99413f2.png +0 -0
- {kotonebot/kaa → kaa}/sprites/05890a1b-8764-4e9f-9d21-65d292c22e13.png +0 -0
- {kotonebot/kaa → kaa}/sprites/0949c622-9067-4f0d-bac2-3f938a1d2ed2.png +0 -0
- {kotonebot/kaa → kaa}/sprites/0bf5e34e-afc6-4447-bbac-67026ce2ad26.png +0 -0
- {kotonebot/kaa → kaa}/sprites/0c0627be-4a09-4450-a078-1858d3ace532.png +0 -0
- /kotonebot/kaa/sprites/034203b6-cadb-4b7c-af70-3e9551083457.png → /kaa/sprites/0c5871f8-7b83-458e-93ea-87dd96b4e714.png +0 -0
- {kotonebot/kaa → kaa}/sprites/0d9ac648-eefa-4869-ac99-1b0c83649681.png +0 -0
- /kotonebot/kaa/sprites/faeb1498-1c11-4bc7-8e85-864fd876751c.png → /kaa/sprites/0e311fd9-5027-4fe9-9701-f6ace207a47f.png +0 -0
- {kotonebot/kaa → kaa}/sprites/0f7d581d-cea3-4039-9205-732e4cd29293.png +0 -0
- /kotonebot/kaa/sprites/441934e4-3659-4522-985c-0e683eb03f1c.png → /kaa/sprites/1201b142-fccd-497d-b082-95c8f3dfd46b.png +0 -0
- /kotonebot/kaa/sprites/6e3515d4-68ce-4760-948b-5fb20576fc12.png → /kaa/sprites/13b4ec6d-855e-457a-bc46-ec07bbae2555.png +0 -0
- /kotonebot/kaa/sprites/725e767e-79bb-4ce6-a448-8ebee80193b7.png → /kaa/sprites/141ebd00-0572-4186-9e46-caaf2d1f1920.png +0 -0
- {kotonebot/kaa → kaa}/sprites/1652f06a-5417-49ef-8949-4854772d9ab7.png +0 -0
- {kotonebot/kaa → kaa}/sprites/16fbc93d-b294-4001-b4e9-ee2af181415f.png +0 -0
- {kotonebot/kaa → kaa}/sprites/185f7838-92a7-460b-9340-f60858948ce9.png +0 -0
- {kotonebot/kaa → kaa}/sprites/1926f2f9-4bd7-48eb-9eba-28ec4efb0606.png +0 -0
- /kotonebot/kaa/sprites/fc64316e-8394-4019-a16f-d6e7bb83d9bf.png → /kaa/sprites/19e5119b-2fcf-4e07-b67f-e78bba0adcf1.png +0 -0
- /kotonebot/kaa/sprites/8d595a36-a900-42ea-871f-f17f99d5d73a.png → /kaa/sprites/1a0708a6-9b04-4bf5-9e50-7c548a8e37f8.png +0 -0
- /kotonebot/kaa/sprites/395a07be-38b7-4c8c-948e-9efcb93a2e49.png → /kaa/sprites/1b8104bd-f872-4618-b7ca-fe334fd14dc8.png +0 -0
- /kotonebot/kaa/sprites/2ebe4066-c47c-4284-a52d-b3f5bed523f3.png → /kaa/sprites/1c0a4be2-be62-4c06-964f-b2de5d7860c3.png +0 -0
- /kotonebot/kaa/sprites/cf89988c-c930-4890-8a55-018de7a4ae5a.png → /kaa/sprites/1de78cb8-fa69-4226-952a-50bbb20fc7dd.png +0 -0
- /kotonebot/kaa/sprites/0b3b7c7d-ad01-44dd-bd25-c819eb002a31.png → /kaa/sprites/1e7f4639-0d64-46dc-977f-79dc7ccb7043.png +0 -0
- /kotonebot/kaa/sprites/d55c4fd9-f8be-467a-923f-03cef8bd0525.png → /kaa/sprites/1fa1f7da-0f8d-40f0-ac59-84007fe005cb.png +0 -0
- {kotonebot/kaa → kaa}/sprites/213016c2-c3a2-43d8-86a3-ab4d27666ced.png +0 -0
- /kotonebot/kaa/sprites/0411b7d9-8f30-44c8-ad51-fde15025ab5f.png → /kaa/sprites/22263c0e-6c8a-45ac-8b26-6fe3af677496.png +0 -0
- /kotonebot/kaa/sprites/8dfc96b9-678a-4126-914a-8b5ba920e280.png → /kaa/sprites/23937cf2-9324-4d7d-b87f-17e571e8bb11.png +0 -0
- {kotonebot/kaa → kaa}/sprites/23d88465-65d9-4718-8725-8dbf0a98a5a4.png +0 -0
- /kotonebot/kaa/sprites/288ca9e3-237f-4de6-ba06-e586a9f87d03.png → /kaa/sprites/246b641d-5cfc-4f06-8f89-1f041a69ea1d.png +0 -0
- {kotonebot/kaa → kaa}/sprites/24dc7158-036c-4a66-9280-e934f470be53.png +0 -0
- {kotonebot/kaa → kaa}/sprites/24e99232-9434-457f-a9a0-69dd7ecf675f.png +0 -0
- {kotonebot/kaa → kaa}/sprites/25f00ee3-8dfe-42d1-a67e-191fa5c3df4b.png +0 -0
- /kotonebot/kaa/sprites/cdbf1f7f-63f6-40d7-a3b6-3d64bd6f9083.png → /kaa/sprites/2751a3b3-0184-45fd-bfd5-c1fc75436c05.png +0 -0
- /kotonebot/kaa/sprites/ccb670dd-7c8e-4bc9-8e73-934ce26d23a8.png → /kaa/sprites/293fdb6c-9ea9-4471-be88-bdb69ef7e55a.png +0 -0
- {kotonebot/kaa → kaa}/sprites/2bd6fe88-99fa-443d-8e42-bb3de5881213.png +0 -0
- /kotonebot/kaa/sprites/53eca690-1c14-4424-9456-3a8397ae9ff3.png → /kaa/sprites/2c722ef4-b6c0-4e48-b6e3-78c187e0cf1a.png +0 -0
- /kotonebot/kaa/sprites/d61df6da-4b09-4b8c-bc97-46632a80fcd9.png → /kaa/sprites/2c7da64b-4a9a-46ee-a8c2-7fe6d5ca61e2.png +0 -0
- /kotonebot/kaa/sprites/4c4339dc-c9b2-4a3c-a80a-02512d281289.png → /kaa/sprites/2ed36417-e2aa-45c6-8fc0-aca1a47f3106.png +0 -0
- {kotonebot/kaa → kaa}/sprites/2ededcf5-1d80-4e2a-9c83-2a31998331ce.png +0 -0
- /kotonebot/kaa/sprites/44b34d58-8178-416f-88bc-a3c4a5a26bac.png → /kaa/sprites/2f5377ec-e08d-47f4-bf60-928961957b8d.png +0 -0
- {kotonebot/kaa → kaa}/sprites/303cccc1-c674-4d3a-8c89-19ea729fdbef.png +0 -0
- {kotonebot/kaa → kaa}/sprites/30a6f399-6999-4f04-bb77-651e0214112f.png +0 -0
- /kotonebot/kaa/sprites/7f459ed4-063c-48ab-a9ed-48f73bd3a865.png → /kaa/sprites/316fe4ed-272a-4c6a-8822-1a8edf296293.png +0 -0
- /kotonebot/kaa/sprites/5efaf4bf-b3cb-456f-88a1-ff1d28be80c1.png → /kaa/sprites/360e32a4-0f22-42da-9da0-fca8d2da6020.png +0 -0
- /kotonebot/kaa/sprites/f8237a04-9f49-4796-9238-8dfab4cabcbe.png → /kaa/sprites/37e7c488-7ad6-447e-a37f-75c2553a4a89.png +0 -0
- {kotonebot/kaa → kaa}/sprites/3942ae40-7f22-412c-aebe-4b064f68db9b.png +0 -0
- {kotonebot/kaa → kaa}/sprites/3b473fe6-e147-477f-b088-9b8fb042a4f6.png +0 -0
- {kotonebot/kaa → kaa}/sprites/3c8b477a-8eda-407e-9e9f-7540c8808f89.png +0 -0
- /kotonebot/kaa/sprites/6fe17986-a29d-4198-b366-1c40637069b5.png → /kaa/sprites/3c8e18ba-a948-4885-8d07-285faf7a9f32.png +0 -0
- /kotonebot/kaa/sprites/b34a76e2-e318-47a0-b194-6e1b01eb269c.png → /kaa/sprites/3da3fd94-081d-4e90-8c11-0ff5f9e216eb.png +0 -0
- /kotonebot/kaa/sprites/2e76fba4-b9db-47ce-b6a4-d0a857b3fd4b.png → /kaa/sprites/3ef0ee98-7572-40df-b608-8cf6e76a2bc7.png +0 -0
- {kotonebot/kaa → kaa}/sprites/3f637e86-6b74-4693-9131-1fe411fc21e5.png +0 -0
- /kotonebot/kaa/sprites/c35208a6-261e-4a2e-aeae-aae19d8c83d6.png → /kaa/sprites/3f91c443-cd32-4048-8dbe-ffa1459171b1.png +0 -0
- {kotonebot/kaa → kaa}/sprites/4096cffa-a889-4622-852e-760fc7022d93.png +0 -0
- /kotonebot/kaa/sprites/5df708a6-1383-47a4-aec7-69f492f4f783.png → /kaa/sprites/41ff7111-553e-48f7-9fb7-7eb071264c20.png +0 -0
- /kotonebot/kaa/sprites/81b9a59e-5714-459b-b6ce-03e1f4c4e503.png → /kaa/sprites/4231568f-b383-4944-99de-0589bb24aa2e.png +0 -0
- /kotonebot/kaa/sprites/15552124-cc5c-4abe-b08d-123624248d77.png → /kaa/sprites/42b85806-07f6-4dad-8f03-664c93546d1d.png +0 -0
- {kotonebot/kaa → kaa}/sprites/447d0e44-5d87-4b7c-8e60-edb111fe1639.png +0 -0
- {kotonebot/kaa → kaa}/sprites/44ba8515-4a60-42c9-8878-b42e4e34ee15.png +0 -0
- {kotonebot/kaa → kaa}/sprites/4503db6b-7224-4b81-9971-e7cfa56e10f2.png +0 -0
- {kotonebot/kaa → kaa}/sprites/4695f96b-c4f5-4bb6-a021-a13b6ceb2883.png +0 -0
- {kotonebot/kaa → kaa}/sprites/4883c564-f950-4a29-9f5f-6f924123cd22.png +0 -0
- /kotonebot/kaa/sprites/24b645e9-66a6-4c4b-8273-c895ba6b8324.png → /kaa/sprites/499d34e9-3f0f-4ff6-b0d6-44ee4919c9c0.png +0 -0
- {kotonebot/kaa → kaa}/sprites/4d78add6-1027-4939-bb51-f99fca7db2ce.png +0 -0
- /kotonebot/kaa/sprites/a8a3d531-9024-4603-a864-64bfe439a9ab.png → /kaa/sprites/4f7fa41d-a32b-4090-badb-05336cf67620.png +0 -0
- {kotonebot/kaa → kaa}/sprites/5031808b-5525-4118-92b4-317ec8bda985.png +0 -0
- {kotonebot/kaa → kaa}/sprites/50e23c8a-7ba2-4c9c-9cfb-196c260fa1d5.png +0 -0
- /kotonebot/kaa/sprites/fba7b4b2-46d3-4a5a-a161-6891014e6daf.png → /kaa/sprites/550d0d4e-9c71-465a-a9ab-a64a25a1c958.png +0 -0
- /kotonebot/kaa/sprites/1989466d-c486-4e0c-acc9-ed3116e3c0b8.png → /kaa/sprites/55efbfcf-96c1-45f1-a7bc-3a922c9cf22f.png +0 -0
- {kotonebot/kaa → kaa}/sprites/55f7db71-0a18-4b3d-b847-57959b8d2e32.png +0 -0
- /kotonebot/kaa/sprites/32966af9-8bfe-4b67-b9b5-2fd5e2678468.png → /kaa/sprites/5615c359-ccc0-469a-82d0-6002c117f4a0.png +0 -0
- {kotonebot/kaa → kaa}/sprites/582d36c0-0916-4706-9833-4fbc026701f5.png +0 -0
- /kotonebot/kaa/sprites/28282c09-6ce2-4d65-8475-1fc6fbf54e15.png → /kaa/sprites/59123d3e-4b29-4f25-b561-ac9bcd70640e.png +0 -0
- /kotonebot/kaa/sprites/e2287baf-c165-467b-8b6c-640d1f2ee376.png → /kaa/sprites/5ca94c3e-908d-49c9-803e-0d75dd56ee9d.png +0 -0
- {kotonebot/kaa → kaa}/sprites/5d36b880-7b3f-49b1-a018-7de59867d376.png +0 -0
- {kotonebot/kaa → kaa}/sprites/5ebcde3b-f0fd-4e5d-b3de-ada8f0b5e03b.png +0 -0
- /kotonebot/kaa/sprites/a43abe98-376b-4da7-ab17-b6c9e1a875fb.png → /kaa/sprites/64396919-34c4-44ff-b39a-c126a7d6b73f.png +0 -0
- /kotonebot/kaa/sprites/7465297a-497d-41fa-948d-7f04ad5fdc94.png → /kaa/sprites/64d5db07-ac11-4c55-979e-87f7205287a8.png +0 -0
- /kotonebot/kaa/sprites/e734df59-a24f-42e2-9f53-3ca720ddc612.png → /kaa/sprites/65769b32-57b7-4e63-bda9-11cd96525831.png +0 -0
- /kotonebot/kaa/sprites/51d0f732-2fe9-40c5-b888-8143270d35bb.png → /kaa/sprites/6670deb8-5f26-4efe-bc8b-65283073851a.png +0 -0
- /kotonebot/kaa/sprites/80bfcb8e-fb27-4240-85c5-61650419a304.png → /kaa/sprites/670f3fea-6ac8-4ac5-bb5c-058a52239412.png +0 -0
- /kotonebot/kaa/sprites/9a9c9044-53c6-40f7-8eb5-2dc71383e58c.png → /kaa/sprites/674ab5dd-4c63-484d-9f68-7c601d5cf0c7.png +0 -0
- /kotonebot/kaa/sprites/d61a93e8-0e24-40d8-814a-402765d057ea.png → /kaa/sprites/6996ae36-4f49-4e60-baef-f481142d8afa.png +0 -0
- {kotonebot/kaa → kaa}/sprites/6b58d90d-2e5e-4b7f-bc01-941f2633de89.png +0 -0
- {kotonebot/kaa → kaa}/sprites/6cd80be8-c9b3-4ba5-bf17-3ffc9b000743.png +0 -0
- /kotonebot/kaa/sprites/97f4f186-da9e-404c-bf1e-918f1b962fee.png → /kaa/sprites/6e158fab-4d9b-4557-8ea7-eabc94bb83c5.png +0 -0
- /kotonebot/kaa/sprites/38526b38-7f62-466b-8702-0c657891c7fa.png → /kaa/sprites/6f6f8f1d-cfa6-4d53-abf9-910c4a12739f.png +0 -0
- {kotonebot/kaa → kaa}/sprites/70898bf8-56c5-4f84-becb-629c9ab6a7da.png +0 -0
- /kotonebot/kaa/sprites/c1c710cd-885b-4b2c-9752-8a2754d0f72d.png → /kaa/sprites/716fbc7f-beda-4482-8c59-699b87778309.png +0 -0
- /kotonebot/kaa/sprites/b241eff8-039e-4734-bea2-e10da89426d8.png → /kaa/sprites/71b3edaf-e384-452e-96b0-096d92c4c298.png +0 -0
- /kotonebot/kaa/sprites/c38d6852-316f-4a77-9987-e15789ee8612.png → /kaa/sprites/7300a151-0fc1-4261-b98e-ff3e8077eaee.png +0 -0
- /kotonebot/kaa/sprites/19962647-b587-488b-9ed3-1f4f7ce36406.png → /kaa/sprites/73b16c0e-2bc6-4e8e-b678-00af0c9c3e0d.png +0 -0
- /kotonebot/kaa/sprites/647e6110-8c89-4c34-9352-b8b321c61500.png → /kaa/sprites/73fba395-96ee-45ab-bca8-9426a0504fed.png +0 -0
- {kotonebot/kaa → kaa}/sprites/74ec3510-583d-4a76-ac69-38480fbf1387.png +0 -0
- /kotonebot/kaa/sprites/be8a47df-79fe-48c1-b41e-77fe1a26a90b.png → /kaa/sprites/773c7946-041e-40b3-b951-229aed614dbe.png +0 -0
- /kotonebot/kaa/sprites/cac8bff8-569e-450f-8ac7-dad3eebf18d9.png → /kaa/sprites/78bea52e-d7d0-4b99-8f89-e89324527611.png +0 -0
- {kotonebot/kaa → kaa}/sprites/79abd239-5eed-4195-9fa8-d729daa874ca.png +0 -0
- /kotonebot/kaa/sprites/d88c35b8-f101-4557-b2a5-0f7846fecd4c.png → /kaa/sprites/7a5eff9d-4e2d-4f8f-bdf2-d81a15d9cc6d.png +0 -0
- /kotonebot/kaa/sprites/1cc8c106-1830-433e-956f-7d31a01da99e.png → /kaa/sprites/7bc266f0-0166-4bd4-a8c2-0d5555e6d74d.png +0 -0
- /kotonebot/kaa/sprites/a5e675c9-8fc8-46f2-ae73-bc871d65daaf.png → /kaa/sprites/7bcaf86b-8594-40fb-9f06-a7ffeb0bd10e.png +0 -0
- /kotonebot/kaa/sprites/d3832642-3108-4947-8274-68ad8a78b690.png → /kaa/sprites/7e7f553f-8f93-400a-b70c-644df794ddfa.png +0 -0
- /kotonebot/kaa/sprites/c84958c3-37a8-4f1e-9874-45d2c3723b80.png → /kaa/sprites/7ee5bce2-9c00-4a1b-91f3-3de0dd1821ac.png +0 -0
- /kotonebot/kaa/sprites/444bc913-a075-4f71-baf8-a94cbb8a8ab0.png → /kaa/sprites/802cd7cb-066a-49b5-a0c3-3da0eab9d674.png +0 -0
- /kotonebot/kaa/sprites/2f707d1b-98d5-47b1-a14c-5c7b95a1cc8c.png → /kaa/sprites/808e16c7-e112-4928-a03f-23a5fcbe0b24.png +0 -0
- {kotonebot/kaa → kaa}/sprites/81c97cd3-df53-44d3-bf3d-1eb4dc67b62a.png +0 -0
- {kotonebot/kaa → kaa}/sprites/835489e2-b29b-426c-b4c9-3bb9f8eb6195.png +0 -0
- {kotonebot/kaa → kaa}/sprites/83d0a033-466c-463a-bb8c-be0f2953e9b2.png +0 -0
- {kotonebot/kaa → kaa}/sprites/8424ecdd-8857-4764-9fd0-d4bfa440c128.png +0 -0
- /kotonebot/kaa/sprites/8af8652d-06fe-4d2c-b123-641c7fbc651d.png → /kaa/sprites/85a9ee57-a69d-452c-9533-3913dd4af5e8.png +0 -0
- /kotonebot/kaa/sprites/e072322f-eff1-4cbd-80c2-4e2103a1aa2f.png → /kaa/sprites/85dad1b9-edfb-44f9-b59d-c92a90ed0d13.png +0 -0
- /kotonebot/kaa/sprites/8836e28c-e310-4870-94d2-b58e5dffad49.png → /kaa/sprites/8660b8a5-dce0-4e34-a0b4-5cbee251cc9d.png +0 -0
- /kotonebot/kaa/sprites/87ee5cea-6fb4-4768-8767-3c422df08371.png → /kaa/sprites/8795c644-edd9-4930-b307-e02b8df8f63c.png +0 -0
- {kotonebot/kaa → kaa}/sprites/8c179a21-be6f-4db8-a9b0-9afeb5c36b1c.png +0 -0
- /kotonebot/kaa/sprites/f4212619-497f-4dcd-a197-e7c4c1c1a8ad.png → /kaa/sprites/8c32afab-a759-4d17-bb09-5ee4f78bc094.png +0 -0
- /kotonebot/kaa/sprites/6a77517b-99b1-42a1-ba61-a3109151339e.png → /kaa/sprites/8c3412f5-77a4-4d95-96fc-af9c562e73b9.png +0 -0
- {kotonebot/kaa → kaa}/sprites/8ded6c98-85ea-4858-a66d-4fc8caecb7c5.png +0 -0
- {kotonebot/kaa → kaa}/sprites/8f8b7b46-53bb-42ab-907a-4ea87eb09ab4.png +0 -0
- /kotonebot/kaa/sprites/974015ca-854d-43e3-a8ed-faa247d304bc.png → /kaa/sprites/8fbb1d42-c540-4e2a-91b1-871ca77ecdb1.png +0 -0
- /kotonebot/kaa/sprites/8f8f1144-5c30-41f0-8a6b-b39fe78e3e99.png → /kaa/sprites/919e00d2-7319-4541-bdc5-8d398d4759ce.png +0 -0
- {kotonebot/kaa → kaa}/sprites/921eefeb-730e-46fc-9924-d338fb286592.png +0 -0
- {kotonebot/kaa → kaa}/sprites/9340b854-025c-40da-9387-385d38433bef.png +0 -0
- /kotonebot/kaa/sprites/64969b0b-a6ef-4342-a967-20428d5baa65.png → /kaa/sprites/998391fa-c5a6-40cb-80d6-3b1c75a3fa91.png +0 -0
- /kotonebot/kaa/sprites/34fd0d97-1018-4986-b990-29e48abc2a56.png → /kaa/sprites/99d679f6-8371-46e7-a742-6180cc7e68f6.png +0 -0
- /kotonebot/kaa/sprites/87f96abd-8290-4a06-bfc4-c7275cd01d9a.png → /kaa/sprites/9afa238e-be07-4d01-9e5c-350bf83d9884.png +0 -0
- /kotonebot/kaa/sprites/f53ff71d-54b5-44d2-9e48-ad2dee918fd1.png → /kaa/sprites/9f7eba7c-2e9d-4d2a-9c8b-b9eadf9addd4.png +0 -0
- {kotonebot/kaa → kaa}/sprites/9fd0753f-c607-4d49-82d1-40bda27e014f.png +0 -0
- {kotonebot/interop/win → kaa/sprites}/__init__.py +0 -0
- /kotonebot/kaa/sprites/724e9b7b-0bf6-4d78-b887-9b108474e732.png → /kaa/sprites/a07ba9ce-3a90-42ae-b8c4-cba80a8fd676.png +0 -0
- {kotonebot/kaa → kaa}/sprites/a0bd6a5f-784d-4f0a-9d66-10f4b80c8d3e.png +0 -0
- /kotonebot/kaa/sprites/56c4d716-65b3-4fb8-badb-970853544c7a.png → /kaa/sprites/a1c84ff9-9350-4927-bb0c-708e215ef721.png +0 -0
- {kotonebot/kaa → kaa}/sprites/a1df3af1-a3e7-4521-a085-e4dc3cd1cc57.png +0 -0
- {kotonebot/kaa → kaa}/sprites/a48324ae-7c1a-489e-b3c4-93d12267f88d.png +0 -0
- /kotonebot/kaa/sprites/50718df3-1b0e-425f-802c-ca4abd08a4b5.png → /kaa/sprites/a8dc76c8-a90d-48c9-a20e-32d185b329c9.png +0 -0
- {kotonebot/kaa → kaa}/sprites/a9fcaf04-0c1f-4b0f-bb5b-ede9da96180f.png +0 -0
- /kotonebot/kaa/sprites/59f54f2a-1efb-4d5a-b76b-b740ddf561ec.png → /kaa/sprites/abd8b312-348c-40b3-b034-921cefaf0bfe.png +0 -0
- /kotonebot/kaa/sprites/f162875f-08d7-4a64-a7b2-2fff14497f74.png → /kaa/sprites/acb20bc4-1109-40b8-9c14-526878a699f2.png +0 -0
- {kotonebot/kaa → kaa}/sprites/adc533a7-970b-4c5b-a037-2181531a35d6.png +0 -0
- /kotonebot/kaa/sprites/87b36188-2bf9-4b56-98cf-9e8df3879dbf.png → /kaa/sprites/ae36e6ef-e2bf-4dd5-825a-c047432e3e52.png +0 -0
- /kotonebot/kaa/sprites/ceaa1281-57d5-4c32-b5e2-86781518709b.png → /kaa/sprites/ae5af81c-c75f-448b-88aa-c148cb728dfe.png +0 -0
- {kotonebot/kaa → kaa}/sprites/ae9fe233-9acc-4e96-ba8e-1fb1d9bc2ea5.png +0 -0
- /kotonebot/kaa/sprites/bbc8ae86-9ad5-4fc7-8662-05a096ec1b84.png → /kaa/sprites/aeba7356-fc43-4450-8088-9f46a395bb00.png +0 -0
- {kotonebot/kaa → kaa}/sprites/b0283997-7931-476d-a92f-d7569f6ea34c.png +0 -0
- {kotonebot/kaa → kaa}/sprites/b2af59e9-60e3-4d97-8c72-c7ba092113a3.png +0 -0
- {kotonebot/kaa → kaa}/sprites/b2e1bf3c-2c36-4fb5-9db7-c10a29563a37.png +0 -0
- /kotonebot/kaa/sprites/5e473a8c-bf57-44d8-a711-db1f4ccc182c.png → /kaa/sprites/b4613fe1-10d8-47bc-88e8-7b729268e0e5.png +0 -0
- /kotonebot/kaa/sprites/3d8ab1bb-f8a8-4b19-a565-3b06e1cfe11c.png → /kaa/sprites/b4f86f2c-668d-48ed-bc1e-57886c57a731.png +0 -0
- {kotonebot/kaa → kaa}/sprites/b62bf889-da3c-495a-8707-f3bde73efe92.png +0 -0
- {kotonebot/kaa → kaa}/sprites/b6b94f21-ef4b-4425-9c7e-ca2b574b0add.png +0 -0
- /kotonebot/kaa/sprites/e38ced13-5ab3-47ee-b10b-63b5ed4224fb.png → /kaa/sprites/b83ae84f-79c0-4bd1-b8b8-86096cc3d5c1.png +0 -0
- /kotonebot/kaa/sprites/d67de935-b5f2-4176-ab52-d0482290cb59.png → /kaa/sprites/b949cf3e-4614-4fcd-8328-35b34234a9b2.png +0 -0
- {kotonebot/kaa → kaa}/sprites/bab6c393-692c-4681-ac0d-76c0d9dabea6.png +0 -0
- /kotonebot/kaa/sprites/32395105-71b0-4f98-a439-c181e82a648e.png → /kaa/sprites/bb51dcf2-9041-4214-91a3-de2d55c1d864.png +0 -0
- /kotonebot/kaa/sprites/e129c096-35c3-4fd8-b30c-ce92c3c9b85f.png → /kaa/sprites/bbc9449f-b923-4e56-844e-8e4cdbe803e3.png +0 -0
- {kotonebot/kaa → kaa}/sprites/bc7155ac-18c9-4335-9ec2-c8762d37a057.png +0 -0
- /kotonebot/kaa/sprites/e707f860-027c-44ee-a7a3-b18573b539e3.png → /kaa/sprites/bdb71eb9-15d7-4ce8-8622-b11d4eb20e90.png +0 -0
- /kotonebot/kaa/sprites/cdd7bbc5-8ebd-4a5c-84ca-0e7ca7702d8f.png → /kaa/sprites/bddbdc46-2127-4688-ba26-15f2f87b9af4.png +0 -0
- /kotonebot/kaa/sprites/f79fb63f-1737-4e67-b017-0b34bc93295a.png → /kaa/sprites/c08761c4-33ff-4f6c-85d4-102a1789b3a9.png +0 -0
- {kotonebot/kaa → kaa}/sprites/c3f536d6-a04a-4651-b3f9-dd2c22593f7f.png +0 -0
- /kotonebot/kaa/sprites/62b425ac-3e19-4924-8a58-c085f4d38f56.png → /kaa/sprites/c52b6db3-c440-4db2-ae25-a27668c9b114.png +0 -0
- {kotonebot/kaa → kaa}/sprites/c5b7d67e-7260-4f08-a0e9-4d31ce9bbecf.png +0 -0
- {kotonebot/kaa → kaa}/sprites/c78c38cc-7b61-4dc4-820d-0a5b684ef52e.png +0 -0
- /kotonebot/kaa/sprites/97f26adc-071b-4289-8243-dc20e024c7e4.png → /kaa/sprites/c907c525-3d6a-4b82-8d10-91831cb37b1b.png +0 -0
- {kotonebot/kaa → kaa}/sprites/c948f136-416f-447e-8152-54a1cd1d1329.png +0 -0
- {kotonebot/kaa → kaa}/sprites/c954e153-d3e9-4488-869f-d00cfdfac5ee.png +0 -0
- /kotonebot/kaa/sprites/d289f4e1-e92e-4263-93a4-33da4767d7a9.png → /kaa/sprites/ca8427c9-7af9-44dd-9960-7938222b84ea.png +0 -0
- {kotonebot/kaa → kaa}/sprites/cb3d0ca7-8d14-408a-a2f5-2e25f7b86d6c.png +0 -0
- /kotonebot/kaa/sprites/c107e00b-f94f-4526-88f5-2eae03a7d7f6.png → /kaa/sprites/cbde3ad5-276c-4826-a616-ab8692ab5a50.png +0 -0
- {kotonebot/kaa → kaa}/sprites/cbf4ce9c-f8d8-4fb7-a197-15bb9847df04.png +0 -0
- {kotonebot/kaa → kaa}/sprites/cc60b509-2ed5-493d-bb9f-333c6d2a6006.png +0 -0
- {kotonebot/kaa → kaa}/sprites/cc8a495d-330d-447d-8a80-a8a6ecc409c5.png +0 -0
- {kotonebot/kaa → kaa}/sprites/ccbcb114-7f73-43d1-904a-3a7ae660c531.png +0 -0
- {kotonebot/kaa → kaa}/sprites/ce1d1d6f-38f2-48bf-98bd-6e091c7ca5b8.png +0 -0
- {kotonebot/kaa → kaa}/sprites/ce20a856-5629-4f8e-a8e1-d1bd14e18e4f.png +0 -0
- {kotonebot/kaa → kaa}/sprites/cfc9c8e8-cbe1-49f0-9afa-ead7f9455a2e.png +0 -0
- /kotonebot/kaa/sprites/b6f57baa-1d05-464f-81c9-0014063d6656.png → /kaa/sprites/d17f66dc-b4c5-4227-9e29-ec202cc2b1fe.png +0 -0
- /kotonebot/kaa/sprites/640826ef-c7cf-494c-888a-b151ef418531.png → /kaa/sprites/d24d63c1-10ea-479f-868c-8e2d6936900a.png +0 -0
- {kotonebot/kaa → kaa}/sprites/d271a24f-efe8-424d-8fd5-f6b3756ba4ca.png +0 -0
- {kotonebot/kaa → kaa}/sprites/d3424d31-0502-4623-996e-f0194e5085ce.png +0 -0
- /kotonebot/kaa/sprites/a7f4d9cb-d0ee-4abd-b9fa-148c059c7a0f.png → /kaa/sprites/d3c2a7a6-802d-407c-bc5b-aca5bb1741fa.png +0 -0
- {kotonebot/kaa → kaa}/sprites/d3cc3323-51af-4882-ae12-49e7384b746d.png +0 -0
- /kotonebot/kaa/sprites/37686733-d013-4580-b255-6db73142c0f6.png → /kaa/sprites/d4941156-d2c4-4bad-9e42-80e2c409640b.png +0 -0
- {kotonebot/kaa → kaa}/sprites/d6b64759-26b7-45b1-bf8e-5c0d98611e0d.png +0 -0
- {kotonebot/kaa → kaa}/sprites/d7667903-7149-4f2f-9c15-d8a4b5f4d347.png +0 -0
- {kotonebot/kaa → kaa}/sprites/d83f338d-dde3-494b-9bea-cae511e3517c.png +0 -0
- /kotonebot/kaa/sprites/46abcf20-513c-4759-9976-eaab68be7f8f.png → /kaa/sprites/d8a19204-b2bd-430b-83d5-005e8cd08d20.png +0 -0
- /kotonebot/kaa/sprites/8fad2402-594e-4466-927a-1f83139d7edf.png → /kaa/sprites/d9620175-115f-4a7e-9a8b-0728bd464929.png +0 -0
- {kotonebot/kaa → kaa}/sprites/d982d2b5-4bc0-4ae9-a516-f29c2848d64b.png +0 -0
- /kotonebot/kaa/sprites/814da106-1756-4bce-9140-d2730b635e7e.png → /kaa/sprites/da0f5694-01e2-4015-b7c5-e6827fe1bb51.png +0 -0
- {kotonebot/kaa → kaa}/sprites/da439e8c-3b74-4371-9657-0736d826c7d1.png +0 -0
- {kotonebot/kaa → kaa}/sprites/daf3d823-b7f1-4584-acf3-90b9d880332c.png +0 -0
- {kotonebot/kaa → kaa}/sprites/db7d3f03-1f7f-43bf-8125-f7c2d345fca2.png +0 -0
- /kotonebot/kaa/sprites/5661e7a0-9513-4bb6-9549-87b7ad871a0d.png → /kaa/sprites/dbfd0dd6-abeb-4fd0-a072-e6319a9e0981.png +0 -0
- {kotonebot/kaa → kaa}/sprites/de325534-3fd3-480a-9eb8-eb47960a753a.png +0 -0
- /kotonebot/kaa/sprites/5af6d58e-52c5-47fd-8ea5-c2fa8bb67e99.png → /kaa/sprites/deae7249-6fea-4059-b8fd-6fdd8836b17c.png +0 -0
- {kotonebot/kaa → kaa}/sprites/df991b42-ed8e-4f2c-bf0c-aa7522f147b6.png +0 -0
- /kotonebot/kaa/sprites/88456f07-23f0-48f7-ac81-206312717095.png → /kaa/sprites/e153cfbb-1a2e-4f66-a884-e110c0a83d53.png +0 -0
- /kotonebot/kaa/sprites/6e314b73-5ff5-4aa9-9dc3-1ebf28a578a7.png → /kaa/sprites/e2e253b8-0536-41ef-9982-292dc4a2fbc3.png +0 -0
- {kotonebot/kaa → kaa}/sprites/e4683def-8d1d-472b-a5ab-bb3885c0c98e.png +0 -0
- /kotonebot/kaa/sprites/2af71658-11c3-4c34-b604-003fb8a6a542.png → /kaa/sprites/e5cec3e1-aa3c-4c73-880c-2341d22c68ce.png +0 -0
- /kotonebot/kaa/sprites/71841087-2d73-4726-943a-c784df0b0d2d.png → /kaa/sprites/e5da45b7-2315-49c0-ba97-58d82e139ff5.png +0 -0
- {kotonebot/kaa → kaa}/sprites/e5e84f9e-28da-4cf4-bcba-c9145fe39b07.png +0 -0
- {kotonebot/kaa → kaa}/sprites/e6b45405-cd9f-4c6e-a9f1-6ec953747c65.png +0 -0
- {kotonebot/kaa → kaa}/sprites/e88c9ad1-ec37-4fcd-b086-862e1e7ce8fd.png +0 -0
- {kotonebot/kaa → kaa}/sprites/e9ee330d-dfca-440e-8b8c-0a3b4e8c8730.png +0 -0
- {kotonebot/kaa → kaa}/sprites/ea1ba124-9cb3-4427-969a-bacd47e7d920.png +0 -0
- /kotonebot/kaa/sprites/c32068c9-6e52-4176-98de-fd4d252969dd.png → /kaa/sprites/ea3e0843-df72-4dda-a933-7647c2ca356b.png +0 -0
- /kotonebot/kaa/sprites/9d87795b-c322-49c6-a9c9-6064828a55a2.png → /kaa/sprites/ea4f97d8-cc07-425b-a594-1ee698d257ec.png +0 -0
- {kotonebot/kaa → kaa}/sprites/eaba6ebe-f0df-4918-aee5-ef4e3ffedcf0.png +0 -0
- /kotonebot/kaa/sprites/4999097e-2f8b-4965-9e7e-cb9801f8ed0e.png → /kaa/sprites/eb9a68bf-624e-4faa-ae44-c5aafa1156e9.png +0 -0
- /kotonebot/kaa/sprites/b80cec57-1d9c-4e40-a4d2-df1e1b1546d3.png → /kaa/sprites/eda4839f-5487-4444-ac64-216d94b33d0e.png +0 -0
- {kotonebot/kaa → kaa}/sprites/ee4e512b-4982-49b6-9c71-31984b58e1d0.png +0 -0
- {kotonebot/kaa → kaa}/sprites/eef25cf9-afd0-43b1-b9c5-fbd997bd5fe0.png +0 -0
- /kotonebot/kaa/sprites/4fa138a2-4f39-4023-afd4-af5be7df662b.png → /kaa/sprites/f03a8a47-9ae8-48b3-ae2c-8df04d9a9ea9.png +0 -0
- /kotonebot/kaa/sprites/ef601e20-dc47-4c70-a251-4238fde74d49.png → /kaa/sprites/f0cbde7d-157d-4964-811f-bd8491946ad4.png +0 -0
- /kotonebot/kaa/sprites/9ac47ce9-2594-4740-ba70-c61f97c0f992.png → /kaa/sprites/f0dcbc16-20ed-4852-bfe2-5ad0b1df5380.png +0 -0
- {kotonebot/kaa → kaa}/sprites/f1f21925-3e22-4dd1-b53b-bb52bcf26c2b.png +0 -0
- /kotonebot/kaa/sprites/cc65d34b-b220-451e-a18e-66b05b911e97.png → /kaa/sprites/f34d2983-c306-4b26-be19-c8aceb41879c.png +0 -0
- {kotonebot/kaa → kaa}/sprites/f43c313b-8a7b-467b-8442-fc5bcb8b4388.png +0 -0
- /kotonebot/kaa/sprites/0bab5a6b-631c-4661-8035-50a03299bd08.png → /kaa/sprites/f4684588-dae3-4a18-ba44-153f37339652.png +0 -0
- {kotonebot/kaa → kaa}/sprites/f5c16d2f-ebc5-4617-9b96-971696af7c52.png +0 -0
- /kotonebot/kaa/sprites/184e517f-f37f-4cc8-ac49-6858025903ee.png → /kaa/sprites/f5db23dd-9ba4-4dac-bf7d-fe6f6593d464.png +0 -0
- /kotonebot/kaa/sprites/c48df972-98fd-4303-99df-9374f542beda.png → /kaa/sprites/f6a458d4-453d-404a-b37d-3ecd1f4ec9ca.png +0 -0
- {kotonebot/kaa → kaa}/sprites/f6ca6bd3-543f-4779-8367-c5c883f04b95.png +0 -0
- /kotonebot/kaa/sprites/649f1c6d-03f8-4e84-87a7-b3418bdb9f61.png → /kaa/sprites/fa841e1c-c2b0-47f9-aff2-6a2accfaccb1.png +0 -0
- {kotonebot/kaa → kaa}/sprites/fad5eec2-5fd5-412f-9abb-987a3087dc54.png +0 -0
- /kotonebot/kaa/sprites/180168f7-9ead-4ce3-9cd9-b1960d649e5c.png → /kaa/sprites/fd242e23-dc69-45a0-94ee-53172f793687.png +0 -0
- /kotonebot/kaa/sprites/cca278bb-88cb-4898-8bbe-f52a49a0f740.png → /kaa/sprites/ff692c66-7c5c-4105-a456-789f8d78cd88.png +0 -0
- /kotonebot/kaa/sprites/f68eb4f1-b30b-43fc-8a24-11394cc759d2.png → /kaa/sprites/ff86b3e5-e0e8-46c6-a645-e7ff10c32baf.png +0 -0
- {kotonebot/kaa → kaa/tasks}/__init__.py +0 -0
- {kotonebot/kaa/resources → kaa/tasks/actions}/__init__.py +0 -0
- {kotonebot/kaa → kaa}/tasks/clear_logs.py +0 -0
- {kotonebot/kaa/sprites → kaa/tasks/daily}/__init__.py +0 -0
- {kotonebot/kaa/tasks → kaa/tasks/produce}/__init__.py +0 -0
- {kotonebot/kaa → kaa}/util/trace.py +0 -0
- {ksaa-2025.8.23.1.dist-info → ksaa-2025.9b2.dist-info}/WHEEL +0 -0
- {ksaa-2025.8.23.1.dist-info → ksaa-2025.9b2.dist-info}/licenses/LICENSE +0 -0
|
@@ -16,7 +16,7 @@ with suppress(ImportError):
|
|
|
16
16
|
import win32con # type: ignore
|
|
17
17
|
|
|
18
18
|
from kotonebot.backend.context.context import vars
|
|
19
|
-
from
|
|
19
|
+
from kaa.config.schema import IdleModeConfig
|
|
20
20
|
|
|
21
21
|
logger = logging.getLogger(__name__)
|
|
22
22
|
|
{kotonebot/kaa → kaa}/common.py
RENAMED
|
@@ -11,7 +11,7 @@ from pydantic import BaseModel, ConfigDict
|
|
|
11
11
|
# TODO: from kotonebot import config (context) 会和 kotonebot.config 冲突
|
|
12
12
|
from kotonebot import logging
|
|
13
13
|
from kotonebot.backend.context import config
|
|
14
|
-
from
|
|
14
|
+
from kaa.config.schema import BaseConfig
|
|
15
15
|
|
|
16
16
|
logger = logging.getLogger(__name__)
|
|
17
17
|
|
|
@@ -19,4 +19,4 @@ def sprite_path(path: str) -> str:
|
|
|
19
19
|
standalone = os.path.join('kotonebot/kaa/sprites', path)
|
|
20
20
|
if os.path.exists(standalone):
|
|
21
21
|
return standalone
|
|
22
|
-
return str(resources.files('
|
|
22
|
+
return str(resources.files('kaa.sprites') / path)
|
|
@@ -156,7 +156,7 @@ class DailyMoneyShopItems(IntEnum):
|
|
|
156
156
|
return [(cls.to_ui_text(item), item) for item in cls if cls._is_note(item)]
|
|
157
157
|
|
|
158
158
|
def to_resource(self):
|
|
159
|
-
from
|
|
159
|
+
from kaa.tasks import R
|
|
160
160
|
match self:
|
|
161
161
|
case DailyMoneyShopItems.Recommendations:
|
|
162
162
|
return R.Daily.TextShopRecommended
|
|
@@ -6,7 +6,7 @@ import logging
|
|
|
6
6
|
from typing import Literal
|
|
7
7
|
from pydantic import BaseModel, ConfigDict, ValidationError, field_serializer, field_validator
|
|
8
8
|
|
|
9
|
-
from
|
|
9
|
+
from kaa.errors import ProduceSolutionInvalidError, ProduceSolutionNotFoundError
|
|
10
10
|
|
|
11
11
|
from .const import ProduceAction, RecommendCardDetectionMode
|
|
12
12
|
|
|
@@ -2,7 +2,7 @@ from typing import TypeVar, Literal, Sequence
|
|
|
2
2
|
from pydantic import BaseModel, ConfigDict
|
|
3
3
|
|
|
4
4
|
from kotonebot import config
|
|
5
|
-
from
|
|
5
|
+
from kaa.config.produce import ProduceSolution, ProduceSolutionManager
|
|
6
6
|
from .const import (
|
|
7
7
|
ConfigEnum,
|
|
8
8
|
Priority,
|
|
@@ -75,6 +75,8 @@ class ProduceConfig(ConfigBaseModel):
|
|
|
75
75
|
"""选中的培育方案ID"""
|
|
76
76
|
produce_count: int = 1
|
|
77
77
|
"""培育的次数。"""
|
|
78
|
+
produce_timeout_cd: int = 60
|
|
79
|
+
"""推荐卡检测用时上限;若超时,则随机选择卡片打出。单位为秒,最少为20sec,DMM用户可以设置为30sec"""
|
|
78
80
|
|
|
79
81
|
class MissionRewardConfig(ConfigBaseModel):
|
|
80
82
|
enabled: bool = False
|
|
@@ -179,6 +181,13 @@ class MiscConfig(ConfigBaseModel):
|
|
|
179
181
|
|
|
180
182
|
启用后,局域网内的其他设备可以通过本机 IP 地址访问 Web 界面。
|
|
181
183
|
"""
|
|
184
|
+
update_channel: Literal['release', 'beta'] = 'release'
|
|
185
|
+
"""
|
|
186
|
+
更新通道。
|
|
187
|
+
|
|
188
|
+
* release: 只使用稳定版。
|
|
189
|
+
* beta: 包含预发布版本(如 alpha/beta/rc)。
|
|
190
|
+
"""
|
|
182
191
|
|
|
183
192
|
class IdleModeConfig(ConfigBaseModel):
|
|
184
193
|
enabled: bool = False
|
{kotonebot/kaa → kaa}/errors.py
RENAMED
|
@@ -50,3 +50,10 @@ class LauncherNotFoundError(KaaUserFriendlyError):
|
|
|
50
50
|
'未找到启动器「kaa.exe」,请确认是否正确放置在根目录。',
|
|
51
51
|
'https://kdocs.cn/l/cetCY8mGKHLj?linkname=jpzb09rLTS'
|
|
52
52
|
)
|
|
53
|
+
|
|
54
|
+
class ElevationRequiredError(KaaUserFriendlyError):
|
|
55
|
+
def __init__(self):
|
|
56
|
+
super().__init__(
|
|
57
|
+
'请以管理员身份运行 kaa。',
|
|
58
|
+
'https://www.kdocs.cn/l/cetCY8mGKHLj?linkname=qOqulS4KeX'
|
|
59
|
+
)
|
|
@@ -5,13 +5,13 @@ import cv2
|
|
|
5
5
|
import numpy as np
|
|
6
6
|
from cv2.typing import MatLike
|
|
7
7
|
|
|
8
|
-
from
|
|
9
|
-
from
|
|
8
|
+
from kaa.tasks import R
|
|
9
|
+
from kaa.util import paths
|
|
10
10
|
from kotonebot.primitives import RectTuple, Rect
|
|
11
|
-
from
|
|
11
|
+
from kaa.game_ui import Scrollable
|
|
12
12
|
from kotonebot import device, action
|
|
13
13
|
from kotonebot.util import cv2_imread
|
|
14
|
-
from
|
|
14
|
+
from kaa.image_db import ImageDatabase, HistDescriptor, FileDataSource, DatabaseQueryResult
|
|
15
15
|
from kotonebot.backend.preprocessor import HsvColorsRemover
|
|
16
16
|
|
|
17
17
|
logger = logging.getLogger(__name__)
|
|
@@ -6,8 +6,8 @@ from cv2.typing import MatLike
|
|
|
6
6
|
from kotonebot.primitives import Rect
|
|
7
7
|
from kotonebot import ocr, device, image, action
|
|
8
8
|
from kotonebot.backend.core import HintBox
|
|
9
|
-
from
|
|
10
|
-
from
|
|
9
|
+
from kaa.config import ProduceAction
|
|
10
|
+
from kaa.tasks import R
|
|
11
11
|
|
|
12
12
|
logger = logging.getLogger(__name__)
|
|
13
13
|
|
|
@@ -189,9 +189,10 @@ class Scrollable:
|
|
|
189
189
|
if self.scrollbar_rect is None:
|
|
190
190
|
logger.warning('Unable to find scrollbar. (1)')
|
|
191
191
|
return False
|
|
192
|
-
logger.debug('Scrollbar rect found.')
|
|
193
192
|
|
|
194
193
|
x, y, w, h = self.scrollbar_rect.xywh
|
|
194
|
+
logger.debug(f'Scrollbar rect found. x/y/w/h: {x}/{y}/{w}/{h}')
|
|
195
|
+
|
|
195
196
|
scroll_img = img[y:y+h, x:x+w]
|
|
196
197
|
# 灰度、二值化
|
|
197
198
|
gray = cv2.cvtColor(scroll_img, cv2.COLOR_BGR2GRAY)
|
|
@@ -201,10 +202,10 @@ class Scrollable:
|
|
|
201
202
|
# 计算滚动位置
|
|
202
203
|
positions = np.where(binary == 0)[0]
|
|
203
204
|
if len(positions) > 0:
|
|
204
|
-
self.track_position = (int(x), int(y))
|
|
205
|
+
self.track_position = (int(x + w / 2), int(y))
|
|
205
206
|
self.track_height = int(h)
|
|
206
207
|
self.thumb_height = int(positions[-1] - positions[0])
|
|
207
|
-
self.thumb_position = (int(x), int(y + positions[0]))
|
|
208
|
+
self.thumb_position = (int(x + w / 2), int(y + positions[0]))
|
|
208
209
|
self.position = float(positions[-1] / h)
|
|
209
210
|
self.page_count = int(h / self.thumb_height)
|
|
210
211
|
logger.debug(f'Scrollbar height: {self.thumb_height}, position: {self.position}')
|
|
@@ -167,7 +167,7 @@ class ImageDatabase:
|
|
|
167
167
|
|
|
168
168
|
|
|
169
169
|
if __name__ == '__main__':
|
|
170
|
-
from
|
|
170
|
+
from kaa.image_db.db import Db
|
|
171
171
|
logging.basicConfig(level=logging.DEBUG, format='[%(asctime)s] [%(levelname)s] [%(name)s] [%(funcName)s] [%(lineno)d] %(message)s')
|
|
172
172
|
imgs_path = r'E:\GithubRepos\KotonesAutoAssistant.worktrees\dev\kotonebot\tasks\resources\idol_cards'
|
|
173
173
|
needle_path = r'D:\05.png'
|
{kotonebot/kaa → kaa}/main/gr.py
RENAMED
|
@@ -14,25 +14,25 @@ from typing import List, Dict, Tuple, Literal, Generator, Callable, Any, get_arg
|
|
|
14
14
|
import cv2
|
|
15
15
|
import gradio as gr
|
|
16
16
|
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
17
|
+
from kaa.errors import ProduceSolutionNotFoundError
|
|
18
|
+
from kaa.main import Kaa
|
|
19
|
+
from kaa.db import IdolCard
|
|
20
20
|
from kotonebot.backend.context.context import vars
|
|
21
21
|
from kotonebot.errors import ContextNotInitializedError
|
|
22
22
|
from kotonebot.client.host import Mumu12Host, LeidianHost
|
|
23
23
|
from kotonebot.config.manager import load_config, save_config
|
|
24
24
|
from kotonebot.config.base_config import UserConfig, BackendConfig
|
|
25
25
|
from kotonebot.backend.context import task_registry, ContextStackVars
|
|
26
|
-
from
|
|
26
|
+
from kaa.config import (
|
|
27
27
|
BaseConfig, APShopItems, CapsuleToysConfig, ClubRewardConfig, PurchaseConfig, ActivityFundsConfig,
|
|
28
28
|
PresentsConfig, AssignmentConfig, ContestConfig, ProduceConfig,
|
|
29
29
|
MissionRewardConfig, DailyMoneyShopItems, ProduceAction,
|
|
30
30
|
RecommendCardDetectionMode, TraceConfig, StartGameConfig, EndGameConfig, UpgradeSupportCardConfig, MiscConfig,
|
|
31
31
|
IdleModeConfig,
|
|
32
32
|
)
|
|
33
|
-
from
|
|
34
|
-
from
|
|
35
|
-
from
|
|
33
|
+
from kaa.config.produce import ProduceSolution, ProduceSolutionManager, ProduceData
|
|
34
|
+
from kaa.application.adapter.misc_adapter import create_desktop_shortcut
|
|
35
|
+
from kaa.application.core.idle_mode import IdleModeManager
|
|
36
36
|
|
|
37
37
|
logger = logging.getLogger(__name__)
|
|
38
38
|
GradioInput = gr.Textbox | gr.Number | gr.Checkbox | gr.Dropdown | gr.Radio | gr.Slider | gr.Tabs | gr.Tab
|
|
@@ -58,7 +58,7 @@ ConfigKey = Literal[
|
|
|
58
58
|
'select_which_contestant', 'when_no_set',
|
|
59
59
|
|
|
60
60
|
# produce
|
|
61
|
-
'produce_enabled', 'selected_solution_id', 'produce_count',
|
|
61
|
+
'produce_enabled', 'selected_solution_id', 'produce_count', 'produce_timeout_cd',
|
|
62
62
|
'mission_reward_enabled',
|
|
63
63
|
|
|
64
64
|
# club reward
|
|
@@ -91,7 +91,7 @@ ConfigKey = Literal[
|
|
|
91
91
|
'trace_recommend_card_detection',
|
|
92
92
|
|
|
93
93
|
# misc
|
|
94
|
-
'check_update', 'auto_install_update', 'expose_to_lan',
|
|
94
|
+
'check_update', 'auto_install_update', 'expose_to_lan', 'update_channel',
|
|
95
95
|
|
|
96
96
|
# idle
|
|
97
97
|
'idle_enabled', 'idle_seconds', 'idle_minimize_on_pause',
|
|
@@ -233,10 +233,22 @@ class KotoneBotUI:
|
|
|
233
233
|
self.is_single_task_stopping: bool = False # 新增:标记单个任务是否正在停止
|
|
234
234
|
self._kaa = kaa
|
|
235
235
|
self._load_config()
|
|
236
|
-
#
|
|
236
|
+
# IdleModeManager 空闲检测
|
|
237
|
+
def safe_get_is_running():
|
|
238
|
+
try:
|
|
239
|
+
return (self.is_running or self.single_task_running) and not self.is_stopping and not self.is_single_task_stopping and not vars.flow.is_paused
|
|
240
|
+
except ContextNotInitializedError:
|
|
241
|
+
return False
|
|
242
|
+
|
|
243
|
+
def safe_get_is_paused():
|
|
244
|
+
try:
|
|
245
|
+
return vars.flow.is_paused
|
|
246
|
+
except ContextNotInitializedError:
|
|
247
|
+
return False
|
|
248
|
+
|
|
237
249
|
self.idle_mgr = IdleModeManager(
|
|
238
|
-
get_is_running=
|
|
239
|
-
get_is_paused=
|
|
250
|
+
get_is_running=safe_get_is_running,
|
|
251
|
+
get_is_paused=safe_get_is_paused,
|
|
240
252
|
get_config=lambda: self.current_config.options.idle,
|
|
241
253
|
)
|
|
242
254
|
self._setup_kaa()
|
|
@@ -518,6 +530,13 @@ class KotoneBotUI:
|
|
|
518
530
|
|
|
519
531
|
# 快速设置控制区域
|
|
520
532
|
gr.Markdown("### 快速设置")
|
|
533
|
+
|
|
534
|
+
with gr.Row():
|
|
535
|
+
select_all_btn = gr.Button("全选", scale=1)
|
|
536
|
+
unselect_all_btn = gr.Button("清空", scale=1)
|
|
537
|
+
select_produce_only_btn = gr.Button("只选培育", scale=1)
|
|
538
|
+
unselect_produce_only_btn = gr.Button("只不选培育", scale=1)
|
|
539
|
+
|
|
521
540
|
with gr.Row(elem_classes=["quick-controls-row"]):
|
|
522
541
|
purchase_quick = gr.Checkbox(
|
|
523
542
|
label="商店",
|
|
@@ -612,6 +631,8 @@ class KotoneBotUI:
|
|
|
612
631
|
label="任务状态"
|
|
613
632
|
)
|
|
614
633
|
|
|
634
|
+
# MARK: 状态 - 监听函数
|
|
635
|
+
|
|
615
636
|
def on_run_click(evt: gr.EventData) -> Tuple[gr.Button, List[List[str]]]:
|
|
616
637
|
result = self.toggle_run()
|
|
617
638
|
# 如果正在停止,禁用按钮
|
|
@@ -623,43 +644,66 @@ class KotoneBotUI:
|
|
|
623
644
|
return self.toggle_pause()
|
|
624
645
|
|
|
625
646
|
# 快速设置控制的事件处理函数
|
|
626
|
-
def save_quick_setting(
|
|
647
|
+
def save_quick_setting(success_msg: str, failed_msg: str):
|
|
627
648
|
"""保存快速设置并立即应用"""
|
|
628
649
|
try:
|
|
629
|
-
# 更新配置
|
|
630
|
-
if field_name == 'purchase':
|
|
631
|
-
self.current_config.options.purchase.enabled = value
|
|
632
|
-
elif field_name == 'assignment':
|
|
633
|
-
self.current_config.options.assignment.enabled = value
|
|
634
|
-
elif field_name == 'contest':
|
|
635
|
-
self.current_config.options.contest.enabled = value
|
|
636
|
-
elif field_name == 'produce':
|
|
637
|
-
self.current_config.options.produce.enabled = value
|
|
638
|
-
elif field_name == 'mission_reward':
|
|
639
|
-
self.current_config.options.mission_reward.enabled = value
|
|
640
|
-
elif field_name == 'club_reward':
|
|
641
|
-
self.current_config.options.club_reward.enabled = value
|
|
642
|
-
elif field_name == 'activity_funds':
|
|
643
|
-
self.current_config.options.activity_funds.enabled = value
|
|
644
|
-
elif field_name == 'presents':
|
|
645
|
-
self.current_config.options.presents.enabled = value
|
|
646
|
-
elif field_name == 'capsule_toys':
|
|
647
|
-
self.current_config.options.capsule_toys.enabled = value
|
|
648
|
-
elif field_name == 'upgrade_support_card':
|
|
649
|
-
self.current_config.options.upgrade_support_card.enabled = value
|
|
650
|
-
elif field_name == 'start_game':
|
|
651
|
-
self.current_config.options.start_game.enabled = value
|
|
652
|
-
|
|
653
650
|
# 保存配置
|
|
654
651
|
save_config(self.config, "config.json")
|
|
655
652
|
|
|
656
653
|
# 尝试热重载配置
|
|
657
654
|
if self.reload_config():
|
|
658
|
-
gr.Success(
|
|
655
|
+
gr.Success(success_msg)
|
|
659
656
|
else:
|
|
660
|
-
gr.Warning(
|
|
657
|
+
gr.Warning(failed_msg)
|
|
661
658
|
except Exception as e:
|
|
662
659
|
gr.Error(f"✗ 保存失败:{str(e)}")
|
|
660
|
+
|
|
661
|
+
def update_and_save_quick_setting(field_name: str, value: bool, display_name: str):
|
|
662
|
+
"""更新字段,并保存快速设置并立即应用"""
|
|
663
|
+
|
|
664
|
+
# 更新配置
|
|
665
|
+
if field_name == 'purchase':
|
|
666
|
+
self.current_config.options.purchase.enabled = value
|
|
667
|
+
elif field_name == 'assignment':
|
|
668
|
+
self.current_config.options.assignment.enabled = value
|
|
669
|
+
elif field_name == 'contest':
|
|
670
|
+
self.current_config.options.contest.enabled = value
|
|
671
|
+
elif field_name == 'produce':
|
|
672
|
+
self.current_config.options.produce.enabled = value
|
|
673
|
+
elif field_name == 'mission_reward':
|
|
674
|
+
self.current_config.options.mission_reward.enabled = value
|
|
675
|
+
elif field_name == 'club_reward':
|
|
676
|
+
self.current_config.options.club_reward.enabled = value
|
|
677
|
+
elif field_name == 'activity_funds':
|
|
678
|
+
self.current_config.options.activity_funds.enabled = value
|
|
679
|
+
elif field_name == 'presents':
|
|
680
|
+
self.current_config.options.presents.enabled = value
|
|
681
|
+
elif field_name == 'capsule_toys':
|
|
682
|
+
self.current_config.options.capsule_toys.enabled = value
|
|
683
|
+
elif field_name == 'upgrade_support_card':
|
|
684
|
+
self.current_config.options.upgrade_support_card.enabled = value
|
|
685
|
+
|
|
686
|
+
# 保存并重载配置
|
|
687
|
+
save_quick_setting(
|
|
688
|
+
f"✓ {display_name} 已{'启用' if value else '禁用'}",
|
|
689
|
+
f"⚠ {display_name} 已保存,但重新加载失败"
|
|
690
|
+
)
|
|
691
|
+
|
|
692
|
+
def batch_select(default: bool, produce_only: bool, success_msg: str) -> None:
|
|
693
|
+
self.current_config.options.purchase.enabled = default
|
|
694
|
+
self.current_config.options.assignment.enabled = default
|
|
695
|
+
self.current_config.options.contest.enabled = default
|
|
696
|
+
self.current_config.options.produce.enabled = produce_only
|
|
697
|
+
self.current_config.options.mission_reward.enabled = default
|
|
698
|
+
self.current_config.options.club_reward.enabled = default
|
|
699
|
+
self.current_config.options.activity_funds.enabled = default
|
|
700
|
+
self.current_config.options.presents.enabled = default
|
|
701
|
+
self.current_config.options.capsule_toys.enabled = default
|
|
702
|
+
self.current_config.options.upgrade_support_card.enabled = default
|
|
703
|
+
|
|
704
|
+
save_quick_setting(success_msg, f"⚠ 数据已保存,但重新加载失败")
|
|
705
|
+
|
|
706
|
+
# MARK: 状态 - UI回调函数
|
|
663
707
|
|
|
664
708
|
run_btn.click(
|
|
665
709
|
fn=on_run_click,
|
|
@@ -671,45 +715,67 @@ class KotoneBotUI:
|
|
|
671
715
|
outputs=[pause_btn]
|
|
672
716
|
)
|
|
673
717
|
|
|
718
|
+
select_all_btn.click(
|
|
719
|
+
fn=lambda: batch_select(True, True, f"✓ 全选成功"),
|
|
720
|
+
outputs=[]
|
|
721
|
+
)
|
|
722
|
+
|
|
723
|
+
unselect_all_btn.click(
|
|
724
|
+
fn=lambda: batch_select(False, False, f"✓ 清空成功"),
|
|
725
|
+
outputs=[]
|
|
726
|
+
)
|
|
727
|
+
|
|
728
|
+
select_produce_only_btn.click(
|
|
729
|
+
fn=lambda: batch_select(False, True, f"✓ 只选培育成功"),
|
|
730
|
+
outputs=[]
|
|
731
|
+
)
|
|
732
|
+
|
|
733
|
+
unselect_produce_only_btn.click(
|
|
734
|
+
fn=lambda: batch_select(True, False, f"✓ 只不选培育成功"),
|
|
735
|
+
outputs=[]
|
|
736
|
+
)
|
|
737
|
+
|
|
674
738
|
# 绑定快速设置控制的事件
|
|
675
|
-
|
|
676
|
-
|
|
739
|
+
|
|
740
|
+
# 以下回调函数均由.change修改为.input,这样回调函数就只会在用户操作时触发,避免全选功能导致反复触发
|
|
741
|
+
purchase_quick.input(
|
|
742
|
+
fn=lambda x: update_and_save_quick_setting('purchase', x, '商店'),
|
|
677
743
|
inputs=[purchase_quick]
|
|
678
744
|
)
|
|
679
|
-
assignment_quick.
|
|
680
|
-
fn=lambda x:
|
|
745
|
+
assignment_quick.input(
|
|
746
|
+
fn=lambda x: update_and_save_quick_setting('assignment', x, '工作'),
|
|
681
747
|
inputs=[assignment_quick]
|
|
682
748
|
)
|
|
683
|
-
contest_quick.
|
|
684
|
-
fn=lambda x:
|
|
749
|
+
contest_quick.input(
|
|
750
|
+
fn=lambda x: update_and_save_quick_setting('contest', x, '竞赛'),
|
|
685
751
|
inputs=[contest_quick]
|
|
686
752
|
)
|
|
687
|
-
produce_quick.
|
|
688
|
-
fn=lambda x:
|
|
753
|
+
produce_quick.input(
|
|
754
|
+
fn=lambda x: update_and_save_quick_setting('produce', x, '培育'),
|
|
689
755
|
inputs=[produce_quick]
|
|
690
756
|
)
|
|
691
|
-
mission_reward_quick.
|
|
692
|
-
fn=lambda x:
|
|
757
|
+
mission_reward_quick.input(
|
|
758
|
+
fn=lambda x: update_and_save_quick_setting('mission_reward', x, '任务奖励'),
|
|
693
759
|
inputs=[mission_reward_quick]
|
|
694
760
|
)
|
|
695
|
-
club_reward_quick.
|
|
696
|
-
fn=lambda x:
|
|
761
|
+
club_reward_quick.input(
|
|
762
|
+
fn=lambda x: update_and_save_quick_setting('club_reward', x, '社团奖励'),
|
|
697
763
|
inputs=[club_reward_quick]
|
|
698
764
|
)
|
|
699
|
-
activity_funds_quick.
|
|
700
|
-
fn=lambda x:
|
|
765
|
+
activity_funds_quick.input(
|
|
766
|
+
fn=lambda x: update_and_save_quick_setting('activity_funds', x, '活动费'),
|
|
701
767
|
inputs=[activity_funds_quick]
|
|
702
768
|
)
|
|
703
|
-
presents_quick.
|
|
704
|
-
fn=lambda x:
|
|
769
|
+
presents_quick.input(
|
|
770
|
+
fn=lambda x: update_and_save_quick_setting('presents', x, '礼物'),
|
|
705
771
|
inputs=[presents_quick]
|
|
706
772
|
)
|
|
707
|
-
capsule_toys_quick.
|
|
708
|
-
fn=lambda x:
|
|
773
|
+
capsule_toys_quick.input(
|
|
774
|
+
fn=lambda x: update_and_save_quick_setting('capsule_toys', x, '扭蛋'),
|
|
709
775
|
inputs=[capsule_toys_quick]
|
|
710
776
|
)
|
|
711
|
-
upgrade_support_card_quick.
|
|
712
|
-
fn=lambda x:
|
|
777
|
+
upgrade_support_card_quick.input(
|
|
778
|
+
fn=lambda x: update_and_save_quick_setting('upgrade_support_card', x, '支援卡升级'),
|
|
713
779
|
inputs=[upgrade_support_card_quick]
|
|
714
780
|
)
|
|
715
781
|
|
|
@@ -1351,6 +1417,14 @@ class KotoneBotUI:
|
|
|
1351
1417
|
info=ProduceConfig.model_fields['produce_count'].description
|
|
1352
1418
|
)
|
|
1353
1419
|
|
|
1420
|
+
produce_timeout_cd = gr.Number(
|
|
1421
|
+
minimum=20,
|
|
1422
|
+
value=self.current_config.options.produce.produce_timeout_cd,
|
|
1423
|
+
label="推荐卡检测用时上限",
|
|
1424
|
+
interactive=True,
|
|
1425
|
+
info=ProduceConfig.model_fields['produce_timeout_cd'].description
|
|
1426
|
+
)
|
|
1427
|
+
|
|
1354
1428
|
# 绑定启用状态变化事件
|
|
1355
1429
|
def on_produce_enabled_change(enabled):
|
|
1356
1430
|
return gr.Group(visible=enabled)
|
|
@@ -1368,11 +1442,13 @@ class KotoneBotUI:
|
|
|
1368
1442
|
config.produce.enabled = data['produce_enabled']
|
|
1369
1443
|
config.produce.selected_solution_id = data.get('selected_solution_id')
|
|
1370
1444
|
config.produce.produce_count = data.get('produce_count', 1)
|
|
1445
|
+
config.produce.produce_timeout_cd = data.get('produce_timeout_cd', 60)
|
|
1371
1446
|
|
|
1372
1447
|
return set_config, {
|
|
1373
1448
|
'produce_enabled': produce_enabled,
|
|
1374
1449
|
'selected_solution_id': solution_dropdown,
|
|
1375
|
-
'produce_count': produce_count
|
|
1450
|
+
'produce_count': produce_count,
|
|
1451
|
+
'produce_timeout_cd': produce_timeout_cd
|
|
1376
1452
|
}
|
|
1377
1453
|
|
|
1378
1454
|
|
|
@@ -1504,7 +1580,7 @@ class KotoneBotUI:
|
|
|
1504
1580
|
(RecommendCardDetectionMode.STRICT.display_name, RecommendCardDetectionMode.STRICT.value)
|
|
1505
1581
|
],
|
|
1506
1582
|
label="推荐卡检测模式",
|
|
1507
|
-
info="
|
|
1583
|
+
info="推荐卡检测模式。严格模式下,识别速度会降低,但识别准确率会提高。推荐Kotone使用严格模式,其他角色使用正常模式。",
|
|
1508
1584
|
visible=False
|
|
1509
1585
|
)
|
|
1510
1586
|
use_ap_drink = gr.Checkbox(
|
|
@@ -1633,7 +1709,7 @@ class KotoneBotUI:
|
|
|
1633
1709
|
],
|
|
1634
1710
|
value=current_solution.data.recommend_card_detection_mode.value,
|
|
1635
1711
|
label="推荐卡检测模式",
|
|
1636
|
-
info="
|
|
1712
|
+
info="推荐卡检测模式。严格模式下,识别速度会降低,但识别准确率会提高。推荐Kotone使用严格模式,其他角色使用正常模式。"
|
|
1637
1713
|
)
|
|
1638
1714
|
use_ap_drink = gr.Checkbox(
|
|
1639
1715
|
label="AP 不足时自动使用 AP 饮料",
|
|
@@ -2244,6 +2320,16 @@ class KotoneBotUI:
|
|
|
2244
2320
|
info=MiscConfig.model_fields['expose_to_lan'].description,
|
|
2245
2321
|
interactive=True
|
|
2246
2322
|
)
|
|
2323
|
+
update_channel = gr.Dropdown(
|
|
2324
|
+
choices=[
|
|
2325
|
+
("正式版", "release"),
|
|
2326
|
+
("测试版", "beta")
|
|
2327
|
+
],
|
|
2328
|
+
value=self.current_config.options.misc.update_channel,
|
|
2329
|
+
label="更新渠道",
|
|
2330
|
+
info=MiscConfig.model_fields['update_channel'].description,
|
|
2331
|
+
interactive=True
|
|
2332
|
+
)
|
|
2247
2333
|
with gr.Row():
|
|
2248
2334
|
gr.Button("创建桌面快捷方式").click(
|
|
2249
2335
|
fn=self._create_shortcut_button_click(False),
|
|
@@ -2258,11 +2344,13 @@ class KotoneBotUI:
|
|
|
2258
2344
|
config.misc.check_update = data['check_update']
|
|
2259
2345
|
config.misc.auto_install_update = data['auto_install_update']
|
|
2260
2346
|
config.misc.expose_to_lan = data['expose_to_lan']
|
|
2347
|
+
config.misc.update_channel = data['update_channel']
|
|
2261
2348
|
|
|
2262
2349
|
return set_config, {
|
|
2263
2350
|
'check_update': check_update,
|
|
2264
2351
|
'auto_install_update': auto_install_update,
|
|
2265
|
-
'expose_to_lan': expose_to_lan
|
|
2352
|
+
'expose_to_lan': expose_to_lan,
|
|
2353
|
+
'update_channel': update_channel
|
|
2266
2354
|
}
|
|
2267
2355
|
|
|
2268
2356
|
def _create_shortcut_button_click(self, start_immediately: bool) -> Callable[[], None]:
|
|
@@ -2369,9 +2457,12 @@ class KotoneBotUI:
|
|
|
2369
2457
|
# 社团奖励设置
|
|
2370
2458
|
club_reward_settings = self._create_club_reward_settings()
|
|
2371
2459
|
|
|
2372
|
-
#
|
|
2460
|
+
# 扭蛋设置
|
|
2373
2461
|
capsule_toys_settings = self._create_capsule_toys_settings()
|
|
2374
2462
|
|
|
2463
|
+
# 升级支援卡设置
|
|
2464
|
+
upgrade_support_card_settings = self._create_upgrade_support_card_settings()
|
|
2465
|
+
|
|
2375
2466
|
# 启动游戏设置
|
|
2376
2467
|
start_game_settings = self._create_start_game_settings()
|
|
2377
2468
|
|
|
@@ -2402,6 +2493,7 @@ class KotoneBotUI:
|
|
|
2402
2493
|
mission_reward_settings,
|
|
2403
2494
|
club_reward_settings,
|
|
2404
2495
|
capsule_toys_settings,
|
|
2496
|
+
upgrade_support_card_settings,
|
|
2405
2497
|
start_game_settings,
|
|
2406
2498
|
end_game_settings,
|
|
2407
2499
|
misc_settings,
|
|
@@ -2454,7 +2546,7 @@ class KotoneBotUI:
|
|
|
2454
2546
|
|
|
2455
2547
|
# 更新日志
|
|
2456
2548
|
with gr.Accordion("更新日志", open=False):
|
|
2457
|
-
from
|
|
2549
|
+
from kaa.metadata import WHATS_NEW
|
|
2458
2550
|
gr.Markdown(WHATS_NEW)
|
|
2459
2551
|
|
|
2460
2552
|
# 载入信息按钮
|
|
@@ -13,7 +13,7 @@ import cv2
|
|
|
13
13
|
|
|
14
14
|
from kotonebot.client.host.mumu12_host import MuMu12HostConfig
|
|
15
15
|
|
|
16
|
-
from
|
|
16
|
+
from kotonebot.client.device import Device
|
|
17
17
|
from kotonebot.ui import user
|
|
18
18
|
from kotonebot import KotoneBot
|
|
19
19
|
from ..util.paths import get_ahk_path
|
|
@@ -57,7 +57,7 @@ class Kaa(KotoneBot):
|
|
|
57
57
|
def __init__(self, config_path: str):
|
|
58
58
|
# 升级配置
|
|
59
59
|
upgrade_msg = upgrade_config()
|
|
60
|
-
super().__init__(module='
|
|
60
|
+
super().__init__(module='kaa.tasks', config_path=config_path, config_type=BaseConfig)
|
|
61
61
|
self.upgrade_msg = upgrade_msg
|
|
62
62
|
self.version = importlib.metadata.version('ksaa')
|
|
63
63
|
logger.info('Version: %s', self.version)
|
|
@@ -1,6 +1,61 @@
|
|
|
1
1
|
WHATS_NEW = """
|
|
2
2
|
# 更新日志
|
|
3
3
|
## kaa
|
|
4
|
+
### v2025.09b2
|
|
5
|
+
发布日期:2025-09-14
|
|
6
|
+
|
|
7
|
+
脚本:
|
|
8
|
+
* [新增] 新增培育不合格的判断,在不合格之后可以继续培育(#b9b7752)
|
|
9
|
+
* [修复] 修复培育中推荐卡检测不到并且第一张卡无法打出时,培育卡住的问题(#34b2a43)
|
|
10
|
+
* [修复] 修复滚动条概率滑动失败的问题(#2d949a6)
|
|
11
|
+
|
|
12
|
+
界面:
|
|
13
|
+
* [新增] 友好化管理员权限提示(#54b667a)
|
|
14
|
+
* [新增] 更详细的'推荐卡检测模式'说明(#22f72eb)
|
|
15
|
+
* [新增] 支持自定义推荐卡检测的超时CD(#847e9c1)
|
|
16
|
+
|
|
17
|
+
框架:
|
|
18
|
+
* [重构] 将 kotonebot 改为包引入而不是源码引入(#b5e3001)
|
|
19
|
+
* [修复] 修复swipe_scale()内逻辑错误,导致无法正常安排工作的问题(#c189672)
|
|
20
|
+
|
|
21
|
+
其他:
|
|
22
|
+
* [文档] 开发文档新增构建启动器部分教程(#4a687cf)
|
|
23
|
+
* [其他] 新增swipe的日志输出(#e72818a)
|
|
24
|
+
|
|
25
|
+
### v2025.09b1
|
|
26
|
+
发布日期:2025-09-06
|
|
27
|
+
|
|
28
|
+
> **注意**
|
|
29
|
+
>
|
|
30
|
+
> 自此版本开始,版本号格式从 `v{YYYY}.{MM}.{DD}.{Minor}` 改为 `v{YYYY}.{MM}` 与 `v{YYYY}.{MM}b{BetaVersion}` 。
|
|
31
|
+
> 前者为正式版,每一到两个月发布一次,后者为测试版,一到两周发布一次。对于只更新了游戏数据的正式版,使用 `post` 后缀。
|
|
32
|
+
>
|
|
33
|
+
> 【例】
|
|
34
|
+
> - v2025.08 为 2025 年 9 月发布的正式版
|
|
35
|
+
> - v2025.09b3 为 2025 年 9 月发布的第 3 个测试版
|
|
36
|
+
> - v2025.08.post1 为 2025 年 8 月发布的正式版,但只更新了游戏数据
|
|
37
|
+
|
|
38
|
+
脚本:
|
|
39
|
+
* [修复] 修复培育中打牌时无法处理日期变更弹窗的问题(#de27888)
|
|
40
|
+
* [修复] 修复了produce模块中循环引用,导致produce子模块失效的问题(#e08ec22)
|
|
41
|
+
* [修复] 再次修复进入商店时,错误进入交换所的问题(#a425ae9)
|
|
42
|
+
* [修复] 修复了上一次培育为NIA培育时,错误地进入Hajime培育的问题(#f8686b8)
|
|
43
|
+
* [修复] 修复了自动使用AP饮料时有几率卡在点击「使う」按钮上的问题(#dd5dbdf)
|
|
44
|
+
* [修复] 修复了'休息'时按钮点击过快,导致第二次点击丢失的问题(#070f052)
|
|
45
|
+
* [修复] 修复了进入商店时,错误进入交换所的问题(#bfabf3e)
|
|
46
|
+
* [新增] 新增了处理'培育时,日期变更'的功能(#e15f4e3)
|
|
47
|
+
|
|
48
|
+
界面:
|
|
49
|
+
* [修复] 在详细设置中添加了缺失的‘升级支援卡设置’(#89793c7)
|
|
50
|
+
* [新增] 在'状态'页新增了全选、全不选、只选培育、只不选培育这四个新按键(#93f03b3)
|
|
51
|
+
* [新增] UI 内支持检索测试版本的 kaa(#5a66777)
|
|
52
|
+
|
|
53
|
+
框架:
|
|
54
|
+
* [修复] 修复启用空闲模式后,反复报错 ContextNotInitializedError 的问题(#0a8293e)
|
|
55
|
+
|
|
56
|
+
其他:
|
|
57
|
+
* [文档] 新增开发指南(#4b7dea5)
|
|
58
|
+
|
|
4
59
|
### v2025.8.23.0
|
|
5
60
|
脚本:
|
|
6
61
|
* [新增] 新增闲置挂机功能(#54e2101)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|