阅读助手

  • 项目背景
  • 成果展示
  • 项目拆解
    • 1.添加机器人
    • 2.机器人代码
    • 3.设定时任务

作者介绍:目前就职于电商数据分析师,日常工作以爬虫和DBA数据库管理为主,业务场景模型搭建为辅!自16年至今一直从事数据相关工作,从最初的表哥到现在的大数据、数据挖掘、机器学习,一直不断成长!日常活跃于CSDN

Solgan: 科技成就商业未来,数据看透问题本质
CSDN:https://blog.csdn.net/qq_35866846
微信公众号:诡途

项目背景

最近需要给同事发一份excel表,由别人提供放在共享盘,由于同事在乙方办公原因,外网进不了内网共享盘,需要每天更新了发送一次。不得不说,懒是第一生产力,天天做这么机械的操作就是对代码的一种侮辱,所以一气之下研究起来企业微信里的机器人了!

成果展示

如图所示,完美执行,加个定时任务就可以每天定时发送了

项目拆解

1.添加机器人

这里注意,测试时候发现

  • 只有内部群才可以添加机器人,外部群无法添加

  • 可以添加多个机器人,

  • 也可以把一个机器人添加到多个群,该机器人发送的消息,每个群都可以收到

2.机器人代码

官方API地址参考

唯一不爽的是官方案例是curl工具写的,而我是写python的
不过代码这东西,原理基本上差不多(装一下),不过这个相似性还是存在的,这个简单的几句自己对着还是可以实现的

直接上代码,解释写在代码块的注释里

import requests, json
import datetime
import time
wx_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=【你自己的机器人Key】"
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 + secdef 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 True:# 获取当前时间和当前时分秒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")# 文件推送测试
def wx_post(file):# 上传文件接口地址id_url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=【你自己的机器人Key】&type=file'  # open读取文件,获取上穿json    data = {'file': open(file, 'rb')}  # post jason# post 请求上传文件response = requests.post(url=id_url, files=data)  json_res = response.json()  # 返回转为jsonmedia_id = json_res['media_id']  # 提取返回IDwx_url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=【你自己的机器人Key】'  # 发送消息接口地址data = {"msgtype": "file", "file": {"media_id": media_id}}  # post jsonr = requests.post(url=wx_url, json=data)  # post请求消息return r  # 返回请求状态
# 本地文件测试
wx_post("test.xlsx")# 测试共享文件
sharePath = '\\\\内网IP地址\\xxx\\核对清单2021.03.05.xlsx'
wx_post(sharePath)

3.设定时任务

设置定时任务,每天执行即可

科技成就商业未来,数据看透问题本质!
我是诡途,感谢阅读,欢迎转发分享点赞!
文章仅供学习交流,转载请注明来源!

