Giter Club home page Giter Club logo

wechatbotengine's Issues

在写一个测试类ClassA时,随便把A放到了顶级包层次,也就是没有包声明,结果发现其他包下的类是无法引用到这个类的,只有另建一个同样的顶级类ClassB,才能正常引用

在写一个测试类ClassA时,随便把A放到了顶级包层次,也就是没有包声明,结果发现其他包下的类是无法引用到这个类的,只有另建一个同样的顶级类ClassB,才能正常引用。

建议还是按正常的结构目录,否则,不易于使用也不易于更广泛的使用。

每隔 12 小时需要重新登录

WeChatBotEngine 每次登录,12 小时后此会话必定过期,导致要重新登录一次。而微信网页版不会出现这个问题。

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

如日志所示,观察一下 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 天之前我在 Urinx/WeixinBot#138 (comment) 解答过,不知是否被腾讯员工看到,进而做了更改?

synccheck selector 为 6、7 时导致死循环,再也收不到消息

/loglevel all
日志级别已改为: ALL
2016-12-21 16:13:19.938 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 等待并获取新消息 WebWeChatGetMessagePackage (synccheck & webwxsync) …
2016-12-21 16:13:19.938 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: WebWeChatGetMessagePackage 中 synccheck 的 URL:
2016-12-21 16:13:19.938 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage:       https://webpush.wx2.qq.com/cgi-bin/mmwebwx-bin/synccheck?r=1482307999938&skey=************************&sid=************************&uin=************************&deviceid=e454998449344482&synckey=1_666090009%7C2_666090254%7C3_666090009%7C11_666090181%7C13_666090009%7C201_1482306889%7C203_1482285989%7C1000_1482281821%7C1001_1482281851&_=1482307999938
2016-12-21 16:13:19.938 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 发送 WebWeChatGetMessagePackage 中 synccheck 的 http 请求消息头 (Cookie):
2016-12-21 16:13:19.939 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage:     {Cookie=webwx_data_ticket=************************; webwx_auth_ticket=************************; webwxuvid=************************; mm_lang=en_US; wxloadtime=1482300740; wxsid=************************; wxuin=************************; }
2016-12-21 16:13:19.970 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 获取 WebWeChatGetMessagePackage 中 synccheck 的 http 响应消息体:
2016-12-21 16:13:19.970 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage:       window.synccheck={retcode:"0",selector:"7"}
2016-12-21 16:13:19.971 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: WebWeChatGetMessagePackage 中 synccheck 返回 selector 7 -- 进入/离开聊天页面?
2016-12-21 16:13:21.971 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 等待并获取新消息 WebWeChatGetMessagePackage (synccheck & webwxsync) …
2016-12-21 16:13:21.971 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: WebWeChatGetMessagePackage 中 synccheck 的 URL:
2016-12-21 16:13:21.972 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage:       https://webpush.wx2.qq.com/cgi-bin/mmwebwx-bin/synccheck?r=1482308001971&skey=************************&sid=************************&uin=************************&deviceid=e547912204031966&synckey=1_666090009%7C2_666090254%7C3_666090009%7C11_666090181%7C13_666090009%7C201_1482306889%7C203_1482285989%7C1000_1482281821%7C1001_1482281851&_=1482308001971
2016-12-21 16:13:21.972 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 发送 WebWeChatGetMessagePackage 中 synccheck 的 http 请求消息头 (Cookie):
2016-12-21 16:13:21.972 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage:     {Cookie=webwx_data_ticket=************************; webwx_auth_ticket=************************; webwxuvid=************************; mm_lang=en_US; wxloadtime=1482300740; wxsid=************************; wxuin=************************; }
2016-12-21 16:13:22.004 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 获取 WebWeChatGetMessagePackage 中 synccheck 的 http 响应消息体:
2016-12-21 16:13:22.004 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage:       window.synccheck={retcode:"0",selector:"7"}
2016-12-21 16:13:22.004 [详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: WebWeChatGetMessagePackage 中 synccheck 返回 selector 7 -- 进入/离开聊天页面?
...
...
...

webwxsync BaseResponse Ret 代码 3

昨天碰到 webwxsync BaseResponse Ret 为代码 3 的问题,一直死循环,直到本次会话有效期截止(11:43:46 -- 13:39:38)。

原因未知,代码含义也未知。

2016-12-28 11:43:46.421 [信息] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage:
--------------------------------------------------
2016-12-28 11:43:46.421 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: 获取 WebWeChatGetMessagePackage 中 webwxsync 的 http 响应消息体:
2016-12-28 11:43:46.422 [较详细] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage:
{"BaseResponse":{"Ret":3,"ErrMsg":""},"AddMsgCount":0,"AddMsgList":[],"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":0,"List":[]},"SKey":"","SyncCheckKey":{"Count":0,"List":[]}}
2016-12-28 11:43:46.422 [警告] net_maclife_wechat_http_BotApp ProcessBaseResponse: WebWeChatGetMessagePackage 中 webwxsync 失败,代码: 3 , 错误信息:

