wechaty / puppet-padlocal

Puppet PadLocal is a Pad Protocol for WeChat
https://wechaty.js.org/docs/puppet-providers/padlocal
Apache License 2.0
642 stars 88 forks source link

[Feature]支持发送音乐卡片 #65

Closed fangmuke closed 2 years ago

fangmuke commented 3 years ago

QQ音乐消息

<?xml version="1.0" encoding="utf-8"?>

<msg> 
  <appmsg appid="wx5aa333606550dfd5" sdkver="0"> 
    <title>你的答案</title>  
    <des>阿冗</des>  
    <username/>  
    <action>view</action>  
    <type>3</type>  
    <showtype>0</showtype>  
    <content/>  
    <url>https://i.y.qq.com/v8/playsong.html?platform=11&amp;appshare=android_qq&amp;appversion=10110008&amp;hosteuin=oi6qNKvF7io5Nn**&amp;songmid=003UAhhG2Bm3Nq&amp;type=0&amp;appsongtype=1&amp;_wv=1&amp;source=weixin&amp;ADTAG=wxfshare</url>  
    <lowurl>https://i.y.qq.com/v8/playsong.html?platform=11&amp;appshare=android_qq&amp;appversion=10110008&amp;hosteuin=oi6qNKvF7io5Nn**&amp;songmid=003UAhhG2Bm3Nq&amp;type=0&amp;appsongtype=1&amp;_wv=1&amp;source=weixin&amp;ADTAG=wxfshare</lowurl>  
    <dataurl>http://c6.y.qq.com/rsc/fcgi-bin/fcg_pyq_play.fcg?songid=&amp;songmid=003UAhhG2Bm3Nq&amp;songtype=1&amp;fromtag=46&amp;uin=3199487318&amp;code=40618</dataurl>  
    <lowdataurl>http://c6.y.qq.com/rsc/fcgi-bin/fcg_pyq_play.fcg?songid=&amp;songmid=003UAhhG2Bm3Nq&amp;songtype=1&amp;fromtag=46&amp;uin=3199487318&amp;code=40618</lowdataurl>  
    <contentattr>0</contentattr>  
    <streamvideo> 
      <streamvideourl/>  
      <streamvideototaltime>0</streamvideototaltime>  
      <streamvideotitle/>  
      <streamvideowording/>  
      <streamvideoweburl/>  
      <streamvideothumburl/>  
      <streamvideoaduxinfo/>  
      <streamvideopublishid/> 
    </streamvideo>  
    <canvasPageItem> 
      <canvasPageXml><![CDATA[]]></canvasPageXml> 
    </canvasPageItem>  
    <appattach> 
      <attachid/>  
      <cdnthumburl>308187020100047b30790201000204332b48eb02032df53e0204e903067b02046071a33a04546175706170706d73675f653239633035383430333865306630305f313631383036303039303635335f3838343732395f35303965666236372d393433332d343333612d396435382d6630393031373061356466330204010800030201000405004c52ae00</cdnthumburl>  
      <cdnthumbmd5>5799a29c60bfca3973b7cc22fbce3026</cdnthumbmd5>  
      <cdnthumblength>7164</cdnthumblength>  
      <cdnthumbheight>150</cdnthumbheight>  
      <cdnthumbwidth>150</cdnthumbwidth>  
      <cdnthumbaeskey>553726db84e050773ebafbcd50acb0a0</cdnthumbaeskey>  
      <aeskey>553726db84e050773ebafbcd50acb0a0</aeskey>  
      <encryver>1</encryver>  
      <fileext/>  
      <islargefilemsg>0</islargefilemsg> 
    </appattach>  
    <extinfo/>  
    <androidsource>2</androidsource>  
    <thumburl/>  
    <mediatagname/>  
    <messageaction><![CDATA[]]></messageaction>  
    <messageext><![CDATA[]]></messageext>  
    <emoticongift> 
      <packageflag>0</packageflag>  
      <packageid/> 
    </emoticongift>  
    <emoticonshared> 
      <packageflag>0</packageflag>  
      <packageid/> 
    </emoticonshared>  
    <designershared> 
      <designeruin>0</designeruin>  
      <designername>null</designername>  
      <designerrediretcturl>null</designerrediretcturl> 
    </designershared>  
    <emotionpageshared> 
      <tid>0</tid>  
      <title>null</title>  
      <desc>null</desc>  
      <iconUrl>null</iconUrl>  
      <secondUrl>null</secondUrl>  
      <pageType>0</pageType> 
    </emotionpageshared>  
    <webviewshared> 
      <shareUrlOriginal/>  
      <shareUrlOpen/>  
      <jsAppId/>  
      <publisherId/> 
    </webviewshared>  
    <template_id/>  
    <md5>5799a29c60bfca3973b7cc22fbce3026</md5>  
    <weappinfo> 
      <username/>  
      <appid/>  
      <appservicetype>0</appservicetype>  
      <videopageinfo> 
        <thumbwidth>150</thumbwidth>  
        <thumbheight>150</thumbheight>  
        <fromopensdk>0</fromopensdk> 
      </videopageinfo> 
    </weappinfo>  
    <statextstr>GhQKEnd4NWFhMzMzNjA2NTUwZGZkNQ==</statextstr>  
    <musicShareItem> 
      <musicDuration>0</musicDuration> 
    </musicShareItem>  
    <findernamecard> 
      <username/>  
      <avatar><![CDATA[]]></avatar>  
      <nickname/>  
      <auth_job/>  
      <auth_icon>0</auth_icon>  
      <auth_icon_url/> 
    </findernamecard>  
    <finderEndorsement> 
      <scene><![CDATA[0]]></scene> 
    </finderEndorsement>  
    <directshare>0</directshare>  
    <gamecenter> 
      <namecard> 
        <iconUrl/>  
        <name/>  
        <desc/>  
        <tail/>  
        <jumpUrl/> 
      </namecard> 
    </gamecenter>  
    <patMsg> 
      <chatUser/>  
      <records> 
        <recordNum>0</recordNum> 
      </records> 
    </patMsg>  
    <websearch> 
      <rec_category>0</rec_category>  
      <channelId>0</channelId> 
    </websearch> 
  </appmsg>  
  <fromusername>wxid_vdha0qorca4e22</fromusername>  
  <scene>0</scene>  
  <appinfo> 
    <version>52</version>  
    <appname>QQ音乐</appname> 
  </appinfo>  
  <commenturl/> 
