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