Merge pull request #1 from Urinx/master

merge
This commit is contained in:
Tao Meng
2016-02-24 18:09:26 +08:00
+33 -24
View File
@@ -465,10 +465,14 @@ class WebWeixin(object):
if msg['raw_msg']['FromUserName'][:2] == '@@':
# 接收到来自群的消息
[people, content] = content.split(':<br/>')
groupName = srcName
srcName = self.getUserRemarkName(people)
dstName = 'GROUP'
if re.search(":<br/>", content, re.IGNORECASE):
[people, content] = content.split(':<br/>')
groupName = srcName
srcName = self.getUserRemarkName(people)
dstName = 'GROUP'
else:
groupName = srcName
srcName = 'SYSTEM'
elif msg['raw_msg']['ToUserName'][:2] == '@@':
# 自己发给群的消息
groupName = dstName
@@ -499,10 +503,8 @@ class WebWeixin(object):
name = self.getUserRemarkName(msg['FromUserName'])
content = msg['Content'].replace('&lt;','<').replace('&gt;','>')
msgid = msg['MsgId']
if msgType == 51:
print '[*] 成功截获微信初始化消息'
logging.debug('[*] 成功截获微信初始化消息')
elif msgType == 1:
if msgType == 1:
raw_msg = { 'raw_msg': msg }
self._showMsg(raw_msg)
if self.autoReplyMode:
@@ -557,23 +559,28 @@ class WebWeixin(object):
}
raw_msg = { 'raw_msg': msg, 'message': '%s 分享了一个%s: %s' % (name, appMsgType[msg['AppMsgType']], json.dumps(card)) }
self._showMsg(raw_msg)
elif msgType == 51:
raw_msg = { 'raw_msg': msg, 'message': '[*] 成功获取联系人信息' }
self._showMsg(raw_msg)
elif msgType == 62:
video = self.webwxgetvideo(msgid)
raw_msg = { 'raw_msg': msg, 'message': '%s 发了一段语音: %s' % (name, video) }
raw_msg = { 'raw_msg': msg, 'message': '%s 发了一段小视频: %s' % (name, video) }
self._showMsg(raw_msg)
self._safe_open(video)
elif msgType == 10002:
print name+' 撤回消息'
logging.info(name+' 撤回消息')
raw_msg = { 'raw_msg': msg, 'message': '%s 撤回了一条消息' % name }
self._showMsg(raw_msg)
else:
print '[*] 该消息类型为: %d,可能是表情,图片或链接' % msg['MsgType']
logging.debug('[*] 该消息类型为: %d,可能是表情,图片或链接: %s' % (msg['MsgType'], json.dumps(msg)))
logging.debug('[*] 该消息类型为: %d,可能是表情,图片, 链接或红包: %s' % (msg['MsgType'], json.dumps(msg)))
raw_msg = { 'raw_msg': msg, 'message': '[*] 该消息类型为: %d,可能是表情,图片, 链接或红包' % msg['MsgType'] }
self._showMsg(raw_msg)
def listenMsgMode(self):
print '[*] 进入消息监听模式 ... 成功'
logging.debug('[*] 进入消息监听模式 ... 成功')
self._run('[*] 进行同步线路测试 ... ', self.testsynccheck)
playWeChat = 0
redEnvelope = 0
while True:
self.lastCheckTs = time.time()
[retcode, selector] = self.synccheck()
@@ -593,7 +600,9 @@ class WebWeixin(object):
if r is not None: self.handleMsg(r)
elif selector == '6':
# TODO
time.sleep(1)
redEnvelope += 1
print '[*] 收到疑似红包消息 %d' % redEnvelope
logging.debug('[*] 收到疑似红包消息 %d' % redEnvelope)
elif selector == '7':
playWeChat += 1
print '[*] 你在手机上玩微信被我发现了 %d' % playWeChat
@@ -641,16 +650,16 @@ class WebWeixin(object):
@catchKeyboardInterrupt
def start(self):
self._echo('[*] 微信网页版 ... 开动'); print; logging.debug('[*] 微信网页版 ... 开动')
while True:
self._run('[*] 正在获取 uuid ... ', self.getUUID)
self._echo('[*] 正在获取二维码 ... 成功'); print; logging.debug('[*] 微信网页版 ... 开动'); self.genQRCode()
print '[*] 请使用微信扫描二维码以登录 ... '
if not self.waitForLogin():
continue
print '[*] 请在手机上点击确认以登录 ... '
if not self.waitForLogin(0):
continue
break
while True:
self._run('[*] 正在获取 uuid ... ', self.getUUID)
self._echo('[*] 正在获取二维码 ... 成功'); print; logging.debug('[*] 微信网页版 ... 开动'); self.genQRCode()
print '[*] 请使用微信扫描二维码以登录 ... '
if not self.waitForLogin():
continue
print '[*] 请在手机上点击确认以登录 ... '
if not self.waitForLogin(0):
continue
break
self._run('[*] 正在登录 ... ', self.login)
self._run('[*] 微信初始化 ... ', self.webwxinit)