开通与使用钉钉群机器人、企业微信等消息推送 [附API代码]

目录

开通方式

参考代码

使用示范

其他的

企业微信

TG

Plusplus

Server

Server酱


开通方式

免费,有群就能开,任何用户都可开

官方文档:自定义机器人接入 - 钉钉开放平台

注意事项:用电脑版钉钉来开通,手机上的不行。

参考代码

import time
import hmac
import hashlib
import base64
import urllib.parse
import io
from pyzbar import pyzbar
from PIL import Image
import requests, json  # 导入依赖库def decode_img(data):img_b64decode = base64.b64decode(data[data.index(';base64,')+8:])decoded = pyzbar.decode(Image.open(io.BytesIO(img_b64decode)))return decoded[0].data.decode("utf-8")class DingDingHandler:def __init__(self, token, secret):self.token = tokenself.secret = secretdef get_url(self):timestamp = round(time.time() * 1000)secret_enc = self.secret.encode("utf-8")string_to_sign = "{}\n{}".format(timestamp, self.secret)string_to_sign_enc = string_to_sign.encode("utf-8")hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))# 完整的urlapi_url = "https://oapi.dingtalk.com/robot/send?access_token={}&timestamp={}&sign={}".format(self.token, timestamp, sign)print("钉钉机器人url: ", api_url)return api_urldef ddimgsend(self, img_data, retry=0):# data:image/png;base64,iVBORw0KGgoA...self.ddlinksend(img_data, title=f"学习吧{'-重试:'+str(retry) if retry>0 else ''}")self.ddtextsend(decode_img(img_data))def ddlinksend(self, link, text='学习', title='学习吧'):headers = {"Content-Type": "application/json"}  # 定义数据类型data = {"msgtype": "link","link": {"text": text,"title": title,  #f"学习吧{'-重试:' + str(retry) if retry > 0 else ''}","messageUrl": link,},}res = requests.post(self.get_url(), data=json.dumps(data), headers=headers)  # 发送post请求print(res.text)def ddtextsend(self, text):data={}headers = {"Content-Type": "application/json"}  # 定义数据类型if text.startswith('dtxuexi://appclient/'):data = {"msgtype": "link","link": {"text": "请点击重新登录","title": "登录失效","messageUrl": text,},}else:data = {"msgtype": "text","text": {"content": text,},}res = requests.post(self.get_url(), data=json.dumps(data), headers=headers)  # 发送post请求print(res.text)

使用示范

accesstoken = 'xxx'
secret = 'xxx'
msg = 'xxxx'push = DingDingHandler(accesstoken, secret)
push.ddtextsend(msg)

其他的

企业微信

# 企业微信推送
def wxpush(msg, usr, corpid, corpsecret, agentid=1000002):base_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'req_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='corpid = corpidcorpsecret = corpsecretagentid = agentidif agentid == 0:agentid = 1000002#获取access_token,每次的access_token都不一样,所以需要运行一次请求一次def get_access_token(base_url, corpid, corpsecret):urls = base_url + 'corpid=' + corpid + '&corpsecret=' + corpsecretresp = requests.get(urls).json()access_token = resp['access_token']return access_tokendef send_message(msg, usr):data = get_message(msg, usr)req_urls = req_url + get_access_token(base_url, corpid, corpsecret)res = requests.post(url=req_urls, data=data)ret = res.json()if ret["errcode"] == 0:print(f"[{now}] 企业微信推送成功")else:print(f"[{now}] 推送失败:{ret['errcode']} 错误信息:{ret['errmsg']}")def get_message(msg, usr):data = {"touser": usr,"toparty": "@all","totag": "@all","msgtype": "text","agentid": agentid,"text": {"content": msg},"safe": 0,"enable_id_trans": 0,"enable_duplicate_check": 0,"duplicate_check_interval": 1800}data = json.dumps(data)return datamsg = msgusr = usrif corpid == '':print("[注意] 未提供corpid,不进行企业微信推送!")elif corpsecret == '':print("[注意] 未提供corpsecret,不进行企业微信推送!")else:send_message(msg, usr)

TG

# 推送tg
def push_tg(token, chat_id, desp=""):"""推送消息到TG"""if token == '':print("[注意] 未提供token,不进行tg推送!")elif chat_id == '':print("[注意] 未提供chat_id,不进行tg推送!")else:server_url = f"https://api.telegram.org/bot{token}/sendmessage"params = {"text": '消息推送\n\n' + desp,"chat_id": chat_id}response = requests.get(server_url, params=params)json_data = response.json()if json_data['ok'] == True:print(f"[{now}] 推送成功。")else:print(f"[{now}] 推送失败:{json_data['error_code']}({json_data['description']})")

Plusplus

# 推送pushplus
def push_pushplus(token, content=""):"""推送消息到pushplus"""if token == '':print("[注意] 未提供token,不进行pushplus推送!")else:server_url = f"http://www.pushplus.plus/send"params = {"token": token,"title": '消息推送',"content": content}response = requests.get(server_url, params=params)json_data = response.json()if json_data['code'] == 200:print(f"[{now}] 推送成功。")else:print(f"[{now}] 推送失败:{json_data['code']}({json_data['message']})")

Server

# 推送server
def push_server(sckey, desp=""):"""推送消息到微信"""if sckey == '':print("[注意] 未提供sckey,不进行微信推送!")else:server_url = f"https://sctapi.ftqq.com/{sckey}.send"params = {"title": '消息推送',"desp": desp}response = requests.get(server_url, params=params)json_data = response.json()if json_data['code'] == 0:print(f"[{now}] 推送成功。")else:print(f"[{now}] 推送失败:{json_data['code']}({json_data['message']})")

Server酱

# 推送server酱
def push_wx(sckey, desp=""):"""推送消息到微信"""if sckey == '':print("[注意] 未提供sckey,不进行推送!")else:server_url = f"https://sc.ftqq.com/{sckey}.send"params = {"text": '消息推送',"desp": desp}response = requests.get(server_url, params=params)json_data = response.json()if json_data['errno'] == 0:print(f"[{now}] 推送成功。")else:print(f"[{now}] 推送失败:{json_data['errno']}({json_data['errmsg']})")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/69463.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端 sentry 接入钉钉机器人

sentry 接入钉钉机器人 打开钉钉,添加机器人 此时会得到Webhook地址,记录一下,以后会用到 sentry 端设置 看看这里有木有钉钉插件,有的话开启插件,并配置这里我说一下没有的情况下,我们何如设置 这里需要填写webhook url 这个的url 需要是一个公网的地址,不可以是本地…

让服务器实时跟你报告 —— 钉钉机器人 企业微信机器人

写在前面 一入炼丹深似海,希望天下没有空闲的GPU 每次训练开始跑起来总是要不断看什么时候结束,永远副屏都要开着终端实时查看GPU占用情况 原本想着能不能服务器有空闲时给我发邮件提醒呢,简单搜索了一番发现了更优雅的解决方案 最终效果…

爬虫-接入钉钉机器人

前言 又间隔了好久都没发博客了,心血来潮来写写博客,今天就写一下用pthon实现钉钉群机器人自动发消息的功能吧,也就是通过去爬取数据,通过钉钉内置的群机器人去做一个自动通知的这么一个操作 钉钉机器人相关文档 链接: 钉钉群机…

Ruminococcus gnavus

Capsular polysaccharide correlates with immune response to the human gut microbe Ruminococcus gnavus 有趣的是,R. gnavus在克罗恩病患者短暂开花(10),并与多种其他免疫疾病有关如狼疮(11)&#xff…

小小的纳豆居然有这么多好处,难怪岛国人为它疯狂

纳豆,起源于中国古代,自秦汉(公元前221年-公元220年)以来开始制作,由黄豆通过纳豆菌(枯草杆菌)发酵制成豆制品,具有黏性,气味较臭,味道微甜,不仅保…

[文献分享] 父母炎症性肠病与儿童自闭症(国家登记数据队列研究、连锁不平衡分数回归、多基因风险评分、孟德尔随机化)

文献来源:Sadik A, Dardani C, Pagoni P, et al. Parental inflammatory bowel disease and autism in children. Nat Med. 2022;28(7):1406-1411. doi:10.1038/s41591-022-01845-9 目录 1.基本信息 2. 主要内容概览: 3. 主要结果 3.1. Study 1: Pare…

如何解读肠道菌群检测报告中维生素指标

​在谷禾肠道菌群健康检测中,我们会看到结果报告中关于维生素的评估如下: 摄入水平建议保持在70-80分之间最佳,如果单项指标低于5表明摄入比例在人群中属于最低的5%,评估为缺乏,如上图中维生素B2;低于15评估…

生命早期肠道微生物群与儿童呼吸道疾病之间的关联

谷禾健康 儿童呼吸系统疾病,包括呼吸道感染、反复喘息和哮喘,是儿童及其以后年龄发病和死亡的重要原因。 而哮喘是其中比较典型的一种,哮喘是全球最常见的慢性疾病之一,是一种复杂的、异质性的免疫介导的紊乱集合,以气…