</msg>

网易云消息

<?xml version="1.0" encoding="utf-8"?>

<msg> 
  <appmsg appid="wx8dd6ecd81906fd84" sdkver="0"> 
    <title>你的答案</title>  
    <des>阿冗</des>  
    <username/>  
    <action>view</action>  
    <type>3</type>  
    <showtype>0</showtype>  
    <content/>  
    <url>https://y.music.163.com/m/song/1400256289/?userid=365931765&amp;app_version=8.1.80</url>  
    <lowurl/>  
    <dataurl>http://music.163.com/song/media/outer/url?id=1400256289&amp;userid=365931765</dataurl>  
    <lowdataurl/>  
    <contentattr>0</contentattr>  
    <streamvideo> 
      <streamvideourl/>  
      <streamvideototaltime>0</streamvideototaltime>  
      <streamvideotitle/>  
      <streamvideowording/>  
      <streamvideoweburl/>  
      <streamvideothumburl/>  
      <streamvideoaduxinfo/>  
      <streamvideopublishid/> 
    </streamvideo>  
    <canvasPageItem> 
      <canvasPageXml><![CDATA[]]></canvasPageXml> 
    </canvasPageItem>  
    <appattach> 
      <attachid/>  
      <cdnthumburl>308189020100047d307b020100020417b9ab4202032df53e02041703067b02046072ef7304566175706170706d73675f633465313264623436343138333732615f313631383134353133393430315f31323838333731385f64383231363866302d393238352d343133322d386535302d3564633561656566623262390204010800030201000405004c52ae00</cdnthumburl>  
      <cdnthumbmd5>cbc8ed69f037d285bbf6d3e227c56189</cdnthumbmd5>  
      <cdnthumblength>11146</cdnthumblength>  
      <cdnthumbheight>100</cdnthumbheight>  
      <cdnthumbwidth>100</cdnthumbwidth>  
      <cdnthumbaeskey>5fbad286471dae27092e5978a257a09d</cdnthumbaeskey>  
      <aeskey>5fbad286471dae27092e5978a257a09d</aeskey>  
      <encryver>1</encryver>  
      <fileext/>  
      <islargefilemsg>0</islargefilemsg> 
    </appattach>  
    <extinfo/>  
    <androidsource>2</androidsource>  
    <thumburl/>  
    <mediatagname/>  
    <messageaction><![CDATA[]]></messageaction>  
    <messageext><![CDATA[]]></messageext>  
    <emoticongift> 
      <packageflag>0</packageflag>  
      <packageid/> 
    </emoticongift>  
    <emoticonshared> 
      <packageflag>0</packageflag>  
      <packageid/> 
    </emoticonshared>  
    <designershared> 
      <designeruin>0</designeruin>  
      <designername>null</designername>  
      <designerrediretcturl>null</designerrediretcturl> 
    </designershared>  
    <emotionpageshared> 
      <tid>0</tid>  
      <title>null</title>  
      <desc>null</desc>  
      <iconUrl>null</iconUrl>  
      <secondUrl>null</secondUrl>  
      <pageType>0</pageType> 
    </emotionpageshared>  
    <webviewshared> 
      <shareUrlOriginal/>  
      <shareUrlOpen/>  
      <jsAppId/>  
      <publisherId/> 
    </webviewshared>  
    <template_id/>  
    <md5>cbc8ed69f037d285bbf6d3e227c56189</md5>  
    <weappinfo> 
      <username/>  
      <appid/>  
      <appservicetype>0</appservicetype>  
      <videopageinfo> 
        <thumbwidth>100</thumbwidth>  
        <thumbheight>100</thumbheight>  
        <fromopensdk>0</fromopensdk> 
      </videopageinfo> 
    </weappinfo>  
    <statextstr>GhQKEnd4OGRkNmVjZDgxOTA2ZmQ4NA==</statextstr>  
    <musicShareItem> 
      <musicDuration>0</musicDuration> 
    </musicShareItem>  
    <findernamecard> 
      <username/>  
      <avatar><![CDATA[]]></avatar>  
      <nickname/>  
      <auth_job/>  
      <auth_icon>0</auth_icon>  
      <auth_icon_url/> 
    </findernamecard>  
    <finderEndorsement> 
      <scene><![CDATA[0]]></scene> 
    </finderEndorsement>  
    <directshare>0</directshare>  
    <gamecenter> 
      <namecard> 
        <iconUrl/>  
        <name/>  
        <desc/>  
        <tail/>  
        <jumpUrl/> 
      </namecard> 
    </gamecenter>  
    <patMsg> 
      <chatUser/>  
      <records> 
        <recordNum>0</recordNum> 
      </records> 
    </patMsg>  
    <websearch> 
      <rec_category>0</rec_category>  
      <channelId>0</channelId> 
    </websearch> 
  </appmsg>  
  <fromusername>wxid_vdha0qorca4e22</fromusername>  
  <scene>0</scene>  
  <appinfo> 
    <version>49</version>  
    <appname>网易云音乐</appname> 
  </appinfo>  
  <commenturl/> 
