Python开发企业微信机器人每天定时发消息实例


Posted in Python onMarch 17, 2020

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

企业微信API

具体见官网说明:https://work.weixin.qq.com/help?person_id=1&doc_id=

企业微信机器人开发思路

想到几种方式:

直接写个sh脚本,并用linux定时器执行此脚本就可以了。这种方式简单实用,不过缺点就是修改起来稍微麻烦一点

写个Qt/VS客户端程序,做好页面和每天想推送的内容,还是有点麻烦

直接写个后台程序,指定时间推消息吧,稍微快些(用Python更快)

Python开发企业微信机器人每天定时发消息最终效果

Python开发企业微信机器人每天定时发消息实例

Python开发企业微信机器人每天定时发消息实例源代码

#! -*- coding: utf-8 -*-
"""
Author: ZhenYuSha
Create type_time: 2020-2-24
Info: 定期向企业微信推送消息
"""
import requests, json
import datetime
import time
wx_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=4baf3c3c-f3ea-4554-9a45-9fbbb2076269"  # 测试机器人1号
send_message = "测试:测试机器人1号………………………………!"
def get_current_time():
  """获取当前时间,当前时分秒"""
  now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  hour = datetime.datetime.now().strftime("%H")
  mm = datetime.datetime.now().strftime("%M")
  ss = datetime.datetime.now().strftime("%S")
  return now_time, hour, mm, ss
def sleep_time(hour, m, sec):
  """返回总共秒数"""
  return hour * 3600 + m * 60 + sec
def send_msg(content):
  """艾特全部,并发送指定信息"""
  data = json.dumps({"msgtype": "text", "text": {"content": content, "mentioned_list":["@all"]}})
  r = requests.post(wx_url, data, auth=('Content-Type', 'application/json'))
  print(r.json)
def every_time_send_msg(interval_h=0, interval_m=1, interval_s=0, special_h="00", special_m="00", mode="special"):
  """每天指定时间发送指定消息"""
  # 设置自动执行间隔时间
  second = sleep_time(interval_h, interval_m, interval_s)
  # 死循环
  while 1 == 1:
    # 获取当前时间和当前时分秒
    c_now, c_h, c_m, c_s = get_current_time()
    print("当前时间:", c_now, c_h, c_m, c_s)
    if mode == "special":
      if c_h == special_h and c_m == special_m:
        # 执行
        print("正在发送...")
        send_msg(send_message)
    else:
      send_msg(send_message)
    print("每隔" + str(interval_h) + "小时" + str(interval_m) + "分" + str(interval_s) + "秒执行一次")
    # 延时
    time.sleep(second)
if __name__ == '__main__':
  every_time_send_msg(mode="no")

企业微信机器人设置具体步骤

创建一个群

最好是一个人的群,方便测试

Python开发企业微信机器人每天定时发消息实例

创建好后,添加一个群机器人

Python开发企业微信机器人每天定时发消息实例

给机器人起名字、添加头像

Python开发企业微信机器人每天定时发消息实例

创建好后,复制Webhook地址后,点完成

Python开发企业微信机器人每天定时发消息实例

配置程序到supervisor中启动

具体ini配置:

[program:Demo_QY_WX]
directory = /root/software/python_Demo/Demo/Demo_QY_WX/
command= python3 -u Demo_QY_WX.py
autostart = true
autorestart=true
startsecs = 5
user =root
redirect_stderr = true
stdout_logfile = /data/logs/supervisord/Demo_QY_WX.log
[group:Demo]
programs=Demo_QY_WX ;server,progname2 each refers to 'x' in [program:x] definitions
priority=999         ; the relative start priority (default 999)

update一下OK

完成以上步骤后,你可以在企业微信上每天指定时间推送消息,也可以间隔时间推送消息咯。

本文主要讲解了使用企业微信API与Python开发企业微信机器人每天定时发消息实例,更多关于

Python 相关文章推荐
python 生成器生成杨辉三角的方法(必看)
Apr 10 Python
Python引用类型和值类型的区别与使用解析
Oct 17 Python
批量将ppt转换为pdf的Python代码 只要27行!
Feb 26 Python
Django开发中的日志输出的方法
Jul 02 Python
详解python 爬取12306验证码
May 10 Python
使用python serial 获取所有的串口名称的实例
Jul 02 Python
pandas.DataFrame的pivot()和unstack()实现行转列
Jul 06 Python
Python在cmd上打印彩色文字实现过程详解
Aug 07 Python
python-tornado的接口用swagger进行包装的实例
Aug 29 Python
Python socket模块方法实现详解
Nov 05 Python
Django 批量插入数据的实现方法
Jan 12 Python
AI:如何训练机器学习的模型
Apr 16 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
Mar 17 #Python
Python Selenium安装及环境配置的实现
Mar 17 #Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 #Python
使用Python+selenium实现第一个自动化测试脚本
Mar 17 #Python
python中的selenium安装的步骤(浏览器自动化测试框架)
Mar 17 #Python
利用python在excel中画图的实现方法
Mar 17 #Python
Python reversed函数及使用方法解析
Mar 17 #Python
You might like
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
PHP大文件切割上传并带进度条功能示例
2019/07/01 PHP
jquery动态添加option示例
2013/12/30 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
2015/06/09 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
python逐行读写txt文件的实例讲解
2018/04/03 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
flask框架中的cookie和session使用
2021/01/31 Python
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
旷课检讨书2000字
2014/01/14 职场文书
庆元旦文艺演出主持词
2014/03/27 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
员工安全生产承诺书
2014/05/22 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
赞美教师的句子
2019/09/02 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript