|
@@ -87,15 +87,55 @@ def fetch_and_save_contacts2(): |
|
|
time.sleep(3600*1) |
|
|
time.sleep(3600*1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def auto_contacts_from_chatroom_id(): |
|
|
|
|
|
print('自动从群添加好友') |
|
|
|
|
|
|
|
|
def auto_contacts_from_chatroom(): |
|
|
|
|
|
logger.info('自动从群添加好友') |
|
|
|
|
|
wxchat=gewe_chat.wxchat |
|
|
|
|
|
while True: |
|
|
|
|
|
|
|
|
|
|
|
login_keys = list(redis_helper.redis_helper.client.scan_iter(match='__AI_OPS_WX__:LOGININFO:*')) |
|
|
|
|
|
logger.info(f"Fetching login keys: {login_keys}") |
|
|
|
|
|
|
|
|
|
|
|
# 遍历每一个获取到的登录键 |
|
|
|
|
|
for k in login_keys: |
|
|
|
|
|
r= redis_helper.redis_helper.get_hash(k) |
|
|
|
|
|
# print(r) |
|
|
|
|
|
token_id = r.get('tokenId') |
|
|
|
|
|
app_id = r.get('appId') |
|
|
|
|
|
nickname=r.get('nickName') |
|
|
|
|
|
wxid = r.get('wxid') |
|
|
|
|
|
status=r.get('status') |
|
|
|
|
|
if status=='1': |
|
|
|
|
|
c = wxchat.get_wxchat_config_from_cache(app_id) |
|
|
|
|
|
contacts = wxchat.get_contacts_brief_from_cache(wxid) |
|
|
|
|
|
contact_wxids = [c.get('userName') for c in contacts] |
|
|
|
|
|
|
|
|
|
|
|
chatrooms = c.get('addContactsFromChatroomIdWhiteList',[]) |
|
|
|
|
|
for chatroom_id in chatrooms: |
|
|
|
|
|
chatroom = wxchat.get_group_info_from_cache(wxid,chatroom_id) |
|
|
|
|
|
chatroom_nickname=chatroom.get('nickName') |
|
|
|
|
|
|
|
|
|
|
|
chatroot_member_list=chatroom.get('memberList',[]) |
|
|
|
|
|
contact_set = set(contact_wxids) |
|
|
|
|
|
remaining_chatroot_members = [x for x in chatroot_member_list if x.get('wxid') not in contact_set] |
|
|
|
|
|
for m in remaining_chatroot_members: |
|
|
|
|
|
ret,msg,data=wxchat.add_group_member_as_friend(token_id,app_id,chatroom_id,m.get('wxid'),f'您好,我是来自{chatroom_nickname}群的{nickname}') |
|
|
|
|
|
logger.info(f'{nickname} 向 {chatroom_nickname}群的{m.get('nickname')}发送好友邀请 {msg}') |
|
|
|
|
|
time.sleep(3) |
|
|
|
|
|
time.sleep(3) |
|
|
|
|
|
else: |
|
|
|
|
|
logger.info(f'微信ID {wxid} 未登录 {app_id} ,群成员不能定时定时') |
|
|
|
|
|
|
|
|
|
|
|
time.sleep(3) |
|
|
|
|
|
|
|
|
|
|
|
#time.sleep(60*10) |
|
|
|
|
|
time.sleep(3600*24) |
|
|
|
|
|
|
|
|
def start_wxchat_thread(): |
|
|
def start_wxchat_thread(): |
|
|
# gewe_chat.start() |
|
|
# gewe_chat.start() |
|
|
scan_wx_login_info() |
|
|
scan_wx_login_info() |
|
|
# 启动同步联系人线程 |
|
|
# 启动同步联系人线程 |
|
|
threading.Thread(target=fetch_and_save_contacts2).start() |
|
|
threading.Thread(target=fetch_and_save_contacts2).start() |
|
|
|
|
|
|
|
|
|
|
|
#threading.Thread(target=auto_contacts_from_chatroom).start() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|