可以自动进去邀请好友拉到10豆,就是不砸豆
在提问之前...
- [x] 我已经搜索了现有的 issues
- [x] 我在提问题之前至少花费了 5 分钟来思考和准备
- [x] 我已经阅读了文档中的 常见问题(FAQ)
- [x] 这个问题出现了至少三次,不是偶发的
- [ ] 我使用 OAS 的 dev 分支
描述你的问题
════════════════════════════════════════════════════════════════════════════════
──────────────────────────────────── START ─────────────────────────────────────
════════════════════════════════════════════════════════════════════════════════
INFO | 20:22:26.692 | Log cleanup finished
INFO | 20:22:26.697 | Start scheduler loop: oas1
INFO | 20:22:26.710 | 显示窗口: MuMu安卓设备
INFO | 20:22:26.726 | Pending tasks: ['Hyakkiyakou']
INFO | 20:22:26.731 | [Task] Hyakkiyakou (Enable, 5, 2025-10-15 19:04:00)
════════════════════════════════════ DEVICE ════════════════════════════════════
INFO | 20:22:26.739 | DEVICE
INFO | 20:22:26.742 | [AdbBinary]
E:/OAS/OnmyojiAutoScript-easy-install/toolkit/Lib/site-packages/adbutil
s/binaries/adb.exe
INFO | 20:22:26.746 | [AdbClient] AdbClient(127.0.0.1, 5037)
INFO | 20:22:26.750 | <<< DETECT DEVICE >>>
INFO | 20:22:26.753 | Here are the available devices, copy to
Alas.Emulator.Serial to use it or set Alas.Emulator.Serial="auto"
INFO | 20:22:26.759 | 127.0.0.1:16384
INFO | 20:22:26.771 | already connected to 127.0.0.1:16384
INFO | 20:22:26.776 | [AdbDevice] AdbDevice(serial=127.0.0.1:16384 )
INFO | 20:22:26.779 | <<< DETECT PACKAGE >>>
INFO | 20:22:26.783 | Get package list
INFO | 20:22:27.361 | Here are the available packages in device
"127.0.0.1:16384 ", copy to Alas.Emulator.PackageName to use it
INFO | 20:22:27.365 | com.netease.onmyoji
INFO | 20:22:27.369 | Auto package detection found only one package, using
it
INFO | 20:22:27.372 | Server changed, release resources
INFO | 20:22:27.374 | [PackageName] com.netease.onmyoji
INFO | 20:22:27.377 | <<< HANDLE >>>
INFO | 20:22:27.379 | Handle is handle string. oas use it as root handle
title
INFO | 20:22:27.383 | The root handle title is MuMu安卓设备 and num is
133360
INFO | 20:22:27.385 | Emulator handle structure:
INFO | 20:22:27.389 | MuMu安卓设备
INFO | 20:22:27.393 | └── MuMuNxDevice
INFO | 20:22:27.396 | └── nemudisplay
INFO | 20:22:27.398 | 133360
INFO | 20:22:27.400 | └── 2885988
INFO | 20:22:27.404 | └── 655692
INFO | 20:22:27.406 | Emulator family: EmulatorFamily.FAMILY_MUMU
INFO | 20:22:27.410 | Your window screen scale rate: 1.5
INFO | 20:22:27.413 | Screenshot handle num: 133360
INFO | 20:22:27.415 | Emulator screenshot size: (860, 523)
INFO | 20:22:27.418 | Screenshot interval set to 0.3s
INFO | 20:22:27.421 | Scheduler: Start task Hyakkiyakou
════════════════════════════════════════════════════════════════════════════════
───────────────────────────────── HYAKKIYAKOU ──────────────────────────────────
════════════════════════════════════════════════════════════════════════════════
INFO | 20:22:27.437 | Connecting to local emulator, using host 192.168.1.5
INFO | 20:22:27.441 | Reverse server listening on 192.168.1.5:20734, client
can send data to 192.168.1.5:20734
INFO | 20:22:27.455 | sdk_ver: 32
INFO | 20:22:27.485 | [nc command] ['nc']
INFO | 20:22:27.860 | [Screen_size] 1280x720
INFO | 20:22:27.864 | module_path:
E:\OAS\OnmyojiAutoScript-easy-install\tasks\Hyakkiyakou\script_task.py,
module_name: script_task
INFO | 20:22:28.260 | UI get current page
INFO | 20:22:28.294 | [UI] page_town
INFO | 20:22:28.299 | <<< UI GOTO PAGE_HYAKKIYAKOU >>>
INFO | 20:22:28.324 | Page switch: page_town -> page_hyakkiyakou
INFO | 20:22:28.330 | Click ( 923, 182) @ PAGE_TOWN_GOTO_HYAKKIYAKOU
INFO | 20:22:29.243 | Page arrive: page_hyakkiyakou
WARNING | 20:22:29.249 | Page Error
──────────────────────────────── INVITE FRIEND ─────────────────────────────────
INFO | 20:22:29.253 | INVITE FRIEND
INFO | 20:22:29.562 | Click ( 158, 612) @ HYA_HINVITE
INFO | 20:22:32.265 | Click ( 318, 226) @ friend_1_recall
INFO | 20:22:32.543 | Click ( 620, 250) @ friend_2_recall
INFO | 20:22:32.849 | Invite friend done
INFO | 20:22:33.162 | Click (1086, 635) @ HYA_HACCESS
INFO | 20:22:35.275 | Click (1121, 580) @ HYA_HSTART
INFO | 20:22:35.631 | Click ( 236, 512) @ hselect_1
INFO | 20:22:37.385 | Click (1129, 649) @ HYA_HSTART
INFO | 20:22:38.569 | Add stuck record: BATTLE_STATUS_S
INFO | 20:22:38.575 | <<< START HYAKKIYAKOU >>>
INFO | 20:22:38.581 | NemuIpcImpl init, nemu_folder=D:\mumu\MuMu Player 12,
ipc_dll=D:\mumu\MuMu Player
12\nx_device\12.0\shell\sdk\external_renderer_ipc.dll, instance_id=0,
display_id=0
INFO | 20:22:38.807 | Swipe ( 391, 658) -> ( 595, 667), 0.3625
INFO | 20:22:40.647 | Reset Debugger Thread Environment
Align(<rich.table.Table object at 0x0000017C6A148FD0>, 'center')Align(<rich.table.Table object at 0x0000017C6A0ABB80>, 'center')Align(<rich.table.Table object at 0x0000017C6A0AB460>, 'center')Align(<rich.table.Table object at 0x0000017C6A148FD0>, 'center')Align(<rich.table.Table object at 0x0000017C6A0A9ED0>, 'center')Align(<rich.table.Table object at 0x0000017C6A0ABB80>, 'center')Align(<rich.table.Table object at 0x0000017C6A148FD0>, 'center')Align(<rich.table.Table object at 0x0000017C6A0A9E10>, 'center')Align(<rich.table.Table object at 0x0000017C6A0A9EA0>, 'center')INFO | 20:22:43.401 | Focus changed, now: 久次良
INFO | 20:22:43.427 | Click (1217, 425) @ Click
INFO | 20:22:43.431 | <<< MINITOUCH INIT >>>
INFO | 20:22:43.464 | [Device Orientation] 1 (HOME key on the right)
ERROR | 20:22:43.472 | AdbError: unknown host service
INFO | 20:22:43.484 | disconnected 127.0.0.1:16384
INFO | 20:22:43.498 | connected to 127.0.0.1:16384
INFO | 20:22:43.506 | <<< DETECT DEVICE >>>
INFO | 20:22:43.515 | Here are the available devices, copy to
Alas.Emulator.Serial to use it or set Alas.Emulator.Serial="auto"
INFO | 20:22:43.523 | 127.0.0.1:16384
INFO | 20:22:43.527 | <<< MINITOUCH INIT >>>
INFO | 20:22:43.707 | [Device Orientation] 1 (HOME key on the right)
ERROR | 20:22:43.712 | AdbError: unknown host service
INFO | 20:22:44.721 | disconnected 127.0.0.1:16384
INFO | 20:22:44.736 | connected to 127.0.0.1:16384
INFO | 20:22:44.743 | <<< DETECT DEVICE >>>
INFO | 20:22:44.750 | Here are the available devices, copy to
Alas.Emulator.Serial to use it or set Alas.Emulator.Serial="auto"
INFO | 20:22:44.758 | 127.0.0.1:16384
INFO | 20:22:44.764 | <<< MINITOUCH INIT >>>
INFO | 20:22:45.063 | [Device Orientation] 1 (HOME key on the right)
ERROR | 20:22:45.073 | AdbError: unknown host service
INFO | 20:22:48.084 | disconnected 127.0.0.1:16384
INFO | 20:22:48.097 | connected to 127.0.0.1:16384
INFO | 20:22:48.103 | <<< DETECT DEVICE >>>
INFO | 20:22:48.108 | Here are the available devices, copy to
Alas.Emulator.Serial to use it or set Alas.Emulator.Serial="auto"
INFO | 20:22:48.114 | 127.0.0.1:16384
INFO | 20:22:48.117 | <<< MINITOUCH INIT >>>
INFO | 20:22:48.278 | [Device Orientation] 1 (HOME key on the right)
ERROR | 20:22:48.285 | AdbError: unknown host service
INFO | 20:22:51.291 | disconnected 127.0.0.1:16384
INFO | 20:22:51.306 | connected to 127.0.0.1:16384
INFO | 20:22:51.311 | <<< DETECT DEVICE >>>
INFO | 20:22:51.316 | Here are the available devices, copy to
Alas.Emulator.Serial to use it or set Alas.Emulator.Serial="auto"
INFO | 20:22:51.321 | 127.0.0.1:16384
INFO | 20:22:51.327 | <<< MINITOUCH INIT >>>
INFO | 20:22:51.475 | [Device Orientation] 1 (HOME key on the right)
ERROR | 20:22:51.485 | AdbError: unknown host service
CRITICAL | 20:22:51.493 | Retry click_minitouch() failed
CRITICAL | 20:22:51.500 |
CRITICAL | 20:22:51.505 | Request human takeover
INFO | 20:22:51.513 | No provider specified, skip sending
INFO | 20:22:51.517 | Notifier: OAS1
ERROR | 20:22:51.524 | Run script oas1 error
╭───────────────── Traceback (most recent call last) ─────────────────╮
│ E:\OAS\OnmyojiAutoScript-easy-install\script.py:359 in run │
│ │
│ 356 │ │ │ module_path = str(Path.cwd() / 'tasks' / command │
│ 357 │ │ │ logger.info(f'module_path: {module_path}, module_ │
│ 358 │ │ │ task_module = load_module(module_name, module_pat │
│ ❱ 359 │ │ │ task_module.ScriptTask(config=self.config, device │
│ 360 │ │ except TaskEnd: │
│ 361 │ │ │ return True │
│ 362 │ │ except GameNotRunningError as e: │
│ │
│ ╭──────────────────────────── locals ─────────────────────────────╮ │
│ │ command = 'Hyakkiyakou' │ │
│ │ module_name = 'script_task' │ │
│ │ module_path = 'E:\OAS\OnmyojiAutoScript-easy-install\tasks\… │ │
│ │ self = <script.Script object at 0x0000017C367C8130> │ │
│ │ task_module = <module 'script_task' from │ │
│ │ 'E:\OAS\OnmyojiAutoScript-easy-install\tasks\… │ │
│ ╰─────────────────────────────────────────────────────────────────╯ │
│ │
│ E:\OAS\OnmyojiAutoScript-easy-install\tasks\Hyakkiyakou\script_task │
│ .py:139 in run │
│ │
│ 136 │ │ │ │ logger.info('Hyakkiyakou time limit out') │
│ 137 │ │ │ │ break │
│ 138 │ │ │ │
│ ❱ 139 │ │ │ self.one() │
│ 140 │ │ │ hya_count += 1 │
│ 141 │ │ │
│ 142 │ │ while 1: │
│ │
│ ╭──────────────────────────── locals ─────────────────────────────╮ │
│ │ hya_count = 0 │ │
│ │ limit_time = datetime.time(1, 0) │ │
│ │ self = <script_task.ScriptTask object at │ │
│ │ 0x0000017C6A0A80A0> │ │
│ ╰─────────────────────────────────────────────────────────────────╯ │
│ │
│ E:\OAS\OnmyojiAutoScript-easy-install\tasks\Hyakkiyakou\script_task │
│ .py:195 in one │
│ │
│ 192 │ │ │ │ self.slave_state = self.update_state() │
│ 193 │ │ │ │ tracks = self.tracker(image=self.device.image │
│ 194 │ │ │ │ last_action = self.agent.decision(tracks=trac │
│ ❱ 195 │ │ │ │ self.do_action(last_action, state=self.slave_ │
│ 196 │ │ │ else: │
│ 197 │ │ │ │ # TODO freeze state │
│ 198 │ │ │ │ tracks = [] │
│ │
│ ╭──────────────────────────── locals ─────────────────────────────╮ │
│ │ click_button = <module.atom.click.RuleClick object at │ │
│ │ 0x0000017C68A0E680> │ │
│ │ init_bean_flag = True │ │
│ │ last_action = [1217.9999998509884, 425, True, 10] │ │
│ │ self = <script_task.ScriptTask object at │ │
│ │ 0x0000017C6A0A80A0> │ │
│ │ tracks = [ │ │
│ │ │ ( │ │
│ │ │ │ 0, │ │
│ │ │ │ 71, │ │
│ │ │ │ 0.9120801687240601, │ │
│ │ │ │ 727, │ │
│ │ │ │ 481, │ │
│ │ │ │ 191, │ │
│ │ │ │ 189, │ │
│ │ │ │ -0.1596023142337799 │ │
│ │ │ ), │ │
│ │ │ ( │ │
│ │ │ │ 1, │ │
│ │ │ │ 6, │ │
│ │ │ │ 0.9856768846511841, │ │
│ │ │ │ 1002, │ │
│ │ │ │ 364, │ │
│ │ │ │ 104, │ │
│ │ │ │ 54, │ │
│ │ │ │ -0.14030057191848755 │ │
│ │ │ ), │ │
│ │ │ ( │ │
│ │ │ │ 2, │ │
│ │ │ │ 8, │ │
│ │ │ │ 0.9554836750030518, │ │
│ │ │ │ 989, │ │
│ │ │ │ 487, │ │
│ │ │ │ 175, │ │
│ │ │ │ 159, │ │
│ │ │ │ -0.1241067424416542 │ │
│ │ │ ), │ │
│ │ │ ( │ │
│ │ │ │ 3, │ │
│ │ │ │ 42, │ │
│ │ │ │ 0.9529655575752258, │ │
│ │ │ │ 1011, │ │
│ │ │ │ 261, │ │
│ │ │ │ 134, │ │
│ │ │ │ 114, │ │
│ │ │ │ -0.14326034486293793 │ │
│ │ │ ), │ │
│ │ │ ( │ │
│ │ │ │ 4, │ │
│ │ │ │ 123, │ │
│ │ │ │ 0.944046139717102, │ │
│ │ │ │ 1254, │ │
│ │ │ │ 465, │ │
│ │ │ │ 52, │ │
│ │ │ │ 193, │ │
│ │ │ │ -0.10000000149011612 │ │
│ │ │ ), │ │
│ │ │ ( │ │
│ │ │ │ 5, │ │
│ │ │ │ 0, │ │
│ │ │ │ 0.9228874444961548, │ │
│ │ │ │ 1271, │ │
│ │ │ │ 306, │ │
│ │ │ │ 16, │ │
│ │ │ │ 95, │ │
│ │ │ │ -0.10000000149011612 │ │
│ │ │ ) │ │
│ │ ] │ │
│ ╰─────────────────────────────────────────────────────────────────╯ │
│ │
│ E:\OAS\OnmyojiAutoScript-easy-install\tasks\Hyakkiyakou\script_task │
│ .py:227 in do_action │
│ │
│ 224 │ │ │ return │
│ 225 │ │ if state[0] <= 0: │
│ 226 │ │ │ return │
│ ❱ 227 │ │ self.fast_click(x=x, y=y, │
│ control_method=self._config.debug_config.hya_control_method) │
│ 228 │
│ 229 │
│ 230 if name == 'main': │
│ │
│ ╭──────────────────────────── locals ────────────────────────────╮ │
│ │ action = [1217.9999998509884, 425, True, 10] │ │
│ │ bean = 10 │ │
│ │ self = <script_task.ScriptTask object at 0x0000017C6A0A80A0> │ │
│ │ state = [ │ │
│ │ │ 250, │ │
│ │ │ 33, │ │
│ │ │ 10, │ │
│ │ │ <HyaBuff.BUFF_STATE0: -1>, │ │
│ │ │ <HyaBuff.BUFF_STATE0: -1>, │ │
│ │ │ <HyaBuff.BUFF_STATE0: -1>, │ │
│ │ │ <HyaBuff.BUFF_STATE0: -1> │ │
│ │ ] │ │
│ │ throw = True │ │
│ │ x = 1217.9999998509884 │ │
│ │ y = 425 │ │
│ ╰────────────────────────────────────────────────────────────────╯ │
│ │
│ E:\OAS\OnmyojiAutoScript-easy-install\tasks\Hyakkiyakou\slave\hya_d │
│ evice.py:51 in fast_click │
│ │
│ 48 │ │ │ 'Click %s @ %s' % (point2str(x, y), 'Click') │
│ 49 │ │ ) │
│ 50 │ │ if control_method == ControlMethod.MINITOUCH: │
│ ❱ 51 │ │ │ self.device.click_minitouch(x=x, y=y) │
│ 52 │ │ else: │
│ 53 │ │ │ self.device.click_window_message(x=x, y=y, fast=Tr │
│ 54 │
│ │
│ ╭──────────────────────────── locals ─────────────────────────────╮ │
│ │ control_method = <ControlMethod.MINITOUCH: 'minitouch'> │ │
│ │ self = <script_task.ScriptTask object at │ │
│ │ 0x0000017C6A0A80A0> │ │
│ │ x = 1217.9999998509884 │ │
│ │ y = 425 │ │
│ ╰─────────────────────────────────────────────────────────────────╯ │
│ │
│ E:\OAS\OnmyojiAutoScript-easy-install\module\device\method\minitouc │
│ h.py:397 in retry_wrapper │
│ │
│ 394 │ │ │ │ │ pass │
│ 395 │ │ │
│ 396 │ │ logger.critical(f'Retry {func.name}() failed') │
│ ❱ 397 │ │ raise RequestHumanTakeover │
│ 398 │ │
│ 399 │ return retry_wrapper │
│ 400 │
│ │
│ ╭──────────────────────────── locals ─────────────────────────────╮ │
│ │ _ = 4 │ │
│ │ args = () │ │
│ │ func = <function Minitouch.click_minitouch at │ │
│ │ 0x0000017C68588B80> │ │
│ │ init = <function retry.
During handling of the above exception, another exception occurred:
╭───────────────── Traceback (most recent call last) ─────────────────╮
│ E:\OAS\OnmyojiAutoScript-easy-install\module\server\script_process. │
│ py:137 in func │
│ │
│ 134 │ │ from script import Script │
│ 135 │ │ script = Script(config_name=config) │
│ 136 │ │ script.state_queue = state_queue │
│ ❱ 137 │ │ script.loop() │
│ 138 │ except SystemExit as e: │
│ 139 │ │ logger.info(f'Script {config} process exit') │
│ 140 │ │ logger.error(f'Error: {e}') │
│ │
│ ╭──────────────────────────── locals ─────────────────────────────╮ │
│ │ config = 'oas1' │ │
│ │ e = AttributeError("'Notifier' object has no │ │
│ │ attribute 'required'") │ │
│ │ log_pipe_in = <multiprocessing.connection.PipeConnection object │ │
│ │ at 0x0000017C367BBF10> │ │
│ │ Script = <class 'script.Script'> │ │
│ │ script = <script.Script object at 0x0000017C367C8130> │ │
│ │ start_log = <function func.<locals>.start_log at │ │
│ │ 0x0000017C34384940> │ │
│ │ state_queue = <multiprocessing.queues.Queue object at │ │
│ │ 0x0000017C31FECF10> │ │
│ │ time = <module 'time' (built-in)> │ │
│ ╰─────────────────────────────────────────────────────────────────╯ │
│ │
│ E:\OAS\OnmyojiAutoScript-easy-install\script.py:469 in loop │
│ │
│ 466 │ │ │ self.device.stuck_record_clear() │
│ 467 │ │ │ self.device.click_record_clear() │
│ 468 │ │ │ logger.hr(task, level=0) │
│ ❱ 469 │ │ │ success = self.run(inflection.camelize(task)) │
│ 470 │ │ │ logger.info(f'Scheduler: End task `{task}`') │
│ 471 │ │ │ self.is_first_task = False │
│ 472 │
│ │
│ ╭──────────────────────────── locals ─────────────────────────────╮ │
│ │ _ = <module.device.device.Device object at │ │
│ │ 0x0000017C688BAEC0> │ │
│ │ self = <script.Script object at │ │
│ │ 0x0000017C367C8130> │ │
│ │ start_day = datetime.date(2025, 10, 15) │ │
│ │ target_window_name = 'MuMu安卓设备' │ │
│ │ task = 'Hyakkiyakou' │ │
│ ╰─────────────────────────────────────────────────────────────────╯ │
│ │
│ E:\OAS\OnmyojiAutoScript-easy-install\script.py:400 in run │
│ │
│ 397 │ │ except RequestHumanTakeover as e: │
│ 398 │ │ │ logger.critical(e) │
│ 399 │ │ │ logger.critical('Request human takeover') │
│ ❱ 400 │ │ │ self.config.notifier.push(title=f'{I18n.trans_zh_ │
│ content=f"<{self.config_name}> RequestHumanTakeover") │
│ 401 │ │ │ exit(1) │
│ 402 │ │ except Exception as e: │
│ 403 │ │ │ logger.exception(e) │
│ │
│ ╭──────────────────────────── locals ─────────────────────────────╮ │
│ │ command = 'Hyakkiyakou' │ │
│ │ module_name = 'script_task' │ │
│ │ module_path = 'E:\\OAS\\OnmyojiAutoScript-easy-install\\tasks\… │ │
│ │ self = <script.Script object at 0x0000017C367C8130> │ │
│ │ task_module = <module 'script_task' from │ │
│ │ 'E:\\OAS\\OnmyojiAutoScript-easy-install\\tasks\… │ │
│ ╰─────────────────────────────────────────────────────────────────╯ │
│ │
│ E:\OAS\OnmyojiAutoScript-easy-install\module\notify\notify.py:57 in │
│ push │
│ │
│ 54 │ │ kwargs["title"] = f"{self.config_name} {kwargs['title │
│ 55 │ │ self.config.update(kwargs) │
│ 56 │ │ # pre check │
│ ❱ 57 │ │ for key in self.required: │
│ 58 │ │ │ if key not in self.config: │
│ 59 │ │ │ │ logger.warning( │
│ 60 │ │ │ │ │ f"Notifier {self.notifier} require param │
│ │
│ ╭──────────────────────────── locals ─────────────────────────────╮ │
│ │ kwargs = { │ │
│ │ │ 'title': 'OAS1 百鬼夜行Hyakkiyakou', │ │
│ │ │ 'content': '<oas1> RequestHumanTakeover' │ │
│ │ } │ │
│ │ self = <module.notify.notify.Notifier object at │ │
│ │ 0x0000017C6A0ABB80> │ │
│ ╰─────────────────────────────────────────────────────────────────╯ │
╰─────────────────────────────────────────────────────────────────────╯
AttributeError: 'Notifier' object has no attribute 'required'
ERROR | 20:22:53.413 | Error: 'Notifier' object has no attribute 'required'
如何复现
- 前往 '...'
- 点击 '....'
- 滑动到 '....'
- 出现问题
预期行为
相关 Logs
截图
No response
还有别的吗?
No response