登陆不成功一直返1100

2017-06-01 19:42:19.992 [警告] net_maclife_wechat_http_BotApp ProcessBaseResponse: WebWeChatInit 失败,代码: 1100

缓存的 session 信息在 synccheck 的时候不起作用

缓存的 session 信息在 synccheck 的时候不起作用。但在获取联系人、群联系人时没有问题。

2016-12-15 03:38:45.065 [信息] net_maclife_wechat_http_BotEngine LoadBot: 消息中继 机器人已创建并加载
2016-12-15 03:38:45.074 [信息] net_maclife_wechat_http_BotEngine LoadBot: Google 图片搜索 机器人已创建并加载
2016-12-15 03:38:45.075 [信息] net_maclife_wechat_http_BotEngine LoadBot: 百度翻译 机器人已创建并加载
2016-12-15 03:38:45.076 [信息] net_maclife_wechat_http_BotEngine LoadBot: 简易通讯录 机器人已创建并加载
2016-12-15 03:38:45.097 [信息] net_maclife_wechat_http_BotEngine run: 缓存的 Session 信息
        UIN: ************
        SID: *************
        SKEY: @crypt_***************************************
        TICKET: ******************************************************
        EncryptedAccountInThisSession: @*****************************************************
        CustomAccount/Alias: 
        NickName: ****
        SyncCheckKeys: {"Count":10,"List":[{"Key":1,"Val":":*************},{"},{"Key":2,"Val":":*************},{"},{"Key":3,"Val":":*************},{"},{"Key":11,"Val":":*************},{"},{"Key":13,"Val":":*************},{"},{"Key":201,"Val":":*************},{"},{"Key":1000,"Val":*************},{"K$
y":1001,"Val":":*************},{"},{"Key":1002,"Val":*************},{"Key":1003,"Val":":*************},{"}]}

2016-12-15 03:38:45.097 [信息] net_maclife_wechat_http_BotApp WebWeChatStatusNotify: 开启状态通知 …
2016-12-15 03:38:45.393 [信息] net_maclife_wechat_http_BotApp WebWeChatGetContacts: 获取联系人 …
2016-12-15 03:38:46.127 [信息] net_maclife_wechat_http_BotApp WebWeChatGetContacts: 
共 N 个联系人
        1. ****** (公众号)    2. gh_625508a143e8 (公众号, 订阅号)    3. 华硕智能手机 (公众号, 订阅号)    4. 微信团队 (公众号, 订阅号, 微信团队号)    …………
2016-12-15 03:38:46.129 [信息] net_maclife_wechat_http_BotApp WebWeChatGetRoomContacts: 获取 2 个聊天室的联系人 …
2016-12-15 03:38:46.529 [信息] net_maclife_wechat_http_BotApp WebWeChatGetRoomContacts: 
共 N 个聊天室
1  ******
        1. ******    2. ****** ……    
2  ******
        1. ******    2. ****** ……
2016-12-15 03:38:46.709 [警告] net_maclife_wechat_http_BotApp WebWeChatGetMessagePackage: WebWeChatGetMessagePackage 中 synccheck 返回 1102 -- 可能微信网页版(含 Windows 版)在其他地方登录了、或者 SyncCheckKey 参数不正确

2017-10-02 11:36 左右,我自己的微信无法登录网页版了。

2017-10-02 11:36 机器人后台被微信服务器踢出,再次重新登录时报以下错误:

<error><ret>1203</ret><message>当前登录环境异常。为了你的帐号安全,暂时不能登录web微信。你可以通过手机客户端或 windows微信登录。</message></error>

联想到有网友登录其他微信机器人也遭到网页版被禁止登录的消息,确定自己的微信号也被封了(仅仅针对网页版)。

那么,腾讯是如何发现的呢?

  • 搜索微信后台日志,能识别出机器人?用什么数据可以分析?
  • 或者,腾讯有专门的团队,人工在网上找各种机器人程序,观察其作者、分支者、关注者,一一封锁(根据截图中的信息)?
  • 其他的方法?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.