肠道核心菌属——普拉梭菌F. prausnitzii,预防炎症的下一代益生菌

谷禾健康 Faecalibacterium prausnitzii(F. prausnitzii),普氏栖粪杆菌,又名:普拉梭菌,是人类肠道菌群中最重要的细菌之一,占健康人粪便样本中检测到的细菌总数的 5-15%,是丁酸的重要…

你想要的宏基因组-微生物组知识全在这(2023.3)

欢迎点击上方蓝色”宏基因组”关注我们! 宏基因组/微生物组是当今世界科研最热门的研究领域之一,为加强宏基因组学技术和成果交流传播,推动全球华人微生物组领域发展,中科院青年科研人员创立“宏基因组”公众号,联合海…

人类微生物组和缺失遗传力--读论文

读读论文,用谷歌学术翻译一下,重要的部分做一下笔记。正文部分是翻译,加黑部分是个人笔记。 本次学习的论文:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5468393/ 1. 摘要 “缺失遗传力”问题表明,全基因组关联…

IgA | 对抗病原菌,帮助共生菌定植的“重要开关”

导 语:关于抗体,免疫和微生物 肠道微生物群的组成因个体而异,肠道微生物群中的特定细菌类群可能是某些肠内外疾病的独特有效驱动因素。对人类而言,精准且优先识别影响疾病易感性和严重性的细菌仍然是一项重大挑战。 很多时候我们想…

随着年龄增长,我应该怎样对抗肌肉流失?

肌肉减少症,也称为肌肉损失,是一种常见疾病,影响 10% 的 50 岁以上成年人。 虽然它会降低预期寿命和生活质量,但你可以采取一些措施来预防甚至逆转这种情况。 虽然肌肉减少症的一些原因是衰老的自然结果,但其他原因是可…

为什么“隐性知识”比“刻意练习”更重要?

我与巴菲特之间的差距,找到了。 ​​编者按:“隐性知识”是不能仅通过语言获取的知识,这些知识不能光靠听和看学会,也不能靠所谓的“刻意练习”学会。就像跟着巴菲特学习投资,哪怕这位投资大师把自己的决策理念和方式…

梭杆菌(Fusobacterium)——共生菌,机会菌,癌杆菌

谷禾健康 梭杆菌属(Fusobacterium),是梭菌门最主要的菌属,厌氧革兰氏阴性细菌,与拟杆菌属、普氏菌属、卟啉单胞菌属一样都是医学上重要的厌氧革兰氏阴性杆菌。 梭杆菌属是人类和动物的身体共生菌之一,主要定…

深度学习的初学者用哪本书比较好的?

先推荐一本从基本概念和理论入手的深度学习书: 深度学习:从基础到实践(上、下册) 本书从基本概念和理论入手,通过近千张图和简单的例子由浅入深地讲解深度学习的相关知识,且不涉及复杂的数学内容。 本书分…

TaxiBGC ——分类学指导下的生物合成基因簇鉴定流程

谷禾健康 当前合成基因簇预测限制较大 微生物基因组中的生物合成基因簇 (BGC) 编码具有生物活性的次级代谢物 (SM),它可以在微生物-微生物和宿主-微生物相互作用中发挥重要作用。 鉴于次级代谢物的生物学意义和当前对微生物组代谢功能的深刻兴趣,从高通…

盘点益生菌的8大益处

益生菌是可以通过发酵食品或补充剂摄入的活微生物。越来越多的研究表明,消化系统中细菌的平衡或失衡与整体健康和疾病有关。 益生菌促进肠道细菌的健康平衡,并与广泛的健康益处有关。这些包括对减肥、消化健康、免疫功能等的好处。 这是与益生菌相关的主…

《校正病例对照微生物组研究中的批次效应》

《Correcting for batch effects in case-control microbiome studies》 文章地址:https://journals.plos.org/ploscompbiol/article?id10.1371/journal.pcbi.1006102DOI:https://doi.org/10.1371/journal.pcbi.1006102期刊:PLoS Computatio…

javaweb跳转jsp页面时变成下载jsp文件解决方法s

目录 【背景】 【问题描述】 【代码页面】 【网页显示】 【解决方法】 --我自己的尝试: 1.检查jsp代码内容是否有拼写错误 2.在pom.xml里面添加依赖 3.不要在web.xml配servlet!!【我最终的解决方法】 【成功页面】 【总结】 【背…