import argparse, sys, time from pathlib import Path from automation.engine import Matcher, load_flow from automation.offers import MacGameDesktop from automation.hero_rally import SwordGiftRunner ROOT=Path(__file__).resolve().parent def main(): p=argparse.ArgumentParser(description='英雄集结剑来献礼:领取积分奖励'); p.add_argument('--dry-run',action='store_true'); a=p.parse_args() if sys.platform!='darwin': return 2 try: d=MacGameDesktop(); d.activate(); print('3 秒后开始;请保持游戏在前台。',flush=True); time.sleep(3) SwordGiftRunner(d,Matcher(ROOT/'assets'),load_flow(ROOT/'workflows/sword_gift_claim.json'),d.region_for).run(a.dry_run); return 0 except Exception as e: print('流程停止:'+str(e),file=sys.stderr); return 1 if __name__=='__main__': raise SystemExit(main())