Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions itchat/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ def new_instance():
send_image = originInstance.send_image
send_video = originInstance.send_video
send = originInstance.send
revoke = originInstance.revoke
# components.hotreload
dump_login_status = originInstance.dump_login_status
load_login_status = originInstance.load_login_status
Expand Down
15 changes: 15 additions & 0 deletions itchat/components/messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ def load_messages(core):
core.send_image = send_image
core.send_video = send_video
core.send = send
core.revoke = revoke

def get_download_fn(core, url, msgId):
def download_fn(downloadDir=None):
Expand Down Expand Up @@ -506,3 +507,17 @@ def send(self, msg, toUserName=None, mediaId=None):
else:
r = self.send_msg(msg, toUserName)
return r

def revoke(self, localID, msgID, toUserName):
url = '%s/webwxrevokemsg' % self.loginInfo['url']
data = {
'BaseRequest': self.loginInfo['BaseRequest'],
"ClientMsgId": localID,
"SvrMsgId": msgID,
"ToUserName": toUserName}
headers = {
'ContentType': 'application/json; charset=UTF-8',
'User-Agent' : config.USER_AGENT }
r = self.s.post(url, headers=headers,
data=json.dumps(data, ensure_ascii=False).encode('utf8'))
return ReturnValue(rawResponse=r)
9 changes: 9 additions & 0 deletions itchat/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,15 @@ def send(self, msg, toUserName=None, mediaId=None):
it is defined in components/messages.py
'''
raise NotImplementedError()
def revoke(self, localID, msgID, toUserName=None):
''' revoke message with its LocalID and MsgID
for options
- localID: message ID at local
- msgID: message ID on server
- toUserName: 'UserName' key of friend dict
it is defined in components/messages.py
'''
raise NotImplementedError()
def dump_login_status(self, fileDir=None):
''' dump login status to a specific file
for option
Expand Down