ljc545w / ComWeChatRobot

PC微信机器人,实现获取通讯录,发送文本、图片、文件等消息,封装COM接口供Python、C#调用
1.64k stars 451 forks source link

引用/quote feature #180

Closed xylonx closed 1 year ago

xylonx commented 1 year ago

我确定我已经查看了 (标注[ ][x])


我要申请 (标注[ ][x])


引用/quote,作用类似其他IM中的回复 / reply功能。 接受引用消息时,msg type是49,按注释为App,实际extrainfo字段也是一个的xml,能够解析成功。 但是目前无法发送该类消息。请问该功能能否添加?

xylonx commented 1 year ago

已经通过翻阅代码找到了,具体操作为发送xml消息,type为43。回复消息的xml也通过msg hook的返回字段获取到了。贴在下面以便后来人使用(${}表示该值需要动态修改):

<?xml version="1.0"?>
<msg>
    <appmsg appid="" sdkver="0">
        <title>111</title>
        <des />
        <action>view</action>
        <type>57</type>
        <showtype>0</showtype>
        <content />
        <url />
        <dataurl />
        <lowurl />
        <lowdataurl />
        <recorditem />
        <thumburl />
        <messageaction />
        <refermsg>
            <type>${referred msg type}</type>
            <svrid>${referred msg id}</svrid>

            <!-- if in chatroom -->
            <fromusr>${reffered msg sender}</fromusr>
            <chatusr />
            <!-- else -->
            <fromusr>${reffered msg roomid}</fromusr>
            <chatusr>${reffered msg sender}</chatusr>

            <displayname>${sender displayname}</displayname>
            <msgsource>${escape(referred msg msgsource)}</msgsource>
            <content>${escape(reffered msg msgsource)}</content>
        </refermsg>
        <extinfo />
        <sourceusername />
        <sourcedisplayname />
        <commenturl />
        <appattach>
            <totallen>0</totallen>
            <attachid />
            <emoticonmd5 />
            <fileext />
            <aeskey />
        </appattach>
        <weappinfo>
            <pagepath />
            <username />
            <appid />
            <appservicetype>0</appservicetype>
        </weappinfo>
        <websearch />
    </appmsg>
    <fromusername>${self wechat id}</fromusername>
    <scene>0</scene>
    <appinfo>
        <version>1</version>
        <appname></appname>
    </appinfo>
    <commenturl></commenturl>
</msg>

微信把被引用的消息连用户带内容整个塞进了xml,,,不能理解

PS: 虽然refermsg修改displayname也能发,但是建议最好还是别动。。。。小心被封号