从零搭建微信机器人(三):定时触发任务
从零搭建微信机器人(一):注册企业微信创建应用
从零搭建微信机器人(二):发送文本消息
从零搭建微信机器人(三):定时触发任务
从零搭建微信机器人(四):封装消息发送接口
文章目录
- 1. 安装apscheduler
- 2. apscheduler使用简介
- 2.1 demo
- 2.2 代码说明
- 3. 定时发送消息
本项目的源码链接: hanfangyuan/wechat-robot,本文对应仓库tag为3.0
在上一篇 从零搭建微信机器人(二):发送文本消息中,我们已经知道了如何向微信发送文本消息,本篇博客将要介绍如何通过设置定时触发任务,自动向微信发送消息。
1. 安装apscheduler
apscheduler的全称是advanced python scheduler,使用pip命令直接安装
pip install apscheduler
2. apscheduler使用简介
2.1 demo
from apscheduler.schedulers.blocking import BlockingScheduler# 需要定时触发的任务函数,打印文本
def print_text(text1, text2):print(text1, text2)# 创建scheduler,timezone时区信息可以不设置,默认为系统时区
scheduler = BlockingScheduler(timezone="Asia/Shanghai")
# cron 触发器
# 每天七点半执行
scheduler.add_job(print_text, 'cron', ('cron:', 'good morning'), hour=7, minute=30)
# 整分钟时执行
scheduler.add_job(print_text, 'cron', ('cron:', 'hello world'), minute='*/1')
# interval 触发器
# 每隔一分钟执行一次,从程序开始运行时算起
scheduler.add_job(print_text, 'interval', ('interval:', 'hello world'), minutes=1)
# 开始scheduler start()后面如果还有代码不会被执行,程序在start被阻塞住
scheduler.start()'''
运行结果
cron: hello world
interval: hello world
cron: hello world
interval: hello world
cron: hello world
interval: hello world
...
'''
2.2 代码说明
scheduler.add_job(print_text, 'cron', ('cron:', 'good morning'), hour=7, minute=30)
该代码是添加要执行的任务,并且设置任务定时触发的方式,以及触发的时间。
参数说明:- print_text是函数名称,注意名称后面没有括号。
- 'cron’是触发器类型,该类型表示在具体时刻执行任务, hour=7, minute=30即表示在每天7:30分执行传入的函数。除了hour, minute字段还有month,day,second字段,字段也可以设置许多类型的值,如下图。还可以把’cron’换成’interval’改成另一种触发器
scheduler.add_job(print_text, 'interval', ('interval:', 'hello world'), minutes=1)
,该触发器表示间隔某一段时间周期性执行任务。
- (‘cron:’, ‘good morning’)是函数的参数,必须是元组的形式,即一个参数时也要写成(arg, )元组形式,传入的函数没有参数时省略该项。
- scheduler.start()程序在该处被阻塞,后面的代码不会被执行。
3. 定时发送消息
我们通过apscheduler把向微信发送消息的函数设置成定时触发的方式,当时间为整分钟时发送消息。代码如下:
import requests
import json
from apscheduler.schedulers.blocking import BlockingScheduler# 企业id、key
CORP_ID = 'xxx' # 更换为你的企业id
CORP_SECRET = 'xxx' # 更换为你的应用secret
AGENT_ID = 1000002 #更换为你的应用id,注意是数字类型,不是字符串# 获取token
def get_token():token_api = ('https://qyapi.weixin.qq.com/cgi-bin/gettoken?' +f'corpid={CORP_ID}&corpsecret={CORP_SECRET}' )response = requests.get(token_api)print(response.json())return response.json()['access_token']# 发送文本消息
def send_text_message(content, touser):data = json.dumps({"touser" : touser,"msgtype" : "text","agentid" : AGENT_ID,"text" : {"content" : content},"safe":0})send_api = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?' + f'access_token={get_token()}'res = requests.post(send_api, data=data).json()print(res)if __name__ == '__main__':scheduler = BlockingScheduler(timezone="Asia/Shanghai")# 整分钟时刻发送消息scheduler.add_job(send_text_message, 'cron', ('hello world', '@all'), minute="*/1")scheduler.start()
本篇文章主要介绍了python的apscheduler模块,使用该模块我们可以在某些时刻自动向微信推送消息,可以在微信上实现日程提醒等功能。为了使项目代码逻辑更清晰,下一篇将介绍对微信消息发送接口进行封装。
上一篇:从零搭建微信机器人(二):发送文本消息
下一篇:从零搭建微信机器人(四):封装消息发送接口
从零搭建微信机器人(三):定时触发任务相关推荐
- 从零搭建微信机器人(一):注册企业微信创建应用
从零搭建微信机器人(一):注册企业微信创建应用 从零搭建微信机器人(二):发送文本消息 从零搭建微信机器人(三):定时触发任务 从零搭建微信机器人(四):封装消息发送接口 文章目录 1. 简介 2. ...
- 利用itchat搭建微信机器人详解(附三个实用示例)
本文简介 好久没更新文章啦,因为最近在赶一本Py的入门书,碰巧今天把这篇文章赶出来了. 而很多加群的小朋友很多都是咨询如何搭建微信机器人的,所以就把这一章放出来了, 取需,三个实用示例:定时发信息,集 ...
- delphi 企业微信消息机器人_nodeJS实现企业微信机器人每天定时发消息实例 定时任务...
nodeJS实现企业微信机器人每天定时发消息实例 背景 由于企业微信办公需要,"每天定时推送某消息用来提醒群里面所有人或者部分人",于是决定用企业微信自带的机器人来实现此功能,来代 ...
- itchat python_itchat-python搭建微信机器人(附示例)
itchat是python开源第三方库,用于搭建微信机器人,几十行代码就能帮你实现自动的处理所有信息.比如,添加好友,搭建自动回复机器人,还原撤销信息,分析好友男女比例,地理分布情况,爬朋友圈做数据分 ...
- python微信定时发消息_Python开发企业微信机器人每天定时发消息实例
由于办公需要"每天定时推送某消息用来提醒群里面所有人",有同事提议用企业微信自带的机器人来实现此功能.我觉得企业微信的这个工具还不错,具体使用方法我来一一讲述. 企业微信API 企 ...
- python实现微信自动发信息_Python实现企业微信机器人每天定时发消息实例
1.背景 由于办公需要"每天定时推送某消息用来提醒群里面所有人",于是决定用企业微信自带的机器人来实现此功能.具体方法我来一一讲述. 2.企业微信API 3.想法 想到几种方式: ...
- python 每天发一次通知_Python开发企业微信机器人每天定时发消息实例
由于办公需要"每天定时推送某消息用来提醒群里面所有人",有同事提议用企业微信自带的机器人来实现此功能.我觉得企业微信的这个工具还不错,具体使用方法我来一一讲述. 企业微信API 企 ...
- 企业微信机器人脚本python_Python开发 之 企业微信机器人天天定时发消息实例
文章目录 一.背景 二.企业微信API 三.想法 四.效果 五.源代码 六.Github源码分享 七.具体步骤 7.一.建立一个群 7.二.建立好后,添加一个群机器人 7.三.给机器人起名字.添加头像 ...
- 企业微信加密消息体_企业微信机器人怎么发消息?企业微信机器人可以定时发消息吗?...
企业微信外部群自带群机器人功能,可以协助员工高效管理社群,帮助我们运营客户,那么企业微信机器人怎么用呢? 使用企业微信机器人,需要管理员先进入企业微信管理后台,在[客户联系]-[效率工具]-[自动回复 ...
- 可爱猫+python3+Flask+aiohttp简单搭建微信机器人
之前一直在研究QQ机器人,最近发现一个微信机器人框架,在办公中来增加工作效率. 一.需要环境: 可爱猫(http://www.keaimao.com/) python3.8+ flask.aiohtt ...
最新文章
- OpenNI框架介绍
- webvr动画函数requestAnimationFrame
- Hadoop集群扩容和缩容:添加白名单和黑名单
- Python Django 根路由命名空间URL解析方式代码示例
- GMGDC专訪戴亦斌:具体解释QAMAster全面測试服务6大功能
- 在 .NET 应用中使用 ANTLR
- 二叉树、树和有序树的区别
- 微信一键设置“姓氏头像”,学起来!
- 调查 10,500 名 Java 开发者发现,收费的 OracleJDK 仍是主流、IntelliJ IDEA 最受欢迎...
- 【FlexSim2019】自学笔记:一个实例看何为A连接?何为S连接?其意义的深入探讨
- 32岁了,我有机会转行做程序员吗?——Leo网上答疑(1)
- ai第二次热潮:思维的转变_基于属性的建议:科技创业公司如何使用AI来转变在线评论和建议
- dmz区域和虚拟服务器的区别,dmz主机 虚拟服务器
- Perl的一些初级练习题
- CVPR2019文章解读 Pyramid Feature Attention Network for Saliency detection 用于显著性检测的金字塔特征注意网络
- 腾讯物联网云平台 密钥 MQTT参数生成及密码加密算法实现
- D L N A介 绍
- Eureka在有虚拟网卡的情况下获取正确的IP
- 父activity启动子activity并传递数据
- 【支付架构】支付运营平台设计