一气之下开发了个群聊机器人相关推荐

  1. 使用itchat开发某信群聊机器人-功能一瞥

    功能一瞥 命令菜单 支持名人名言,宋代诗词,成语故事,成语检索,经典笑话,天气查询,看图猜成语比赛,猜谜语比赛,与机器人尬聊等功能. 名言与笑话 宋代诗词 天气预报(精确到市区,高德地图api) 猜谜 ...

  2. 记一次钉钉群聊机器人的开发

    文章目录 一.需求描述 二.开发思路 三.开发步骤 (一)阅读开发文档 (二)创建机器人 (三)了解消息格式 (四)传参并调用 (五)其他 四.总结 一.需求描述 为实现更好的沟通,现需要实现以自定义 ...

  3. 使用java做一个能赚钱的微信群聊机器人(2020年基于PC端协议最新可用版)

    前言 微信群机器人,主要用来管理群聊,提供类似天气查询.点歌.机器人聊天等用途.由于微信将web端的协议封杀后,很多基于http协议的群聊机器人都失效了,所以这里使用基于PC端协议的插件来实现. 声明 ...

  4. 用java做一个能赚钱的微信群聊机器人(PC协议)

    前言 微信群机器人,主要用来管理群聊,提供类似天气查询.点歌.机器人聊天等用途.由于微信将web端的协议封杀后,很多基于http协议的群聊机器人都失效了,所以这里使用基于PC端协议的插件来实现. 声明 ...

  5. 【微信机器人】可做自动回复,自动接收转账,群聊机器人。

    前言: 目前市面上的微信机器人项目少之又少,并且大多数的不可用.比如用抓取网页微信接口,但大多数人的账号没有使用网页微信的权限.又或者价格昂贵,如使用微信pad协议.于是便开发一个通过Hook微信的D ...

  6. qq群聊机器人接入ChatGPT-简介和源码

    qq群聊机器人接入ChatGPT 最近 ChatGPT 很火,也注册了账号玩了玩,确实灰常强大.但是也有的小伙伴可能没办法注册账号,我就想着把qq群机器人接入ChatGPT. 过程还是比较简单顺利的. ...

  7. Zabbix配置企业微信群聊机器人告警

    转载来源 : Zabbix配置企业微信群聊机器人告警 : https://www.jianshu.com/p/b5b1f92b1f15 最近在给内部使用的zabbix配置告警发送,要求是使用企业微信群 ...

  8. 基于Java实现企业微信群聊机器人-文件上传+消息推送(保证可用)

    基于Java实现企业微信群聊机器人-文件上传+消息推送 1.pom.xml(注意版本尽量保持一致) 2.文件工具类 3.企业微信请求类 4.企业微信响应类 5.发送方法 6.企业微信机器人创建和配置 ...

  9. delphi 企业微信消息机器人_企业微信—群聊机器人

    在企业微信群聊机器人接口对接天气API使用过程中,遇到 过一个问题,就是对于嵌套json数据如何进行嵌套的| 一:"msgtype": "text", curl ...

最新文章

  1. PS2019历史记录画笔工具、历史记录艺术画笔工具
  2. STL中的双向队列deque
  3. 斜率小于0的连线数量 51Nod - 1107 (树状数组+离散化)
  4. Python回调函数
  5. 在navicat中新建数据库
  6. 计算机逻辑判断函数函数知识点,计算机考点条件检测函数IF
  7. 预警系统一键自动升级_东风风行新风行T5购车手册,首推1.5T自动尊贵型
  8. Tuxedo FAQs 整理
  9. 递推算法题:令人费解的开关『拉灯』
  10. 贺利坚老师汇编课程47笔记:jmp指令无条件转移只修改IP
  11. java获取时分秒毫秒_JAVA中如何获取毫秒和微秒数
  12. OSChina 周五乱弹 —— 我FFFF……佛慈悲
  13. MySQL使用JDBC高级操作和事务
  14. iOS关于加载图片的几种方式选择
  15. 考初级计算机证需要考什么,计算机初级证书要考哪些内容
  16. 多测师肖sir_高级金牌讲师_面试题
  17. 股票配对交易策略-最小距离法
  18. ColMap环境配置
  19. sed删除代码空行和删去行尾空白
  20. 控制QTextEdit中字体颜色

热门文章

  1. 五一回家的票买没?来看看“12306” 是如何支撑百万 QPS 的?
  2. 业余无线电通信_其它业余无线电通信方式应避免占用业余卫星频率
  3. python实现火车票查询_Python脚本实现12306火车票查询系统
  4. 初学CAD制图时,不同制图工具的技巧分析
  5. “DT时代”的十位创业“女侠”:黑科技不只是男人的玩物
  6. CPS-一种新型电商营销方式
  7. 【Unity】Unity Gizmos扩展(圆弧、扇形、圆形)
  8. 如何利用mysql编写表白_Mysql基础编写sql案例(一)
  9. UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\u0467‘ in position 0: illegal multibyte解决方案
  10. 作为一面面试官,如何考察候选人