调用钉钉接口实现机器人推送消息

调用钉钉接口实现机器人推送消息

0 内容简介

​ 钉钉群机器人是一个高级扩展功能,只要有一个钉钉账号,就可以使用它。它可以将第三方信息聚合到钉钉群中,实现信息自动同步。支持Webhook协议的自定义接入,通过发明者量化机器人,将提醒、报警等信息聚合到钉钉群中。支持文本(text)、链接(link)、markdown三种消息格式,五种消息类型。同一条信息还可以同时发送至多个钉钉群。

​ 本篇通过调用钉钉群接口实现机器人推送消息,以文本(text)消息格式为实例进行开发,功能实现:从RDS(MySQL)数据库中读取需求消息,并配置时间调度,如一天内需求范围内每10分钟读取一次数据库信息,并发送至钉钉群内的指定接收人。
文章借鉴:https://zhuanlan.zhihu.com/p/244858570

​ 【操作流程】:钉钉群设置 --> 创建自定义机器人 --> API开发

1 钉钉群设置

​ 首先,创建钉钉群。我们以PC端钉钉为例,首先点击左上方“+”号发起群聊,如果只想自己接受消息,可以随便拉两个人再踢出去,填写群名称:如“WebHook_机器人”,群类型选择普通群即可。
在这里插入图片描述

2 创建自定机器人

​ 钉钉群每创建一个自定义机器人都会产生唯一的Hook地址,我们称为WebHook地址,通过向该WebHook地址推送消息,钉钉群就会收到消息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 API开发

调用钉钉接口实现机器人推送消息,这里使用Python-3.10.3进行代码实现,代码整体由三个对象类组成:

  • OperateMysql:RDS(MySQL)数据库对象类
  • My_WHRobot:钉钉自定义机器人对象类
  • main:时间调度与执行主类
3.1 RDS(MySQL)数据库对象类
import pymysql# 类对象一: 数据库连接与增删改查
class OperateMysql:# 数据库连接与操作模块def __init__(self):# 创建一个连接数据库的对象self.conn = pymysql.connect(host='rm-...mysql.rds.aliyuncs.com',  # 连接的数据库服务器主机名port=3310,  # 数据库端口号user='root',  # 数据库登录用户名passwd='*******',db='database',  # 数据库名称charset='utf8'  # 连接编码)# 使用cursor()方法创建一个游标对象,用于操作数据库self.cur = self.conn.cursor()# 查询一条数据def search_one(self, sql):self.cur.execute(sql)# result = self.cur.fetchone()   # 使用 fetchone()方法获取单条数据.只显示一行结果result = self.cur.fetchall()  # 显示所有结果return result# 更新SQLdef updata_one(self, sql):try:self.cur.execute(sql)  # 执行sqlself.conn.commit()  # 增删改操作完数据库后,需要执行提交操作except:# 发生错误时回滚self.conn.rollback()self.conn.close()  # 记得关闭数据库连接# 插入SQLdef insert_one(self, sql):try:self.cur.execute(sql)  # 执行sqlself.conn.commit()  # 增删改操作完数据库后,需要执行提交操作except:# 发生错误时回滚self.conn.rollback()self.conn.close()# 删除sqldef delete_one(self, sql):try:self.cur.execute(sql)  # 执行sqlself.conn.commit()  # 增删改操作完数据库后,需要执行提交操作except:# 发生错误时回滚self.conn.rollback()self.conn.close()
3.2 钉钉自定义机器人对象类
import json
import requests# 类对象二: 钉钉机器人API的调度
class My_WHRobot:# 钉钉机器人消息APIdef msg(self, text):headers = {'Content-Type': 'application/json;charset=utf-8'}# 只需更改这一项,将双引号内容替换为刚才复制的Webhook地址token = "***********************************"api_url = f"https://oapi.dingtalk.com/robot/send?access_token={token}"json_text = {"msgtype": "text","at": {"atMobiles": ["177*****620"],"isAtAll": False  # false : 仅仅@ "at" 对应的的人},"text": {"content": "123:" + text}}print(requests.post(api_url, json.dumps(json_text), headers=headers).content)
3.3 时间调度与执行主类
import schedule
from datetime import time
from OperateMysql import *
from My_WHRobot import *# 类对象继承三: 钉钉机器人API的调度
class Schedule_Robot(OperateMysql, My_WHRobot):# 钉钉机器人消息API调度def main(self, sql):robot_mysql = OperateMysql()     # 启动Mysql对象类robot_webhook = My_WHRobot()     # 启动My_WHRobot对象类res = robot_mysql.search_one(sql)# tuple结果转换成text的过程代码arr = '每2分钟更新 \n'for row in res:ROW = map(str, row)  # 把每条记录row中的元素map成str类型unit = '  '.join(ROW)  # 每条记录.join()拼接成长stringarr = arr + unit + '\n'  # 把每条记录拼接成textprint(arr)# 创建时间调度器-周期调度,设置调度周期、调度结束时间schedule.every(60*2).seconds.until(time(22, 52, 59)).do(robot_webhook.msg, text=arr) # 今天 21:59:59 停止while True:schedule.run_pending()# 运行
if __name__ == '__main__':sql = "SELECT" \" e.empno as 员工号, " \" e.ename as 员工姓名, " \" d.dname as 部门 " \"from emp e left join dept d " \"on e.deptno = d.deptno " \"limit 4 " \";"myrobot = Schedule_Robot()myrobot.main(sql)

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

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

相关文章

钉钉企业通知消息接口(一)

车辆管理系统需要及时发送通知给钉钉用户,实现和钉钉的对接。 接口调用采用平台: GET和POST测试 目前采用的是 发送企业通知消息 - 企业通知消息发送主体是企业,体现在接收方手机上的联系人是你填写的agentid对应的微应用。 调用接口时&…

调用钉钉接口--发送工作通知消息

前言 钉钉目前是管理公司比较常用的软件,为了完善公司的管理制度,为了加强公司的管理模式,所以现在需要调用钉钉的发送消息的接口,进行企业通知消息的发送. 叙述 准备工作 获取appKey和appSecret 登入oa管理后台,点击“工作台”,点击“自…

钉钉机器人推送和抓取钉钉群消息

前言 1.钉钉机器人能干什么? 摘抄: 群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。目前,大部分机器人在添加后,还需要进行Webhook配置,才可正常使…

【办公自动化】Python自动向钉钉群组发送文件

场景:定期将号码标记信息以文件形式返回给不同的供应商群组。那么,对于本地文件(图片或excel、csv等),如何实现自动发送到特定群组?本文将通过Python钉钉小程序实现该功能。 目录 1.创建钉钉小程序并配置…

【分享】零代码连接钉钉宜搭与钉钉智能人事,轻松管理员工信息

客户介绍 烟台某知名食品有限公司是中国海洋水产企业,专注海洋水产品贸易、深加工30余年,集海洋食品的科研开发、生产、全球销售一体的现代化企业集团旗下的一家子公司。成立于1992年,位于美丽的芝罘岛,占地面积约4万平方米&…

调用钉钉API发送消息通知给个人或部门

先让公司行政将你设置为管理员: 需要拥有的权限为:工作台管理,开发者权限。 登录钉钉管理后台: https://oa.dingtalk.com 首先,在开发者账号管理中添加ip白名单 https://open-dev.dingtalk.com/ 开发者信息》开发者账号管理…

接口自动化发送钉钉群消息

一,新建钉钉机器人 1.钉钉群右上角点击群设置,选择智能群助手,点击添加机器人,选择自定义机器人; 2.给机器人起个名字,消息推送开启,复制出webhook,后面会用到,勾选自定义关键词&am…

钉钉考勤对接

一、钉钉依赖包引用 <!--钉钉依赖--><dependency><groupId>com.aliyun</groupId><artifactId>alibaba-dingtalk-service-sdk</artifactId><version>2.0.0</version></dependency>二、创建应用 三、获取应用凭证 四、…

python发送钉钉消息

大家在工作中经常需要采集测试结果或生产告警&#xff0c;然后将信息处理后&#xff0c;通过自定义机器人来发送消息并到对应的人&#xff0c;让他们进行后续的处理&#xff1b; 今天我们就来把如何创建机器人&#xff0c;如何去发送消息&#xff0c;这个简单的流程给手把手的…

python实现发送钉钉消息

需求&#xff1a;企业部门本地部署的缺陷管理工具&#xff0c;企业内部使用钉钉进行工作交流&#xff0c;老板想让每天汇报项目的测试情况&#xff1b; 设计思路&#xff1a; 1、创建钉钉群机器人&#xff0c;每天发送项目测试信息&#xff08;缺陷数量、关闭数量、修复数量、…

Tio实现检测客户端是否在线发送钉钉群消息

