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

Quoted text message type error: Unknown #58

Closed suntong closed 3 years ago

suntong commented 3 years ago

Same issue as reported in https://github.com/juzibot/donut-tester/issues/78

When the bot received a quoted message, the message type is Text before, and it seems changed to be Unknown now.

This is a breaking change for our Friday.BOT because it can not forward quoted messages in rooms because of this change.

padlocal commented 3 years ago

Thanks for your feedback, investigating now.

suntong commented 3 years ago

When I was using the older donut version, it was still working fine, with the format of:

Quoted message
- - - - - - - - - - - - - - - - 
New message

Do we need a new Message.Type

I think the above format look good, no special handing. Else, everyone has to change their code, just to hand things that had been working before.

Could we have a look on this issue?

Yes, please!! Here is the full string

WechatifiedMessage {
  _events: [Object: null prototype] {},
  _eventsCount: 0,
  _maxListeners: undefined,
  id: '523002399384029297',
  payload: {
    id: '523002399384029297',
    timestamp: 1615775365,
    type: 0,
    fromId: 'wxid_5ciz22bbk91g22',
    mentionIdList: [],
    roomId: undefined,
    text: '<?xml version="1.0"?>\n' +
      '<msg>\n' +
      '\t<appmsg appid="" sdkver="0">\n' +
      '\t\t<title>再测试</title>\n' +
      '\t\t<des />\n' +
      '\t\t<username />\n' +
      '\t\t<action>view</action>\n' +
      '\t\t<type>57</type>\n' +
      '\t\t<showtype>0</showtype>\n' +
      '\t\t<content />\n' +
      '\t\t<url />\n' +
      '\t\t<lowurl />\n' +
      '\t\t<dataurl />\n' +
      '\t\t<lowdataurl />\n' +
      '\t\t<contentattr>0</contentattr>\n' +
      '\t\t<streamvideo>\n' +
      '\t\t\t<streamvideourl />\n' +
      '\t\t\t<streamvideototaltime>0</streamvideototaltime>\n' +
      '\t\t\t<streamvideotitle />\n' +
      '\t\t\t<streamvideowording />\n' +
      '\t\t\t<streamvideoweburl />\n' +
      '\t\t\t<streamvideothumburl />\n' +
      '\t\t\t<streamvideoaduxinfo />\n' +
      '\t\t\t<streamvideopublishid />\n' +
      '\t\t</streamvideo>\n' +
      '\t\t<canvasPageItem>\n' +
      '\t\t\t<canvasPageXml><![CDATA[]]></canvasPageXml>\n' +
      '\t\t</canvasPageItem>\n' +
      '\t\t<refermsg>\n' +
      '\t\t\t<type>1</type>\n' +
      '\t\t\t<svrid>9133383853513826095</svrid>\n' +
      '\t\t\t<fromusr>wxid_5ciz22bbk91g22</fromusr>\n' +
      '\t\t\t<chatusr>wxid_5ciz22bbk91g22</chatusr>\n' +
      '\t\t\t<displayname>From_WX_ID</displayname>\n' +
      '\t\t\t<msgsource />\n' +
      '\t\t\t<content>测试</content>\n' +
      '\t\t</refermsg>\n' +
      '\t\t<appattach>\n' +
      '\t\t\t<totallen>0</totallen>\n' +
      '\t\t\t<attachid />\n' +
      '\t\t\t<cdnattachurl />\n' +
      '\t\t\t<emoticonmd5 />\n' +
      '\t\t\t<aeskey />\n' +
      '\t\t\t<fileext />\n' +
      '\t\t\t<islargefilemsg>0</islargefilemsg>\n' +
      '\t\t</appattach>\n' +
      '\t\t<extinfo />\n' +
      '\t\t<androidsource>0</androidsource>\n' +
      '\t\t<thumburl />\n' +
      '\t\t<mediatagname />\n' +
      '\t\t<messageaction><![CDATA[]]></messageaction>\n' +
      '\t\t<messageext><![CDATA[]]></messageext>\n' +
      '\t\t<emoticongift>\n' +
      '\t\t\t<packageflag>0</packageflag>\n' +
      '\t\t\t<packageid />\n' +
      '\t\t</emoticongift>\n' +
      '\t\t<emoticonshared>\n' +
      '\t\t\t<packageflag>0</packageflag>\n' +
      '\t\t\t<packageid />\n' +
      '\t\t</emoticonshared>\n' +
      '\t\t<designershared>\n' +
      '\t\t\t<designeruin>0</designeruin>\n' +
      '\t\t\t<designername>null</designername>\n' +
      '\t\t\t<designerrediretcturl>null</designerrediretcturl>\n' +
      '\t\t</designershared>\n' +
      '\t\t<emotionpageshared>\n' +
      '\t\t\t<tid>0</tid>\n' +
      '\t\t\t<title>null</title>\n' +
      '\t\t\t<desc>null</desc>\n' +
      '\t\t\t<iconUrl>null</iconUrl>\n' +
      '\t\t\t<secondUrl>null</secondUrl>\n' +
      '\t\t\t<pageType>0</pageType>\n' +
      '\t\t</emotionpageshared>\n' +
      '\t\t<webviewshared>\n' +
      '\t\t\t<shareUrlOriginal />\n' +
      '\t\t\t<shareUrlOpen />\n' +
      '\t\t\t<jsAppId />\n' +
      '\t\t\t<publisherId />\n' +
      '\t\t</webviewshared>\n' +
      '\t\t<template_id />\n' +
      '\t\t<md5 />\n' +
      '\t\t<weappinfo>\n' +
      '\t\t\t<username />\n' +
      '\t\t\t<appid />\n' +
      '\t\t\t<appservicetype>0</appservicetype>\n' +
      '\t\t\t<videopageinfo>\n' +
      '\t\t\t\t<thumbwidth>0</thumbwidth>\n' +
      '\t\t\t\t<thumbheight>0</thumbheight>\n' +
      '\t\t\t\t<fromopensdk>0</fromopensdk>\n' +
      '\t\t\t</videopageinfo>\n' +
      '\t\t</weappinfo>\n' +
      '\t\t<statextstr />\n' +
      '\t\t<musicShareItem>\n' +
      '\t\t\t<musicDuration>0</musicDuration>\n' +
      '\t\t</musicShareItem>\n' +
      '\t\t<findernamecard>\n' +
      '\t\t\t<username />\n' +
      '\t\t\t<avatar><![CDATA[]]></avatar>\n' +
      '\t\t\t<nickname />\n' +
      '\t\t\t<auth_job />\n' +
      '\t\t\t<auth_icon>0</auth_icon>\n' +
      '\t\t\t<auth_icon_url />\n' +
      '\t\t</findernamecard>\n' +
      '\t\t<finderEndorsement>\n' +
      '\t\t\t<scene><![CDATA[0]]></scene>\n' +
      '\t\t</finderEndorsement>\n' +
      '\t\t<directshare>0</directshare>\n' +
      '\t\t<gamecenter>\n' +
      '\t\t\t<namecard>\n' +
      '\t\t\t\t<iconUrl />\n' +
      '\t\t\t\t<name />\n' +
      '\t\t\t\t<desc />\n' +
      '\t\t\t\t<tail />\n' +
      '\t\t\t\t<jumpUrl />\n' +
      '\t\t\t</namecard>\n' +
      '\t\t</gamecenter>\n' +
      '\t\t<patMsg>\n' +
      '\t\t\t<chatUser>null</chatUser>\n' +
      '\t\t\t<records>\n' +
      '\t\t\t\t<recordNum>0</recordNum>\n' +
      '\t\t\t</records>\n' +
      '\t\t</patMsg>\n' +
      '\t\t<websearch>\n' +
      '\t\t\t<rec_category>0</rec_category>\n' +
      '\t\t\t<channelId>0</channelId>\n' +
      '\t\t</websearch>\n' +
      '\t</appmsg>\n' +
      '\t<fromusername>wxid_5ciz22bbk91g22</fromusername>\n' +
      '\t<scene>0</scene>\n' +
      '\t<appinfo>\n' +
      '\t\t<version>1</version>\n' +
      '\t\t<appname></appname>\n' +
      '\t</appinfo>\n' +
      '\t<commenturl></commenturl>\n' +
      '</msg>\n',
    toId: 'wxid_5ciz22bbk91g22'
  },
  [Symbol(kCapture)]: false
}