fix(task): 修复扭蛋在慢速设备下的两个问题
1. 加载页面超时导致获取按钮失败 2. 进入扭蛋结果页面时超时导致判定为硬币不足
This commit is contained in:
parent
05e471ab07
commit
8f7650e526
|
@ -1 +1 @@
|
|||
{"definitions":{"26ce71b2-59dc-4237-b50f-41690d7b8ecf":{"name":"Daily.CapsuleToys.NextPageStartPoint","displayName":"日常 扭蛋 下一页起始点","type":"hint-point","annotationId":"26ce71b2-59dc-4237-b50f-41690d7b8ecf","useHintRect":false,"description":"扭蛋页面翻页时的起始点"},"ada5c1e1-1524-4476-bdf9-aa0aab8b35ad":{"name":"Daily.CapsuleToys.NextPageEndPoint","displayName":"日常 扭蛋 下一页终点","type":"hint-point","annotationId":"ada5c1e1-1524-4476-bdf9-aa0aab8b35ad","useHintRect":false,"description":"扭蛋页面翻页时的终点"}},"annotations":[{"id":"26ce71b2-59dc-4237-b50f-41690d7b8ecf","type":"point","data":{"x":360,"y":1167}},{"id":"ada5c1e1-1524-4476-bdf9-aa0aab8b35ad","type":"point","data":{"x":362,"y":267}}]}
|
||||
{"definitions":{"26ce71b2-59dc-4237-b50f-41690d7b8ecf":{"name":"Daily.CapsuleToys.NextPageStartPoint","displayName":"日常 扭蛋 下一页起始点","type":"hint-point","annotationId":"26ce71b2-59dc-4237-b50f-41690d7b8ecf","useHintRect":false,"description":"扭蛋页面翻页时的起始点"},"ada5c1e1-1524-4476-bdf9-aa0aab8b35ad":{"name":"Daily.CapsuleToys.NextPageEndPoint","displayName":"日常 扭蛋 下一页终点","type":"hint-point","annotationId":"ada5c1e1-1524-4476-bdf9-aa0aab8b35ad","useHintRect":false,"description":"扭蛋页面翻页时的终点"},"2bd6fe88-99fa-443d-8e42-bb3de5881213":{"name":"Daily.CapsuleToys.IconTitle","displayName":"日常 扭蛋 页面标题图标","type":"template","annotationId":"2bd6fe88-99fa-443d-8e42-bb3de5881213","useHintRect":false}},"annotations":[{"id":"26ce71b2-59dc-4237-b50f-41690d7b8ecf","type":"point","data":{"x":360,"y":1167}},{"id":"ada5c1e1-1524-4476-bdf9-aa0aab8b35ad","type":"point","data":{"x":362,"y":267}},{"id":"2bd6fe88-99fa-443d-8e42-bb3de5881213","type":"rect","data":{"x1":14,"y1":34,"x2":60,"y2":78}}]}
|
|
@ -1,7 +1,7 @@
|
|||
"""扭蛋机,支持任意次数的任意扭蛋类型"""
|
||||
import logging
|
||||
|
||||
from kotonebot import task, action, device, image, sleep
|
||||
from kotonebot import task, action, device, image, sleep, Interval
|
||||
from kotonebot.backend.image import TemplateMatchResult
|
||||
from . import R
|
||||
from .common import conf
|
||||
|
@ -30,20 +30,27 @@ def draw_capsule_toys(button: TemplateMatchResult, times: int):
|
|||
)
|
||||
sleep(0.5)
|
||||
|
||||
# 点击加号按钮
|
||||
add_button = image.expect_wait(R.Daily.ButtonShopCountAdd, timeout=5)
|
||||
for _ in range(times):
|
||||
device.click(add_button)
|
||||
sleep(0.5)
|
||||
|
||||
# 点击确认按钮
|
||||
device.click(image.expect_wait(R.Common.ButtonConfirm, timeout=5))
|
||||
sleep(0.5)
|
||||
|
||||
# 点击关闭按钮(这里同时处理了两种情况:成功,关闭提示页面;扭蛋次数不足,关闭抽扭蛋页面)
|
||||
if image.wait_for(R.Common.ButtonIconClose, timeout=5):
|
||||
device.click()
|
||||
sleep(1)
|
||||
confirm_button = image.find(R.Common.ButtonConfirm, colored=True)
|
||||
if confirm_button is None:
|
||||
# 硬币不足
|
||||
logger.info('Not enough coins.')
|
||||
else:
|
||||
# 硬币足够
|
||||
add_button = image.expect_wait(R.Daily.ButtonShopCountAdd, timeout=5)
|
||||
for _ in range(times):
|
||||
device.click(add_button)
|
||||
sleep(0.5)
|
||||
device.click(confirm_button)
|
||||
sleep(0.5)
|
||||
|
||||
# 等待动画完成
|
||||
it = Interval()
|
||||
while True:
|
||||
if image.find(R.Common.ButtonIconClose):
|
||||
device.click()
|
||||
elif image.find(R.Daily.CapsuleToys.IconTitle):
|
||||
break
|
||||
it.wait()
|
||||
|
||||
@action('获取抽扭蛋按钮')
|
||||
def get_capsule_toys_draw_buttons():
|
||||
|
@ -84,7 +91,8 @@ def capsule_toys():
|
|||
logger.info('Entering Capsule Toys page')
|
||||
device.click(image.expect_wait(R.Daily.ButtonShop, timeout=5))
|
||||
device.click(image.expect_wait(R.Daily.ButtonShopCapsuleToys, timeout=5))
|
||||
sleep(1)
|
||||
# 等待加载
|
||||
image.expect_wait(R.Daily.CapsuleToys.IconTitle)
|
||||
|
||||
# 处理好友扭蛋和感性扭蛋
|
||||
buttons = get_capsule_toys_draw_buttons();
|
||||
|
@ -109,7 +117,7 @@ def capsule_toys():
|
|||
sleep(1) # 等待滑动静止(由于swipe duration失效,所以这里需要手动等待)
|
||||
|
||||
# 处理逻辑扭蛋扭蛋和非凡扭蛋
|
||||
buttons = get_capsule_toys_draw_buttons();
|
||||
buttons = get_capsule_toys_draw_buttons()
|
||||
if len(buttons) != 2:
|
||||
return
|
||||
|
||||
|
|
Loading…
Reference in New Issue