now it can receive image message

This commit is contained in:
urinx
2016-02-05 17:15:21 +08:00
parent f1cfebd800
commit 26874bdf25
+31 -1
View File
@@ -239,6 +239,27 @@ class WebWeixin(object):
dic = r.json() dic = r.json()
return dic['BaseResponse']['Ret'] == 0 return dic['BaseResponse']['Ret'] == 0
def webwxgeticon(self, id):
url = self.base_uri + '/webwxgeticon?username=%s&skey=%s' % (id, self.skey)
data = self._get(url)
fn = 'img_'+id+'.jpg'
with open(fn, 'wb') as f: f.write(data)
return fn
def webwxgetheadimg(self, id):
url = self.base_uri + '/webwxgetheadimg?username=%s&skey=%s' % (id, self.skey)
data = self._get(url)
fn = 'img_'+id+'.jpg'
with open(fn, 'wb') as f: f.write(data)
return fn
def webwxgetmsgimg(self, msgid):
url = self.base_uri + '/webwxgetmsgimg?MsgID=%s&skey=%s' % (msgid, self.skey)
data = self._get(url)
fn = 'img_'+msgid+'.jpg'
with open(fn, 'wb') as f: f.write(data)
return fn
def getUserRemarkName(self, id): def getUserRemarkName(self, id):
name = u'这个人物名字未知' name = u'这个人物名字未知'
for member in self.MemberList: for member in self.MemberList:
@@ -256,9 +277,16 @@ class WebWeixin(object):
def handleMsg(self, r): def handleMsg(self, r):
for msg in r['AddMsgList']: for msg in r['AddMsgList']:
print '[*] 你有新的消息,请注意查收' print '[*] 你有新的消息,请注意查收'
if self.DEBUG:
fn = 'msg' + str(int(random.random() * 1000)) + '.json'
with open(fn, 'w') as f: f.write(json.dumps(msg))
print '[*] 该消息已储存到文件: ' + fn
msgType = msg['MsgType'] msgType = msg['MsgType']
name = self.getUserRemarkName(msg['FromUserName']) name = self.getUserRemarkName(msg['FromUserName'])
content = msg['Content'].encode('utf-8') content = msg['Content'].encode('utf-8')
msgid = msg['MsgId'].encode('utf-8')
if msgType == 51: if msgType == 51:
print '[*] 成功截获微信初始化消息' print '[*] 成功截获微信初始化消息'
elif msgType == 1: elif msgType == 1:
@@ -278,7 +306,9 @@ class WebWeixin(object):
else: else:
print '自动回复失败' print '自动回复失败'
elif msgType == 3: elif msgType == 3:
print name+' 给你发送了一张图片,请在手机上查看' img = self.webwxgetmsgimg(msgid)
print name+' 给你发送了一张图片: '+img
os.system('open %s' % img)
elif msgType == 34: elif msgType == 34:
print name+' 给你发了一段语音,请在手机上查看' print name+' 给你发了一段语音,请在手机上查看'
elif msgType == 42: elif msgType == 42: