亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

使用Python微信庫itchat獲得好友和群組已撤回的消息

2020-02-15 22:00:18
字體:
來源:轉載
供稿:網友

具體代碼如下所述:

#coding=utf-8import itchatfrom itchat.content import TEXTfrom itchat.content import *import sysimport timeimport reimport osmsg_information = {}face_bug=None #針對表情包的內容# 這里的TEXT表示如果有人發送文本消息()# TEXT  文本  文本內容(文字消息)# MAP  地圖  位置文本(位置分享)# CARD  名片  推薦人字典(推薦人的名片)# SHARING  分享  分享名稱(分享的音樂或者文章等)# PICTURE 下載方法    圖片/表情# RECORDING  語音  下載方法# ATTACHMENT  附件  下載方法# VIDEO  小視頻  下載方法# FRIENDS  好友邀請  添加好友所需參數# SYSTEM  系統消息  更新內容的用戶或群聊的UserName組成的列表# NOTE  通知  通知文本(消息撤回等),那么就會調用下面的方法# 其中isFriendChat表示好友之間,isGroupChat表示群聊,isMapChat表示公眾號@itchat.msg_register([TEXT,PICTURE,FRIENDS,CARD,MAP,SHARING,RECORDING,ATTACHMENT,VIDEO],isFriendChat=True,isGroupChat=True)def receive_msg(msg):  global face_bug  # print("消息是:"+str(msg))  msg_time_rec = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) #接收消息的時間  # ActualNickName : 實際 NickName(昵稱) 群消息里(msg)才有這個值  if 'ActualNickName' in msg:    from_user = msg['ActualUserName'] #群消息的發送者,用戶的唯一標識    msg_from = msg['ActualNickName']#發送者群內的昵稱    friends = itchat.get_friends(update=True)#獲取所有好友    for f in friends:      if from_user == f['UserName']: #如果群消息是好友發的        if f['RemarkName']: # 優先使用好友的備注名稱,沒有則使用昵稱          msg_from = f['RemarkName']        else:          msg_from = f['NickName']        break    groups = itchat.get_chatrooms(update=True)#獲取所有的群    for g in groups:      if msg['FromUserName'] == g['UserName']:#根據群消息的FromUserName匹配是哪個群        group_name = g['NickName']        group_menbers = g['MemberCount']        break    group_name = group_name + "(" + str(group_menbers) +")"  #否則的話是屬于個人朋友的消息  else:    if itchat.search_friends(userName=msg['FromUserName'])['RemarkName']:#優先使用備注名稱      msg_from = itchat.search_friends(userName=msg['FromUserName'])['RemarkName']    else:      msg_from = itchat.search_friends(userName=msg['FromUserName'])['NickName'] #在好友列表中查詢發送信息的好友昵稱    group_name = ""  msg_time = msg['CreateTime'] #信息發送的時間  msg_id = msg['MsgId']  #每條信息的id  msg_content = None   #儲存信息的內容  msg_share_url = None  #儲存分享的鏈接,比如分享的文章和音樂  # 如果發送的消息是文本或者好友推薦  if msg['Type'] == 'Text' or msg['Type'] == 'Friends':    msg_content = msg['Text']  #如果發送的消息是附件、視頻、圖片、語音  elif msg['Type'] == "Attachment" or msg['Type'] == "Video" /      or msg['Type'] == 'Picture' /      or msg['Type'] == 'Recording':    msg_content = msg['FileName']  #內容就是他們的文件名    #msg_content = "F://weixininfo//"+msg['FileName']    msg['Text'](str(msg_content))  #下載文件  elif msg['Type'] == 'Map':  #如果消息為分享的位置信息    x, y, location = re.search(      "<location x=/"(.*?)/" y=/"(.*?)/".*label=/"(.*?)/".*", msg['OriContent']).group(1, 2, 3)    if location is None:      msg_content = r"緯度->" + x.__str__() + " 經度->" + y.__str__()   #內容為詳細的地址    else:      msg_content = r"" + location  elif msg['Type'] == 'Sharing':   #如果消息為分享的音樂或者文章,詳細的內容為文章的標題或者是分享的名字    msg_content = msg['Text']    msg_share_url = msg['Url']    #記錄分享的url  face_bug = msg_content  #將信息存儲在字典中,每一個msg_id對應一條信息  time.sleep(2)  msg_information.update(    {      msg_id: {        "msg_from": msg_from,        "msg_time": msg_time,        "msg_time_rec": msg_time_rec,        "msg_type": msg["Type"],        "msg_content": msg_content,        "msg_share_url": msg_share_url,        "group_name":group_name      }    }  )  #自動刪除130秒之前的消息,避免數據量太大后引起內存不足  del_info = []  for k in msg_information:    m_time = msg_information[k]['msg_time'] #取得消息時間    if int(time.time()) - m_time > 130:      del_info.append(k)  if del_info:    for i in del_info:      msg_information.pop(i)#監聽是否有消息撤回@itchat.msg_register(NOTE,isFriendChat=True,isGroupChat=True,isMpChat=True)def information(msg):  #如果這里的msg['Content']中包含消息撤回和id,就執行下面的語句  if '撤回了一條消息' in msg['Content']:    old_msg_id = re.search("/<msgid/>(.*?)/<//msgid/>", msg['Content']).group(1) #在返回的content查找撤回的消息的id    old_msg = msg_information.get(old_msg_id)  #獲取到消息原文,類型:字典    print(old_msg)    if len(old_msg_id)<11: #如果發送的是表情包      itchat.send_file(face_bug,toUserName='filehelper')    else: #發送撤回的提示給文件助手      msg_body = old_msg['group_name'] + old_msg['msg_from'] +"/n" + old_msg['msg_time_rec'] /            + "撤回了:" + "/n" + r"" + old_msg['msg_content']      #如果是分享的文件被撤回了,那么就將分享的url加在msg_body中發送給文件助手      if old_msg['msg_type'] == "Sharing":        msg_body += "/n鏈接是:" + old_msg.get('msg_share_url')      #print(msg_body)      itchat.send_msg(msg_body, toUserName='filehelper')#將撤回消息發給文件助手      #有文件的話也要將文件發送回去      if old_msg["msg_type"] == "Picture" /          or old_msg["msg_type"] == "Recording" /          or old_msg["msg_type"] == "Video" /          or old_msg["msg_type"] == "Attachment":        file = '@fil@%s' % (old_msg['msg_content'])        itchat.send(msg=file, toUserName='filehelper')        os.remove(old_msg['msg_content'])      msg_information.pop(old_msg_id)# 刪除字典舊消息itchat.auto_login(hotReload=True,enableCmdQR=1)itchat.run()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av在线不卡| 亚洲美女又黄又爽在线观看| 欧美亚洲成人免费| 久久成人国产精品| 91精品国产91久久| 亚洲精品久久视频| 亚洲白虎美女被爆操| 日韩在线视频免费观看| 国产日本欧美一区二区三区在线| 伊人一区二区三区久久精品| 欧美大成色www永久网站婷| 91高清免费在线观看| 欧美日韩久久久久| www.99久久热国产日韩欧美.com| 亚洲美女av电影| 亚洲福利在线看| 一区二区三欧美| 欧美在线视频免费播放| 成人观看高清在线观看免费| 欧美视频二区36p| 中文字幕日韩欧美精品在线观看| 久久精品国产清自在天天线| 久久夜色精品国产亚洲aⅴ| 欧美激情视频网站| 日韩国产精品一区| 一个人看的www久久| 欧美日韩国产va另类| 久久亚洲私人国产精品va| 国产有码一区二区| 欧美成人精品h版在线观看| 欧美一性一乱一交一视频| 欧美日韩性视频在线| 国产999精品久久久影片官网| 国产午夜精品全部视频在线播放| 日韩视频免费观看| 日韩最新在线视频| 精品国偷自产在线视频99| 国产成人自拍视频在线观看| 国产精品久久久久影院日本| 欧美一级淫片aaaaaaa视频| 亚洲香蕉伊综合在人在线视看| 国产成人精品综合| 亚洲成人网在线观看| 国产精品视频网站| 清纯唯美日韩制服另类| 日韩中文字幕不卡视频| 91夜夜揉人人捏人人添红杏| 这里只有精品视频| 久久久精品999| 欧美大成色www永久网站婷| 在线观看国产精品日韩av| 欧美黑人xxxx| 欧美激情精品久久久久久蜜臀| 欧美电影免费在线观看| 欧美日韩国产一中文字不卡| 亚洲天堂av在线免费| 国产精品爽黄69| 中文字幕在线国产精品| 国产精品一区二区av影院萌芽| 九九视频直播综合网| 久久精品青青大伊人av| 亚洲精品免费一区二区三区| 久久免费国产视频| 亚洲999一在线观看www| 欧美在线不卡区| 亚洲精品国产精品久久清纯直播| 黄色一区二区在线观看| 国产亚洲人成a一在线v站| 久久久久国色av免费观看性色| 亚洲色图13p| 亚洲免费电影一区| 国内精品中文字幕| 欧美风情在线观看| 91在线观看免费观看| 97视频com| 日韩人在线观看| 国产亚洲人成a一在线v站| 成人性生交大片免费观看嘿嘿视频| 一区二区三区视频免费在线观看| 亚洲国产精品久久久久久| 日韩欧美大尺度| 亚洲精品影视在线观看| 亚洲激情在线观看视频免费| 中文字幕在线看视频国产欧美| 精品女同一区二区三区在线播放| 国产丝袜一区二区三区免费视频| 欧美小视频在线| 欧美理论电影网| 狠狠爱在线视频一区| 2019中文字幕在线| 91成人在线观看国产| 国产成人在线播放| 国内久久久精品| 91嫩草在线视频| 精品一区二区三区四区在线| 国产精品欧美激情在线播放| 美女啪啪无遮挡免费久久网站| 久久久精品一区二区三区| 日韩av免费看网站| 成人av电影天堂| 国产一区二区三区三区在线观看| 91久久中文字幕| 国产一区二区三区中文| 久久久久久久久国产精品| 国内精品美女av在线播放| 久久九九全国免费精品观看| 国产精品99蜜臀久久不卡二区| 日韩在线中文字| 亚洲最新av在线| 久久成人国产精品| 91色视频在线观看| 欧美日韩xxxxx| 欧美性xxxx极品hd欧美风情| 国产69精品久久久久99| 成人高清视频观看www| 亚洲影视九九影院在线观看| 国产亚洲欧美一区| 九九热这里只有在线精品视| 日韩精品视频中文在线观看| 亚洲欧美日韩国产精品| 亚洲精品中文字幕女同| 亚洲欧洲一区二区三区久久| 亚洲第一二三四五区| 久久精品在线视频| 中文字幕一区日韩电影| 欧美成人精品xxx| 亚洲天堂av综合网| 亚洲第一视频网站| 大桥未久av一区二区三区| 亚洲激情在线观看视频免费| 国产一区二区丝袜高跟鞋图片| 日韩一区二区三区国产| 91精品视频网站| 国内精品久久久久久| 中文字幕亚洲色图| 全亚洲最色的网站在线观看| 亚洲天堂网站在线观看视频| 欧美极品美女电影一区| 国产精品久久久久久久久久久不卡| 一本色道久久88精品综合| 欧美成人在线网站| 欧美日韩国产在线| 91精品久久久久久久久久久| 久久久久久欧美| 92国产精品久久久久首页| 日韩中文字幕网址| 久色乳综合思思在线视频| 亚洲国产成人精品久久久国产成人一区| 北条麻妃久久精品| 欧美激情乱人伦一区| 午夜精品久久久久久久久久久久| 国产精品高清网站| 亚洲国产一区二区三区在线观看| 九九热这里只有精品6| 欧美精品免费在线观看| 色一情一乱一区二区| 欧美精品videosex牲欧美| 欧美又大又粗又长| 91久久久久久久久久| 欧美影院成年免费版| 欧美野外wwwxxx| 亚洲欧美一区二区三区情侣bbw| 欧美午夜片在线免费观看| 国产69精品久久久久9|