Python微信操控itchat定时发送消息

前言

itchat是一个开源的个人微信接口,利用itchat可以实现例如微信自动回复,定时发送信息。详细可查看itchat项目文档,这里我只介绍一些简单的操作,并用10行代码完成定时发送消息。

安装
pip install itchat
登入登出

登入并打印登入信息

import itchat
#hotReload退出程序后暂存登陆状态
itchat.auto_login(hotReload=True)
#toUserName是发送对象,fifehelper是文件助手
itchat.send("登入itchat!",toUserName="filehelper")

登出

itchat.logout()
登入登出回调
import itchat

def login():
    print('微信登入')
def out():
    print('微信登出')
#登入登出
itchat.auto_login(hotReload=True,loginCallback=login, exitCallback=out)
利用apscheduler

这里我们可以用APScheduler,相关用法可以参考APScheduler官方文档翻译
首先安装

pip install apscheduler

我们只需要读懂这个程序就可以了,掌握的“cron”就基本可以了。

from apscheduler.schedulers.blocking import BlockingScheduler

def job_function():
    print "Hello World"

sched = BlockingScheduler()

# 任务会在6月、7月、8月、11月和12月的第三个周五,00:00、01:00、02:00和03:00触发
sched.add_job(job_function, 'cron', month='6-8,11-12', day='3rd fri', hour='0-3')

sched.start()

那接下来我们就来设置每天中午12点给自己发送午安信息。

# 任务会在每天中午12:00触发
sched.add_job(job_function, 'cron', hour=12)
10行代码搞定定时发送消息
import itchat
from apscheduler.schedulers.blocking import BlockingScheduler

def job_function():
    #发送"午安"给文件助手
    itchat.send("午安", toUserName="filehelper")
    
sched = BlockingScheduler()

# 任务会在每天中午12:00触发
sched.add_job(job_function,'cron',hour=12)

if __name__ == '__main__':
    itchat.login()
    sched.start()
    itchat.run()

评论有大佬说,itchat不能用,我也不清楚原因,可能大概是我之前有用过,我的确也不知道原因,因为测试的时候一直是用直接的微信号,能够成功登录,所以文章有疏忽,大家可以用其他方法登录。
Python微信操控itchat定时发送消息_第1张图片

你可能感兴趣的:(python)