From a41e49e30b417e1235964956d2bb71491383bce3 Mon Sep 17 00:00:00 2001 From: RedDeadDepresso <94017243+RedDeadDepresso@users.noreply.github.com> Date: Wed, 20 Dec 2023 23:21:54 +0000 Subject: [PATCH] feat: momotalk --- aas.py | 4 + assets/en/momotalk/BEGIN_STORY.png | Bin 0 -> 10440 bytes assets/en/momotalk/CHAT_AREA.png | Bin 0 -> 52519 bytes assets/en/momotalk/CONFIRM_SKIP.png | Bin 0 -> 11622 bytes assets/en/momotalk/CONFIRM_SORT.png | Bin 0 -> 6010 bytes assets/en/momotalk/FIRST_UNREAD.png | Bin 0 -> 4548 bytes assets/en/momotalk/MENU.png | Bin 0 -> 7280 bytes assets/en/momotalk/MESSAGE_OFF.png | Bin 0 -> 4755 bytes assets/en/momotalk/MESSAGE_ON.png | Bin 0 -> 4954 bytes assets/en/momotalk/NOTIFICATION_BADGE.png | Bin 0 -> 4911 bytes assets/en/momotalk/REPLY.png | Bin 0 -> 6109 bytes assets/en/momotalk/SELECT_STUDENT.png | Bin 0 -> 7583 bytes assets/en/momotalk/SKIP.png | Bin 0 -> 5547 bytes assets/en/momotalk/SORT_OFF.png | Bin 0 -> 5066 bytes assets/en/momotalk/SORT_ON.png | Bin 0 -> 4949 bytes assets/en/momotalk/STORY.png | Bin 0 -> 7986 bytes assets/en/momotalk/UNREAD.png | Bin 0 -> 5876 bytes assets/en/momotalk/UNREAD_OFF.png | Bin 0 -> 5751 bytes assets/en/momotalk/UNREAD_ON.png | Bin 0 -> 5928 bytes config/template.json | 8 + module/config/argument/args.json | 27 +++ module/config/argument/menu.json | 3 +- module/config/argument/task.yaml | 2 + module/config/config_manual.py | 2 +- module/config/i18n/en-US.json | 76 ++++---- module/config/i18n/zh-CN.json | 4 + tasks/momotalk/assets/assets_momotalk.py | 203 ++++++++++++++++++++++ tasks/momotalk/momotalk.py | 61 +++++++ tasks/momotalk/ui.py | 189 ++++++++++++++++++++ tasks/shop/shop.py | 2 +- tasks/shop/ui.py | 23 ++- tasks/task/task.py | 2 +- 32 files changed, 561 insertions(+), 45 deletions(-) create mode 100644 assets/en/momotalk/BEGIN_STORY.png create mode 100644 assets/en/momotalk/CHAT_AREA.png create mode 100644 assets/en/momotalk/CONFIRM_SKIP.png create mode 100644 assets/en/momotalk/CONFIRM_SORT.png create mode 100644 assets/en/momotalk/FIRST_UNREAD.png create mode 100644 assets/en/momotalk/MENU.png create mode 100644 assets/en/momotalk/MESSAGE_OFF.png create mode 100644 assets/en/momotalk/MESSAGE_ON.png create mode 100644 assets/en/momotalk/NOTIFICATION_BADGE.png create mode 100644 assets/en/momotalk/REPLY.png create mode 100644 assets/en/momotalk/SELECT_STUDENT.png create mode 100644 assets/en/momotalk/SKIP.png create mode 100644 assets/en/momotalk/SORT_OFF.png create mode 100644 assets/en/momotalk/SORT_ON.png create mode 100644 assets/en/momotalk/STORY.png create mode 100644 assets/en/momotalk/UNREAD.png create mode 100644 assets/en/momotalk/UNREAD_OFF.png create mode 100644 assets/en/momotalk/UNREAD_ON.png create mode 100644 tasks/momotalk/assets/assets_momotalk.py create mode 100644 tasks/momotalk/momotalk.py create mode 100644 tasks/momotalk/ui.py diff --git a/aas.py b/aas.py index 852ad2d..311a24c 100644 --- a/aas.py +++ b/aas.py @@ -54,6 +54,10 @@ class ArisuAutoSweeper(AzurLaneAutoScript): from tasks.shop.shop import Shop Shop(config=self.config, device=self.device).run() + def momotalk(self): + from tasks.momotalk.momotalk import MomoTalk + MomoTalk(config=self.config, device=self.device).run() + def data_update(self): from tasks.item.data_update import DataUpdate DataUpdate(config=self.config, device=self.device).run() diff --git a/assets/en/momotalk/BEGIN_STORY.png b/assets/en/momotalk/BEGIN_STORY.png new file mode 100644 index 0000000000000000000000000000000000000000..6d43b8931bd5e98fa8b4517a44db39f732561cee GIT binary patch literal 10440 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 SkyNm~PW{Wqm-4l5-upl8!C_PY literal 0 HcmV?d00001 diff --git a/assets/en/momotalk/CHAT_AREA.png b/assets/en/momotalk/CHAT_AREA.png new file mode 100644 index 0000000000000000000000000000000000000000..ed61a8e5231412d50e071f3fd4c6f44296dc38a6 GIT binary patch literal 52519 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 literal 0 HcmV?d00001 diff --git a/assets/en/momotalk/CONFIRM_SORT.png b/assets/en/momotalk/CONFIRM_SORT.png new file mode 100644 index 0000000000000000000000000000000000000000..e34d453458ae4770771ccb68f2c6b6b4c1f3778f GIT binary patch literal 6010 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 RTYbMtF3{8Ko7z11!k_lAdA0xm literal 0 HcmV?d00001 diff --git a/assets/en/momotalk/MENU.png b/assets/en/momotalk/MENU.png new file mode 100644 index 0000000000000000000000000000000000000000..ee8bc4e8ce9413721a9e1569eca3afd572104fbe GIT binary patch literal 7280 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 literal 0 HcmV?d00001 diff --git a/assets/en/momotalk/MESSAGE_OFF.png b/assets/en/momotalk/MESSAGE_OFF.png new file mode 100644 index 0000000000000000000000000000000000000000..45f91588cf4fa47350917a122fd27cdcd2a6f1f0 GIT binary patch literal 4755 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 l@G;lWv<#0>e@pcOx)NQ>+M3LC^=5_{Rv^oBk05 z8J|J@{MG(mo*WS-vloi7P{dv%Qvfss{e!1b2t^Tynh=VFp>i&Ub26Q(i9Gzy18Y};8jTDPWL1n@E!2?ZD!VZa zu82ycL=|cjlM`@_!cZ(y%_Ra?M`DmE#?{JIqdWn|V2w}#Q|&2uOa`D>G>%h5Dy0VF zViAl;5g8&^s{ocdj#Y$XYD^W5y+`%9_%{Xsw_aZ3Hs0xrOg3&prFM$~VT=;;PPED| zMuEVq5ET}w6d`U=z)iccXw<0W7dn5l8<+gXFGPdB2Z~F^p$d+R5)rB~r5}b#$MP>2 zBZ5F<*i#9lwWwT-MXNr=-5A|~xC+$>mx$K_nMxy5*?v?yUJDfVx)GEYCPpPO|AV4Y zIW#(lP8&mk`V$M)!r#M*MH~sHlnDWEs7x4!zzTU7kuaVOjteHml)xNt$H8FR%ZtO8 ztJFfd2;sYOiNI%j6cuymp)?Vl$_OQkL&bD5jX`%LvnUh_nIR5kOC(eWF4@i=sU9a=hz=n8y$`SzTRD%BM22HQAZ1v$g(iN?;n;u{64=` z!l>W(`p?zed%XVDS@|nokCG`07s|sBa7n;KJPsJ|rX#6<|2szMb5i9>?-uG-a#e^zNbf%#8kY)esykf1UCoL*;C^Bqv@I3`{UE!N3Fq z6Ab(X26{Zd?$d%FXOmYoRkjRX)LmJ%dSzv;2h?*0F|0#xPysX?XDg2ppWkLI{nT90zxEoD}6z7=5-(@!>m0g^9iZ^ucp~dA6*ylpy z&B9bq+lUazJXH(qn@aAr+38O$Zt6YP7~C}1ze_Moo|>@pwvjPJ`gZooV&3V&+*{OkooE+_=bEoY-yQyvGr>oVk&2674U1+ICa*FzS zO+kxq?Dl5K2DZdrFXC`qW;&a=e6`EU+B)vr+MiR6UkMUx>`F?qAz&$&wC%G+rTx#V zA4V-+x2e0lt2`)7BEK-S_t-J2txjLApORE;ZW|b1)e8{xIK?TTaD;$xSu8_aNw zc<7ejj=#QI|2S+&7US#twlP_{(W+(eXjE%l=~-Ds(-M!k!5wt}I~{%% zJKzhs_GaZLc=?LilUTD}f{a+*TGBdj>fphSvdW|xi!pbH{MlWVN4j}$1j$!zbvD7> zHL#vb)hWsgJMY(OBAhZYd3<|b>7`1C6*GUlKd2bG@$Gce)=?vv@Ppp z^LZ3)Z|EfV?`xZ_>RwYGao@?t`DNql_=ca8Y<1h(>%RHMI`OehNy(wfpq^Ykd8+z> z-nX$%ucfUkwq8ras=M#)9NG}ule?eWmRolvir`~NP)S1fSnsWo96wo;{si7U)6^N(wKr50;f!#&PcoM z0at6TiMetdwbiloMdyn$WBaP;0qdKLLlWX%;oN&N*9Wdk9xN{?uF|}f@#oZTd=bYh zZuqLh%{8;s>{X+DhV7%?w6wgc<{ziGKQ7(axL;jmKglunP>G;{L_WY>~3_=;1Z3j|byD zJR(Y)(&9U|=J0qDb!+K|wU@-sk*l3DH=`~Qdyl5ETb8QaR;s^W+w?j>xw%^3Mfcsn zef`gt=^>E8{|lsTvpx(=yB0k(G-G4>Gi5dp9f;>MXFF@Udd)nB`>y9rwdwCZZ`K<3 zMsa+uDChI%?jDsF2iEy?F3FE-e|g7_CpphgS-4x=&15!K>|OVy44Om6OV9lNt^6+z z#iPz9`;WZ5Vzc(Z@}23Me@Nd@#Bny6?I=HXY?i|p_pbj?{Kcla!btL|@1oSr<&y26 z?;vGr`g-CX7FS8z;J@4ZcXsTptSp;9zv`&(!hM_CA9M(;5>Ex+y&Y|o>PeS$w2?8X zxo!I9q2qQ1z6nNNhQ=nj^q+O3FaHCN5TL*S literal 0 HcmV?d00001 diff --git a/assets/en/momotalk/SELECT_STUDENT.png b/assets/en/momotalk/SELECT_STUDENT.png new file mode 100644 index 0000000000000000000000000000000000000000..8dcc592a7ce526ffbd47ac353266c78b6af9509d GIT binary patch literal 7583 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 Of=rKF8W$LzKKow-jr}kH literal 0 HcmV?d00001 diff --git a/assets/en/momotalk/SKIP.png b/assets/en/momotalk/SKIP.png new file mode 100644 index 0000000000000000000000000000000000000000..b46c2999978567a99a91762e5928dfa2f60eb336 GIT binary patch literal 5547 zcmeHKc~nzp7LTHX8^sP<5vj&l2V9c(5(vvH0oeowgDla20%=GdB$DKXykHU(nQ<*T zS{*z(P?5G%QISPNKtzcPXoXhVQmpKifYBnL1Beio`CeFB=h*2?&zUp-@Xkrz_rCkP z+wZ&g<|R2Wz{hNk)f^IuWaj7V6-*+{1k34P&zcTy>z4g-8o14t`-b5p(p(GTGmVsX z$`YWSi8-OlQ1%8yfJte5Ar^(w)KWP>lSnRZYB^sJiz>-cXpC6KqI8#PDP*ybMd32p zFk9}4ip0JN3N$1kfFnqV6*vniZmwh(H3AGsQ6-!C2Z+I>GGGLzBTOcF{GtGN z3Sl%7?6rQ}8F*q*L`tO`fgqJiMN`?)FhvYRcXoD$UZL>S`=s25*}vM59?Q0WX%2prfRfgKP!yk!i<#)RT%%^OjUh#g}B z1?o@8SMvWIPAEX4F@=;5coR$cF(@RL#ZbtTr-6845=;TyfpF}MzS(TVPlhY`G6Cx6 z#iD?iX=1Suv2zkK_f#VE~a1Or{-kd_PdEMkS$MV!#JJ76`)$_%iAkWnn*)fp~}(Hg*N# zE5<=(X~u^_2pTuOl8DL1MnL$2u`C2c4WdHI__p{rpWc{Rl?VlVy}35W5I7dCRPhz4 zdkoK2u|dC6?<>vT=b4Zz7T~| z_xhD@Db8OgTwER$^$Zs7vrO-*__Igm9l9{(>Q~;!-bTMXx{$dx`%EW36c|}~Tl4#r z^s`i!mN)pQ?P?x=zxJciQ+S5W4CBws)Yt!uf%QT54@`jbz%6!<9S%S4Jl&A5vB&yH zs}A=OA;DHNJ^(j{JLz{M64~OlhswL4cu1u6_j-#1y1FC~l;;~B(X;1%uFvV!wywj^ z6KhklEDZgwH8l^fy0*XVe_oPp3h_z8J2zT*y;{o&bW3<%=jfvFQ_r*laja>bj}&(|xAdHhGV7?< zh6O&=JbkjCz4c&U%cUnh=gqhY(_!$cv%lAD9#vG*U!MHE1s5u5Yo+$DU1KY2EHb3J z^(`p?hQ=30%JE??f(v%LI~;a&3u9bt_R10#Z7Rh;v#s!xF|^)b6Xm-%`A!}U>|H$mGM zC!F>=?d{aojXpdQQIW7++F^UnTHWqeOx5Bd+l+@Ty=OkQ;c-$QA74o(fwK^Ds?sus zdY&IEKa+N7n?vEkvWG(*iKa_;P@L`bijq$A>;O&K<=Hnt$aV1%x?*0p{|NcPv(&yr z*r1nt+(3Pfsrj%#xbmRlc2Z$s2%>e&bu^hvz*CDpZ_kbL=fz6YID3TNk zkAyAD;W>2+#BZHkJq^4Fl51XGQ>$^Vsx?@n8MxmSKeK|%>%by48}lzv4R>z!uJ=zR z%_EVHE-$h5(r;c}rQp_H*M^Q3u&OhhX;u5e7kJDn_%YA+LDH-CHg<*1eIV2vc)ua~ zFu zYchGR)EDn)4Y!-OZXSmF?uEQZFuP%Aob~?J`M1tnT6_F$eX2dO zHd0gf9Xpo0nai~~eQB3&Pr93-vu@42_L|fyGl(YpQ!ZTw&aYof#y;a-#*E;?p`uae=xxGhxxbg_Z?2QYSlVpdb4GB z8Z*DS)^x?}hOXZ<4UkRtCL$uG8XM^7?EmNi;HR!B2BsL8Vql7aDF&t(m}206#Q^-x Zka_60qS?t-+pP&7e%=9IxgHj-97F= z4J4z5v`tzEd=zkEqtH%lLMN?6B|(g-FCL*L(Q2wviE_jsc0hTQ!~XW}xWtY&(@bXa z&+W|J{`U9%{JxLR@ALcazOp*^xp{M=<^llbWoN1K0C)rrXZ6mW1#ioq%@M%c9DCMU z7J$bh_@4mOH%3C#my|}!Y1OL;BW)GwO|*d&xvX}G24HEr%dR(?Ne(fP#gt8n4!0dc z5z3@Q3uJ0sZO1hAedv(1DfY^oYx9v9W|piF*AKaLi9* zDB^{1W+j@z2Sl{$)kr4IkcdJg78-F}jHJL(vRsm?P$VG|Tq4DAIVO<_B{+eL37HJ> zUnmU6n2Lxz)k=Rb_@qQjIL=OBnA7PLIi(_+DaOPKg#yDRm_#Ck2q9Z;W=CRvf_EOK6T}OX!EV4w&x?0J&AG12G<$i`5zk!E!6gU>SZw9*AZ&<#rOw zBU#$P7|9i7FwK~mYB;LsD?0C6&0Frvi*!*Bf%29B)J|kFq@JT04NY5S_J8#Z5r{-4 z5+jQXD4U6PvI%?|{sp8;&yh-$*Md+i5sDQWaWbz3T(QoFQqv}?sQe))DL#XO`ZMV{ z{r|$5j6@O5SoM%M%Bn9WF}tl8MFP7)WYQLzf#F~}Qg3Xvn#i`XoZe<6vsFqI<}9Kp z6Ok-Qm8HrIDMGnKE)|ldWT`OKNRmQamSRXrkxC6lJauNhiZ(iUfy}Ho{h#ZfXDE0= z^_Fk%hu=^Fx`9dP`BR`o#VF#P)biS}IDC^S5*%KbnE&_N*M5WjEAtCB3X&>85nd8L z9@oGQ1BsN&WKx-bel_JHEm{=?`CxsCNK#=e?;5Xd?bmEDAN~k?PX&=hu~1p%{-&^o zEcK5p6yiMygx=_@!pLioG@<@!>Ra!g&#kkBgnT_%n?3|f7jaHKLuM31e!o%n7|a{v zyO6I0?7yq?+P>DYX5g?5^20y_h7W-jPTFAKW?+LhS8s@hFNtm0stk>*ap-dQFPe1UQz4Nkh_VMip%R{d&-%t~^DDs`sT1U<2nG3?M5e?g(C=hi?Oat;o(N`BOUv@e= zw6Uu?ynpl`4cpQE+$V3AH8&rvOn0l*j?%K~dyVUVALD(41pk5zd z{A+q|+EzK5^I6$s{+|n43fq`}elT&Q@^bmO``n%N2?p%1bo!RRm2DY+F@d@UdS9J` zgRX-5*5th*o4OU#@%1)~ZL8grpRBLIwJ@!^-L*}O;Ao28I0@$_jSWItpbaYc)&s*=DJX0IL@o4LjL+r%Kp{SXfEtzL!-dab4vu;7d^9Xujd9Yb)S0v?v1d%8rSe%qqE)f-c9KvI^fP3 z4%JP}`%%@{lFirKvVLlwsuA5fdpuRJbF9hOZZFz1qH?YmNphPlQH-8=bMt*pHVeKPfBe;^L%1aPmrF32X+Ug-SUhl$SQf$%2}jnc>SmxU}#=S{mOWBV4j^c+h- z^EBpE(ARs%JOuDK$C0Aurn;Jv`XcvopfgSV`-kAy0$ zeP$sbK28(pO!9YIYXvyq;-PWRmrJ*3)@*~S;V$qxUU+z*rRTLv{guvVr#$ N*(-8YZ!g!q{2%=8n}q-X literal 0 HcmV?d00001 diff --git a/assets/en/momotalk/SORT_ON.png b/assets/en/momotalk/SORT_ON.png new file mode 100644 index 0000000000000000000000000000000000000000..4d917da9b7007f5ebc7784db6bdf3522f786a0f2 GIT binary patch literal 4949 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 literal 0 HcmV?d00001 diff --git a/assets/en/momotalk/UNREAD.png b/assets/en/momotalk/UNREAD.png new file mode 100644 index 0000000000000000000000000000000000000000..091294efdd50155290096da573821d63d57dd36d GIT binary patch literal 5876 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 literal 0 HcmV?d00001 diff --git a/assets/en/momotalk/UNREAD_ON.png b/assets/en/momotalk/UNREAD_ON.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a43d0973b63d9b08f779f646697047cc31a422 GIT binary patch literal 5928 zcmeHJc~leU79Yf=Rl!DUQ4q-qU@0|Z2Q%!F2oV7lkVO$gG6|6+6O#Y|tEfFz6e$m= zxFU)R3W5qmL@3Z|eJVvD2!aUMQb7s`2tojH{_ghs?!7aI zH@Z9P%-5d}L68p1g|Qie=78m_iuY!Ln}gAMEpU5Z;^HTRpan}bKP~9gnPmXgA@K5* z`?_s_IjG2j%|(L{3x!Am&=6!}uaK}gA&49sgzyDoTU=K`F%B!>+Twg@ZbUbU6A~K4pL1?Jl76(F|$U!8THY=7*@&p(oDA*DL$%3fKX&lJqOyeY>QsKCBE{A{! z5fLJm%K(-%jgt1E@wa4VA!7QiLr>rCum1oI3xFQ$%3N zGz${e%ts*RqT#YnG+|6CAPlw~vBha>0Z$_1Npvp~879$T63Kr8<%V(vyomoqQD7P! zrcI+j{c+iH_J6~1IWP~Eir9cRfr!mV2ofPrO!Y)p_&4j z(&zp~eGjPsbSPW+_w8s76b5EM5Nu5s*y2by?D(dyrZ$A36Ps3KBDe@7&Htp_?@#2v zioL}GKq?uB)s(~pkDg${03t1EGzx8Uf1^Nw2z?m>z=v!i5b_$}Yg}hs=Jy*Jh)2`H z<6Qx}2xOqLA|{7|C$ejDB@|%C8v$l>CbHmYY7pV#CbtED`}8Kvh6f{nuivlD34{#g z$-~)F#E}p9{nN51fVc^oDKwD+;oq|xm;Gj9O~Jt!)GVh5FnE|A;fNT_Z7CSgF+7t8 z5cI*1EQX_(;!I~l$kA=c@_F5@XXrUO_4wScZk0%{n$217w12+V!h>sXo6e5j*GwHB7w5faCWT00oy@0OXr83tw;_`hMG+kO3=2B@Tw*Um3C^sei) zsEsiZ2**lR4v%KP?wOF@H%pu#1ycYs^u0cauk zl=b*vANZDi_5Lg(*t2zn=0ec9kKZc+4}G(>zz6NVvsg$Qf-2rsdH}pb9V{jFq%{SX zYM!C9^-lc)s3HJZv0f&W{}_~WR%Y{0C8yoFWH`HUeKTgb&q{(Tmcn&3;Lp7CSv043(3VO(%h_fxeH!>mGAv2VRU3e zZ(4DLl6aDGVb@zzOl9F7=HPYykcD+|*pp!s*F(h-uEM&StgCq2BDC#cc(_ z{O<2NUT9l4GnZrH8DqzsuIL+vlvA_vb3Hv>4fIkP?5_D|4j)cCqGM2XlG1+<58TFs z<5}g{^X>gg12iW3folKtz2=51qNATx9y%V9Qh#$btIE9G87;`!Hn8nOd^>8M5I=0?vBM&ADasLqtZ7A$8If36lfQ0`La=+ zA+7c#CFP}Tb=N(0jO)kniohTz7nZI6f@exe^SNt`iSM%ty5Ap@`^ZK0syyNDBA2G! z+{kVoYV^FE?35-q4Om+1d+BOw4?2>7!2DJF>2smrCDO zS$}C#rM8~;R-IcOnBV@%Lx&5I5hgrcs$I|dr=NdSN?Hm7TDumhitbi>XAP-zmrr0|)*? zdyxT?!H~Y{sHHAIS_huiBR(+Ww{q~C5E-7t6=y* z?WoeJjntcM+*D;JZtSfv$@0x?@}h0U#6M}T8%*n<`nV>3&iAlk4>ec6z4WpB3Bl;- z_2gdN6NW>fQgkG@`Qw{gp&jdU09U%VVqZoDZnbB#8BaWXPZ;K%dv*uk*6yk{=p5WB zzo_UoO3V*hUS>ahb=TuIOy!!c+-Kh!r|XY5yJASSiuz2{+gcjF8r?Qj`DRe3 zt>U?`@m`m2`q^!POCvUy;)0$X&oZw;H_TOs$ar%g2Zp8^4z!dfwR+f8+qtW#4dE$1 zRVbZI9)4@&p*}MB#y)T55P$dA9Tn%*teBr;KH?r)sJtLd;{~K$>bP;f$WxEstNSn| zAh7Uuuk~H#(T1Ybs)!`ykWO{W_m7@l%Q(eJY@|TMrFFnh>P@5Pm1igyx)OR-bwkV~ zrr#E0^oZ&CUW-u<+9w@*#d3IkX7bpJtxecZL>jk%Y4;uj Cafe > Circle > Mail > DataUpdate > Bounty - > Scrimmage > TacticalChallenge > Task > Shop + > Scrimmage > TacticalChallenge > Task > Shop > Momotalk """ """ diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index 113c671..258def7 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -61,6 +61,10 @@ "Mail": { "name": "Mailbox", "help": "" + }, + "Momotalk": { + "name": "MomoTalk", + "help": "" } }, "Scheduler": { @@ -447,7 +451,7 @@ }, "Purchases": { "name": "Number of Purchases", - "help": "", + "help": "Default can be purchased once + number of refreshes = number of purchases, for example, 2 purchases = 1 default purchase + 1 refresh purchase", "1": "1", "2": "2", "3": "3", @@ -455,83 +459,83 @@ }, "1": { "name": "1", - "help": "Novice Activity Report x5" + "help": "x5 Novice Activity Report - 12,500 Credits" }, "2": { "name": "2", - "help": "x5 Normal Activity Report" + "help": "x5 Normal Activity Report - 125,000 Credits" }, "3": { "name": "3", - "help": "x3 Advanced Activity Report" + "help": "x3 Advanced Activity Report - 300,000 Credits" }, "4": { "name": "4", - "help": "x1 Superior Activity Report" + "help": "x1 Superior Activity Report - 500,000 Credits" }, "5": { "name": "5", - "help": "x5 Lesser Enhancement Stone" + "help": "x5 Lesser Enhancement Stone - 10,000 Credits" }, "6": { "name": "6", - "help": "x5 Normal Enhancement Stone" + "help": "x5 Normal Enhancement Stone - 40,000 Credits" }, "7": { "name": "7", - "help": "x3 Advanced Enhancement Stone" + "help": "x3 Advanced Enhancement Stone - 96,000 Credits" }, "8": { "name": "8", - "help": "x1 Superior Enhancement Stone" + "help": "x1 Superior Enhancement Stone - 128,000 Credits" }, "9": { "name": "9", - "help": "x5 Lesser Enhancement Stone" + "help": "x5 Lesser Enhancement Stone - 10,000 Credits" }, "10": { "name": "10", - "help": "x5 Normal Enhancement Stone" + "help": "x5 Normal Enhancement Stone - 40,000 Credits" }, "11": { "name": "11", - "help": "x3 Advanced Enhancement Stone" + "help": "x3 Advanced Enhancement Stone - 96,000 Credits" }, "12": { "name": "12", - "help": "x1 Superior Enhancement Stone" + "help": "x1 Superior Enhancement Stone - 128,000 Credits" }, "13": { "name": "13", - "help": "x10 Lesser Enhancement Stone" + "help": "x10 Lesser Enhancement Stone - 20,000 Credits" }, "14": { "name": "14", - "help": "x10 Normal Enhancement Stone" + "help": "x10 Normal Enhancement Stone - 80,000 Credits" }, "15": { "name": "15", - "help": "x6 Advanced Enhancement Stone" + "help": "x6 Advanced Enhancement Stone - 192,000 Credits" }, "16": { "name": "16", - "help": "x2 Superior Enhancement Stone" + "help": "x2 Superior Enhancement Stone - 256,000 Credits" }, "17": { "name": "17", - "help": "x1 Mandrake Seed" + "help": "x1 Random Selection - 8,000 Credits" }, "18": { "name": "18", - "help": "x1 Voynich Manuscript Page" + "help": "x1 Random Selection - 8,000 Credits" }, "19": { "name": "19", - "help": "x1 Broken Nimrud Lens" + "help": "x1 Random Selection - 25,000 Credits" }, "20": { "name": "20", - "help": "x1 Aether Piece" + "help": "x1 Random Selection - 25,000 Credits" } }, "TacticalChallengeShop": { @@ -553,63 +557,63 @@ }, "1": { "name": "1", - "help": "" + "help": "x5 Shizuko's Eleph - 50 Coins" }, "2": { "name": "2", - "help": "" + "help": "x5 Mashiro's Eleph - 50 Coins" }, "3": { "name": "3", - "help": "" + "help": "x5 Saya's Eleph - 50 Coins" }, "4": { "name": "4", - "help": "" + "help": "x5 Fuuka's Eleph - 50 Coins" }, "5": { "name": "5", - "help": "" + "help": "x5 Utaha's Eleph - 50 Coins" }, "6": { "name": "6", - "help": "" + "help": "x1 Lesser Drink(30 AP) - 15 Coins" }, "7": { "name": "7", - "help": "" + "help": "x1 Normal Drink(60 AP) - 30 Coins" }, "8": { "name": "8", - "help": "" + "help": "x10 Novice Activity Report - 5 Coins" }, "9": { "name": "9", - "help": "" + "help": "x5 Normal Activity Report - 25 Coins" }, "10": { "name": "10", - "help": "" + "help": "x3 Advanced Activity Report - 60 Coins" }, "11": { "name": "11", - "help": "" + "help": "x1 Superior Activity Report - 100 Coins" }, "12": { "name": "12", - "help": "" + "help": "x5000 Credits - 4 Coins" }, "13": { "name": "13", - "help": "" + "help": "x25k Credits - 20 Coins" }, "14": { "name": "14", - "help": "" + "help": "x75k Credits - 60 Coins" }, "15": { "name": "15", - "help": "" + "help": "x125k Credits - 100 Coins" } }, "ItemStorage": { diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 856a1c1..a561212 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -61,6 +61,10 @@ "Mail": { "name": "邮箱", "help": "" + }, + "Momotalk": { + "name": "Task.Momotalk.name", + "help": "Task.Momotalk.help" } }, "Scheduler": { diff --git a/tasks/momotalk/assets/assets_momotalk.py b/tasks/momotalk/assets/assets_momotalk.py new file mode 100644 index 0000000..4fcb873 --- /dev/null +++ b/tasks/momotalk/assets/assets_momotalk.py @@ -0,0 +1,203 @@ +from module.base.button import Button, ButtonWrapper + +# This file was auto-generated, do not modify it manually. To generate: +# ``` python -m dev_tools.button_extract ``` + +BEGIN_STORY = ButtonWrapper( + name='BEGIN_STORY', + jp=None, + en=Button( + file='./assets/en/momotalk/BEGIN_STORY.png', + area=(796, 540, 1059, 591), + search=(776, 520, 1079, 611), + color=(107, 197, 230), + button=(796, 540, 1059, 591), + ), +) +CHAT_AREA = ButtonWrapper( + name='CHAT_AREA', + jp=None, + en=Button( + file='./assets/en/momotalk/CHAT_AREA.png', + area=(760, 149, 1149, 628), + search=(740, 129, 1169, 648), + color=(206, 212, 217), + button=(760, 149, 1149, 628), + ), +) +CONFIRM_SKIP = ButtonWrapper( + name='CONFIRM_SKIP', + jp=None, + en=Button( + file='./assets/en/momotalk/CONFIRM_SKIP.png', + area=(674, 486, 871, 555), + search=(654, 466, 891, 575), + color=(112, 207, 241), + button=(674, 486, 871, 555), + ), +) +CONFIRM_SORT = ButtonWrapper( + name='CONFIRM_SORT', + jp=None, + en=Button( + file='./assets/en/momotalk/CONFIRM_SORT.png', + area=(239, 407, 657, 439), + search=(219, 387, 677, 459), + color=(248, 249, 249), + button=(239, 407, 657, 439), + ), +) +FIRST_UNREAD = ButtonWrapper( + name='FIRST_UNREAD', + jp=None, + en=Button( + file='./assets/en/momotalk/FIRST_UNREAD.png', + area=(636, 239, 661, 265), + search=(616, 219, 681, 285), + color=(251, 86, 45), + button=(636, 239, 661, 265), + ), +) +MENU = ButtonWrapper( + name='MENU', + jp=None, + en=Button( + file='./assets/en/momotalk/MENU.png', + area=(1156, 15, 1251, 63), + search=(1136, 0, 1271, 83), + color=(215, 219, 222), + button=(1156, 15, 1251, 63), + ), +) +MESSAGE_OFF = ButtonWrapper( + name='MESSAGE_OFF', + jp=None, + en=Button( + file='./assets/en/momotalk/MESSAGE_OFF.png', + area=(143, 273, 203, 298), + search=(123, 253, 223, 318), + color=(93, 105, 122), + button=(143, 273, 203, 298), + ), +) +MESSAGE_ON = ButtonWrapper( + name='MESSAGE_ON', + jp=None, + en=Button( + file='./assets/en/momotalk/MESSAGE_ON.png', + area=(143, 271, 203, 301), + search=(123, 251, 223, 321), + color=(160, 168, 182), + button=(143, 271, 203, 301), + ), +) +NOTIFICATION_BADGE = ButtonWrapper( + name='NOTIFICATION_BADGE', + jp=None, + en=Button( + file='./assets/en/momotalk/NOTIFICATION_BADGE.png', + area=(171, 109, 200, 128), + search=(151, 89, 220, 148), + color=(242, 101, 47), + button=(171, 109, 200, 128), + ), +) +REPLY = ButtonWrapper( + name='REPLY', + jp=None, + en=Button( + file='./assets/en/momotalk/REPLY.png', + area=(791, 431, 855, 462), + search=(771, 411, 875, 482), + color=(198, 210, 216), + button=(791, 431, 855, 462), + ), +) +SELECT_STUDENT = ButtonWrapper( + name='SELECT_STUDENT', + jp=None, + en=Button( + file='./assets/en/momotalk/SELECT_STUDENT.png', + area=(839, 369, 998, 403), + search=(819, 349, 1018, 423), + color=(241, 242, 242), + button=(839, 369, 998, 403), + ), +) +SKIP = ButtonWrapper( + name='SKIP', + jp=None, + en=Button( + file='./assets/en/momotalk/SKIP.png', + area=(1192, 103, 1229, 141), + search=(1172, 83, 1249, 161), + color=(108, 125, 145), + button=(1192, 103, 1229, 141), + ), +) +SORT_OFF = ButtonWrapper( + name='SORT_OFF', + jp=None, + en=Button( + file='./assets/en/momotalk/SORT_OFF.png', + area=(591, 158, 662, 199), + search=(571, 138, 682, 219), + color=(235, 237, 238), + button=(591, 158, 662, 199), + ), +) +SORT_ON = ButtonWrapper( + name='SORT_ON', + jp=None, + en=Button( + file='./assets/en/momotalk/SORT_ON.png', + area=(594, 159, 658, 196), + search=(574, 139, 678, 216), + color=(233, 235, 236), + button=(594, 159, 658, 196), + ), +) +STORY = ButtonWrapper( + name='STORY', + jp=None, + en=Button( + file='./assets/en/momotalk/STORY.png', + area=(790, 529, 979, 557), + search=(770, 509, 999, 577), + color=(220, 208, 214), + button=(790, 529, 979, 557), + ), +) +UNREAD = ButtonWrapper( + name='UNREAD', + jp=None, + en=Button( + file='./assets/en/momotalk/UNREAD.png', + area=(454, 160, 568, 193), + search=(434, 140, 588, 213), + color=(241, 242, 243), + button=(454, 160, 568, 193), + ), +) +UNREAD_OFF = ButtonWrapper( + name='UNREAD_OFF', + jp=None, + en=Button( + file='./assets/en/momotalk/UNREAD_OFF.png', + area=(456, 273, 658, 316), + search=(436, 253, 678, 336), + color=(252, 252, 251), + button=(456, 273, 658, 316), + ), +) +UNREAD_ON = ButtonWrapper( + name='UNREAD_ON', + jp=None, + en=Button( + file='./assets/en/momotalk/UNREAD_ON.png', + area=(456, 272, 658, 314), + search=(436, 252, 678, 334), + color=(245, 120, 144), + button=(456, 272, 658, 314), + ), +) diff --git a/tasks/momotalk/momotalk.py b/tasks/momotalk/momotalk.py new file mode 100644 index 0000000..35f4974 --- /dev/null +++ b/tasks/momotalk/momotalk.py @@ -0,0 +1,61 @@ +from enum import Enum + +from module.base.timer import Timer +from module.logger import logger +from tasks.tactical_challenge.assets.assets_tactical_challenge import * +from tasks.momotalk.ui import MomoTalkUI + +class MomoTalkStatus(Enum): + OPEN = 0 + SORT = 1 + CHECK = 2 + CHAT = 3 + STORY = 4 + FINISHED = -1 + +class MomoTalk(MomoTalkUI): + def handle_momotalk(self, status): + match status: + case MomoTalkStatus.OPEN: + if self.open_momotalk(): + return MomoTalkStatus.SORT + return MomoTalkStatus.FINISHED + case MomoTalkStatus.SORT: + if self.sort_messages(): + return MomoTalkStatus.CHECK + case MomoTalkStatus.CHECK: + if self.check_first_student(): + return MomoTalkStatus.CHAT + return MomoTalkStatus.FINISHED + case MomoTalkStatus.CHAT: + if self.chat(): + return MomoTalkStatus.STORY + return MomoTalkStatus.OPEN + case MomoTalkStatus.STORY: + if self.skip_story(): + return MomoTalkStatus.OPEN + case MomoTalkStatus.FINISHED: + return status + case _: + logger.warning(f'Invalid status: {status}') + return status + + def run(self): + action_timer = Timer(0.5, 1) + status = MomoTalkStatus.OPEN + + while 1: + self.device.screenshot() + + if self.ui_additional(): + continue + + if action_timer.reached_and_reset(): + logger.attr('Status', status) + status = self.handle_momotalk(status) + + if status == MomoTalkStatus.FINISHED: + break + + self.config.task_delay(server_update=True) + diff --git a/tasks/momotalk/ui.py b/tasks/momotalk/ui.py new file mode 100644 index 0000000..8ac7fd6 --- /dev/null +++ b/tasks/momotalk/ui.py @@ -0,0 +1,189 @@ +from module.base.timer import Timer +from module.base.base import ModuleBase +from module.logger import logger +from module.ui.switch import Switch +from module.base.utils import point_in_area, area_size +from tasks.base.ui import UI +from tasks.base.page import page_main, page_momo_talk +from tasks.momotalk.assets.assets_momotalk import * +import cv2 +import numpy as np + +"""None of the switches works""" +SWITCH_MESSAGE = Switch("Message_switch") +SWITCH_MESSAGE.add_state("on", MESSAGE_ON) +SWITCH_MESSAGE.add_state("off", MESSAGE_OFF) + +SWITCH_UNREAD = Switch("Unread_switch") +SWITCH_UNREAD.add_state("on", UNREAD_ON) +SWITCH_UNREAD.add_state("off", UNREAD_OFF) + +SWITCH_SORT = Switch("Sort_switch") +SWITCH_SORT.add_state("on", SORT_ON) +SWITCH_SORT.add_state("off", SORT_OFF) + +"""Required for template matching as reply and story +button can be found in different locations""" +REPLY_TEMPLATE = REPLY.matched_button.image +STORY_TEMPLATE = STORY.matched_button.image + +class MomoTalkUI(UI): + def __init__(self, config, device): + super().__init__(config, device) + self.swipe_vector_range = (0.65, 0.85) + self.list = CHAT_AREA + + def swipe_page(self, direction: str, main: ModuleBase, vector_range=None, reverse=False): + """ + Args: + direction: up, down + main: + vector_range (tuple[float, float]): + reverse (bool): + """ + if vector_range is None: + vector_range = self.swipe_vector_range + vector = np.random.uniform(*vector_range) + width, height = area_size(self.list.button) + if direction == 'up': + vector = (0, vector * height) + elif direction == 'down': + vector = (0, -vector * height) + else: + logger.warning(f'Unknown swipe direction: {direction}') + return + + if reverse: + vector = (-vector[0], -vector[1]) + main.device.swipe_vector(vector, self.list.button) + + def select_then_check(self, dest_enter: ButtonWrapper, dest_check: ButtonWrapper, similarity=0.85): + timer = Timer(5, 10).start() + while 1: + self.device.screenshot() + self.appear_then_click(dest_enter, interval=1, similarity=similarity) + if self.appear(dest_check, similarity=similarity): + return True + if timer.reached(): + return False + + def select_then_disappear(self, dest_enter: ButtonWrapper, dest_check: ButtonWrapper, force_select=False): + timer = Timer(5, 10).start() + while 1: + self.device.screenshot() + if force_select or self.appear(dest_enter): + self.click_with_interval(dest_enter, interval=1) + if not self.appear(dest_check): + return True + if timer.reached(): + return False + + def set_switch(self, switch): + """ + Set switch to on. However, unsure why is inaccurate in momotalk. + Returns: + True if switch is set, False if switch not found + """ + if not switch.appear(main=self): + logger.info(f'{switch.name} not found') + return False + switch.set('on', main=self) + + return True + + def click_all(self, template, x_add=0, y_add=0): + """ + Find the all the locations of the template adding an offset if specified and click them. + TODO: filter coords that are not inside the chat area as otherwise it will close momotalk. + If after filter, no coords then swipe. + """ + click_coords = self.device.click_methods.get(self.config.Emulator_ControlMethod, self.device.click_adb) + image = self.device.screenshot() + result = cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED) + threshold = 0.8 + locations = np.where(result >= threshold) + seen = set() + for pt in zip(*locations[::-1]): + center_pt = (int(pt[0] + template.shape[1] / 2 + x_add), int(pt[1] + template.shape[0] / 2 + y_add)) + seen.add(center_pt) + if seen: + seen = filter(lambda x: point_in_area(x, CHAT_AREA.area), seen) + [click_coords(coords[0], coords[1]) for coords in seen] + self.swipe_page("down", self) + return True + return False + + def open_momotalk(self): + """ + Go to main and check if there are any red notifications in momotalk. + If yes, open it otherwise it means no student available for interaction. + """ + self.ui_ensure(page_main) + if self.match_color(NOTIFICATION_BADGE, threshold=80): + self.ui_ensure(page_momo_talk) + while not self.select_then_check(MESSAGE_OFF, MESSAGE_ON): + pass + return True + logger.warn("No students available for interaction") + return False + + def sort_messages(self): + """ + Switch from newest to unread and sort the messages in descending order + """ + logger.info("Sorting messages...") + steps = [UNREAD, CONFIRM_SORT, UNREAD_OFF, UNREAD_ON] + for i in range(len(steps)-2): + self.select_then_check(steps[i], steps[i+1], similarity=0.95) + return not self.appear(CONFIRM_SORT) and self.appear(UNREAD) and self.appear(SORT_ON) + + def check_first_student(self): + """ + If the first student has a red notification return True and start chat. + Otherwise it means no students are available for interaction. + """ + if self.match_color(FIRST_UNREAD, threshold=80) and self.select_then_disappear(FIRST_UNREAD, SELECT_STUDENT, force_select=True): + return True + logger.warn("No students available for interaction") + return False + + def chat(self): + """ + Waits for the chat area to be stable and then + check if a reply or story button is found and click them. + If the begin story button is found skip story. + """ + logger.info("Chatting with student...") + stability_counter = 0 + while 1: + self.wait_until_stable(CHAT_AREA, timer=Timer(10, 10)) + if self.appear(BEGIN_STORY): + logger.info("Begin Story detected") + return True + if self.click_all(REPLY_TEMPLATE, y_add=62): + logger.info("Clicked on reply") + stability_counter = 0 + continue + if self.click_all(STORY_TEMPLATE, y_add=62): + logger.info("Clicked on story") + stability_counter = 0 + continue + logger.info("No new message detected") + stability_counter += 1 + if stability_counter > 3: + return False + + def skip_story(self): + """ + Skip story by executing a series of steps. Returns True if the confirm skip + button is clicked and disappears + """ + logger.info("Attempting to skip story...") + steps = [BEGIN_STORY, MENU, SKIP] + for step in steps: + self.appear_then_click(step) + if self.appear_then_click(CONFIRM_SKIP) and not self.appear(CONFIRM_SKIP, interval=5): + logger.info("Skipped story successfully") + return True + return False + diff --git a/tasks/shop/shop.py b/tasks/shop/shop.py index 3ef4a21..8e6d132 100644 --- a/tasks/shop/shop.py +++ b/tasks/shop/shop.py @@ -94,7 +94,7 @@ class Shop(ShopUI): return status def run(self): - """Reset the items position by going main and then shop""" + """Reset the shop and items position by going main and then shop""" self.ui_ensure(page_main) self.ui_ensure(page_shop) diff --git a/tasks/shop/ui.py b/tasks/shop/ui.py index e5b79fc..88713bb 100644 --- a/tasks/shop/ui.py +++ b/tasks/shop/ui.py @@ -13,7 +13,7 @@ ITEM_POSITIONS = { 5: (650, 460), 6: (805, 460), 7: (960, 460), 8: (1110, 460), 9: (650, 200), 10: (805, 200), 11: (960, 200), 12: (1110, 200), 13: (650, 460), 14: (805, 460), 15: (960, 460), 16: (1110, 460), - 17: (650, 200), 18: (805, 200), 19: (960, 200), 20: (1110, 200), + 17: (650, 460), 18: (805, 460), 19: (960, 460), 20: (1110, 460), } class ShopUI(UI): @@ -21,7 +21,7 @@ class ShopUI(UI): super().__init__(config, device) self.click_coords = self.device.click_methods.get(self.config.Emulator_ControlMethod, self.device.click_adb) - self.swipe_vector_range = (0.65, 0.85) + self.swipe_vector_range = (1.10, 1.15) self.swipe_flags = {8:False, 16: False} self.list = ITEM_LIST @@ -66,26 +66,37 @@ class ShopUI(UI): True if switch is set, False if switch not found """ if not shop_switch.appear(main=self): - logger.info('Shop switch not found') + logger.info(f'{shop_switch.name} not found') return False shop_switch.set('on', main=self) return True def select_items(self, item_list): + """ + Select items in the item list checking if swipe is required each time. + However, swipes are inaccurate and clicks too fast. + """ + timer = Timer(1).start() for item in item_list: if self.should_swipe(item): self.swipe_page('down', self) self.wait_until_stable( self.list.button, - timer=Timer(0, 0), + timer=Timer(3, 0), timeout=Timer(1.5, 5) ) - + while not timer.reached_and_reset(): + pass self.click_coords(*ITEM_POSITIONS[item]) def should_swipe(self, item): + """ + Return True based on two checkpoints: + one at 8 and the other at 16. + Only once for each checkpoint. + """ if (8 < item < 16) and not self.swipe_flags[8]: self.swipe_flags[8] = True return True @@ -100,6 +111,7 @@ class ShopUI(UI): def make_purchase(self): if self.select_then_check(PURCHASE, CONFIRM_PURCHASE) and self.appear_then_click(CONFIRM_PURCHASE): return True + logger.warning("No items were selected. Unable to purchase.") return False def refresh_shop(self, need_count): @@ -110,6 +122,7 @@ class ShopUI(UI): if refresh_count: purchased_count = 4 - refresh_count if need_count > purchased_count and self.appear_then_click(CONFIRM_REFRESH): + logger.info("Refreshed the shop") return True return False diff --git a/tasks/task/task.py b/tasks/task/task.py index d9efa22..cbb9d27 100644 --- a/tasks/task/task.py +++ b/tasks/task/task.py @@ -24,4 +24,4 @@ class Task(UI): continue break - self.config.task_delay(server_update=True) + self.config.task_delay(minute=120)