业务范围
热点资讯
- 唯一华人评委太憋屈!章子怡遭咸猪手,贴面变真亲,本人脸色难看
- 融通四季添利LOF: 融通四季添利债券型证券投资基金(LOF)(C类份额)基金产品资料概要更新(2024年第2号)
- 外卖热销店铺竟和废品回收站开在一起!记者调查
- 700万网约车司机将失业!上海已率先行动,未来是无人驾驶的天下
- 手机不建议下载这6类软件,会造成卡顿,还会弹出很多烦人的广告
- 广厦官宣签下巴里-布朗 上赛季季后赛场均27分
- 让企业微信机器人(webhook)帮你干一部分活
- 张爱玲遗嘱:将270万遗产赠送朋友,为何不愿支援贫困的弟弟?
- 标普ETF: 华夏基金管理有限公司关于华夏标普500交易型开放式指数证券投资基金(QDII)二级市场交易价格溢价风险提示
- django-simpleui的菜单权限配置,实现无权限不显示菜单
让企业微信机器人(webhook)帮你干一部分活
- 发布日期:2024-10-14 11:35 点击次数:115
Webhook是一个API概念,webhoo是一种web回调或者http的push API.Webhook作为一个轻量的事件处理应用,正变得越来越有用。
一定要结合企业微信API文档:https://work.weixin.qq.com/api/doc/90000/90136/91770
核心:webhook唯一url+规定的参数
用途:公司内部自动推送新闻、通知、递交工作日志、定期收集系统日志等
在终端某个群组添加机器人之后,创建者可以在机器人详情页看的该机器人特有的webhookurl。开发者可以按以下说明a向这个地址发起HTTP POST 请求,即可实现给该群组发送消息。特别特别要注意:一定要保护好机器人的webhook地址,避免泄漏!不要分享到github、博客等可被公开查阅的地方,否则坏人就可以用你的机器人来发垃圾消息了。以下是用curl工具往群组推送文本消息的示例(注意要将url替换成你的机器人webhook地址,content必须是utf8编码):
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693axxx6-7aoc-4bc4-97a0-0ec2sifa5aaa' \-H 'Content-Type: application/json' \ -d ' { "msgtype": "text", "text": { "content": "hello world" } }'
消息类型支持:简单文本-text,富文本-markdown,文件-file,图片-image,图文-news,以及组合型的卡片类型template_card中的text_notcice和news_notice类。
使用python编写的框架结构如下:import requestsmywx_url="你的机器人webhook地址"headers = {"Content-Type": "application/json", "charset": "utf-8"}固定data={ "此处为消息内容,后期所有改动都在这里,根据不同的消息类型参考API文档进行编写消息"}respond=requests.post(url=mywx_url,headers=headers,json=data)if respond.json()["errmsg"]=="ok": print("消息发送成功")else: print(respond.text)简单文本类
data={ "msgtype":"text", "text":{ "content":"时间:"+datetime.datetime.now().strftime('%Y年%m月%d日 %H时%M分%S秒%p')+"\n机器人发来的第一条消息,请查收", "mentioned_list":["puzhenglin"],#用户ID提醒 "mentioned_mobile_list":["18827340310","@all"]#通过匹配手机号匹配 }}图片
markdown类
data2={ "msgtype":"markdown", "markdown":{ "content":"<font color='warning'>时间:</font>"+str(datetime.datetime.now().strftime('%Y年%m月%d日 %H:%M:%S %p')) + "\n" "# 爱的回应\n" ">\n" "<font color='info'>很想和你拥有一个很长很长的未来,很想陪你走完你的一生</font>\n "<font color='warning'>彼此温暖,互不辜负</font>\n" "@all", }}图片
file传输类
先上传到文件上传接口获取media_id才能发送
mywx_url_file="https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=167c4082-8510-4539-87a0-69aecb94f320&type=file" #机器人webhook文件上传接口file={ "file":open(r"E:\今日运维日报.pptx","rb")}media_id=requests.post(url=mywx_url_file,files=file).json()["media_id"]data6={ "msgtype":"file", "file":{ "media_id":media_id }}图片
news类
data3= { "msgtype": "news", "news": { "articles": [ { "title": "NBA今日新闻\n北京时间11月19日,勇士客场104-89大胜骑士,迎来两连胜", "descrption": "nba-news", "url": "https://nbachina.qq.com/article/index.htm?articleId=20211119006852&site=nbatop&column=", "picurl": "https://gimg2.baidu.com/image_search/src=http://n.sinaimg.cn/sinacn21/360/w680h480/20181112/39c7-hnstwwr2260914.jpg&refer=http://n.sinaimg.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639907146&t=444dce80221909b73e5d8e08f77d6997" } ] }}图片
template_card卡片类-text_notice
days = datetime.datetime(2022, 1, 31, 0, 0, 0) - datetime.datetime.now()#为了效果引用data4 = { "msgtype": "template_card", "template_card": { "card_type": "text_notice", "main_title": { "title": "2021倒计时", "desc": "好好珍惜跟她一起加油!" }, "emphasis_content": { "title": str(days.days) + "天" + str(days.seconds) + "秒", "desc":"2021倒计时" }, "sub_title_text": "每日一读", "horizontal_content_list": [ { "type": 1, "keyname": "全国热点新闻", "value": "阅读新闻", "url": "http://www.gov.cn/xinwen/yaowen.htm" }, { "type": 1, "keyname": "云南热点新闻", "value": "阅读新闻", "url": "http://www.yn.gov.cn/ywdt/ynyw/" } ], "jump_list": [ { "type": 1, "title": "疫情防控", "url": "https://user.guancha.cn/app/pneumonia" # "appid":"小程序id", } ], "card_action": { "type": 1, "url": "http://finance.yunnan.cn/video/003/009/022/00300902233_vw00000000000001_32bffe39.mp4", } }}图片
template_card卡片类-news_notice
data5 = { "msgtype": "template_card", "template_card": { "card_type": "news_notice", "main_title": { "title": "准点NBA-新闻推送", "desc": "每天准时推送最新勇士队新闻" }, "card_image": { "url": "https://gimg2.baidu.com/image_search/src=http://inews.gtimg.com/newsapp_match/0/11566271830/0.jpg&refer=http://inews.gtimg.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639889007&t=ff5f487bbde84d90d36764cca8871340", "aspect_ratio": 2.25 }, "horizontal_content_list": [ { "type": 1, "keyname": "今日比赛回顾", "value": "点击观看比赛回放", "url": "https://v.qq.com/x/cover/mzc00200qhithzs/h0041cgb9f9.html" }, { "type": 1, "keyname": "更多NBA赛事", "value": "点击观看直播", "url": "30.tv" } ], "jump_list":[ { "type": 1, "title": "IT资讯", "url": "http://www.cnit5.com/ }], "card_action": { "type": 1, "url": "https://www.bilibili.com/video/BV1644115717?t=3.9", } }}
图片
图片
图片
图片
如何让机器人每天定期往群里发最新的新闻、事件、文件?爬虫(最新数据)+webhook+crond
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。相关资讯