</msg>
fangmuke commented 3 years ago

音乐卡片消息与小程序消息十分相似,我想应该可以继承?

<?xml version="1.0" encoding="utf-8"?>

<msg> 
  <appmsg appid="" sdkver="0"> 
    <title>你能用微信盯盘啦</title>  
    <des/>  
    <username/>  
    <action>view</action>  
    <type>33</type>  
    <showtype>0</showtype>  
    <content/>  
    <url>https://mp.weixin.qq.com/mp/waerrpage?appid=wx4ffb369b6881ee5e&amp;type=upgrade&amp;upgradetype=3#wechat_redirect</url>  
    <lowurl/>  
    <dataurl/>  
    <lowdataurl/>  
    <contentattr>0</contentattr>  
    <streamvideo> 
      <streamvideourl/>  
      <streamvideototaltime>0</streamvideototaltime>  
      <streamvideotitle/>  
      <streamvideowording/>  
      <streamvideoweburl/>  
      <streamvideothumburl/>  
      <streamvideoaduxinfo/>  
      <streamvideopublishid/> 
    </streamvideo>  
    <canvasPageItem> 
      <canvasPageXml><![CDATA[]]></canvasPageXml> 
    </canvasPageItem>  
    <appattach> 
      <attachid/>  
      <cdnthumburl>308184020100047d307b020100020417b9ab4202033d0af602045d6cc2dc02046072f13304566175706170706d73675f633465313264623436343138333732615f313631383134353538343230335f31323838333733335f34666261333330612d303636372d346435332d613936312d6433633037373064343930330204010400030201000400</cdnthumburl>  
      <cdnthumbmd5>0803fcbc0c5a9effe3e4031348b01040</cdnthumbmd5>  
      <cdnthumblength>18561</cdnthumblength>  
      <cdnthumbheight>576</cdnthumbheight>  
      <cdnthumbwidth>720</cdnthumbwidth>  
      <cdnthumbaeskey>d6f068a761b99c149ba3abb8474a3b13</cdnthumbaeskey>  
      <aeskey>d6f068a761b99c149ba3abb8474a3b13</aeskey>  
      <encryver>1</encryver>  
      <fileext/>  
      <islargefilemsg>0</islargefilemsg> 
    </appattach>  
    <extinfo/>  
    <androidsource>3</androidsource>  
    <sourceusername>gh_debd46be9dc3@app</sourceusername>  
    <sourcedisplayname>腾讯自选股</sourcedisplayname>  
    <commenturl/>  
    <thumburl/>  
    <mediatagname/>  
    <messageaction><![CDATA[]]></messageaction>  
    <messageext><![CDATA[]]></messageext>  
    <emoticongift> 
      <packageflag>0</packageflag>  
      <packageid/> 
    </emoticongift>  
    <emoticonshared> 
      <packageflag>0</packageflag>  
      <packageid/> 
    </emoticonshared>  
    <designershared> 
      <designeruin>0</designeruin>  
      <designername>null</designername>  
      <designerrediretcturl>null</designerrediretcturl> 
    </designershared>  
    <emotionpageshared> 
      <tid>0</tid>  
      <title>null</title>  
      <desc>null</desc>  
      <iconUrl>null</iconUrl>  
      <secondUrl>null</secondUrl>  
      <pageType>0</pageType> 
    </emotionpageshared>  
    <webviewshared> 
      <shareUrlOriginal/>  
      <shareUrlOpen/>  
      <jsAppId/>  
      <publisherId>wxapp_wx4ffb369b6881ee5epages/index/index.html</publisherId> 
    </webviewshared>  
    <template_id/>  
    <md5>0803fcbc0c5a9effe3e4031348b01040</md5>  
    <weappinfo> 
      <pagepath><![CDATA[pages/index/index.html]]></pagepath>  
      <username>gh_debd46be9dc3@app</username>  
      <appid>wx4ffb369b6881ee5e</appid>  
      <version>235</version>  
      <type>2</type>  
      <weappiconurl><![CDATA[http://wx.qlogo.cn/mmhead/Q3auHgzwzM6kCJQZIzDGeM9ickz3jE8Gkb3H5RmbkmGvQbneayZviaCQ/96]]></weappiconurl>  
      <shareId><![CDATA[1_wx4ffb369b6881ee5e_c96e16db857f1d1dd15cd71d68d398b0_1618143968_0]]></shareId>  
      <appservicetype>0</appservicetype>  
      <videopageinfo> 
        <thumbwidth>720</thumbwidth>  
        <thumbheight>576</thumbheight>  
        <fromopensdk>0</fromopensdk> 
      </videopageinfo> 
    </weappinfo>  
    <statextstr/>  
    <musicShareItem> 
      <musicDuration>0</musicDuration> 
    </musicShareItem>  
    <findernamecard> 
      <username/>  
      <avatar><![CDATA[]]></avatar>  
      <nickname/>  
      <auth_job/>  
      <auth_icon>0</auth_icon>  
      <auth_icon_url/> 
    </findernamecard>  
    <finderEndorsement> 
      <scene><![CDATA[0]]></scene> 
    </finderEndorsement>  
    <directshare>0</directshare>  
    <gamecenter> 
      <namecard> 
        <iconUrl/>  
        <name/>  
        <desc/>  
        <tail/>  
        <jumpUrl/> 
      </namecard> 
    </gamecenter>  
    <patMsg> 
      <chatUser/>  
      <records> 
        <recordNum>0</recordNum> 
      </records> 
    </patMsg>  
    <websearch> 
      <rec_category>0</rec_category>  
      <channelId>0</channelId> 
    </websearch> 
  </appmsg>  
  <fromusername>wxid_vdha0qorca4e22</fromusername>  
  <scene>0</scene>  
  <appinfo> 
    <version>1</version>  
    <appname/> 
  </appinfo>  
  <commenturl/> 
</msg>
padlocal commented 3 years ago

Wechaty api doesn't support to send those message, byte you can forward the message to others. Does forwarding satisfy you?

coderzzp commented 1 year ago

is this feature has published?