package Ġactions Ċ Ċ import Ġbean . Music SearchResult Ċ import Ġcom . google . gson . Gson Ċ import Ġnet . mam oe . mir ai . message . Group Message Event Ċ import Ġnet . mam oe . mir ai . message . data . Service Message Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . Request Ċ Ċ object ĠMusic Action Ġ: ĠAction Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġno Arg : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġoverride Ġval Ġprefix : ĠList < String > Ġ= ĠlistOf ("/ music ", Ġ" music ", Ġ" éŁ³ ä¹Ĳ ", Ġ" æĲ ľ æŃĮ ") ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinvoke ( event : ĠGroup Message Event , Ġparams : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( params . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent . reply (" ä¸į åĬł åıĤæķ° æĺ¯ åĿ ı æĸĩ æĺİ ï¼ģ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġclient Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl (" http :// inu y ash a . love : 8 0 0 1 / search ? keywords =$ params & limit = 1 & type = 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġclient . new Call ( request ). execute () ĊĠĠĠĠĠĠĠ Ġif Ġ( response . code Ġ== Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġresponse . body !!. string (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠGson (). fromJson ( body , ĠMusic SearchResult :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( json . result . songs . size Ġ>= Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġjson . result . songs [ 0 ]. id . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġname Ġ= Ġjson . result . songs [ 0 ]. name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name . length Ġ> Ġ 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġname . substring ( 0 , Ġ 7 ) Ġ+ Ġ" ..." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" https :// music . 1 6 3 . com / song /$ id " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcover Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġartist Ġ= Ġ""; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson . result . songs [ 0 ]. artists . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġjson . result . songs [ 0 ]. artists . last ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartist Ġ+= Ġit . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartist Ġ= Ġartist Ġ+ Ġit . name Ġ+ Ġ"/" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( artist . length Ġ> Ġ 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartist Ġ= Ġartist . substring ( 0 , Ġ 7 ) Ġ+ Ġ" ..." ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= Ġ" ãĢĬ $ name ãĢĭ \ n $ artist \ n $ url " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . reply ( msg ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġxml Ġ= Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ġ<? xml Ġversion =' 1 . 0 ' Ġencoding =' UTF - 8 ' ? >< msg Ġservice ID =" 6 0 " Ġtemplate ID =" 1 " Ġaction =" web " Ġbrief ="[ åĪĨäº« ] Ġ$ name " Ġurl ="$ url ">< item Ġlayout =" 2 ">< audio Ġcover ="$ cover " Ġsrc ="" Ġ/>< title >$ name </ title >< summary >$ artist </ summary ></ item >< source Ġurl ="$ url " Ġ/></ msg > Ġ""" . trim Indent () Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġxml Ġ= Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" Ġ<? xml Ġversion =' 1 . 0 ' Ġencoding =' UTF - 8 ' Ġstandalone =' yes ' Ġ? >< msg Ġservice ID =" 6 0 " Ġtemplate ID =" 1 " Ġaction =" web " Ġbrief ="[ åĪĨäº« ] Ġ å¤ ľ å¥ ı èĬ± " Ġsource Msg Id =" 0 " Ġurl =" https :// i . y . qq . com / v 8 / play song . html ? _ wv = 1 & amp ; song id = 2 1 7 5 5 1 1 4 0 & amp ; s ou ce = qq share & amp ; source = qq share & amp ; AD TAG = qq share " Ġflag =" 0 " Ġad ver Sign =" 0 " Ġmulti Msg Flag =" 0 ">< item Ġlayout =" 2 ">< audio Ġcover =" http :// img cache . qq . com / music / photo / album _ 5 0 0 / 7 0 / 5 0 0 _ al bump ic _ 4 6 9 0 9 7 0 _ 0 . jpg " Ġsrc ="" Ġ/>< title > å¤ ľ å¥ ı èĬ± </ title >< summary > Y UR i KA </ summary ></ item >< source Ġname =" QQ éŁ³ ä¹Ĳ " Ġicon =" https :// i . gt img . cn / open / app _ icon / 0 1 / 0 7 / 9 8 / 5 6 / 1 1 0 1 0 7 9 8 5 6 _ 1 0 0 _ m . png " Ġurl =" http :// web . p . qq . com / qq mp mobile / aio / app . html ? id = 1 1 0 1 0 7 9 8 5 6 " Ġaction =" app " Ġa _ action Data =" com . tencent . qq music " Ġi _ action Data =" tencent 1 1 0 1 0 7 9 8 5 6 ://" Ġapp id =" 1 1 0 1 0 7 9 8 5 6 " Ġ/></ msg > Ġ""" Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . reply ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠService Message ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 6 0 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġxml Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }