from wxpy import *
import time
import json
import requests
def build_text(unrename,text):
"""
生产定时发送文本
:return:
"""
namelist = ""
for new_name in unrename:
name_text = "@" + new_name
namelist = name_text + namelist
reply_text=namelist+"\n"+text
#print(namelist)
return reply_text
def wx_reply(reply_string):
"""
微信群定时发送消息
:param reply_string:
:return:
"""
#登录微信
print('小新上线')
bot = Bot(cache_path=True)
# str=input("请输入管理群昵称:")
# bot.groups().search() 返回的是群列表
group = bot.groups().search("天学网AI工程师预备营1")
# print(group)
# 在刚刚找到的第一个群中搜索
found = group[0]
#print (found)
# 初始化未重命名人员列表
unrename = []
sum_num = len(found)
#print("群现有人数%d " % (sum_num))
# 注意方法后边不需要加()
owner = found.owner
# print(found.owner())
print("群成员列表-- 群管理员:%s"% owner.name)
print("-" * 50)
for member in found:
print(member)
# unrename.append(member.display_name)
if member.display_name == "" and member != owner:
unrename.append(member.name)
unrename_num = len(unrename)
print("-" * 50)
print("群现有人数:%d ,未修改群昵称人数:%d " % (sum_num, unrename_num))
print("未修改群昵称列表:",unrename)
#return unrename
reply_text=build_text(unrename,reply_string)
#发送群消息
#print (reply_text)
found.send_msg(reply_text)
def day_time(input_time,reply_str):
"""
实现每天定时执行任务功能,
:return:
"""
#设定定时时间
#input_time=input("请输入你要设定的每天定时执行任务时间,格式:20:21:23:")
#设定定时发送的文本
#reply_str=input("请输入固定回复信息:")
while True:
# 获取当前时间戳
ticks = time.time()
# 获取当前时间,返回元组
localtime_now = time.localtime(ticks)
# print ("当前时间:",localtime_now)
# 获取格式化的时间
time_asc = time.asctime(localtime_now)
while time_asc[11:19]==input_time:
# 调用要执行的任务
# print ("执行定时任务")
wx_reply(reply_str)
#延时作用:time_asc[11:19]获取时间为 时:分:秒,如果不添加延时,程序会在计时的一秒内重复执行多次
time.sleep(61.)
#将计时器列表置空
time_asc=[]
def set_time_text():
"""
设定每天定时时间,固定回复文本
:return:
"""
# 设定定时时间
x=input("默认定时时间为:10:00:00,是否需要修改输入:(y/n) ")
if x is "y":
input_time = input("请输入你要设定的每天定时执行任务时间,格式:01:01:00 ")
#判断格式是否正确
else:
input_time="10:00:00"
# 设定定时发送的文本
reply_str = "欢迎加入天学网AI工程师预备营 学习群,入群有两件小事要完成哦~\n" \
"1、请先把您的群昵称修改为 “学校+昵称+专业”(学生格式)或者“地区+昵称+岗位”(在职格式)\n" \
"2、做一个简单的自我介绍,让大家认识你吧!\n" \
"欢迎一起来学习,跟着天学网AI学院成长。"
print ("默认回复文本/n","-"*50)
print (reply_str)
print ("-"*50)
t= input("是否需要修改回复信息:(y/n) ")
if t is "y":
reply_str = input("请输入固定回复信息: ")
return input_time,reply_str
if __name__=="__main__":
#设定文本,时间
my_time,my_text=set_time_text()
#print (my_time,my_text)
day_time(my_time,my_text)