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获取beautifulphoto随机某图片代码实例
Dec 18 Python
Python聚类算法之基本K均值实例详解
Nov 20 Python
Python制作简易注册登录系统
Dec 15 Python
python cs架构实现简单文件传输
Mar 20 Python
对Python实现简单的API接口实例讲解
Dec 10 Python
Pytorch 实现冻结指定卷积层的参数
Jan 06 Python
Django之全局使用request.user.username的实例详解
May 14 Python
python输出结果刷新及进度条的实现操作
Jul 13 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 Python
pycharm Tab键设置成4个空格的操作
Feb 26 Python
Python多个MP4合成视频的实现方法
Jul 16 Python
Python中基础数据类型 set集合知识点总结
Aug 02 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打开文件fopen函数的使用说明
2013/07/05 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
PHP单元测试框架PHPUnit用法详解
2019/01/23 PHP
PHP 实现缩略图
2021/03/09 PHP
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
vue以组件或者插件的形式实现throttle或者debounce
2019/05/22 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
Python设计模式之代理模式实例
2014/04/26 Python
Python实现周期性抓取网页内容的方法
2015/11/04 Python
Python random模块用法解析及简单示例
2017/12/18 Python
python抽取指定url页面的title方法
2018/05/11 Python
TensorFlow实现Logistic回归
2018/09/07 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
Python语言快速上手学习方法
2018/12/14 Python
python开启debug模式的方法
2019/06/27 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
物流管理专业毕业生求职信
2014/03/23 职场文书
小学生感恩演讲稿
2014/04/25 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
员工自我工作评价
2015/03/06 职场文书
python通过opencv调用摄像头操作实例分析
2021/06/07 Python