def msg(): itchat.auto_login(True) # time.sleep(10) global wcr_rep_flag, wcr_rep_Content while True: wcr_rep_Content = itchat.get_msg() if wcr_rep_Content[0] != None: if not len(wcr_rep_Content[0]) == 0: wcr_rep_Content = wcr_rep_Content[0][0]['Content'] wcr_rep_flag = True time.sleep(.05)
def get_friends_info(): try: itchat.auto_login(hotReload=True) except: itchat.auto_login(hotReload=True, enableCmdQR=True) friends_info = itchat.get_friends() mps_info = itchat.get_mps() # 公众号信息 chartrooms_info = itchat.get_chatrooms() # 群信息 head_img_info = itchat.get_head_img() # 头像信息 msg_info = itchat.get_msg() contact_info = itchat.get_contact() for info in chartrooms_info: print(info) with open('test.jpg', 'wb') as img: img.write(head_img_info) img.flush() img.close() with open('wechat_info.txt', 'w', encoding='utf-8') as file: for friend in friends_info: file.write(str(friend)) file.write('\n\n\n')
def run(self): autoreply = False while True: try: # 获取信息 msgs = wc.get_msg() if msgs: # 按次序提取信息 for msg in msgs[0]: time.sleep(0.2) try: # 找到自己的发言,‘开始你的表演’,‘停止你的表演’ 作为开始和结束的指令 if msg['MsgType'] == 1: if msg['FromUserName'] == wc.originInstance.storageClass.userName: if '开始你的表演' in msg['Content']: autoreply = True logging.info('表演开始咯') wc.send_msg('表演开始', self.xb) if '停止你的表演' in msg['Content']: autoreply = False logging.info('表演谢幕了') wc.send_msg('表演谢幕', self.xb) elif '@@' not in msg['FromUserName'] and '@' in msg['FromUserName'] : # 获取不是小冰的信息 if autoreply: if msg['FromUserName'] != self.xb: # 添加到接收列表 self.mi.append(copy.deepcopy(msg)) # 小冰的信息 else: # 添加到回复列表 self.mo.append(copy.deepcopy(msg)) except IndexError: pass except: logging.warning('Getting module face a problem') pass
# coding=utf8 import itchat, time itchat.auto_login(True) SINCERE_WISH = u'祝%s新年快乐!' a = itchat.get_friends(update=True) itchat.get_chatrooms(update=True) itchat.get_contact(update=True) itchat.get_mps(update=True) itchat.get_msg() friendList = itchat.get_friends(update=True)[1:] for friend in friendList: # 如果是演示目的,把下面的方法改为print即可 # itchat.send(SINCERE_WISH % (friend['DisplayName'] # or friend['NickName']), friend['UserName']) print("%s , %s" % (friend['DisplayName'] or friend['NickName'], friend['UserName'])) # time.sleep(.5)
def simple_reply(msg): # 接收用户发送的消息 message = msg['Content'] print(message) # 判断发送内容格式是否合法并回复消息 '1#关键词' reply_message = '' #包含 # 号才回复消息: if '#' in message: #指令有误则提示出错 if not message.split('#')[0].isdigit() or message.split('#')[1] == '': reply_message = '[Moue]亲,当前发送指令有误,请检查后重新发送。' # 给用户发送确认消息 itchat.send(reply_message, msg['FromUserName']) #指令无误则开始后续工作 else: reply_message = '[Determined]亲,已收到你的查询请求,请稍候...' # 给用户发送确认消息 itchat.send(reply_message, msg['FromUserName']) # 切分群号与搜索关键词 number, keyword = message.split('#') if keyword != '': # with open('pid.txt') as f: # content = f.read() # pid = content.split('\n')[int(number)] # print(pid) # print('\n✈ %s 群的查询关键词:%s ' % (number,keyword)) #获取搜索结果的宝贝ID itemids, idnumber = search.search(keyword) # get username and pid username, pid = chatroom.get_chatroom_name(number) # print(username) # print(pid) if itemids == None: #搜索到的宝贝ID列表为空 reply_content = '[Whimper]抱歉,当前关键词查询结果为空,请尝试一下替换其他关键词,谢谢。' itchat.send(reply_content, msg['FromUserName']) else: #正常搜索到宝贝ID列表 if itemids: for k, itemid in enumerate(itemids): item_content = content.get_content(itemid, pid) #获取完整广告内容 applys.apply_rate(itemid) #自动申请定向计划 if item_content: try: # 发送主图 pic = content.get_image(itemid) itchat.send('@img@%s' % pic, username) itchat.get_msg() except Exception as e: print("flag_2") print(Exception, ":", e) time.sleep(5) try: # 发送广告文案 itchat.send(item_content, username) itchat.get_msg() except Exception as e: print("flag_3") print(Exception, ":", e) time.sleep(5) # 删除已下载的图片 os.remove(pic) print('✔ 亲,已成功发送了 %d 条宝贝信息' % (k + 1)) else: # continue # content is None,need to fix error_message = '小贝出了点小问题,请电话联系管理员,马上为您修复。' itchat.send(error_message, msg['FromUserName']) sys.exit() else: print("flag_4") print('\n') global i i = i + 1 print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) print('\n█▇▆▅▄▃▂ From', number, '群, Keyword:', keyword, 'Totle times: ', i, ' 次查询请求。 ▂▃▄▅▆▇█\n') # 给用户发送成功消息 success_message = '[Joyful]宝贝信息已发送到您的群,请查看。' itchat.send(success_message, msg['FromUserName'])
import itchat itchat.auto_login() # 获取自己的用户信息,返回自己的属性字典 print(itchat.search_friends()) # 获取任何一项等于name键值的用户 req = itchat.search_friends(name='梅林花开') print(req) print(req[0]['User']['UserName']) print(itchat.get_msg()) # itchat.send('Hello, filehelper', toUserName='******')
import itchat import cv2 itchat.auto_login(hotReload = True) cv2.namedWindow("preview") while(True): raw_msg = itchat.get_msg() if(not (raw_msg == (None, None) or raw_msg == ([], []))): if(not raw_msg[0][0].get('FromUserName') == raw_msg[0][0].get('ToUserName')): print(raw_msg) ''' try: msg_content = raw_msg[0][0].get('Content') msg_tousername = raw_msg[0][0].get('FromUserName') if(not msg_content == ""): print(msg_tousername) print() print(msg_content) except: print("looool") ''' key = cv2.waitKey(20) if key == 27: break cv2.destroyWindow("preview")