From aac8b08f00c993ffba1264c3885696db7a82bdcd Mon Sep 17 00:00:00 2001 From: Him188moe Date: Sun, 8 Sep 2019 19:58:47 +0800 Subject: [PATCH] Updated message --- .README_images/68f8fec9.png | Bin 0 -> 5541 bytes .github/A}YWVE860U(%YQD$R1GB1[P.png | Bin 0 -> 4424 bytes .github/J]CE)IK4BU08(EO~UVLJ{[F.png | Bin 0 -> 7463 bytes README.md | 28 +++++++++++------- .../mamoe/mirai/event/MiraiEventManagerKt.kt | 2 +- .../mirai/network/RobotNetworkHandler.kt | 13 ++++++-- 6 files changed, 29 insertions(+), 14 deletions(-) create mode 100644 .README_images/68f8fec9.png create mode 100644 .github/A}YWVE860U(%YQD$R1GB1[P.png create mode 100644 .github/J]CE)IK4BU08(EO~UVLJ{[F.png diff --git a/.README_images/68f8fec9.png b/.README_images/68f8fec9.png new file mode 100644 index 0000000000000000000000000000000000000000..d5d314dfa83fe95e944a3ef415c779748772bacf GIT binary patch literal 5541 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 literal 0 HcmV?d00001 diff --git a/.github/A}YWVE860U(%YQD$R1GB1[P.png b/.github/A}YWVE860U(%YQD$R1GB1[P.png new file mode 100644 index 0000000000000000000000000000000000000000..416067a606e93d51b631fb393975a359563d84ad GIT binary patch literal 4424 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 O09`F3%_{XLq5lVKGS}Py literal 0 HcmV?d00001 diff --git a/.github/J]CE)IK4BU08(EO~UVLJ{[F.png b/.github/J]CE)IK4BU08(EO~UVLJ{[F.png new file mode 100644 index 0000000000000000000000000000000000000000..119f87dd2dee7e255899a424d51b866c5bb39406 GIT binary patch literal 7463 zcmZ8mRa6{Xu*DJ_g1ZC_?(PuWEx5Z5&fwgj!JXhCNSHuy3GQwQ5`2&uB)Gf0zU$qO zx86t3tp4cJ=X6zVsrsa)p@@w^j)8!HfUT_bUI+Lu11>u>B;dECxKRWFf$~`Sy^J2% z{HOpGtfx;Lt|+ZVh^O`8gS@sUi)yNw79L6|I^9P-7M%}xMDi?j#Z}>nbOW?~7<6bT z|5Tu4nWH%2;p0o=tI$fLMKY95Gvs8ngdLA|s6iRj=&TZV3QmGAIs?2d+FvA&x`gUqwJ5$!+Fs-1VVEp3`91gFot&NRE z%epyUqrk`ay4u&za`J5)a)--Q+%_%BcAB-mIcc;vFxSWbx!Iu@5oju8rQI5=QSuO3*MnVFd? zlIjk)*pZJXMub>&hyE~WIbQGXZfOy6y_8f|QVKu2{5!iI`fyY%7lT77oRa0TP`%dZ zG&@xw=6?e1bX#dY>3(@WsOc^g^LL*vlqiN)88rag^ZPqv_jr5e@~29~XYY-eZ3Y%O ze}zVYXv?Zsy!_}<%X;W~$W7hpLie-pT!r>Z3&_FH*51BQ)R*<#`8=;O;hPyLRr{aD zlaBl4xX6K0hBg5vrky-c*Wb1F8>yE&O;M_bi1&kWL@#H_VZoQb6}zAB+1&orSV(#A zs0m-~&ttlnxB0LThaE1~{raUfAt51QcF)1a#wI9u-4}(KP<(po@ftDc`4*PUtoC_h zbCbt&Yaj}fWK7$=>u!ft|2x{ra+3=th{wlt5QqscFRusRp$N-e3$2izV_AWJgV89S zHhTC#T5w2+1$gt7sPV~}B6R?Yu1%{>nF?3u<;++nTldrT3J^J15sx)xsIznPmGr`* zCywVcntiPl_;lmX4-;Tp6oRfJg=~5iS`GH<3i?a+b|S>6);R|8yf<|=!}yAeS$wwM zRgY&zQND+c5t>!#EUnBXIUNol)d7@Noe7_jl($F}ud&Jbd%BETYWOB8kb!C+6$=qGGEn&s{h_9 zL1Cnfw<>1wwy3vN?hL&0@&5>NsIb~&=UWD=-mW*fkQB>+80 zHA;m6)y&~fYTZ$+B2_P;LT99ffN%tgUz&KN<1O*-GS z^HPUw%4g(zx`OZO*&SH$9yAQT-Y|@R7E5>~zEo88jdE|Xjy?t^4fcJ+xSm9dkZ=Jr zHq25!Q(Eb@nn%eL-A=UKs67+>Eh`X`)hfktU#e#;(5UvgS@Vw|tI?oROP+lIAjQvb zEoV&Rpo_c*2_Nx$!>8G_QmM&^k=_Dq5j+HpicwEa)$?%GXqL6E&X!6#Nl)0bja%|SSLRh+*WG}j)cXLt_ zpwUp4FD8wSZ#!s0Z>?O7+4D5Qj+z!?n{vl0>Xgm}*6OWZ%h&xTWSsJ=V$t<8XHrM* zxb;5FyFRta+2eMY%4br~HPj2$K+C3kL&N90KgS>-WO>d>ov9PIAQSO=b9yk*W(z)4 z3tDOB&`1+~$h!xSASBy}S@Hba6NS*{*oiGXAd_A6;79*9Kx#x6K;tC(#L*On-XF=&oUx zs%6HeX2FPXs6^j?z*YTHFXA==14_NKqeD{v{A`%Urod)6>FM!ey2Wi}D5dXbFlCK@O>EGa^V{K|pWWznR@ypy4v-+3-}Q+9dUy}!So%$Dh7OIwGv&73pqw8MTf z_jie+Zah%25l~zVjG2s0>t7EyC&PZqu+hWi7Lb(n02&B%LcpvMtI8a|qbms4)%l0h ztgSWx0Qwkg3We7_!iE5-HWd~AQvNekEW;VG0g%IZHdl;LQpnlXpqHciQ#(OAuAS$h=~85Bn93~YS!%u8{+DI#82q~KV2=HU0m!=uh&{3b4=%pAg4`B zJ{%VKLlL>L4PQ&KecBs1kqEl3GVcsrYx6zLdeo4uFRvF&VsoMzW+WOGI$Ui{zruPi z!jm6|vjPw4Q~{}6mN|G%r3DeV4-E0#JzBMwga8u0t8 ze7oP#)-1rfTXml29lY$<$7|!%rx;aI-j4ngkS`;(y37$cPxv0fa34oQwXG;&wlY#r z3Snhi-0Po}EIi81XfFHPB<5hm^>F0uS`P2VT(a(XRUUdsgm3!Sn$f|Li8|F89`(CB zfaOzUY9)#kEOO!SCkDP*;xhhO* zhQBhDf0(w`hrK+b=xtT5Uehu=Ain;&4NyT`Rifd;#k3T%d33y5&n7OyOD`&o&+%%j zRev;t%L&f$!(b!&fkBP%&!C`@zYS-jET>($#b(-p0({8oV`^$sDk|d%@}sAtCrZa~ z`&>Bj`CJ5$%X;=*DBlOPw~hfZP|J5a%AbSv%ADsc^yyyWY=D5ax1UDX0|7?N5V$;u zbdb$qBB(i9{Ntc6nOZFttHmr)t+8yWq0zCOn7jbon;Xi>!XeIb<`stxg&3=pXML_7 zR8&y-R|$<}upBDJ30?mU?jC@Ln6dh%PGraws7eN$Gmr@gAE^xNy%K3wB@^`6kk%3W zD)vkh!GxUhi7;gAl^z(}*8#w{&)!*M#pzrr*hJP<)>t9;9KM@A8x&GS&=XeGTl2XiUeWHOE?t=+tMZ2;$&f5|qcq5Id~B2* zq}`lh5yh2;hNeT5NaWxQgO<6)`X33)*p9IQvJ%7t&E!wN@Jn>@VOu5iHfg#(&`>Kp zsUoZu|MP*=*!bTN&%Tx19J6>B#mF)#=SOLcez=+V_XjIirFuSqxmdyEYA z%REd)MllaFIT;B~61ybZ$tlbO(dTLzeB&MZLs*~GWgn5KmFwfHev@+TO;jgRErs}& zZ^Lg{1>N*-bP#EuvtILt^;H}82fmis+CH7DG{E25vazWiDtBUu^S1;aMt@0{MEw}L zcygmVGU|=~8{Jr;K8rG)yr0{;2&hzg^N~-ZSly%TU_C4$-6&;oZbyg7T=~LRf~~2U zJ78JF)Toq{H)DJO&C1=wgNDj_vMg5sC7-f*N(4>+DZMO>EQQZy%q9F(<6zYn^P3Od z2(G$;_7DZ(Jlx)aFhxQh$F|4+I*sP8eJ|s4M0gyc08M=6k;BKF(nzcza=FncVuL}$<8UWgFrIJ z|5VZchJ=!A1>;a#T#VPaJVp5BizA=JHfDe)vnuSSues-xNQaYYioUwn#-Z{CkR)4Y zOB1n?KrKS=%0h87l+<4O@&xCc2v;i&YRZM7fR1sZ0z!r`8;$pdkZ{29i#>fm^SfGt zu}cmL!TX0Nd_Nx6-Yh()g{gtEhbZP3AJ%1NTA!<8U8&cU>w#OQTDEYbyd#xp4pu(- zp+A*1T`K6bjC2udd;uicDjJ-f31LHTVM+!+j2W}JggEWUswsrrAMX!pvH{R`{7vV4 zX|FeRYIH6yRDuBe3EO;?)T4(2Nj+Wp+(&Xv=d>eAkG=}HJ= zc~ym-!*RxUxEx4R|dH?OP30(Z0q%4R>9*xEa1 z*k_MEega4;hgUvn9F6;+&RUmL_2UnSYd#Wr$>qg`s=s(Xor!GKl$kg zYLDNrtxcn=n7!pDE8x=THLIOiIkpO6sIO(_}3a0`#xWBc^iKnd2+2os!q`QFU8+ID2Rl~l_X z#5IV@Y&@Ob=92R+i0LkDAM!0%&`mV((lJd^eLn7A4zFyZr@JGcP)d@#gQtf)T#u5g zFJ+awCLkyv)7s%=mL^bQHv*Z-tjA?kZ#$VQz%Gpj(v*$)o4yNLZ^ndf^86V=3GzsI zaxBG$-p1HKmNywVXgN9F@xZDiF1}_>it)0oFlxPl2474PUvWPIG$o+_F%N)0ygO?l zlK7X>H-V35!$H@F5RpP7Ro&^VJ*x9T5(`T|253>(bHH#Cl}WR!G9fb@myEX*aFGR~ zzRv4i5&^3dIefj*noNTiH#ZKk8@Px2IeJFFy1z=l>&3S0-Qosp>kEMLO)8nJH|t?x zKa87{aCRp1n3?G2LHknL;C#@6V zB&}Izpzk3FFwE@9RAPVn`y+g)SQ&N~`L9TQ$#d3@*V;!H;5Uf2-s)EAe*^t+Y%1im zHSsvjI~Kob(%jiA1D>f6Q9syc4IUZfLHkDST6mUTqx!7!y*uGVlIq>?Mk_)=2LPn*rthI)&D< z$&p%-5PEbg!`e+bTnSrkiw7nzz-F)IkGi$2FQnA~rr}(6Alfcz<;0NX*ttIFbuYl|)B*5Rz{zF<&JfU#k*6dU!FB3+g69WV zSlPRULGHlA{N)<-#q_cS0u0lrt?xbmS_P!!AYLxoB#-)ck$KO5*H3r&YDAwrAa%c2 z0zdkRI@SB%%U6FI64A}oeG~QFe>1|d&(=$?knp7hebag%t)=00+eehP^GrVC(;>jz zB2W{FTULyqBQjh>IO#PIt|zDg)qL}ZBC$raHX|yX=D<%fziNZx z%F&g?nY>FDd)6m5v)~0Yf5Z(xM&TnM9W--z?Pkl>7c0eyar&U0L9?Wq(#XV%C>o`+ z@7;5l-<}QqtaDO25HbUg2Ywfxk=E(cE>Yld7tRXxnTnAqxv)pun%~CqM8G8BWZ?g4 z9#zc*5@M}@x72cTt?qQ*K-ogDRqvqG=Nl2YNTkz1cf~#j`R&Tr<38*S8_m*spp5{K_pSyVf-B6`~X%ucek+A4?HxdUn*pCqsqF{MgnpTPlnxuZ1bn z!WJrj&BKor%7o0yToFG)w14;>uaZ^6CoCi49(Pbp{wZSDJPszP#ify?q@aj5aEJ|l zdAiYq1KG!1*HXbn5zhjXT|`bG6DmczN4NY%soM34)8)3&eXT7L|G%}bo&{o48|2to zD`3bTeQ-xW+!t|MA+bf#MJk<1K3&chN(41K&pV%P^d?dWF_|&H4JW3MCE<&*j=~_K z9m64`6UJSGpjmzuE}BtrHIwWc*xsf7FUco+59k!8a8hgF<0p1+0qKv6h2^^5)p_f! zRkvEAh!CS2JmhU&l`Ly8U!`%-7+D|bYCrtNJ40vYz!{MD+g&d9&bum94ga~Rti ze)z@}4>l_oRHBe5-Q~TjfyRSY3)rv$a zpikJ#!+OEZX!M&`;#rADTa{#t9|?MzTo#!4-o*+jW_+&!0OY^C6TR>trnikT)Ppj( zjTC-KT2jyD|1@E=4;JS>&J_dzysSBNC&vK+vQi;$Bo5+n;qiY5;9zE2$m&l|pzFdl zQq-Ve9Xa~YrZ;T)hTb7&BdAgjB6|XBLqrf{uLt^dn8fUkf2wli$?Ej{fr2a$0znhV z_!N>Tmx|?36_D#_il!ZDiQkYIx427$K7#Lb>VTG>HcdO%I}4Z_fU|~<3)Kbx9Xx<# zHx39oIlrT&HW8m66UXR8-Nx0y0xp%PUT8&farjZ3x~}BWVx7&y_0a*)wrXo{(Wux(>hnxltfYoiZJ|#Dlg8eAN@bkArxdQsxc~ z)Iqv)*WKzOam3BcWpCKL^-tDi<5Iijl*R$cAZ`BP6*$4%3#@>w9RRep<_-W~oUsA0 z{lJ!(-(jqQ<(CZ(AIz*_N(}s&SIgn+|Gq@KV>pU1R`GV5ePFTuCF>d@mdLCV4sRrx zBysCv^PXRX91n~vy-g{3Ln9H`Xsf@-mTFi;9QDqWQ8(RU8m>FKc;$te5{&|-jYR&4 zggp4a8*lJ6jV*5X*4y=`I%)_wdHj8LEp^Sk+tT*@S=$RN7q2o35Dm)Y*BQ1tvmBZ9 z$MLVBq?tor76Sn-)~oloBL<}WYwi9PZ9Wj-D+eM6%x12=l!!hpr;XR29uD^0MC`XIQ#aZ2KbyTs((GMJG2kXqz+^g2*Oq_|I z#T2?z28sVI*zG-ju+bY~5%{+ZKt8<}{|c=d5;>4?IZXyFGoC66n@%jf6k zmoVtp0J*9La-PTNYtBR}a|v7xSoBiIh1C0A=R*Vke~b1bKLngeE^xXZc?$S@0jC+1 z?vQl31hFx;`@^_1nNb`5U7n=V;(g64&HK?fHopfX-0Q`9kmt(F4~uersVg||fWxW<@4u{x>AB~?)Wj=9)G{GXg5>q~B? zO6JamcrRn5JW6g}UVI1lmX(sNgzSwfp~9PFzxm9mkb)Wu4xOO>jS>B{3sd-O=-n-P zNXS1O#kmdsROPFnh3 zed4L5s1;B+iHK?N-h@qSi0*)6k| zrskbYC*OZSz3s2_T^H`WlRYc* z%EFhq9W>-5AIfEuB+Qca^ukD)$G7J?kIwf6v#WY9>&)=MheU9C#iT=MXZxcb>n#BG zE8q3moc;3=m1znQ!nlFvZ+LikX=y3=sz2!OKFL-er-D%4U3;*F7Lig9-_C?c?(9Qr zv`OQ&hGPu}4)hhd|5Pz1Jn_$7!^Bp#xfdJQX03c2^3n+@9SG=@mq5GfLB`#f4`Kx- z5dJ_jpkm?S>Oe?(G@h&L_HtGeh8w$d9)*AR50`jA{rvrqzx#9Wp~AVKMjV;mXA#jh z$D@lT5XmF~I|kE!l8|x9O^Y2XTs-Z1r8NJZ3+vN5Q3je|;z#ca2>Dz3~x|BuPcE$PpfzcSTA&P~Gt)M#7#P~Zz zI8_n|bI*+w1-{wB>PbzbQ#>k{0N*z^H~&z1b=exLzw&X%Rh1q7B9qslnw<+==3FN@ z7uEVlImR=MP1$EOXINYRj>Z-=>eV=mM6K12{l_kV*;h!i-OuB>Is8gscovX9fDHg&d^&y!ZcyivRciT#BtsKe?zKp&b~2A}GsiyswtE{P;ho&Gl{o literal 0 HcmV?d00001 diff --git a/README.md b/README.md index bdfe16c1b..d9f4bfd91 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,7 @@ 项目处于快速开发阶段 协议来自网络上开源项目 -一切开发旨在学习, 请勿用于非法用途 - -
- -A JAVA(+Kotlin) powered open-source project under GPL license
-It use protocols from TIM QQ, that is, it won't be affected by the close of Smart QQ
-The project is all for learning proposes and still in developing stage
+一切开发旨在学习, 请勿用于非法用途 ### 代码结构 Network部分使用 Kotlin 完成(因为kt有对 unsigned byte 的支持). @@ -20,15 +14,21 @@ Network部分使用 Kotlin 完成(因为kt有对 unsigned byte 的支持). 即使你完全不了解 Kotlin, 你也可以正常开发. ### 抢先体验 -现在你可以使用 Mirai 内置的一些测试qq号体验 Mirai. +现在你可以使用 Mirai 内置的一些测试qq号体验 Mirai, 但我们现在还不建议你使用自己的 qq 号登录 1. Clone 2. Import as Maven project 3. Run [MiraiMain](mirai-core/src/main/java/net/mamoe/mirai/MiraiMain.java#L7) -简略阅读源码便可测试接收和发送消息 - -Hook 一个事件(Kotlin): +#### 事件 Hook (Kotlin) ![event hook.png](.github/event%20hook.png) +![AYWVE86P](.github/A%7DYWVE860U%28%25YQD%24R1GB1%5BP.png) + +#### 图片测试 +**现在可以接受图片消息**(并解析为消息链): +![JsssF](.github/J%5DCE%29IK4BU08%28EO~UVLJ%7B%5BF.png) +![](.README_images/68f8fec9.png) + +不过我们还正在努力做发送图片 ### TODO - [x] 事件(Event)模块 @@ -59,6 +59,12 @@ Hook 一个事件(Kotlin): ``` +
+ +A JAVA(+Kotlin) powered open-source project under GPL license
+It use protocols from TIM QQ, that is, it won't be affected by the close of Smart QQ
+The project is all for learning proposes and still in developing stage
+ ## Usage ### Requirements - Java 11 or higher diff --git a/mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventManagerKt.kt b/mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventManagerKt.kt index e3cd769a1..8b1a364f5 100644 --- a/mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventManagerKt.kt +++ b/mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventManagerKt.kt @@ -62,6 +62,6 @@ fun , E : MiraiEvent> C.hookWhile(hook: (E) -> Boolean) { private class MiraiEventHookSimple(clazz: Class, val hook: (E) -> Boolean) : MiraiEventHook(clazz) { override fun accept(event: MiraiEvent?): Boolean { @Suppress("UNCHECKED_CAST") - return hook.invoke(event as E) + return !hook.invoke(event as E) } } \ No newline at end of file diff --git a/mirai-core/src/main/java/net/mamoe/mirai/network/RobotNetworkHandler.kt b/mirai-core/src/main/java/net/mamoe/mirai/network/RobotNetworkHandler.kt index 680de7dd4..1e18db8d0 100644 --- a/mirai-core/src/main/java/net/mamoe/mirai/network/RobotNetworkHandler.kt +++ b/mirai-core/src/main/java/net/mamoe/mirai/network/RobotNetworkHandler.kt @@ -12,7 +12,6 @@ import net.mamoe.mirai.event.events.network.PacketSentEvent import net.mamoe.mirai.event.events.network.ServerPacketReceivedEvent import net.mamoe.mirai.event.events.qq.FriendMessageEvent import net.mamoe.mirai.event.events.robot.RobotLoginSucceedEvent -import net.mamoe.mirai.event.hookAlways import net.mamoe.mirai.event.hookWhile import net.mamoe.mirai.message.Message import net.mamoe.mirai.message.defaults.MessageChain @@ -261,6 +260,10 @@ class RobotNetworkHandler(private val robot: Robot) : Closeable { this.loginFuture = null } } + + fun isClosed(): Boolean { + return this.socket?.isClosed ?: true + } } @@ -485,12 +488,18 @@ class RobotNetworkHandler(private val robot: Robot) : Closeable { internal var ignoreMessage: Boolean = false init { - FriendMessageEvent::class.hookAlways { + //todo for test + FriendMessageEvent::class.hookWhile { + if (socketHandler.isClosed()) { + return@hookWhile false + } if (it.message() valueEquals "你好") { it.qq.sendMessage("你好!") } else if (it.message().toString().startsWith("复读")) { it.qq.sendMessage(it.message()) } + + return@hookWhile true } }