@
時,圖靈機器人自動回覆pip3 intall itchat
#!/usr/bin/env python3 import time import itchat import requests import json from itchat.content import * blessing = ['祝願', '福', '快樂', '新年', '過年', '吉祥', '大吉', 'new year'] # 收到的祝福關鍵詞 send_me_friends = {} # 不發送的好友微信名 set_time = '2019-02-01 00:00:00' # 設置羣發時間 you_blessing = '祝願您在新的一年裏,全部的但願都能如願,全部的夢想都能實現,全部的等候都能出現,全部的付出都能兌現。' # 你本身定義的新年祝福 blacklist_dict = {} send_status = 0 @itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING]) def text_reply(msg): global send_status if not send_status: if get_sys_time() >= set_stamp(): send_status = 1 send_msg(msg) # 當消息不是由本身發出的時候 if not msg['FromUserName'] == myUserName: # 發送一條提示給文件助手 itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])), msg['User']['NickName'], msg['Text']), 'filehelper') for i in blessing: if i in msg['Text']: # 先給本身發的就加入列表,以後計時發送的時候就跳過這些用戶 send_me_friends[msg['User']['NickName']] = msg['User']['RemarkName'] return u'[主人比較懶,早早的去擼代碼(shuijiao)去了]機器人助理帶主人對您說:{}'.format(you_blessing) elif check_msg(msg): return else: continue return u'[Medivh的機器人助理]說:{}'.format(tuling(msg['Text'])) @itchat.msg_register(TEXT, isGroupChat=True) def group_reply(msg): # 只有羣裏@本身的時候回覆,其餘忽視,包括@all if msg['IsAt']: itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])), msg['User']['NickName'], msg['Text']), 'filehelper') return u'[Medivh的機器人助理]說:{}'.format(tuling(msg['Text'])) def send_msg(msg): # 若是都到你設置的時間了,仍是沒有人給你祝福,我看仍是洗洗睡吧 friends = itchat.get_friends(update=True) for name in friends[1:]: if check_msg(msg): return if name.NickName not in send_me_friends: print('正在給{}發消息~'.format(name.NickName)) itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])), 'name.NickName', # msg['Text']), 'filehelper') return u'{}'.format(you_blessing) else: pass return def tuling(info): appkey = "e5ccc9c7c8834ec3b08940e290ff1559" url = "http://www.tuling123.com/openapi/api?key=%s&info=%s" % (appkey, info) req = requests.get(url) content = req.text data = json.loads(content) answer = data['text'] return answer def get_sys_time(): sys_time = time.time() return sys_time def set_stamp(): # 將其轉換爲時間數組 time_array = time.strptime(set_time, '%Y-%m-%d %H:%M:%S') # 轉換爲時間戳 time_stamp = int(time.mktime(time_array)) return time_stamp def check_msg(msg): if msg['Text'] == '消息已發出,但被對方拒收了。': blacklist_dict[msg['User']['NickName']] = msg['User']['RemarkName'] return True else: return False if __name__ == '__main__': itchat.auto_login(hotReload=True) # 獲取本身的UserName myUserName = itchat.get_friends(update=True)[0]["UserName"] itchat.run() print('今年主動給你發送半年消息的有{}我的,名單以下:\n {}'.format(len(send_me_friends) , send_me_friends)) print('今年被拉黑了{}次,名單以下:\n {}'.format(len(blacklist_dict), blacklist_dict))