Fix return value of send_msg & wrong value name of __produce_group_chat [RB#58,59: brothertian]

This commit is contained in:
LittleCoder
2016-08-25 13:11:20 +08:00
parent a4542bee65
commit ebfe1c77b8
2 changed files with 11 additions and 5 deletions
+4
View File
@@ -142,6 +142,10 @@ Q: 为什么我在设定了`itchat.auto_login()`的`enableCmdQR`为`True`后还
A: 这是由于没有安装可选的包`pillow`,可以使用右边的命令安装:`pip install pillow`
Q: 如何通过这个包将自己的微信号变为控制器?
A: 有两种方式:发送、接受自己UserName的消息;发送接收文件传输助手(filehelper)的消息
## Author
[LittleCoder](https://github.com/littlecodersh): 整体构架及完成Python2版本。
+7 -5
View File
@@ -8,6 +8,7 @@ from . import config, storage, out, tools
import requests
BASE_URL = config.BASE_URL
QR_DIR = 'QR.jpg'
class client(object):
def __init__(self):
@@ -88,7 +89,6 @@ class client(object):
if uuid == None: uuid = self.uuid
url = '%s/qrcode/%s'%(BASE_URL, uuid)
r = self.s.get(url, stream = True)
QR_DIR = 'QR.jpg'
with open(QR_DIR, 'wb') as f: f.write(r.content)
if enableCmdQR:
tools.print_cmd_qr(QR_DIR, enableCmdQR = enableCmdQR)
@@ -105,7 +105,7 @@ class client(object):
regx = r'window.code=(\d+)'
data = re.search(regx, r.text)
if data and data.group(1) == '200':
os.remove('QR.jpg')
os.remove(QR_DIR)
regx = r'window.redirect_uri="(\S+)";'
self.loginInfo['url'] = re.search(regx, r.text).group(1)
r = self.s.get(self.loginInfo['url'], allow_redirects=False)
@@ -392,7 +392,7 @@ class client(object):
if not r: return
actualUserName, content = r.groups()
try:
self.storageClass.groupDict[msg['FromUserName']][ActualUserName]
self.storageClass.groupDict[msg['FromUserName']][actualUserName]
except:
groupMemberList = self.get_batch_contract(msg['FromUserName'])['MemberList']
self.storageClass.groupDict[msg['FromUserName']] = {member['UserName']: member for member in groupMemberList}
@@ -418,6 +418,7 @@ class client(object):
}, }
headers = { 'ContentType': 'application/json; charset=UTF-8' }
r = self.s.post(url, data = json.dumps(payloads, ensure_ascii = False).encode('utf8'), headers = headers)
return r.json()['BaseResponse']['Ret'] == 0
def __upload_file(self, fileDir, isPicture = False):
if not tools.check_file(fileDir): return
url = 'https://file%s.wx.qq.com/cgi-bin/mmwebwx-bin/webwxuploadmedia?f=json'%('2' if '2' in self.loginInfo['url'] else '')
@@ -537,6 +538,7 @@ class client(object):
r = self.s.post(url, data=json.dumps(params),headers=headers)
dic = json.loads(r.content.decode('utf8', 'replace'))
print(dic)
return dic['ChatRoomName']
def delete_member_from_chatroom(self, chatRoomName, memberList):
url = ('%s/webwxupdatechatroom?fun=delmember&pass_ticket=%s'%(
@@ -546,7 +548,7 @@ class client(object):
'ChatRoomName': chatRoomName,
'DelMemberList': ','.join([member['UserName'] for member in memberList]), }
headers = {'content-type': 'application/json; charset=UTF-8'}
return self.s.post(url, data=json.dumps(params),headers=headers)
return self.s.post(url, data=json.dumps(params),headers=headers).json()
def add_member_into_chatroom(self, chatRoomName, memberList):
url = ('%s/webwxupdatechatroom?fun=addmember&pass_ticket=%s'%(
self.loginInfo['url'], self.loginInfo['pass_ticket']))
@@ -555,7 +557,7 @@ class client(object):
'ChatRoomName': chatRoomName,
'AddMemberList': ','.join([member['UserName'] for member in memberList]), }
headers = {'content-type': 'application/json; charset=UTF-8'}
r = self.s.post(url, data=json.dumps(params),headers=headers)
return self.s.post(url, data=json.dumps(params),headers=headers).json()
if __name__ == '__main__':
wcc = WeChatClient()