ksaa 2025.8.23.0__py3-none-any.whl → 2025.9b1__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 (168) hide show
  1. kotonebot/kaa/main/gr.py +122 -52
  2. kotonebot/kaa/metadata.py +34 -0
  3. kotonebot/kaa/resources/__pycache__/__init__.cpython-310.pyc +0 -0
  4. kotonebot/kaa/resources/game.db +0 -0
  5. kotonebot/kaa/resources/game_ver.txt +0 -0
  6. kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-013_0.png +0 -0
  7. kotonebot/kaa/resources/idol_cards/i_card-skin-amao-3-013_1.png +0 -0
  8. kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-014_0.png +0 -0
  9. kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-015_0.png +0 -0
  10. kotonebot/kaa/resources/idol_cards/i_card-skin-fktn-3-015_1.png +0 -0
  11. kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-3-012_0.png +0 -0
  12. kotonebot/kaa/resources/idol_cards/i_card-skin-hmsz-3-012_1.png +0 -0
  13. kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-014_0.png +0 -0
  14. kotonebot/kaa/resources/idol_cards/i_card-skin-hrnm-3-014_1.png +0 -0
  15. kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-014_0.png +0 -0
  16. kotonebot/kaa/resources/idol_cards/i_card-skin-hski-3-014_1.png +0 -0
  17. kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-014_0.png +0 -0
  18. kotonebot/kaa/resources/idol_cards/i_card-skin-hume-3-014_1.png +0 -0
  19. kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-013_0.png +0 -0
  20. kotonebot/kaa/resources/idol_cards/i_card-skin-jsna-3-013_1.png +0 -0
  21. kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-013_0.png +0 -0
  22. kotonebot/kaa/resources/idol_cards/i_card-skin-kcna-3-013_1.png +0 -0
  23. kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-013_0.png +0 -0
  24. kotonebot/kaa/resources/idol_cards/i_card-skin-kllj-3-013_1.png +0 -0
  25. kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-014_0.png +0 -0
  26. kotonebot/kaa/resources/idol_cards/i_card-skin-ssmk-3-014_1.png +0 -0
  27. kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-014_0.png +0 -0
  28. kotonebot/kaa/resources/idol_cards/i_card-skin-ttmr-3-014_1.png +0 -0
  29. kotonebot/kaa/sprites/9483fae5-3a72-4684-9403-d25d2c602d3d.png +0 -0
  30. kotonebot/kaa/sprites/eaad330d-4e50-4b55-be2c-8da0f72764d9.png +0 -0
  31. kotonebot/kaa/tasks/R.py +130 -126
  32. kotonebot/kaa/tasks/actions/scenes.py +2 -0
  33. kotonebot/kaa/tasks/produce/cards.py +3 -0
  34. kotonebot/kaa/tasks/produce/common.py +88 -0
  35. kotonebot/kaa/tasks/produce/non_lesson_actions.py +12 -6
  36. kotonebot/kaa/tasks/produce/produce.py +33 -52
  37. {ksaa-2025.8.23.0.dist-info → ksaa-2025.9b1.dist-info}/METADATA +4 -2
  38. {ksaa-2025.8.23.0.dist-info → ksaa-2025.9b1.dist-info}/RECORD +168 -144
  39. /kotonebot/kaa/sprites/{1dd337ca-20f1-4dc6-8254-235d7ec74158.png → 002e7b92-11f4-487a-af55-334663e2b8cd.png} +0 -0
  40. /kotonebot/kaa/sprites/{3997a0e3-0826-4b1e-b7e9-4a36ebaaa9e8.png → 003c315c-418c-410e-ba45-290150097a25.png} +0 -0
  41. /kotonebot/kaa/sprites/{6bb37f56-bac2-4852-82b0-e9b65ce0cbe8.png → 01106370-2321-4696-a60e-dc76b565a097.png} +0 -0
  42. /kotonebot/kaa/sprites/{3675c4aa-a208-47d1-bbcb-48bce40e6ae9.png → 0519d61c-0451-42a2-96ed-baa5ef026655.png} +0 -0
  43. /kotonebot/kaa/sprites/{7ff80aa1-94c3-417e-9fae-3c2f2b8036a8.png → 0c2a1e9f-85be-4fec-a8ae-4e417c58d5a5.png} +0 -0
  44. /kotonebot/kaa/sprites/{3746df74-fe63-442c-85d2-8a3696cb2fcd.png → 0d1ecf0b-b090-42b2-b895-cb1f5b415af8.png} +0 -0
  45. /kotonebot/kaa/sprites/{30ce2e03-e9b3-4b4f-aded-51a05bfca91f.png → 0d39671a-cfa3-4832-93e8-6ab61cece799.png} +0 -0
  46. /kotonebot/kaa/sprites/{ae1a5e05-d53d-43aa-9f27-b9117483d19e.png → 0ffd0b92-78f6-4661-a2c3-3c337b75d3bb.png} +0 -0
  47. /kotonebot/kaa/sprites/{25ceaa36-a432-4bf3-80b7-11c94cd82357.png → 105df024-ece9-4c9c-9479-9f7423f4abec.png} +0 -0
  48. /kotonebot/kaa/sprites/{a04c4402-e071-401a-9549-d573eabc0e59.png → 112f47b8-e71f-426f-9081-0c8efb6ced72.png} +0 -0
  49. /kotonebot/kaa/sprites/{359d6d34-ea55-470b-b682-6c9252953e8d.png → 11c5034e-d258-422d-850c-a4495b346778.png} +0 -0
  50. /kotonebot/kaa/sprites/{67da7040-7183-4d30-89a7-e78345f42948.png → 12d59cc0-cef6-472d-b424-edaae52463ca.png} +0 -0
  51. /kotonebot/kaa/sprites/{5fb96a83-7b37-435b-9d7e-9caf0bc022e4.png → 13338d14-2b0d-4630-a5d2-dc273f62524e.png} +0 -0
  52. /kotonebot/kaa/sprites/{9b0f6620-5fd0-4393-ae67-555baf171550.png → 13a5d0e7-776e-40c2-8a52-dd3e016913b4.png} +0 -0
  53. /kotonebot/kaa/sprites/{5528a0a0-2f1e-41f8-b55f-a565a2f80908.png → 156cb3bd-0523-4a76-8747-8d4ce23fed7b.png} +0 -0
  54. /kotonebot/kaa/sprites/{6aa1fbb0-3880-49e1-ade3-29f627d0e38b.png → 16d914f3-c3be-479e-932a-4c336c08b94e.png} +0 -0
  55. /kotonebot/kaa/sprites/{7a54f094-bc75-48d3-8253-cca80a7052a2.png → 1b39e16c-d8e2-4f4c-bc6d-a4511184f8af.png} +0 -0
  56. /kotonebot/kaa/sprites/{8c9c9195-4eed-407c-b1ab-bb616c7b2acc.png → 1b82310e-8422-4be6-b31b-bc7693def4e4.png} +0 -0
  57. /kotonebot/kaa/sprites/{ca680286-0937-46e1-8b4d-ee900baed756.png → 1d25aa70-8137-4c63-8dcf-a5b5a8f950e6.png} +0 -0
  58. /kotonebot/kaa/sprites/{ceb4fae9-b5e5-41cf-856b-bcf753f477d9.png → 1e324ce8-b56f-45d5-9476-713dabfdecf9.png} +0 -0
  59. /kotonebot/kaa/sprites/{04b33e1f-a341-46d4-a54b-a05f1e765c10.png → 22bda7ef-ad0d-4020-a667-6ae77b4805ca.png} +0 -0
  60. /kotonebot/kaa/sprites/{a1bae28b-7b90-4009-b384-79f7a8974078.png → 23a39277-a6ac-4a49-9c6a-1fca1a3a4d9b.png} +0 -0
  61. /kotonebot/kaa/sprites/{b5ecb8e2-8b1a-4240-a2c9-152ccecdacbe.png → 23b37aad-1de3-43e2-84e6-78f6f0f28fba.png} +0 -0
  62. /kotonebot/kaa/sprites/{cf8b2ae3-f948-4204-b7da-c0801f1368f4.png → 23f8844e-9272-4a5c-badf-a30676fd22da.png} +0 -0
  63. /kotonebot/kaa/sprites/{146c742a-0fb3-4d88-851e-ddd621533ad3.png → 24458a04-ca4d-4330-9dd6-f074feac9a17.png} +0 -0
  64. /kotonebot/kaa/sprites/{a898c01d-1347-484f-b2b0-10858a1ef3a6.png → 246f9799-5367-4fb4-877d-821fb4acad71.png} +0 -0
  65. /kotonebot/kaa/sprites/{9f41a6b4-2955-4105-8610-423f267807de.png → 24d55c2b-dfe8-4a80-9f39-94045478f5a5.png} +0 -0
  66. /kotonebot/kaa/sprites/{9fb0f700-1eaf-4677-bd1f-05f9f311cdfc.png → 26262f2d-e12b-4992-8c14-15679cae4298.png} +0 -0
  67. /kotonebot/kaa/sprites/{6d58dbfa-84e2-4a84-8c7c-133e459e9b40.png → 2704de68-4349-4695-8102-4dcd93fe82c7.png} +0 -0
  68. /kotonebot/kaa/sprites/{4d0f75f5-632b-4c59-88a5-058622a4c3af.png → 279ab0e2-1601-4bfb-8d27-4019fc4dcd3d.png} +0 -0
  69. /kotonebot/kaa/sprites/{4f2fcec7-399e-4184-b1dc-eabae92d63dd.png → 2ad65f0c-3b9c-46ad-808e-11c6d6db7417.png} +0 -0
  70. /kotonebot/kaa/sprites/{276239b5-e41b-4ae5-9be6-37d251292d39.png → 2b3a82fd-79b3-400c-988a-248a7b277542.png} +0 -0
  71. /kotonebot/kaa/sprites/{ad455e8e-fb2f-4180-af29-7ef66c98daa9.png → 37d24544-1791-474d-8f74-b1dbe0dd3c6b.png} +0 -0
  72. /kotonebot/kaa/sprites/{9e5afe22-f817-45f7-b0dd-2c808adff8cb.png → 3868b12d-8d93-4754-91bd-797680d24e22.png} +0 -0
  73. /kotonebot/kaa/sprites/{5fb7c821-63b4-4ee2-b6ea-16eec3a77251.png → 3de9bd37-90ef-45ec-88c0-03c4fd50fb51.png} +0 -0
  74. /kotonebot/kaa/sprites/{2fa084f5-0637-4d53-ada8-9c542d597a51.png → 46198a1d-888e-4a12-827e-51cdd4fc30a2.png} +0 -0
  75. /kotonebot/kaa/sprites/{fa72809a-d057-40a0-b771-f4d96bc1ced2.png → 49587e50-e978-461f-b49c-7f92347923f5.png} +0 -0
  76. /kotonebot/kaa/sprites/{bc393fa9-317c-48f9-88cf-cd4d93af1569.png → 4af83157-f237-4072-a732-1e59814485e7.png} +0 -0
  77. /kotonebot/kaa/sprites/{1a06449d-472e-4c06-9dc1-1cb06b1b1ce5.png → 4b595d09-a5ed-47d6-9c7b-e471792db801.png} +0 -0
  78. /kotonebot/kaa/sprites/{8a62a66d-4b66-42d5-b004-b56eb7c45d68.png → 4e284d43-9d58-4afa-be66-b61825ef2be3.png} +0 -0
  79. /kotonebot/kaa/sprites/{bdc3b84b-18a4-4abe-938d-3e6495bef7eb.png → 50f138f4-7500-42c1-8121-2f03703d8f8f.png} +0 -0
  80. /kotonebot/kaa/sprites/{e2a98bd2-56d1-47e9-806a-a36d06bd3f16.png → 53d082f9-9cac-4ca0-b166-3a3599c4f757.png} +0 -0
  81. /kotonebot/kaa/sprites/{bfa4b6bf-c032-46b8-9ce3-268717e4e364.png → 5479a383-3e75-4082-a118-fdae784228f4.png} +0 -0
  82. /kotonebot/kaa/sprites/{1e17f7b1-4f64-474c-aade-4b3de32c0de4.png → 564e9739-a90d-4c17-9d29-b3edb6aef1e9.png} +0 -0
  83. /kotonebot/kaa/sprites/{8bad2dbc-9f3a-443f-a3ff-048e70577a97.png → 5aac4900-ccd2-4a72-9135-0804fe14e6e2.png} +0 -0
  84. /kotonebot/kaa/sprites/{72a9238a-de6d-4665-85d4-265180d00db2.png → 5c926d27-63c7-466f-9e34-65144153e0d2.png} +0 -0
  85. /kotonebot/kaa/sprites/{fcbeb870-6853-4e2c-8a6e-54b4787e3a2e.png → 5d51ee71-a2fb-414a-ab48-c5d3c1a3b945.png} +0 -0
  86. /kotonebot/kaa/sprites/{06df0c16-bb7e-41b7-90fe-afc14379b90f.png → 62390db3-c5bc-4868-bfb3-958acceff9cd.png} +0 -0
  87. /kotonebot/kaa/sprites/{35f613e8-61af-41b0-a397-44ae7566a233.png → 634b1421-7f65-452c-a4e2-e40a5028938a.png} +0 -0
  88. /kotonebot/kaa/sprites/{2227a4ac-a933-4165-b594-2720a26f9e44.png → 6588da9e-a9b5-4313-9f67-e03f213f3fa4.png} +0 -0
  89. /kotonebot/kaa/sprites/{36039a1a-52e6-428d-9866-0f0f65a7298f.png → 66eee7a5-3d0e-430f-850b-7fff14b3671f.png} +0 -0
  90. /kotonebot/kaa/sprites/{3a41fe06-7f33-4c21-9edd-291191e3c563.png → 67176e48-eaa5-46dd-bbaf-85b1b324ba48.png} +0 -0
  91. /kotonebot/kaa/sprites/{0e332904-cace-4d02-9575-100a359c548f.png → 6774c674-5100-4422-a82b-deb9bd5d49ee.png} +0 -0
  92. /kotonebot/kaa/sprites/{6a272201-1311-41ee-b296-0a8d812d8173.png → 6e9ef52c-937f-47f1-9687-899a528d7599.png} +0 -0
  93. /kotonebot/kaa/sprites/{658eb246-1469-4a86-b7a7-5e66b3102084.png → 704bf40a-4125-4260-9dd7-fa8ac13f00df.png} +0 -0
  94. /kotonebot/kaa/sprites/{80ae6f18-cc26-4b31-9202-b5a0656b23ce.png → 71bbe862-b9f7-47ab-b4f1-f0b87732bd39.png} +0 -0
  95. /kotonebot/kaa/sprites/{229366ae-dbcd-4378-84a2-8a7eb1d1e084.png → 7516da41-7cbf-4c18-8630-3baecc225764.png} +0 -0
  96. /kotonebot/kaa/sprites/{12f47930-f691-4a3e-8c83-e47f63fb1f2b.png → 75f0339c-9acf-4971-a3c2-e302f56b1f93.png} +0 -0
  97. /kotonebot/kaa/sprites/{b6cda449-d5ab-4a38-9c85-c25e1b73f588.png → 76a65fb7-4429-4288-a164-bd121974ee6b.png} +0 -0
  98. /kotonebot/kaa/sprites/{dfe926f6-a3b3-48c2-9ebd-757f77d932a6.png → 783cbcad-eefc-4a04-910e-9ff4288d3c18.png} +0 -0
  99. /kotonebot/kaa/sprites/{651b2464-0c4a-4f3d-9452-5a40897b39e1.png → 78a12e3b-ac32-4e96-8998-30f92318a36b.png} +0 -0
  100. /kotonebot/kaa/sprites/{8b3cfcfc-fa00-4bc5-9ea4-b350f2c08cb0.png → 7cddb93a-175c-4875-a2fb-136cdfc365a7.png} +0 -0
  101. /kotonebot/kaa/sprites/{ef21cbe1-7263-4a68-ad8c-b9aac503978a.png → 7d817b98-53ff-491c-b608-b07a0c143009.png} +0 -0
  102. /kotonebot/kaa/sprites/{c89ce004-a437-4b94-9420-0d9bf2ed7e25.png → 8034f626-ae01-42c0-8f73-a3d1c9aaff5c.png} +0 -0
  103. /kotonebot/kaa/sprites/{b5a883c1-8086-4c60-a789-a7819c674645.png → 824c9efd-21ea-4e26-a1fa-9e909d8b98d6.png} +0 -0
  104. /kotonebot/kaa/sprites/{47d9fac4-2caf-4479-a97a-e519ddbfb3cf.png → 835e3ad1-8f73-4e2e-bdd5-9a5fb866858f.png} +0 -0
  105. /kotonebot/kaa/sprites/{7b8541a8-9e82-410b-b053-3ebc96b36604.png → 84795df2-e6d9-40fb-aef5-98fbf9c17399.png} +0 -0
  106. /kotonebot/kaa/sprites/{04622143-7f9e-47a8-86a5-be2b81d13cb6.png → 848c8b04-c953-473d-94b1-2a2d5cdbd9c4.png} +0 -0
  107. /kotonebot/kaa/sprites/{fa1eea22-b329-4c1c-8446-279c542f6da0.png → 8498ac20-4ec2-474b-961f-cbf488da9a23.png} +0 -0
  108. /kotonebot/kaa/sprites/{288a0541-a175-47b4-b75c-2e845e27cba6.png → 85f1cf4f-7d07-403a-917b-02b273680c21.png} +0 -0
  109. /kotonebot/kaa/sprites/{795961a5-78c5-4ac4-a250-b1879cd2f60d.png → 86db7d47-f634-4be4-b9e2-371e7868aded.png} +0 -0
  110. /kotonebot/kaa/sprites/{00707545-6ed3-4c3a-9c84-89cb75ac1adc.png → 88d89e04-2242-4ed7-be23-edd6535121ac.png} +0 -0
  111. /kotonebot/kaa/sprites/{fc7b1cdb-d0d0-4470-b5fd-218a8551dc9f.png → 8cb9d744-6b49-452b-b0b6-e441446050ef.png} +0 -0
  112. /kotonebot/kaa/sprites/{ed081194-272d-461a-93a1-ec476a896753.png → 8df4515c-ff60-432c-a624-ae3658bf7e0c.png} +0 -0
  113. /kotonebot/kaa/sprites/{57cee3e6-eee4-4023-85f3-52959fa372a0.png → 8e6b9237-f94a-4e21-9b2c-45e3d4833b6d.png} +0 -0
  114. /kotonebot/kaa/sprites/{f47d8096-63bf-42ed-8f4f-5f6f1d8772f4.png → 8e7b53fd-d962-43b7-a203-3d480c649c83.png} +0 -0
  115. /kotonebot/kaa/sprites/{45abba60-06d7-4921-b2a2-9ce790c2b25b.png → 8ed3f006-facb-4ba0-9034-24a3a7729012.png} +0 -0
  116. /kotonebot/kaa/sprites/{791e885e-6e27-498f-81ff-87a40582507d.png → 91e2c2d3-b629-4c49-97d5-ed99dada3243.png} +0 -0
  117. /kotonebot/kaa/sprites/{65dbaa8c-2053-4441-9c31-8fd8fc8c87d8.png → 92c1a9ba-994b-4635-b1b6-1fa157f227f6.png} +0 -0
  118. /kotonebot/kaa/sprites/{0bd59a8f-6fbd-4c92-8c1e-1d58716b6d84.png → 981e63c5-d615-44dd-9ad6-60f6b415cdaf.png} +0 -0
  119. /kotonebot/kaa/sprites/{7eff6c59-a7ed-43d5-8b67-083127e9e748.png → 98a8e860-39cf-416c-b435-64a33579c6e8.png} +0 -0
  120. /kotonebot/kaa/sprites/{78e27204-2544-419d-b66e-e9e7244f4460.png → 9932dfd8-7c97-47dd-b6bb-e8c8d593f762.png} +0 -0
  121. /kotonebot/kaa/sprites/{62676c2c-814a-4d8b-9bb2-232c3b434287.png → 9a275932-f760-4373-ab27-86c5caf19136.png} +0 -0
  122. /kotonebot/kaa/sprites/{b9e687ca-ba44-4aa1-a282-b7da6cffb2ba.png → 9a7f06a5-448b-4410-84fa-0a4c938620f7.png} +0 -0
  123. /kotonebot/kaa/sprites/{db86f5a5-0272-4a74-893e-077acbbecf23.png → 9cdd7af5-0e25-4226-8c7b-93c8c633c27b.png} +0 -0
  124. /kotonebot/kaa/sprites/{c3d5a935-6e77-4751-a0b1-b1ac3a3edf0a.png → a0ddc404-a653-4d76-842f-faf7f93851ed.png} +0 -0
  125. /kotonebot/kaa/sprites/{c86250ac-bde0-45bb-b696-f8b94e2d2d3b.png → a1087827-1065-4f35-b04f-854ddf2d7e70.png} +0 -0
  126. /kotonebot/kaa/sprites/{5cd3481b-2388-4461-b525-c2f78050822f.png → a3f07286-a699-4f5c-9912-835b3781b4f7.png} +0 -0
  127. /kotonebot/kaa/sprites/{9a816f64-b16e-4e8a-b4d8-d056c31c85f1.png → a4aabbbe-6400-4bcb-a95f-32a7d611bf5b.png} +0 -0
  128. /kotonebot/kaa/sprites/{8bdcc43b-876d-451f-b300-67c16c6f5c9f.png → a4b50bf5-7dfe-4bbb-8bd7-528c9147b71e.png} +0 -0
  129. /kotonebot/kaa/sprites/{2ee5d498-1370-4f09-b187-41dbe582f498.png → a4c42000-2421-4b02-b83e-60e1397304b0.png} +0 -0
  130. /kotonebot/kaa/sprites/{9d9dd078-9bb3-4f5f-9ef5-63c203bf02c9.png → a8aacbc9-1238-414c-b1e6-5ea1a01407c2.png} +0 -0
  131. /kotonebot/kaa/sprites/{a18a08f5-c752-4fa4-a451-b48f5ca11360.png → a99307de-c12f-4cf5-921b-b80bf03bbac3.png} +0 -0
  132. /kotonebot/kaa/sprites/{a921b8d5-93b7-4346-9ae4-d2e1def1ec1a.png → ac02de52-42fa-4767-81f8-97fbac3bd8a0.png} +0 -0
  133. /kotonebot/kaa/sprites/{80fac9c6-e6de-4fb5-9543-77797ffcde7a.png → aee9d67f-d6be-4cf5-9c30-331f6d5f0f84.png} +0 -0
  134. /kotonebot/kaa/sprites/{2fc0a912-8d9b-48a3-b942-a25274c83edd.png → b45b4340-65ce-49df-a265-9f3cd876fced.png} +0 -0
  135. /kotonebot/kaa/sprites/{ccbbecec-5cf5-4f9f-8358-6b3408689234.png → b53035c7-43a6-4d83-a51c-dd6b7cd14a1e.png} +0 -0
  136. /kotonebot/kaa/sprites/{cf615078-aedf-46af-a94d-9328a16fbc13.png → b54343ba-8b17-4d72-b379-805ae3062d86.png} +0 -0
  137. /kotonebot/kaa/sprites/{6a59aafc-4962-490e-8ab1-9ad59d22db3d.png → b94087df-db46-4ae3-bf93-8548a25a1a23.png} +0 -0
  138. /kotonebot/kaa/sprites/{03985ce5-781f-4c1b-8d49-c5f97010d5ff.png → bd101208-a87c-405c-987a-d46e1b6f0358.png} +0 -0
  139. /kotonebot/kaa/sprites/{98deb79d-e32b-4551-bc26-c4722d2b1307.png → be2c3ab5-9d63-47bc-93f1-110b9668d5e2.png} +0 -0
  140. /kotonebot/kaa/sprites/{aeff3068-5f5c-4685-a328-fe367d426c46.png → c41567a3-84bf-4e71-9eb1-f577c0348215.png} +0 -0
  141. /kotonebot/kaa/sprites/{c1504a57-77f0-46ca-a30b-162120489d5c.png → c5127f24-fa81-4d61-876f-ac0a377bf00e.png} +0 -0
  142. /kotonebot/kaa/sprites/{ccb8054c-345d-43c9-8b2c-7b2243ad6668.png → c542ba3e-e0c0-41a1-8cc7-dd7454b12400.png} +0 -0
  143. /kotonebot/kaa/sprites/{833ce8cb-01cd-4457-94b9-ff3f93d33f05.png → c6649b6a-7d03-454c-902b-7462092878df.png} +0 -0
  144. /kotonebot/kaa/sprites/{fd354169-e32a-45be-9a1e-da0136b91dc3.png → cf5dcb2b-c5bd-4e38-a2bb-2673db821f79.png} +0 -0
  145. /kotonebot/kaa/sprites/{f60a8a24-b358-4f3a-af2c-4e4a31c5d36e.png → d37153d2-f699-4608-abbf-43d6bd8b1469.png} +0 -0
  146. /kotonebot/kaa/sprites/{382cb218-9e58-406f-9a3b-a9d990fc0fff.png → d3bfc1c2-a202-42c2-9e19-61b949a340c7.png} +0 -0
  147. /kotonebot/kaa/sprites/{a975a75e-e774-481b-8ade-9b1229bc95dd.png → d5ad9b97-3175-4c49-a1f7-5da663125af3.png} +0 -0
  148. /kotonebot/kaa/sprites/{29449202-a6cc-4080-bb87-816481ec9506.png → d5c4ef47-257f-49a2-81e3-ba7ab6fa0f62.png} +0 -0
  149. /kotonebot/kaa/sprites/{94165d54-2c09-427f-9cb1-e23fa9b06a96.png → d7ceaf00-e488-4273-968c-315962bf4837.png} +0 -0
  150. /kotonebot/kaa/sprites/{a4935638-882c-4d3f-af77-e5888ad0b71e.png → d7e25596-8452-4eb3-aaa8-5997be3dd851.png} +0 -0
  151. /kotonebot/kaa/sprites/{7533e4fd-e411-4386-a0fb-aa8f2cbeb216.png → db4ca499-5cd3-4332-b232-28ddbedd4741.png} +0 -0
  152. /kotonebot/kaa/sprites/{f0370809-4383-4039-b8ec-f80a9216a7b3.png → e0effef4-869d-4a0c-8db3-1c41cd255555.png} +0 -0
  153. /kotonebot/kaa/sprites/{40fc17b0-718c-432d-b784-92a22c2f7512.png → e8407109-ffa8-496b-a499-e78db90db540.png} +0 -0
  154. /kotonebot/kaa/sprites/{ecc2500b-4916-4c47-a840-98233d53522b.png → e857f00d-81bd-4fbc-9043-c9252a075da3.png} +0 -0
  155. /kotonebot/kaa/sprites/{54e29f7f-c951-46a2-a068-6911dfcf1966.png → e872aa76-2947-4209-abd7-5ecb56fdc9d6.png} +0 -0
  156. /kotonebot/kaa/sprites/{77b0a64c-1e14-41d6-94af-8824982f2119.png → ea7dd69b-b02f-499d-acee-6bd35a033a73.png} +0 -0
  157. /kotonebot/kaa/sprites/{1b60b852-dc93-48a1-8b73-0d728d04e057.png → f1fcc488-584d-4c61-8489-8b1b539151a9.png} +0 -0
  158. /kotonebot/kaa/sprites/{cd8d48f2-77d2-4d0b-a81f-53a1549457e9.png → f62bfba7-3d6b-4bdd-9821-ca8370ee2ff4.png} +0 -0
  159. /kotonebot/kaa/sprites/{71e84fb3-9474-4bbc-8543-ffba5758dcc0.png → f7084b2c-5411-4180-9404-377240af1857.png} +0 -0
  160. /kotonebot/kaa/sprites/{1262d83a-8f2a-4f75-b70a-385a04d35ae1.png → f7c7f2cf-337b-4dd6-a90b-7f5c452a1640.png} +0 -0
  161. /kotonebot/kaa/sprites/{fb870576-1837-4267-bc0f-e0685bf7a136.png → fbba87fb-50e5-4c2f-9218-82f1ffb7a5ba.png} +0 -0
  162. /kotonebot/kaa/sprites/{4fd7d95e-7955-4a70-ad91-67a230c647a3.png → fc7e4b97-0d87-4de9-b7ac-87ca670b6ff2.png} +0 -0
  163. /kotonebot/kaa/sprites/{5b2e7826-0e1c-4fd8-965c-6a3498c59825.png → fe0a26ac-906c-4809-9de5-43cb4a467a9d.png} +0 -0
  164. /kotonebot/kaa/sprites/{08f593a9-d9eb-41ee-b2c0-010562e7ef10.png → ff232b25-39b4-4dcb-9e21-1d82b9e0bb7d.png} +0 -0
  165. {ksaa-2025.8.23.0.dist-info → ksaa-2025.9b1.dist-info}/WHEEL +0 -0
  166. {ksaa-2025.8.23.0.dist-info → ksaa-2025.9b1.dist-info}/entry_points.txt +0 -0
  167. {ksaa-2025.8.23.0.dist-info → ksaa-2025.9b1.dist-info}/licenses/LICENSE +0 -0
  168. {ksaa-2025.8.23.0.dist-info → ksaa-2025.9b1.dist-info}/top_level.txt +0 -0
kotonebot/kaa/main/gr.py CHANGED
@@ -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
- # 新增 IdleModeManager
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=lambda: (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,
239
- get_is_paused=lambda: vars.flow.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(field_name: str, value: bool, display_name: str):
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(f"✓ {display_name} 已{'启用' if value else '禁用'}")
655
+ gr.Success(success_msg)
659
656
  else:
660
- gr.Warning(f"⚠ {display_name} 已保存,但重新加载失败")
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
- purchase_quick.change(
676
- fn=lambda x: save_quick_setting('purchase', x, '商店'),
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.change(
680
- fn=lambda x: save_quick_setting('assignment', 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.change(
684
- fn=lambda x: save_quick_setting('contest', 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.change(
688
- fn=lambda x: save_quick_setting('produce', 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.change(
692
- fn=lambda x: save_quick_setting('mission_reward', 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.change(
696
- fn=lambda x: save_quick_setting('club_reward', 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.change(
700
- fn=lambda x: save_quick_setting('activity_funds', 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.change(
704
- fn=lambda x: save_quick_setting('presents', 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.change(
708
- fn=lambda x: save_quick_setting('capsule_toys', 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.change(
712
- fn=lambda x: save_quick_setting('upgrade_support_card', 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
 
@@ -2369,9 +2435,12 @@ class KotoneBotUI:
2369
2435
  # 社团奖励设置
2370
2436
  club_reward_settings = self._create_club_reward_settings()
2371
2437
 
2372
- # 升级支援卡设置
2438
+ # 扭蛋设置
2373
2439
  capsule_toys_settings = self._create_capsule_toys_settings()
2374
2440
 
2441
+ # 升级支援卡设置
2442
+ upgrade_support_card_settings = self._create_upgrade_support_card_settings()
2443
+
2375
2444
  # 启动游戏设置
2376
2445
  start_game_settings = self._create_start_game_settings()
2377
2446
 
@@ -2402,6 +2471,7 @@ class KotoneBotUI:
2402
2471
  mission_reward_settings,
2403
2472
  club_reward_settings,
2404
2473
  capsule_toys_settings,
2474
+ upgrade_support_card_settings,
2405
2475
  start_game_settings,
2406
2476
  end_game_settings,
2407
2477
  misc_settings,
@@ -2483,7 +2553,7 @@ class KotoneBotUI:
2483
2553
  try:
2484
2554
  # 构建命令,使用清华镜像源
2485
2555
  cmd = [
2486
- sys.executable, "-m", "pip", "index", "versions", "ksaa", "--json",
2556
+ sys.executable, "-m", "pip", "index", "versions", "ksaa", "--json", "--pre",
2487
2557
  "--index-url", "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple",
2488
2558
  "--trusted-host", "mirrors.tuna.tsinghua.edu.cn"
2489
2559
  ]
kotonebot/kaa/metadata.py CHANGED
@@ -1,6 +1,40 @@
1
1
  WHATS_NEW = """
2
2
  # 更新日志
3
3
  ## kaa
4
+ ### v2025.09b1
5
+ 发布日期:2025-09-06
6
+
7
+ > **注意**
8
+ >
9
+ > 自此版本开始,版本号格式从 `v{YYYY}.{MM}.{DD}.{Minor}` 改为 `v{YYYY}.{MM}` 与 `v{YYYY}.{MM}b{BetaVersion}` 。
10
+ > 前者为正式版,每一到两个月发布一次,后者为测试版,一到两周发布一次。对于只更新了游戏数据的正式版,使用 `post` 后缀。
11
+ >
12
+ > 【例】
13
+ > - v2025.08 为 2025 年 9 月发布的正式版
14
+ > - v2025.09b3 为 2025 年 9 月发布的第 3 个测试版
15
+ > - v2025.08.post1 为 2025 年 8 月发布的正式版,但只更新了游戏数据
16
+
17
+ 脚本:
18
+ * [修复] 修复培育中打牌时无法处理日期变更弹窗的问题(#de27888)
19
+ * [修复] 修复了produce模块中循环引用,导致produce子模块失效的问题(#e08ec22)
20
+ * [修复] 再次修复进入商店时,错误进入交换所的问题(#a425ae9)
21
+ * [修复] 修复了上一次培育为NIA培育时,错误地进入Hajime培育的问题(#f8686b8)
22
+ * [修复] 修复了自动使用AP饮料时有几率卡在点击「使う」按钮上的问题(#dd5dbdf)
23
+ * [修复] 修复了'休息'时按钮点击过快,导致第二次点击丢失的问题(#070f052)
24
+ * [修复] 修复了进入商店时,错误进入交换所的问题(#bfabf3e)
25
+ * [新增] 新增了处理'培育时,日期变更'的功能(#e15f4e3)
26
+
27
+ 界面:
28
+ * [修复] 在详细设置中添加了缺失的‘升级支援卡设置’(#89793c7)
29
+ * [新增] 在'状态'页新增了全选、全不选、只选培育、只不选培育这四个新按键(#93f03b3)
30
+ * [新增] UI 内支持检索测试版本的 kaa(#5a66777)
31
+
32
+ 框架:
33
+ * [修复] 修复启用空闲模式后,反复报错 ContextNotInitializedError 的问题(#0a8293e)
34
+
35
+ 其他:
36
+ * [文档] 新增开发指南(#4b7dea5)
37
+
4
38
  ### v2025.8.23.0
5
39
  脚本:
6
40
  * [新增] 新增闲置挂机功能(#54e2101)
Binary file
Binary file