从零搭建微信机器人(一):注册企业微信创建应用
从零搭建微信机器人(二):发送文本消息
从零搭建微信机器人(三):定时触发任务
从零搭建微信机器人(四):封装消息发送接口

文章目录

  • 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 代码说明

  1. scheduler.add_job(print_text, 'cron', ('cron:', 'good morning'), hour=7, minute=30)
    该代码是添加要执行的任务,并且设置任务定时触发的方式,以及触发的时间。
    参数说明:

    1. print_text是函数名称,注意名称后面没有括号。
    2. '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),该触发器表示间隔某一段时间周期性执行任务。
    3. (‘cron:’, ‘good morning’)是函数的参数,必须是元组的形式,即一个参数时也要写成(arg, )元组形式,传入的函数没有参数时省略该项。
  2. 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. 从零搭建微信机器人(一):注册企业微信创建应用

    从零搭建微信机器人(一):注册企业微信创建应用 从零搭建微信机器人(二):发送文本消息 从零搭建微信机器人(三):定时触发任务 从零搭建微信机器人(四):封装消息发送接口 文章目录 1. 简介 2. ...

  2. 利用itchat搭建微信机器人详解(附三个实用示例)

    本文简介 好久没更新文章啦,因为最近在赶一本Py的入门书,碰巧今天把这篇文章赶出来了. 而很多加群的小朋友很多都是咨询如何搭建微信机器人的,所以就把这一章放出来了, 取需,三个实用示例:定时发信息,集 ...

  3. delphi 企业微信消息机器人_nodeJS实现企业微信机器人每天定时发消息实例 定时任务...

    nodeJS实现企业微信机器人每天定时发消息实例 背景 由于企业微信办公需要,"每天定时推送某消息用来提醒群里面所有人或者部分人",于是决定用企业微信自带的机器人来实现此功能,来代 ...

  4. itchat python_itchat-python搭建微信机器人(附示例)

    itchat是python开源第三方库,用于搭建微信机器人,几十行代码就能帮你实现自动的处理所有信息.比如,添加好友,搭建自动回复机器人,还原撤销信息,分析好友男女比例,地理分布情况,爬朋友圈做数据分 ...

  5. python微信定时发消息_Python开发企业微信机器人每天定时发消息实例

    由于办公需要"每天定时推送某消息用来提醒群里面所有人",有同事提议用企业微信自带的机器人来实现此功能.我觉得企业微信的这个工具还不错,具体使用方法我来一一讲述. 企业微信API 企 ...

  6. python实现微信自动发信息_Python实现企业微信机器人每天定时发消息实例

    1.背景 由于办公需要"每天定时推送某消息用来提醒群里面所有人",于是决定用企业微信自带的机器人来实现此功能.具体方法我来一一讲述. 2.企业微信API 3.想法 想到几种方式: ...

  7. python 每天发一次通知_Python开发企业微信机器人每天定时发消息实例

    由于办公需要"每天定时推送某消息用来提醒群里面所有人",有同事提议用企业微信自带的机器人来实现此功能.我觉得企业微信的这个工具还不错,具体使用方法我来一一讲述. 企业微信API 企 ...

  8. 企业微信机器人脚本python_Python开发 之 企业微信机器人天天定时发消息实例

    文章目录 一.背景 二.企业微信API 三.想法 四.效果 五.源代码 六.Github源码分享 七.具体步骤 7.一.建立一个群 7.二.建立好后,添加一个群机器人 7.三.给机器人起名字.添加头像 ...

  9. 企业微信加密消息体_企业微信机器人怎么发消息?企业微信机器人可以定时发消息吗?...

    企业微信外部群自带群机器人功能,可以协助员工高效管理社群,帮助我们运营客户,那么企业微信机器人怎么用呢? 使用企业微信机器人,需要管理员先进入企业微信管理后台,在[客户联系]-[效率工具]-[自动回复 ...

  10. 可爱猫+python3+Flask+aiohttp简单搭建微信机器人

    之前一直在研究QQ机器人,最近发现一个微信机器人框架,在办公中来增加工作效率. 一.需要环境: 可爱猫(http://www.keaimao.com/) python3.8+ flask.aiohtt ...

最新文章

  1. OpenNI框架介绍
  2. webvr动画函数requestAnimationFrame
  3. Hadoop集群扩容和缩容:添加白名单和黑名单
  4. Python Django 根路由命名空间URL解析方式代码示例
  5. GMGDC专訪戴亦斌:具体解释QAMAster全面測试服务6大功能
  6. 在 .NET 应用中使用 ANTLR
  7. 二叉树、树和有序树的区别
  8. 微信一键设置“姓氏头像”,学起来!
  9. 调查 10,500 名 Java 开发者发现,收费的 OracleJDK 仍是主流、IntelliJ IDEA 最受欢迎...
  10. 【FlexSim2019】自学笔记:一个实例看何为A连接?何为S连接?其意义的深入探讨
  11. 32岁了,我有机会转行做程序员吗?——Leo网上答疑(1)
  12. ai第二次热潮:思维的转变_基于属性的建议:科技创业公司如何使用AI来转变在线评论和建议
  13. dmz区域和虚拟服务器的区别,dmz主机 虚拟服务器
  14. Perl的一些初级练习题
  15. CVPR2019文章解读 Pyramid Feature Attention Network for Saliency detection 用于显著性检测的金字塔特征注意网络
  16. 腾讯物联网云平台 密钥 MQTT参数生成及密码加密算法实现
  17. D L N A介 绍
  18. Eureka在有虚拟网卡的情况下获取正确的IP
  19. 父activity启动子activity并传递数据
  20. 【支付架构】支付运营平台设计

热门文章

  1. 欧拉函数,欧拉公式,降幂公式
  2. office2019 图目录_赶快收藏!这款强大的PPT通路图插件ScienceSlides 2016来了!
  3. 一花一世界,在微服务中定义边界
  4. apn(Access Point Name, 接入点名称)简介
  5. 【PX4 飞控剖析】05 PIX4 连接QGC 可以烧录固件但是连接不上
  6. 【JZOJ B组】【NOI2002】贪吃的九头龙
  7. 缺失值填充的几种方法
  8. matlab求非线性方程的根,求非线性方程的根
  9. 【父亲节故事】32岁入门学习编程的父亲给我的启示
  10. SAP SD客户寄售案例教程1