ksaa 2025.5.23.1__py3-none-any.whl → 2025.5.23.2__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/client/factory.py +8 -2
- kotonebot/client/host/custom.py +8 -3
- kotonebot/config/base_config.py +1 -1
- kotonebot/kaa/main/gr.py +16 -15
- kotonebot/kaa/main/kaa.py +7 -7
- kotonebot/kaa/metadata.py +9 -0
- kotonebot/kaa/tasks/R.py +133 -133
- kotonebot/kaa/tasks/end_game.py +4 -1
- {ksaa-2025.5.23.1.dist-info → ksaa-2025.5.23.2.dist-info}/METADATA +1 -1
- {ksaa-2025.5.23.1.dist-info → ksaa-2025.5.23.2.dist-info}/RECORD +146 -146
- /kotonebot/kaa/sprites/{1959c932-1bbf-4fee-b3a1-2ecfbc6d4209.png → 03f46f59-a90e-4d78-b218-474473e4ec6e.png} +0 -0
- /kotonebot/kaa/sprites/{4c4dd8e5-5370-4381-b6d4-c260b32015cf.png → 0673f22f-a766-4f05-a32e-6ae92d9ebd6f.png} +0 -0
- /kotonebot/kaa/sprites/{46f24175-8657-497d-97e6-1c1ee356e4cd.png → 097346ef-9951-4989-8df3-7b71459e2230.png} +0 -0
- /kotonebot/kaa/sprites/{50e462d5-ca14-4934-b35a-da3ebb8fb33f.png → 09f7e1c8-9ba3-40fb-b135-b3908956cb63.png} +0 -0
- /kotonebot/kaa/sprites/{b44085c7-9777-415a-aae1-aae47c2f7321.png → 0b0ee4bd-78f6-42cd-ae40-ad232bf6e33c.png} +0 -0
- /kotonebot/kaa/sprites/{c64ff0a8-9f96-4ca7-902b-4f7298c1c431.png → 0b49fc7d-fe42-44b9-9f2e-69e39cd1b267.png} +0 -0
- /kotonebot/kaa/sprites/{440eeea3-b710-485e-ab40-80e2b6ce66f0.png → 0e1150eb-e6cf-4ee1-a5e2-2610111bb460.png} +0 -0
- /kotonebot/kaa/sprites/{3d016208-f8ed-45be-bfb1-ed15b231d0b8.png → 0e7b4802-c445-4baa-bf38-f2589b39527b.png} +0 -0
- /kotonebot/kaa/sprites/{c85e58d3-ec5a-43ea-aa2a-04ee28e9ea21.png → 0fe025ae-98be-48f0-9c23-e47ddc69d932.png} +0 -0
- /kotonebot/kaa/sprites/{2766af5c-4ad1-44e2-ab84-e8a6ac7bb172.png → 112db090-fb51-413f-8f7b-6859b98bc1eb.png} +0 -0
- /kotonebot/kaa/sprites/{18042dda-0222-4333-9d79-3afc3dc75220.png → 1157e138-6b65-497d-8b51-0a37ebf77b91.png} +0 -0
- /kotonebot/kaa/sprites/{4c5b8c40-3dfa-4091-95c3-257a36e9a6d3.png → 13b25df3-9bba-4195-8a49-3c41d6d1ef0d.png} +0 -0
- /kotonebot/kaa/sprites/{c362b54d-d535-4227-8612-9bfe11fd7891.png → 1630ce5d-cdb1-42b5-9dcb-57aaeabcd46f.png} +0 -0
- /kotonebot/kaa/sprites/{3e2af23e-041f-4128-8a78-cbd1297538cf.png → 18a55200-aee1-4dfc-867b-8958137a1ecd.png} +0 -0
- /kotonebot/kaa/sprites/{c883049b-187c-4685-a63a-cff516851a95.png → 1a1b970e-9cf0-49b6-a765-45170689f427.png} +0 -0
- /kotonebot/kaa/sprites/{c24e874e-6a3e-472c-8745-edf7cac88954.png → 1c18153e-8207-4dc6-a057-ad06c626003d.png} +0 -0
- /kotonebot/kaa/sprites/{379a8811-932c-4c75-854f-943631c921d5.png → 207c9bc9-d89f-4fa5-8b9a-5dd084708c1f.png} +0 -0
- /kotonebot/kaa/sprites/{9359526e-c5db-4d63-adc4-08b7d704b422.png → 240152d2-fd3e-40f7-8023-5f105f215d5c.png} +0 -0
- /kotonebot/kaa/sprites/{b326c50f-c88c-4b99-80a7-046053423a19.png → 26159619-42da-42d6-af30-c3d07e6a4a7b.png} +0 -0
- /kotonebot/kaa/sprites/{3c2f70b5-9095-48d6-a012-4d68a6b0a975.png → 26c544a9-8e09-454d-8ddf-9358f83354e0.png} +0 -0
- /kotonebot/kaa/sprites/{b9ad5832-889a-4a5f-adc0-5dfd55126d6a.png → 27b15f5e-e803-4bcc-bf55-2d5829df73ab.png} +0 -0
- /kotonebot/kaa/sprites/{87292951-43c1-4039-9b92-c59c1b25b5f7.png → 27b26162-2eb6-4513-aa8b-72d1baefd5f7.png} +0 -0
- /kotonebot/kaa/sprites/{bcb95d32-32e1-4251-83de-ef5164d22a48.png → 2888b46f-ab47-4f57-9342-74f3d434a585.png} +0 -0
- /kotonebot/kaa/sprites/{38f8f55f-e9dc-4c10-b97a-b7254d871ae9.png → 2b9f424d-2c5e-4d84-900a-2646fc131527.png} +0 -0
- /kotonebot/kaa/sprites/{7c992bae-5ded-473b-8e60-4dede8434e5d.png → 2e173b48-333e-44e6-a29f-28f1e8ca450d.png} +0 -0
- /kotonebot/kaa/sprites/{18670c18-07e3-4378-a8fc-4f9b331db00f.png → 31c249b7-05ef-4e2a-b157-91976f564bef.png} +0 -0
- /kotonebot/kaa/sprites/{c9a8d73f-f487-45ff-aa05-a61393d27f66.png → 329013cc-7bf0-45e3-bb24-a38cbcf0d2f9.png} +0 -0
- /kotonebot/kaa/sprites/{fb97d804-42e4-45e2-8b22-01d16b5d0b6b.png → 32a92eb3-8bc8-4021-ade4-d633deabb8b9.png} +0 -0
- /kotonebot/kaa/sprites/{e61d855e-84d3-4a0e-b996-43fce262c2c3.png → 3436165b-94cb-4fe4-929f-51f3dbe4b7c8.png} +0 -0
- /kotonebot/kaa/sprites/{cb4c357f-b01b-4b95-b928-5affdf4ae684.png → 347c5a29-b1d2-40ab-a385-ff42a36e1ea7.png} +0 -0
- /kotonebot/kaa/sprites/{a402b549-a4dd-4ff3-ad51-2aa5f8e620af.png → 37690104-f535-4a19-8640-bf310e4b6a52.png} +0 -0
- /kotonebot/kaa/sprites/{c8f0cc49-5df8-4d7a-9ef6-2f021c2380a5.png → 38030889-3d17-4648-8f37-572da43944cf.png} +0 -0
- /kotonebot/kaa/sprites/{a015cea0-d2c7-439a-b942-d4d2dad276e5.png → 38f9d826-4a3f-4bab-87fc-b55a49cbc2a1.png} +0 -0
- /kotonebot/kaa/sprites/{63e71ec7-6290-4efa-89cf-69c53d805a58.png → 39f36c02-8132-42d5-91fb-59dc57ceea70.png} +0 -0
- /kotonebot/kaa/sprites/{1e4671aa-2cdc-4432-9d83-c635e0a3d09d.png → 3a267e0c-d644-410d-a889-cea60ab5e206.png} +0 -0
- /kotonebot/kaa/sprites/{82cf688e-ac85-4425-917d-10b6db9b6cc3.png → 3c75ffa8-c197-4e88-949e-75b48621ae20.png} +0 -0
- /kotonebot/kaa/sprites/{2cc68858-7af0-4a12-8c78-c4e4dcf9fff1.png → 3d13cc4d-30d3-4044-bdc2-da932581fa4f.png} +0 -0
- /kotonebot/kaa/sprites/{a05abc9d-9f0e-4d83-94bb-4f0b1e061035.png → 4255d2b3-5ee5-46e5-a35c-515500199d50.png} +0 -0
- /kotonebot/kaa/sprites/{b10596fe-22fa-4284-ab4b-1d653d4f0f07.png → 426dcc3e-2556-45b6-9ca9-b9acce8b0222.png} +0 -0
- /kotonebot/kaa/sprites/{0c359f2a-72d4-4203-9ca3-968a1948eee8.png → 4281236e-1fee-48ca-9a5a-70dbd5971801.png} +0 -0
- /kotonebot/kaa/sprites/{f5e2e4e1-40be-481d-9293-9d47a5bce7cc.png → 43b335ee-9c0f-4b70-8d22-e1aa209a384c.png} +0 -0
- /kotonebot/kaa/sprites/{344bedf1-fcca-4025-9ff6-cea99c91ddb4.png → 48dc8d02-ea41-49a2-b993-2af26979183c.png} +0 -0
- /kotonebot/kaa/sprites/{13a85dbd-e226-47cc-b6f5-c0d3b40654f5.png → 4a163f23-a48c-46eb-b03e-ab0b269d5216.png} +0 -0
- /kotonebot/kaa/sprites/{02ff2b86-db5a-4850-ac98-4288a3f71ed8.png → 50d91433-f3a0-4264-8719-289de3739c6c.png} +0 -0
- /kotonebot/kaa/sprites/{c819d999-fef6-47bb-a94f-055d616033c7.png → 50d923e8-d647-4741-a81d-7ad8ac67a79f.png} +0 -0
- /kotonebot/kaa/sprites/{e1eb4596-73a1-471e-892b-c83cfb706bb3.png → 5931b4e7-abd4-414f-a27a-357916bf9999.png} +0 -0
- /kotonebot/kaa/sprites/{80171520-d132-4395-b2ed-e6451335b3d5.png → 593503e0-a673-4910-83a9-b7e4f7c43568.png} +0 -0
- /kotonebot/kaa/sprites/{cf76eb98-44ff-406e-913a-503a0233b4cd.png → 5d86c075-3156-48c8-8cb2-66be1e32d97b.png} +0 -0
- /kotonebot/kaa/sprites/{985ec867-bc7c-47c5-8fcd-75f736f27507.png → 5ece0028-7af2-4b13-bcbc-6a923a2149db.png} +0 -0
- /kotonebot/kaa/sprites/{ec547e11-4952-4089-9744-1e89bd44389c.png → 61ed91d6-b4d9-4e82-9155-da706b700ce7.png} +0 -0
- /kotonebot/kaa/sprites/{d37bc673-9668-4b7e-bc9d-54495129dcc0.png → 637f8470-1780-4f74-8a4c-d2fdb1fe5b9b.png} +0 -0
- /kotonebot/kaa/sprites/{907dc373-e2f5-4959-84cb-d7971a7fefd8.png → 654e8eaf-e83c-41a4-a55e-6c4cdd0d8fdc.png} +0 -0
- /kotonebot/kaa/sprites/{c0ddf15a-a6f6-42f6-86b7-e17cde60b437.png → 655ffd1b-88bb-4174-9e98-82fc40ab86b6.png} +0 -0
- /kotonebot/kaa/sprites/{f02d997a-a3a8-4e18-96f1-e4176c14a5e0.png → 6624e6af-81d0-47aa-be7c-b03fa1ebed71.png} +0 -0
- /kotonebot/kaa/sprites/{fb50c7d1-b983-4e36-a998-ea17a1bdb18b.png → 664ecf07-b3cf-4d61-9ea8-288b1b3bccb9.png} +0 -0
- /kotonebot/kaa/sprites/{13c8fa4a-0ae5-4ee1-a433-20f6c724466e.png → 685e377b-3108-44a3-a384-1b527fb4c980.png} +0 -0
- /kotonebot/kaa/sprites/{4a9c1ac7-0a61-4d40-b749-e8896322581f.png → 69a0d1e3-4a97-494a-a1fe-cf85d1412ccb.png} +0 -0
- /kotonebot/kaa/sprites/{07960be4-b575-4f7f-be64-7e344dc118e0.png → 6c332793-741c-49a1-bd60-a9533de744fc.png} +0 -0
- /kotonebot/kaa/sprites/{c60bec93-231f-498d-b3c6-0a78c9b8f37f.png → 6e75aa68-7b5a-4e8a-9c11-778ea3a04acf.png} +0 -0
- /kotonebot/kaa/sprites/{d21117c2-3679-4bb0-a5b3-5af5d12d8d3e.png → 6f4cd73b-dc7d-4671-9481-793d12c606bb.png} +0 -0
- /kotonebot/kaa/sprites/{7c2f9216-56f2-4eec-8a45-1bd864316dad.png → 701f9931-d33f-4443-9b31-24e9553f5133.png} +0 -0
- /kotonebot/kaa/sprites/{e1ec3ee5-e73c-44b6-b173-ab1c9382cba4.png → 71ef7bee-9b67-4968-80a8-f5b658458651.png} +0 -0
- /kotonebot/kaa/sprites/{8a605d31-3160-49d1-9098-45d8ee18e8d6.png → 7ce714eb-7380-4069-bacb-25d68b9aa895.png} +0 -0
- /kotonebot/kaa/sprites/{4c2c5378-d946-41c2-980e-afb8493f71ee.png → 824ee5ae-b3c0-4839-b277-f6be5a968f30.png} +0 -0
- /kotonebot/kaa/sprites/{f64cfd95-8c87-47e6-96c3-8b7df2624ae3.png → 82cc8881-1e3a-41a1-9845-135a40521558.png} +0 -0
- /kotonebot/kaa/sprites/{b8165178-a9ce-491a-ba57-d25c7af8533f.png → 8314ad8f-1ac4-4ce6-86b5-4d3f11b9ed87.png} +0 -0
- /kotonebot/kaa/sprites/{1a8ec83b-ebba-4ff7-9737-104d3aa2ff98.png → 85aba299-2625-47e1-a016-b25298fbb688.png} +0 -0
- /kotonebot/kaa/sprites/{4af7631b-3674-4491-a3fb-a514bfd6b204.png → 86538a9c-d267-48d8-935f-ae9ec05073e3.png} +0 -0
- /kotonebot/kaa/sprites/{4a128979-bf11-42fe-a966-a8f5ee143128.png → 8e3a97d3-d34a-4c78-a08b-2cacb4da42bc.png} +0 -0
- /kotonebot/kaa/sprites/{6abb63c1-025a-425e-8f33-29f83f504d75.png → 9229fe6b-f0bd-4502-be35-5818dfdbc732.png} +0 -0
- /kotonebot/kaa/sprites/{32d50687-b3a2-4b34-a2f9-4418b5e14fff.png → 9255b257-16b6-4c2e-ad93-3fc0ef5aac32.png} +0 -0
- /kotonebot/kaa/sprites/{0ecc3e37-189c-40ad-9ee6-fb576b72a13b.png → 94f21a05-154b-44a6-9f93-ca41dce3b5de.png} +0 -0
- /kotonebot/kaa/sprites/{11c2ff97-3303-4d6d-8e4f-6da2148bbe20.png → 95a5c724-2f9f-4d6f-ad44-b5b5d29b9c89.png} +0 -0
- /kotonebot/kaa/sprites/{557389eb-d0da-4c5a-a322-de3e32a81909.png → 99090cad-ca7e-4bd3-b38f-1f8ed6f01ed4.png} +0 -0
- /kotonebot/kaa/sprites/{3a58e019-6328-412a-9d2f-85a73900371e.png → 99a48c79-ab3a-4688-bed6-1d4c35e720fc.png} +0 -0
- /kotonebot/kaa/sprites/{b8eeacac-5679-42b9-a5b9-138598c8c6b6.png → 99fee062-0d95-4d47-8266-d8649c3c3ff4.png} +0 -0
- /kotonebot/kaa/sprites/{fe337541-a6a3-4325-97b4-2bf27f51f39f.png → 9b4ea9ad-0d0a-4f0c-8018-da8a24fe4e5f.png} +0 -0
- /kotonebot/kaa/sprites/{dac24ef9-e53d-4d95-aa09-fa694606c3ab.png → 9d2b4c3f-aa77-4aec-8f78-b25bbd650d5b.png} +0 -0
- /kotonebot/kaa/sprites/{a9f47d53-fbef-4cb0-9d2d-845ef3d1f719.png → 9ff6e594-b4c6-4aae-a412-52c83fc5bc3c.png} +0 -0
- /kotonebot/kaa/sprites/{57b7006a-ada9-4d9d-9655-71765251882e.png → a26ca6a4-2a8d-4472-86d7-990cc5df01de.png} +0 -0
- /kotonebot/kaa/sprites/{2e68066d-9a56-48cc-8711-1d4c080ee320.png → a6e18008-0caa-42d5-ae04-6f015f04a6df.png} +0 -0
- /kotonebot/kaa/sprites/{798a9587-3f8c-424e-90af-89a08ed62ced.png → a885df26-00d6-4e4c-8bb2-626f68ea06ad.png} +0 -0
- /kotonebot/kaa/sprites/{eb4bde42-de6e-4c62-8dc4-8885efc834a8.png → aadb0941-88b4-4333-9571-7caf97782e75.png} +0 -0
- /kotonebot/kaa/sprites/{601d0743-7143-4c04-989b-b80fc620e678.png → ad6de3fd-8486-46e5-b2eb-27c5f73b146a.png} +0 -0
- /kotonebot/kaa/sprites/{8cb3b6c2-7fae-41cf-8f33-a0e3ea668f25.png → b2b36034-4f08-4826-835a-b97d7641529f.png} +0 -0
- /kotonebot/kaa/sprites/{346da82f-bfca-4a0f-bae4-ca9c8e4b794e.png → b590b94b-8b76-466a-809d-0a16a37e2eb7.png} +0 -0
- /kotonebot/kaa/sprites/{ffd3c6b7-cac2-4d45-ae37-792404ea2b40.png → b5931274-f987-4bc5-bd00-2296a9be6f68.png} +0 -0
- /kotonebot/kaa/sprites/{96178cef-4868-4378-9f9c-c08780def3d6.png → b6660670-834a-499d-85c8-a51d8ac2f951.png} +0 -0
- /kotonebot/kaa/sprites/{2730beb1-a6c5-463d-9748-393764bc8e34.png → ba583fe8-7334-47b3-8c19-6394bfeee16d.png} +0 -0
- /kotonebot/kaa/sprites/{429c30b5-7d3a-40a1-853a-ec51c8f238e7.png → bb9fbfe9-f913-4220-8704-157095456f06.png} +0 -0
- /kotonebot/kaa/sprites/{893a6bba-905e-4123-9e35-f829fd6c8b2a.png → bbb5b48b-ba98-4fa3-bd6d-f079c42acabf.png} +0 -0
- /kotonebot/kaa/sprites/{59ef821b-4803-4fe3-83b8-305902f8459a.png → bbc002f3-4c6c-40b1-bfbc-891d8a407412.png} +0 -0
- /kotonebot/kaa/sprites/{a2e41d98-dd91-4e51-ba57-4f8ddfd07cfa.png → bdca0571-b1be-4c97-a59d-016512f412b1.png} +0 -0
- /kotonebot/kaa/sprites/{6d6550a6-f270-474e-b55c-b2017ef87ab2.png → c02c9b66-cecb-4bcb-b016-654a891b0ef4.png} +0 -0
- /kotonebot/kaa/sprites/{2490bd58-bcf7-4c94-ab24-04e752137939.png → c158004f-7e76-4f8d-95e8-deea12251cbe.png} +0 -0
- /kotonebot/kaa/sprites/{8e1ca316-39e6-4b9f-b497-84ad8848a3e1.png → c3540ea8-70e3-409e-ba83-9761d238ae14.png} +0 -0
- /kotonebot/kaa/sprites/{78c2c39e-6621-41d1-9a1e-7e171b001795.png → c5c16303-3858-4d5c-bc3c-18b7196ba030.png} +0 -0
- /kotonebot/kaa/sprites/{04422a5d-2499-40fd-a08f-095ecbd051a8.png → c8ca0c53-a94d-4e7c-8bd8-bdd9912760e2.png} +0 -0
- /kotonebot/kaa/sprites/{eb446c0a-1dd2-4693-838e-98a76c02eac5.png → c952a585-1004-48d7-b870-e144a60626b5.png} +0 -0
- /kotonebot/kaa/sprites/{ed4a8cff-b3df-4d7a-bfc4-8da776a8e548.png → c96f3076-918f-4dd2-bb01-e74e07086812.png} +0 -0
- /kotonebot/kaa/sprites/{39b1738f-af9a-4c85-9315-2858f0b1d1ab.png → c9c09edf-312f-4776-80fd-2571052a8894.png} +0 -0
- /kotonebot/kaa/sprites/{25cfb896-fed1-4361-ae64-fc45fc8a98dd.png → cdd6e06c-741d-4341-a080-51ce89d34a5d.png} +0 -0
- /kotonebot/kaa/sprites/{dd084696-be33-4a00-b6df-b25131b78b40.png → d21d3557-6238-4ceb-a53d-3f9147421e80.png} +0 -0
- /kotonebot/kaa/sprites/{f62dd2a2-bac6-4dc8-9a19-3e995ab80a3b.png → d43f13a4-6160-4acd-8732-d614e3150807.png} +0 -0
- /kotonebot/kaa/sprites/{cc0e38b2-c2ae-4fe1-adb0-6ea73a602563.png → d6dede34-0b2f-4803-bb9b-4da8a9c10b68.png} +0 -0
- /kotonebot/kaa/sprites/{efc08f1c-e78f-4df8-bff9-b45cde37f9dd.png → d7167e88-c5b0-4aaf-a8f5-29977c3062aa.png} +0 -0
- /kotonebot/kaa/sprites/{cdd40676-b49d-42ad-9972-7149aa13d9bb.png → d7481c1c-736a-41f5-afcf-e79bea74f881.png} +0 -0
- /kotonebot/kaa/sprites/{c51132e9-f45c-40c9-8026-7d70b13dca8b.png → d7916e81-7de3-49d5-91a7-2ecbba93835e.png} +0 -0
- /kotonebot/kaa/sprites/{66f5fab8-274c-4ab9-983d-ca2f8d90ea94.png → db9f5641-1afb-4b02-89e8-222390c4cfca.png} +0 -0
- /kotonebot/kaa/sprites/{e4d076bd-7824-4496-a498-d6dc01ad90ba.png → de71582f-4de3-450b-b4e8-dd9028b82f40.png} +0 -0
- /kotonebot/kaa/sprites/{1b6bc9ae-3f4e-4722-ae6f-d76bd65b071e.png → e1a156d6-874e-4a72-b5b1-05ea11bb1647.png} +0 -0
- /kotonebot/kaa/sprites/{09fda5a8-c546-48f0-ae29-ebe4f4208d8b.png → e2809286-fbf5-40da-b442-ae8fae4babd3.png} +0 -0
- /kotonebot/kaa/sprites/{f8bcbc2c-9831-4e8d-9ffd-e532aa3193c3.png → e4c6780b-798d-4298-bf6a-5e33c9ca1e8f.png} +0 -0
- /kotonebot/kaa/sprites/{5f01b811-9aad-4439-a70b-c099a42c36fa.png → e58f5357-dd17-4498-8643-0c15c433d23e.png} +0 -0
- /kotonebot/kaa/sprites/{9c98c4e6-5335-4c8b-92fa-24ec440b055e.png → e7683a0b-d4f7-4bcf-9b5d-ae73c41f0a78.png} +0 -0
- /kotonebot/kaa/sprites/{7057e165-9ed4-485e-9609-94854ef269dd.png → e8d97522-852c-48d6-970b-fb60e23336e6.png} +0 -0
- /kotonebot/kaa/sprites/{b629f0a7-df4f-4407-908b-a031c70e8b6f.png → e91455c0-4b5a-49b0-b9e7-29ef5456ddc3.png} +0 -0
- /kotonebot/kaa/sprites/{5af71b93-310c-48ab-b438-dba296fb9e52.png → ea291981-d7ac-433a-8703-2e7cc6ad5303.png} +0 -0
- /kotonebot/kaa/sprites/{5b6b5bf8-cd03-4360-9550-e15d8db6241a.png → eaa079be-6b26-4e25-ac63-328d6f400c35.png} +0 -0
- /kotonebot/kaa/sprites/{09cd4336-7d2a-4bce-9d08-8ac64a2bdcc3.png → edaf2b11-38e3-4d2b-b34f-2c01d23c2c35.png} +0 -0
- /kotonebot/kaa/sprites/{4a5ec641-38ec-46b0-83c4-d7edacb754b0.png → edd85973-ee6f-450f-85fa-102e78c806a5.png} +0 -0
- /kotonebot/kaa/sprites/{7bbac9cd-417f-4bd5-975a-a8a25c7bd922.png → f220084e-939d-4505-b41a-f71d5ff89286.png} +0 -0
- /kotonebot/kaa/sprites/{de1e3c4a-f6ed-467a-889c-25c01a613477.png → f220b5c7-432d-4fd0-abde-ec0a3a569489.png} +0 -0
- /kotonebot/kaa/sprites/{e795f9c5-fdda-4fbc-8d38-a92512a590f4.png → f32d9ece-4fef-48a8-9be0-55f23acc5e6b.png} +0 -0
- /kotonebot/kaa/sprites/{4d0b8533-b3e2-4ea1-8204-a8d5e67e1f64.png → f7c1ee7f-62cf-4654-b684-19995570aa8a.png} +0 -0
- /kotonebot/kaa/sprites/{128886a7-7629-4158-9538-3619542f775b.png → f8c87b1e-87b6-491e-b22e-0409b98bd165.png} +0 -0
- /kotonebot/kaa/sprites/{0b5c2d3f-28b1-456f-a452-05ca006f8b33.png → fb2be5fb-f70f-4bfc-8ef9-d08440fafcab.png} +0 -0
- /kotonebot/kaa/sprites/{5d963589-623d-4a49-9c72-af91134720b0.png → fc146a5c-c154-4b44-b690-23470d9662e3.png} +0 -0
- /kotonebot/kaa/sprites/{a5efb332-8452-49d8-ade3-882bbd445553.png → fd2bdf99-47c0-4ac6-9495-6c6be084d9c7.png} +0 -0
- /kotonebot/kaa/sprites/{e551148d-1b0d-4518-8711-4161863c93ef.png → fdf42d81-645a-41b5-868e-0a733f32992e.png} +0 -0
- /kotonebot/kaa/sprites/{8f675963-122a-4932-9f33-07dcdcb3a51a.png → fe7d4d8b-03cf-4d73-8049-ab9e9a296b7f.png} +0 -0
- /kotonebot/kaa/sprites/{7e7e8772-b31a-4bbe-919e-90373a4ad5a7.png → fedc068b-148c-4e39-9f1f-6b4d6c055c66.png} +0 -0
- /kotonebot/kaa/sprites/{0672e1c6-6abc-452c-82b3-af6eb7454cfa.png → fff0c75d-8819-48c6-adb5-97c79d2be401.png} +0 -0
- {ksaa-2025.5.23.1.dist-info → ksaa-2025.5.23.2.dist-info}/WHEEL +0 -0
- {ksaa-2025.5.23.1.dist-info → ksaa-2025.5.23.2.dist-info}/entry_points.txt +0 -0
- {ksaa-2025.5.23.1.dist-info → ksaa-2025.5.23.2.dist-info}/top_level.txt +0 -0
kotonebot/client/factory.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import logging
|
|
2
2
|
from typing import Literal
|
|
3
3
|
|
|
4
4
|
from .implements.adb import AdbImpl
|
|
@@ -11,6 +11,7 @@ from .device import Device, AndroidDevice, WindowsDevice
|
|
|
11
11
|
from adbutils import adb
|
|
12
12
|
|
|
13
13
|
DeviceImpl = Literal['adb', 'adb_raw', 'uiautomator2', 'windows', 'remote_windows']
|
|
14
|
+
logger = logging.getLogger(__name__)
|
|
14
15
|
|
|
15
16
|
def create_device(
|
|
16
17
|
addr: str,
|
|
@@ -39,14 +40,19 @@ def create_device(
|
|
|
39
40
|
"""
|
|
40
41
|
if impl in ['adb', 'adb_raw', 'uiautomator2']:
|
|
41
42
|
if disconnect:
|
|
43
|
+
logger.debug('adb disconnect %s', addr)
|
|
42
44
|
adb.disconnect(addr)
|
|
43
45
|
if connect:
|
|
46
|
+
logger.debug('adb connect %s', addr)
|
|
44
47
|
result = adb.connect(addr)
|
|
45
48
|
if 'cannot connect to' in result:
|
|
46
49
|
raise ValueError(result)
|
|
47
50
|
serial = device_serial or addr
|
|
51
|
+
logger.debug('adb wait for %s', serial)
|
|
48
52
|
adb.wait_for(serial, timeout=timeout)
|
|
49
|
-
|
|
53
|
+
devices = adb.device_list()
|
|
54
|
+
logger.debug('adb device_list: %s', devices)
|
|
55
|
+
d = [d for d in devices if d.serial == serial]
|
|
50
56
|
if len(d) == 0:
|
|
51
57
|
raise ValueError(f"Device {addr} not found")
|
|
52
58
|
d = d[0]
|
kotonebot/client/host/custom.py
CHANGED
|
@@ -14,9 +14,9 @@ P = ParamSpec('P')
|
|
|
14
14
|
T = TypeVar('T')
|
|
15
15
|
|
|
16
16
|
class CustomInstance(Instance):
|
|
17
|
-
def __init__(self, exe_path: str, emulator_args: str = "", *args, **kwargs):
|
|
17
|
+
def __init__(self, exe_path: str | None, emulator_args: str = "", *args, **kwargs):
|
|
18
18
|
super().__init__(*args, **kwargs)
|
|
19
|
-
self.exe_path: str = exe_path
|
|
19
|
+
self.exe_path: str | None = exe_path
|
|
20
20
|
self.exe_args: str = emulator_args
|
|
21
21
|
self.process: subprocess.Popen | None = None
|
|
22
22
|
|
|
@@ -26,6 +26,8 @@ class CustomInstance(Instance):
|
|
|
26
26
|
logger.warning('Process is already running.')
|
|
27
27
|
return
|
|
28
28
|
|
|
29
|
+
if not self.exe_path:
|
|
30
|
+
raise ValueError('Executable path is not set.')
|
|
29
31
|
if self.exe_args:
|
|
30
32
|
logger.info('Starting process "%s" with args "%s"...', self.exe_path, self.exe_args)
|
|
31
33
|
cmd = f'"{self.exe_path}" {self.exe_args}'
|
|
@@ -49,6 +51,9 @@ class CustomInstance(Instance):
|
|
|
49
51
|
if self.process is not None:
|
|
50
52
|
return True
|
|
51
53
|
else:
|
|
54
|
+
if not self.exe_path:
|
|
55
|
+
logger.warning('Executable path is not set, cannot check if process is running.')
|
|
56
|
+
return False
|
|
52
57
|
process_name = os.path.basename(self.exe_path)
|
|
53
58
|
p = next((proc for proc in process_iter() if proc.name() == process_name), None)
|
|
54
59
|
if p:
|
|
@@ -68,7 +73,7 @@ def _type_check(ins: Instance) -> CustomInstance:
|
|
|
68
73
|
raise ValueError(f'Instance {ins} is not a CustomInstance')
|
|
69
74
|
return ins
|
|
70
75
|
|
|
71
|
-
def create(exe_path: str, adb_ip: str, adb_port: int, adb_name: str, emulator_args: str = "") -> CustomInstance:
|
|
76
|
+
def create(exe_path: str | None, adb_ip: str, adb_port: int, adb_name: str | None, emulator_args: str = "") -> CustomInstance:
|
|
72
77
|
return CustomInstance(exe_path, emulator_args=emulator_args, id='custom', name='Custom', adb_ip=adb_ip, adb_port=adb_port, adb_name=adb_name)
|
|
73
78
|
|
|
74
79
|
|
kotonebot/config/base_config.py
CHANGED
kotonebot/kaa/main/gr.py
CHANGED
|
@@ -443,19 +443,19 @@ class KotoneBotUI:
|
|
|
443
443
|
nonlocal current_tab
|
|
444
444
|
current_tab = selected_index
|
|
445
445
|
|
|
446
|
-
if selected_index == 3: # DMM
|
|
447
|
-
|
|
448
|
-
else: # Mumu, Leidian, Custom
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
if not
|
|
446
|
+
# if selected_index == 3: # DMM
|
|
447
|
+
# choices = ['windows', 'remote_windows']
|
|
448
|
+
# else: # Mumu, Leidian, Custom
|
|
449
|
+
# choices = ['adb', 'adb_raw', 'uiautomator2']
|
|
450
|
+
choices = ['adb', 'adb_raw', 'uiautomator2', 'windows', 'remote_windows']
|
|
451
|
+
if impl_value not in choices:
|
|
452
452
|
new_value = choices[0]
|
|
453
453
|
else:
|
|
454
454
|
new_value = impl_value
|
|
455
455
|
|
|
456
456
|
return gr.Dropdown(choices=choices, value=new_value)
|
|
457
457
|
|
|
458
|
-
with gr.Tabs(selected=self.current_config.backend.type)
|
|
458
|
+
with gr.Tabs(selected=self.current_config.backend.type):
|
|
459
459
|
with gr.Tab("MuMu 12", interactive=has_mumu12, id="mumu12") as tab_mumu12:
|
|
460
460
|
gr.Markdown("已选中 MuMu 12 模拟器")
|
|
461
461
|
if has_mumu12:
|
|
@@ -469,7 +469,7 @@ class KotoneBotUI:
|
|
|
469
469
|
)
|
|
470
470
|
except: # noqa: E722
|
|
471
471
|
logger.exception('Failed to list installed MuMu12')
|
|
472
|
-
gr.Markdown('获取 MuMu12
|
|
472
|
+
gr.Markdown('获取 MuMu12 模拟器列表失败,请升级模拟器到最新版本。若问题依旧,前往 QQ 群、QQ 频道或 Github 反馈 bug。')
|
|
473
473
|
mumu_instance = gr.Dropdown(visible=False)
|
|
474
474
|
else:
|
|
475
475
|
# 为了让 return 收集组件时不报错
|
|
@@ -544,13 +544,14 @@ class KotoneBotUI:
|
|
|
544
544
|
with gr.Tab("DMM", id="dmm") as tab_dmm:
|
|
545
545
|
gr.Markdown("已选中 DMM")
|
|
546
546
|
|
|
547
|
-
type_in_config = self.current_config.backend.type
|
|
548
|
-
if type_in_config in ['dmm']:
|
|
549
|
-
|
|
550
|
-
elif type_in_config in ['mumu12', 'leidian', 'custom']:
|
|
551
|
-
|
|
552
|
-
else:
|
|
553
|
-
|
|
547
|
+
# type_in_config = self.current_config.backend.type
|
|
548
|
+
# if type_in_config in ['dmm']:
|
|
549
|
+
# choices = ['windows', 'remote_windows']
|
|
550
|
+
# elif type_in_config in ['mumu12', 'leidian', 'custom']:
|
|
551
|
+
# choices = ['adb', 'adb_raw', 'uiautomator2']
|
|
552
|
+
# else:
|
|
553
|
+
# raise ValueError(f'Unsupported backend type: {type_in_config}')
|
|
554
|
+
choices = ['adb', 'adb_raw', 'uiautomator2', 'windows', 'remote_windows']
|
|
554
555
|
screenshot_impl = gr.Dropdown(
|
|
555
556
|
choices=choices,
|
|
556
557
|
value=self.current_config.backend.screenshot_impl,
|
kotonebot/kaa/main/kaa.py
CHANGED
|
@@ -95,7 +95,7 @@ class Kaa(KotoneBot):
|
|
|
95
95
|
zipf.writestr('logs.txt', logs)
|
|
96
96
|
return path
|
|
97
97
|
except Exception as e:
|
|
98
|
-
logger.exception(
|
|
98
|
+
logger.exception('Failed to save error report:')
|
|
99
99
|
return ''
|
|
100
100
|
|
|
101
101
|
@override
|
|
@@ -114,12 +114,6 @@ class Kaa(KotoneBot):
|
|
|
114
114
|
logger.info('Checking backend...')
|
|
115
115
|
if config.backend.type == 'custom':
|
|
116
116
|
exe = config.backend.emulator_path
|
|
117
|
-
if exe is None:
|
|
118
|
-
user.error('「检查并启动模拟器」已开启但未配置「模拟器 exe 文件路径」。')
|
|
119
|
-
raise ValueError('Emulator executable path is not set.')
|
|
120
|
-
if not os.path.exists(exe):
|
|
121
|
-
user.error('「模拟器 exe 文件路径」对应的文件不存在!请检查路径是否正确。')
|
|
122
|
-
raise FileNotFoundError(f'Emulator executable not found: {exe}')
|
|
123
117
|
self.backend_instance = create_custom(
|
|
124
118
|
adb_ip=config.backend.adb_ip,
|
|
125
119
|
adb_port=config.backend.adb_port,
|
|
@@ -128,6 +122,12 @@ class Kaa(KotoneBot):
|
|
|
128
122
|
emulator_args=config.backend.emulator_args
|
|
129
123
|
)
|
|
130
124
|
if config.backend.check_emulator:
|
|
125
|
+
if exe is None:
|
|
126
|
+
user.error('「检查并启动模拟器」已开启但未配置「模拟器 exe 文件路径」。')
|
|
127
|
+
raise ValueError('Emulator executable path is not set.')
|
|
128
|
+
if not os.path.exists(exe):
|
|
129
|
+
user.error('「模拟器 exe 文件路径」对应的文件不存在!请检查路径是否正确。')
|
|
130
|
+
raise FileNotFoundError(f'Emulator executable not found: {exe}')
|
|
131
131
|
if not self.backend_instance.running():
|
|
132
132
|
logger.info('Starting custom backend...')
|
|
133
133
|
self.backend_instance.start()
|
kotonebot/kaa/metadata.py
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
WHATS_NEW = """
|
|
2
2
|
# 更新日志
|
|
3
3
|
## kaa
|
|
4
|
+
### v2025.5.23.2
|
|
5
|
+
脚本:
|
|
6
|
+
* [修复] 将配置项 adb_emulator_name 默认值置为 None(#f3ef360)
|
|
7
|
+
* [修复] 修复即使未勾选启动模拟器也会尝试启动的问题(#0641863)
|
|
8
|
+
|
|
9
|
+
界面:
|
|
10
|
+
* [修复] 修复截图方法 Dropdown 选项问题(#08a6b6f)
|
|
11
|
+
* [新增] 修改 MuMu 模拟器检测失败提示(#3358eb6)
|
|
12
|
+
|
|
4
13
|
### v2025.5.23.1
|
|
5
14
|
界面:
|
|
6
15
|
* [新增] 当检测模拟器扫描失败时避免整个程序崩溃(#3d47d3a)
|