-
2022-07-26 11:04:38
在企业中,需要使用许多CRM系统,例如交易系统、监控报警系统等应用支撑着公司的核心业务流程;有时候也需要行政人事定时发送一些企业人文关怀、疫情通知等信息。通过钉钉的自定义机器人,可以将这些系统事件或消息自动发送至聊天群。
钉钉机器人是什么?
钉钉机器人是钉钉团队开发,可以在钉钉群内自动推送消息与提醒功能的工具。钉钉机器人并没有内外群限制,目前所有群聊均可以添加。但当前机器人尚不支持应答机制,该机制具体指的是群里成员在聊天@机器人的时候,钉钉回调指定消息。 钉钉机器人可以发送多少条消息? 由于消息发送太频繁会严重影响群成员的使用体验,因此钉钉开放平台对自定义机器人发送消息的频率作出以下限制: 每个机器人每分钟最多发送20条消息到群里,如果超过20条,会限流10分钟。 如果你有大量发消息的场景(譬如系统监控报警)可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群里。
如何添加钉钉机器人?
1、创建好钉钉群聊后,点击右上角群设置-智能群助手
2、在机器人管理页面选择自定义机器人,输入机器人名字并选择要发送消息的群,同时可以为机器人设置机器人头像。
3、勾选加签,勾选我已阅读并同意《自定义机器人服务及免责条款》,然后单击完成。
钉钉机器人可以做什么?
钉钉机器人可以用作许多场景的消息通知,高效和组织内外的人员协作。用途很广泛,以下可实现场景给大家参考一下。
- HR&行政:自动发送天气预报、疫情通告、上下班打卡提醒、员工周年纪念/生日祝福,收到招聘邮件群内通知等
- 销售:可以连接比如CRM等,在有新的销售线索通知到钉钉群;每天/每周的销售数据自动汇报到群里;销售线索跟进变动通知等
- 市场运营:微信公众号数据归档并通过钉钉机器人提醒;广告日消耗发通知等
- IT安全运维:知识库更新通知,webhook接通系统安全运营预警通知等、企业成员文档/邮箱存量预警
- 产品研发:兔小巢等收到新用户反馈之后发通知;需求变动通知等;重大项目进展管理通知
如何设置钉钉机器人定时发送消息
如果想实现钉钉机器人定时发送消息,目前网上提供的许多攻略中,都是需要用有一定的编程基础,通过写代码的方式实现的。 但通过腾讯云HiFlow场景连接器,许多不会编程的业务人员,比如行政、HR、市场、运营而言,也可以零代码3分钟实现钉钉机器人定时发送消息! 实现步骤
- 打开腾讯云HiFlow场景连接器官网http://hiflow.tencent.com,点击右上角控制台,创建新的流程。
2.开始节点选择定时启动任务
选择需要【发送信息的频率】以及具体的时间,例如“每周五下午16:00”。
3.根据上述教程,添加好钉钉机器人后,编辑好需要发送的内容。最后点击【保存】后点击右上角【发布流程】即可。
是不是很简单呢?快来试试吧~
更多相关内容 -
钉钉机器人交互_信息推送_机器人_钉钉机器人_
2021-10-03 06:31:57LABVIEW通过CRUL钉钉群机器人信息推送 -
java实现钉钉机器人消息推送的示例代码
2020-08-25 04:00:20主要介绍了java实现钉钉机器人消息推送的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
钉钉机器人MSSQL存储直接调用发送消息
2020-06-18 08:35:20MSSQL调用钉钉机器人 使用存储直接发送消息 不需要额外的接口 不需要配置接口 直接发送消息省事 内含完整调用方法及实例 -
SQL Server通过钉钉机器人直接发送消息
2020-06-18 14:47:34SQL Server通过钉钉机器人直接发送消息 直接存储过程完成调用机器人发信息 钉钉端无需安装 无需接口 直接使用 -
基于java使用钉钉机器人向钉钉群推送消息
2020-08-25 08:25:26主要介绍了基于java使用钉钉机器人向钉钉群推送消息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 -
python 调用钉钉机器人的方法
2020-12-26 11:33:10以text格式的消息为例:(只需修改content后的内容) Import json ...HEADERS={"Content-Type":"application/json;charset=utf-8"} String_textMsg={"msgtype":"text","text":{"content":'kind:%s\naverage:%f\nmedian... -
钉钉机器人发送post接口
2018-09-05 16:12:35钉钉机器人发送post接口,可以使用此脚本放机器人发信息 -
钉钉机器人SQL存储直接调用发送消息.txt
2020-06-18 10:30:20SQL调用钉钉机器人 使用存储直接发送消息 不需要额外的接口 不需要配置接口 直接发送消息省事 内含完整调用方法及实例 -
通过钉钉机器人发送钉钉消息
2018-06-27 12:26:47通过go语言实现简单的发送钉钉自定义消息demo.................................................................... -
SpringBoot实现钉钉机器人消息推送的示例代码
2020-08-19 11:36:51主要介绍了SpringBoot实现钉钉机器人消息推送的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
钉钉机器人自动发送消息
2018-10-26 00:57:13实现了钉钉群机器人自动发送提醒消息的shell脚本。。。 -
jenkins设置钉钉机器人通知.docx
2020-06-28 16:15:33jenkins设置钉钉机器人消息通知的文档......................................... -
钉钉机器人通知(控制台)
2017-06-14 17:25:09钉钉机器人通知,只需用CMD调用,传入access_token和msg即可发出通知。 -
ddtest:开源代码以及hackerone钉钉机器人监控
2021-03-23 04:42:28github源码更新及hackerone突破公开钉钉监控机器人 2018-12-17 ...第9行填写你的钉钉机器人的api 放在国外vps上运行注意时差 跑 点安装请求 crontab -e 50 23 * * * / usr / bin / python /root/dd/ddtest.py -
钉钉机器人推送插件forYAPI
2019-08-11 02:31:51钉钉机器人推送插件 for YAPI -
实现钉钉机器人自动发送自定义信息到钉钉群(对应源码).rar
2021-02-26 11:10:05实现钉钉机器人自动发送自定义信息到钉钉群(对应源码) -
Kettle实现使用Http post控件实现钉钉机器人消息推送测试源代码
2022-05-02 22:58:12实现一个通用的kettle消息推送,于是想到通过钉钉机器人推送消息到钉钉群组,这样就可以方便配置封装成通用的消息推送的映射子转换,实现后面作业或转换的消息提醒或者异常告警通知。已完成测试源代码分析 -
shell 操作钉钉机器人实现告警提醒的方法
2021-01-09 03:35:26借助钉钉机器人,通过官方提供的API,可以很方便的post数据到相应的接收人 。群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警通过自定义机器人聚合到钉钉群实现提醒功能。 Shell 脚本... -
钉钉机器人接收阿里云物联网平台转发的数据
2021-01-06 08:47:53开篇先献上效果图: -
python使用自定义钉钉机器人的示例代码
2020-09-16 15:17:10主要介绍了python使用自定义钉钉机器人,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
dingding-robot:钉钉机器人相关sdk
2021-03-25 12:45:37dingding-robot:钉钉机器人相关sdk -
实现钉钉机器人自动发送自定义信息到钉钉群.rar
2021-02-26 10:35:19实现钉钉机器人自动发送自定义信息到钉钉群,解压后查看”使用说明.doc“文档。 -
Python第三方包之DingDingBot钉钉机器人
2020-12-20 14:57:27这个是作者自己封装的一个钉钉机器人的包,目前只支持发文本格式、链接格式、markdown格式的消息,我们可以在很多场景用到这个,比如告警通知等 安装 pip install DingDingBot 使用方法 from DingDingBot.DDBOT ... -
钉钉机器人关键字自动回复_从零开始打造专属钉钉机器人
2020-11-29 02:33:09一、前言废话不多的实现简单的钉钉机器人。我们分为下面几个步骤来逐步讲解。1.钉钉机器人的类型2.如何打造一个最最简单的钉钉机器人二、钉钉机器人的类型常用的钉钉机器人有两种,1、通知类型的机器人:适合在群内...一、前言
废话不多的实现简单的钉钉机器人。我们分为下面几个步骤来逐步讲解。
1.钉钉机器人的类型
2.如何打造一个最最简单的钉钉机器人二、钉钉机器人的类型
常用的钉钉机器人有两种,
1、通知类型的机器人:适合在群内进行一些通知,推荐消息等内容。
2、可以回复消息的机器人:能够回复@机器人的消息,机器人会将响应内容发送到群里。
本次,我们分别讲解两种机器人是如何实现的三、打造一个最简单的通知类型钉钉机器人
首先用通知类型的机器人为例子。1. 打开一个你想创建机器人的钉钉群。2.在右边栏选择更多选项,点击群助手的打开:
然后选择添加机器人选择自定义机器人
然后需要注意!在这个配置页面中。
安全设置我们选择【自定义关键词】
只要每次发送的消息带有该自定义关键词,消息就能成功发送。接下来选择同意并完成。拷贝标记出来的完整链接【Webhook】,然后选择完成
钉钉机器人的配置就完成了。3.第三步开始开始写代码:
直接上发起的示例代码:
apiurl 就是获取的完整链接【Webhook】jsonString是发起的请求内容,json格式示例如下:
{
"msgtype": "text", //钉钉的发送样式
"text": {
"content": "我就是我, 是不一样的烟火@156xxxx8827" //发送到群中的内容
},
"at": { //需要消息@对应人的手机号
"atMobiles": [
"156xxxx8827",
"189xxxx8325"
],
"isAtAll": false //如果需要@所有人 这个值设置为true
}
}
下面就是发送代码:
///
/// 以Post方式发送请求
///
/// 请求的URL
/// 请求的json参数
/// 请求头的key-value字典
public static string PostDingDing(string jsonString, string apiurl = null, Dictionary headers = null)
{
if (apiurl == null)
{
apiurl = AppSettings.WebHook;//机器人的webhook
}
WebRequest request = WebRequest.Create(@apiurl);
request.Method = "POST";
request.ContentType = "application/json";
if (headers != null)
{
foreach (var keyValue in headers)
{
if (keyValue.Key == "Content-Type")
{
request.ContentType = keyValue.Value;
continue;
}
request.Headers.Add(keyValue.Key, keyValue.Value);
}
}
if (String.IsNullOrEmpty(jsonString))
{
request.ContentLength = 0;
}
else
{
byte[] bs = Encoding.UTF8.GetBytes(jsonString);
request.ContentLength = bs.Length;
Stream newStream = request.GetRequestStream();
newStream.Write(bs, 0, bs.Length);
newStream.Close();
}
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
Encoding encode = Encoding.UTF8;
StreamReader reader = new StreamReader(stream, encode);
string resultJson = reader.ReadToEnd();
return resultJson;
}
好了,我们的钉钉机器人消息就发起成功了,如下图:
四、打造一个最简单的自动回复机器人
自动回复消息的机器人,能够回复@机器人的消息,机器人会将响应内容发送到群里。
该功能能够直接在钉钉中就实现简单的数据查询与交互。
接下来我们实现一个简单的自动回复机器人的例子。1. 首先需要登陆钉钉开发者后台,创建一个机器人。
登录钉钉开发者后台,
选择应用开发-企业内部开发-机器人,点击创建机器人。2.选择创建机器人:
选择应用类型是机器人,想一个机器人的名称等等,然后直接点击【确定创建】,机器人就创建好了。3.机器人简易配置:
参数 描述 服务器出口IP 填写本企业服务器的公网IP 消息接收地址 填写一个公网可访问的本企业HTTPS服务地址,用于接收POST过来的消息 只用配置如上两个参数。一个简单的机器人配置就完成了。
4.后端代码配置:
机器人配好了,但是目前还是调试模式,正式上线前,可以在测试群进行调试。在测试群中,新增一个刚刚建好的机器人,保存好Webhook
5.接下来是代码了:
首先构建一个接收类public class dingRotBotDto
{
public string msgtype { get; set; }
public dingText text { get; set; }
public string msgId { get; set; }
public string createAt { get; set; }
public string conversationType { get; set; }
public string conversationId { get; set; }
public string conversationTitle { get; set; }
public string senderId { get; set; }
public string senderNick { get; set; }
public string senderCorpId { get; set; }
public string senderStaffId { get; set; }
public string chatbotUserId { get; set; }
public List atUsers { get; set; }
}
public class dingText
{
public string content { get; set; }
}
public class dingUser
{
public string dingtalkId { get; set; }
public string staffId { get; set; }
}
参数 是否必填 类型 描述 msgtype 是 String 目前只支持text content 是 String 消息文本 msgId 是 String 加密的消息ID createAt 是 String 消息的时间戳,单位ms conversationType 是 String 1-单聊、2-群聊 conversationId 是 String 加密的会话ID conversationTitle 否 String 会话标题(群聊时才有) senderId 是 String 加密的发送者ID senderNick 是 String 发送者昵称 senderCorpId 否 String 发送者当前群的企业corpId(企业内部群有) senderStaffId 否 String 发送者在企业内的userid(企业内部群有) chatbotUserId 是 String 加密的机器人ID atUsers 否 Array 被@人的信息dingtalkId: 加密的发送者IDstaffId: 发送者在企业内的userid(企业内部群有) 然后构建一个返回消息类:
public class DingDingMessage
{
public DingDingMessage()
{
this.at = new At();
this.text = new Text();
this.markdown = new MarkDown();
}
public string msgtype { set; get; }//消息类型
public Text text { set; get; }//text类型
public MarkDown markdown { set; get; }//markdown类型
public At at { set; get; }//@
}
参数 是否必填 类型 描述 msgtype 是 String text content 是 String 消息文本 atMobiles 否 Array 被@人的手机号 isAtAll 否 Boolean @所有人是true,否则为false 现在开始写一个接收钉钉机器人消息的方法:
[HttpPost("GetDingRoBot")]
public async TaskGetDingRoBot([FromBody] dingRotBotDto input)
{
var phone=await _fuluDing.GetUserPhone(input.senderStaffId);//获取发送人的电话,回复消息的时候可以@对应的发送人。
if (input.text.content.Contains("[XXXX]"))///input.text.content就是接受到的消息, 可以通过改字段进行消息过滤
{
var s = input.text.content.Split(']')[1];
var text=await todo...;//调用自己的方法,返回需要回复的消息
SendMessage(text, phone); //发送回复的消息
}
else
{
await SendMessage("请输入正确的命令:[流水上账查询]XXXX", phone);
}
return Ok(ResponseResult.Execute("0", null, $"发送成功"));
}
public SendMessage(string text,string atMobiles)//发送消息
{
DingDingMessage message = new DingDingMessage();
message.msgtype = "text";
message.text.content = text;
message.at.atMobiles.Add(atMobiles);
String data = JsonConvert.SerializeObject(message);//Json将对象序列化
var json = await _client.PostAsync("xxxxx", new StringContent(data, Encoding.UTF8, "application/json"));//post 发起一个请求到 配置该机器人群的 Webhook 地址xxxxx
}
这样 ,一个可以回复消息的机器人就配置好了。我们可以试一试。
6.上线:
好了,当我们一切弄好就可以正式上线了
只要我们点击管理页面的上线。机器人就正式上线了。文章的最后,顺带分享下几个踩坑问题
1.发起的消息中一定要带上【自定义关键词】的内容,不然发起不成功。
2.钉钉机器人发送消息有限制,1min最多20条,超过的无法发送,钉钉会进行限流一段时间。 -
钉钉机器人jar包
2019-04-03 17:11:43钉钉发群消息(非机器人)jar 和例子, 好友阿里短信的jar(旧版) -
日报周报月报提醒,支持钉钉机器人、微信机器人、个人微信、桌面推送日报周报月报提醒,支持钉钉机器人、...
2022-02-19 12:11:54日报周报月报提醒,支持钉钉机器人、微信机器人、个人微信、桌面推送日报周报月报提醒,支持钉钉机器人、微信机器人、个人微信、桌面推送 -
Node.js-钉钉机器人SDKforNode.js
2019-08-09 23:18:05钉钉机器人 SDK for Node.js