文章目录 1.背景2.服务端实现2.1 服务端pom依赖和yml配置2.2 tio服务端WsMsgHandlerServer2.3 xxl-job定时任务扫描客户端是否在线然后发钉钉群告警消息 3.客户端实现3.1 客户端的pom依赖和yml配置3.2 客户端重试和心跳实现 4.客户端和服务端的demo分享 1.背景 Tio的官网 http…

接入钉钉API发送企业消息

工作中有个需求&#xff0c;是要把录入的销售机会由系统自动分配给销售&#xff0c;然后对接钉钉给销售人员发送企业消息&#xff0c;通知他进行跟单。 1. 获取Access_Token Access_Token是企业访问钉钉开放平台全局接口的唯一凭证&#xff0c;即调用接口时需携带Access_Token…

钉钉通知-调用钉钉发送企业内部消息开发

首先&#xff0c;我们要明确需求&#xff1a;自己的系统需要发送通知消息到用户&#xff0c;接收消息用户为同一企业内的人员&#xff0c;选用短信可能涉及到费用问题&#xff0c;故可以选用钉钉或者企业微信&#xff0c;在此我使用钉钉进行发送消息。 调用钉钉发送企业内部消…

Prometheus+Alertmanager+webhook-dingtalk实现钉钉告警

文章目录 一、前提准备及规划二、安装及启动2.1 Prometheus安装启动2.2 Node_export安装启动2.3 Alertmanager安装启动2.4 Webhook-dingtalk安装启动 三、配置及测试3.1 Webhook-dingtalk配置钉钉webhook地址3.2 Alertmanager配置钉钉告警3.3 Prometheus集成Alertmanager及告警…

和chatgpt学架构02-环境搭建

目录 1 安装vs code2 vs code功能介绍3 安装nodejs4 安装vue5 在vs code打开工程总结 我们在上一篇 技术选型 里咨询了chatgpt前后端的框架选择和数据库的选择。有了框架之后就需要选择合适的开发工具了&#xff0c;继续咨询一下chatgpt 我现在选型&#xff0c;前端使用vue&am…

〖编程初学者的自我修养 - 职业规划篇①〗- 大学生选择职业前的自我认知与剖析

历时18个月&#xff0c;采访 850 得到的需求。 不管你是在校大学生、研究生、还是在职的小伙伴&#xff0c;该专栏有你想要的职业规划、简历、面试的答案。说明&#xff1a;该文属于 编程初学者的自我修养 专栏&#xff0c;购买任意白宝书体系化专栏可加入易编程社区&#xff0…

谷歌Bard被曝剽窃ChatGPT?BERT一作跳槽OpenAI,揭惊天内幕

【导读】谷歌有大麻烦了&#xff01;外媒爆料说&#xff0c;Bard的训练数据部分来自ChatGPT。谷歌可能跳到黄河里也洗不清了。 3月29日&#xff0c;外媒The Information曝出了一个惊天大瓜&#xff01; 谷歌的离职员工、已跳槽OpenAI的顶级研究员竟然曝出——Bard竟是用ChatG…

人工智能AIGC最新综述:从 GAN 到 ChatGPT 的AI生成历史

一句话总结 本综述全面回顾了生成模型的历史、基本模型组件、AIGC从单模态交互和多模态交互的最新进展&#xff0c;以及模态之间的交叉应用&#xff0c;最后讨论了AIGC中存在的开放问题和未来挑战。 摘要 最近&#xff0c;ChatGPT 与 DALL-E-2 和 Codex 一起受到了社会的广泛关…

ChatGPT is not all you need,一文综述6大公司9类生成式AI模型

关注并星标 从此不迷路 计算机视觉研究院 公众号ID&#xff5c;ComputerVisionGzq 学习群&#xff5c;扫码在主页获取加入方式 计算机视觉研究院专栏 作者&#xff1a;Edison_G 生成模型领域里&#xff0c;ChatGPT 并不是一切。 转自《机器之心》 过去两年&#xff0c;AI 领域里…

chatgpt赋能python:Python最简单的小游戏:猜数

Python 最简单的小游戏&#xff1a;猜数 作为一门高效、简单而且易于学习的编程语言&#xff0c;Python 受到了越来越多的开发者的喜爱。其中&#xff0c;编写小游戏是Python语言学习中一个很有趣的领域&#xff0c;因为它可以帮助你通过实践加深对Python语法和概念的理解。在…