WeChatBotEngine icon indicating copy to clipboard operation
WeChatBotEngine copied to clipboard

2017-04-27 下午 5:44 开始,消息类型 51 收到的 Content 变成空内容了,导致再也取不到联系人的“明文ID”

Open moontide opened this issue 8 years ago • 2 comments
trafficstars

如日志所示,观察一下 Content 里的内容,是空的

2017-04-27 17:44:39.684 [信息] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 
--------------------------------------------------
2017-04-27 17:44:39.685 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 获取 WebWeChatGetMessagePackage 中 webwxsync 设置的新 Cookie (保持会话不过期可能就指望它了):
2017-04-27 17:44:39.686 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage:     [webwx_data_ticket=********************; Domain=.qq.com; Path=/; Expires=Thu, 27-Apr-2017 21:44:39 GMT, wxsid=**********; Domain=wx2.qq.com; Path=/; Expires=Thu, 27-Apr-2017 21:44:39 GMT, wxuin=**********; Domain=wx2.qq.com; Path=/; Expires=Sun, 30-Apr-2017 09:44:39 GMT, wxpluginkey=**********; Domain=wx2.qq.com; Path=/; Expires=Thu, 27-Apr-2017 21:44:39 GMT]
2017-04-27 17:44:39.686 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 获取 WebWeChatGetMessagePackage 中 webwxsync 的 http 响应消息体:
2017-04-27 17:44:39.686 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: {"BaseResponse":{"Ret":0,"ErrMsg":""},"AddMsgCount":1,"AddMsgList":[{"MsgId":"********************","FromUserName":"@****************************************************************","ToUserName":"@@****************************************************************","MsgType":51,"Content":"","Status":3,"ImgStatus":1,"CreateTime":1493286279,"VoiceLength":0,"PlayLength":0,"FileName":"","FileSize":"","MediaId":"","Url":"","AppMsgType":0,"StatusNotifyCode":2,"StatusNotifyUserName":"@@****************************************************************","RecommendInfo":{"UserName":"","NickName":"","QQNum":0,"Province":"","City":"","Content":"","Signature":"","Alias":"","Scene":0,"VerifyFlag":0,"AttrStatus":0,"Sex":0,"Ticket":"","OpCode":0},"ForwardFlag":0,"AppInfo":{"AppID":"","Type":0},"HasProductId":0,"Ticket":"","ImgHeight":0,"ImgWidth":0,"SubMsgType":0,"NewMsgId":********************,"OriContent":""}],"ModContactCount":0,"ModContactList":[],"DelContactCount":0,"DelContactList":[],"ModChatRoomMemberCount":0,"ModChatRoomMemberList":[],"Profile":{"BitFlag":0,"UserName":{"Buff":""},"NickName":{"Buff":""},"BindUin":0,"BindEmail":{"Buff":""},"BindMobile":{"Buff":""},"Status":0,"Sex":0,"PersonalCard":0,"Alias":"","HeadImgUpdateFlag":0,"HeadImgUrl":"","Signature":""},"ContinueFlag":0,"SyncKey":{"Count":10,"List":[{"Key":1,"Val":**********},{"Key":2,"Val":**********},{"Key":3,"Val":**********},{"Key":11,"Val":**********},{"Key":13,"Val":**********},{"Key":201,"Val":**********},{"Key":203,"Val":**********},{"Key":1000,"Val":**********},{"Key":1001,"Val":**********},{"Key":1004,"Val":**********}]},"SKey":"","SyncCheckKey":{"Count":10,"List":[{"Key":1,"Val":**********},{"Key":2,"Val":**********},{"Key":3,"Val":**********},{"Key":11,"Val":**********},{"Key":13,"Val":**********},{"Key":201,"Val":**********},{"Key":203,"Val":**********},{"Key":1000,"Val":**********},{"Key":1001,"Val":**********},{"Key":1004,"Val":**********}]}}


2017-04-27 17:44:39.815 [严重] net_maclife_wechat_http_BotEngine OnMessagePackageReceived: @**************************************************************** → @@****************************************************************
2017-04-27 17:44:39.815 [详细] net_maclife_wechat_http_BotEngine OnMessagePackageReceived: * 是自己发出的消息,现在改一下“回复给谁 / ReplyTo”
2017-04-27 17:44:39.816 [信息] net_maclife_wechat_http_BotEngine OnMessagePackageReceived: 收到类型=51, ID=******************** 的消息(自己在其他设备上发出的)
 → 【********】:

[Fatal Error] :1:1: 文件提前结束。
nu.xom.ParsingException: 文件提前结束。 at line 1, column 1
        at nu.xom.Builder.build(Unknown Source)
        at nu.xom.Builder.build(Unknown Source)
        at nu.xom.Builder.build(Unknown Source)
        at net_maclife_wechat_http_BotEngine.OnOperationMessageReceived(net_maclife_wechat_http_BotEngine.java:1756)
        at net_maclife_wechat_http_BotEngine.OnMessagePackageReceived(net_maclife_wechat_http_BotEngine.java:1259)
        at net_maclife_wechat_http_BotEngine.run(net_maclife_wechat_http_BotEngine.java:958)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 文件提前结束。
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1239)
        ... 11 more

以前,Content 的内容会是类似下面格式的数据:

<msg>
<op id='2'>
<username>********@chatroom</username>
</op>
</msg>

username 节点的内容就是联系人的明文 ID -- 在不同的登录会话之间是不会变化的。

大概 40 天之前我在 https://github.com/Urinx/WeixinBot/issues/138#issuecomment-287529824 解答过,不知是否被腾讯员工看到,进而做了更改?

moontide avatar May 02 '17 02:05 moontide

原本的默认Alias 应该也是用户的微信号的,现在好像都是空的了

iflamed avatar May 02 '17 17:05 iflamed

@iflamed 我重新登录了一下,好像是的… 不知道腾讯这么做有什么想(顾)法(虑),因为直接向【不在微信通讯录的好友或者群】的明文 ID 发消息是发不成功的:

/msg 10000@chatroom test

2017-05-03 11:15:48.625 [警告] net_maclife_wechat_http_BotApp ProcessBaseResponse: WebWeChatSendMessage 失败,代码: 1201

不管怎么说,在 WeChatBotEngine 日志文件里,我还能搜到明文 ID,只能从日志文件里手工整理一份表格来用了。

moontide avatar May 03 '17 03:05 moontide