日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python防止撤銷腳本

系統 1757 0
原文鏈接: https://blog.csdn.net/vcx08/article/details/80233092

pip install itchat
pip install apscheduler
python3 reword.py

            
                          'msg_create_time':msg_time,
            'msg_type':msg_type,
            'msg_content':msg_content
        }
    })
    print("msg_from:%s, msg_time:%s, msg_content:%s"%(msg_from,msg_time,msg_content))


@itchat.msg_register([TEXT, PICTURE, MAP, CARD, SHARING, RECORDING, ATTACHMENT, VIDEO],isGroupChat=True)
def handler_receive_msg(msg):
    msg_id = msg['MsgId']
    # 獲取的是本地時間戳并格式化本地時間戳 e: 2019-02-16 13:43:20
    msg_time_rec = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    # 消息ID
    msg_id = msg['MsgId']
    # 消息時間
    msg_time = msg['CreateTime']
    #消息類型
    msg_type = msg['Type']
    # 消息發送人昵稱 | 這里也可以使用RemarkName備注 但是自己或者沒有備注的人為None
    msg_from = (msg['User']['NickName']+"-->"+msg['ActualNickName'])
    # 消息內
    msg_content = None
    # 分享的鏈接
    msg_share_url = None
    if msg['Type'] == 'Text'\
            or msg['Type'] == 'Friends':
        msg_content = msg['Text']
    elif msg['Type'] == 'Recording' \
            or msg['Type'] == 'Attachment' \
            or msg['Type'] == 'Video' \
            or msg['Type'] == 'Picture':
        msg_content = r"" + msg['FileName']
        # 保存文件
        msg['Text'](rev_tmp_dir + msg['FileName'])
    rev_msg_dict.update({
        msg_id:{
            'msg_from_user':msg_from,
            'msg_time_rec':msg_time_rec,
            'msg_create_time':msg_time,
            'msg_type':msg_type,
            'msg_content':msg_content
        }
    })
    print("msg_from:%s, msg_time:%s, msg_content:%s"%(msg_from,msg_time,msg_content))

@itchat.msg_register([NOTE], isFriendChat=True, isGroupChat=True)
def revoke_msg(msg):
    if re.search(r"\<\!\[CDATA\[.*撤回了一條消息\]\]\>", msg['Content']) is not None:
        # 獲取消息的id
        print('somebody release word')
        old_msg_id = re.search("\
              
                (.*?)\<\/msgid\>", msg['Content']).group(1)
        old_msg = rev_msg_dict.get(old_msg_id, {})
        # 先發送一條文字信息
        itchat.send_msg(str(old_msg.get('msg_from_user') + "撤回了一條信息:"
                            + old_msg.get('msg_content')), toUserName="filehelper")
        # 判斷文msg_content是否存在,不存在說明可能是
        if os.path.exists(os.path.join(rev_tmp_dir, old_msg.get('msg_content'))):
            if old_msg.get('msg_type') == 'Picture':
                itchat.send_image(os.path.join(rev_tmp_dir, old_msg.get('msg_content')),
                                  toUserName="filehelper")
            elif old_msg.get('msg_type') == 'Video':
                itchat.send_video(os.path.join(rev_tmp_dir, old_msg.get('msg_content')),
                                  toUserName="filehelper")
            elif old_msg.get('msg_type') == 'Attachment' \
                    or old_msg.get('msg_type') == 'Recording':
                itchat.send_file(os.path.join(rev_tmp_dir, old_msg.get('msg_content')),
                                 toUserName="filehelper")

def clear_cache():
    # 當前時間
    cur_time = time.time()
    # 遍歷字典,如果有創建時間超過2分鐘(120s)的記錄,刪除,非文本的話,連文件也刪除
    for key in list(rev_msg_dict.keys()):
        if int(cur_time) - int(rev_msg_dict.get(key).get('msg_create_time')) > 120:
            rev_msg_dict.pop(key)

# 開始輪詢任務
def start_schedule():
    sched.add_job(clear_cache, 'interval', minutes=2)
    sched.start()

if __name__ == '__main__':
    sched = BlockingScheduler()
    #itchat.auto_login(hotReload=True,enableCmdQR=2
    itchat.auto_login(hotReload=True,enableCmdQR=2)
    itchat.run()
    start_schedule()

              
            
          

注意用python3
如果需要解析更多的內容,可以直接打印msg,自己去解析


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 渝北区| 阿鲁科尔沁旗| 德钦县| 安福县| 无极县| 佛冈县| 河西区| 姚安县| 筠连县| 肇庆市| 大丰市| 封开县| 西林县| 保亭| 西乌| 湄潭县| 安阳县| 吉隆县| 镇江市| 雷波县| 旺苍县| 灌阳县| 南宁市| 南安市| 绵竹市| 涡阳县| 托克逊县| 长子县| 益阳市| 大港区| 凤台县| 琼海市| 定日县| 徐水县| 赤峰市| 虹口区| 营口市| 灵寿县| 清远市| 长子县| 南岸区|