如今微信已成为我们日常生活的主要交流工具,利用itchat库,我们可以发送微信消息,如果需要定时自动发送,则需要借助apscheduler库,关于apscheduler库,前一篇转载文章有专门的介绍。链接在此:https://www.cnblogs.com/lusen1987/p/9734545.html
通过itchar的auto_login方法,首次会弹出二维码,用手机扫描后会登录网页版微信,之后可以自动登录,登陆成功后,调用get_friends方法,可以获取好友列表,其中第一个为自己。获取到好友列表之后,我们就可以根据好友的昵称,通过定时任务,自动向指定好友发送消息,具体代码如下:
import itchat
import json
from apscheduler.schedulers.blocking import BlockingScheduler
def auto_send(msg, toUser):
itchat.send(msg=msg, toUserName=toUser)
if __name__ == "__main__":
# itchat.login()
itchat.auto_login(hotReload=True)
#获取好友列表
friends = itchat.get_friends()
#转换为字典
friendsStr = json.dumps(friends)
print(friendsStr)
#发送消息
# itchat.send(msg="你好", toUserName="8a30fa2addcac31cfe916506d80b2254")
try:
for item in friends:
if(item["NickName"] == "安静"):
toUser = item["UserName"]
scheduler = BlockingScheduler()
scheduler.add_job(auto_send, "cron", day_of_week="0-6", hour=15, minute=17, args=["你好", toUser])
scheduler.start()
itchat.run()
except Exception as ex:
itchat.logout()
print(ex)