前言

1.钉钉机器人能干什么?

摘抄:
群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。目前,大部分机器人在添加后,还需要进行Webhook配置,才可正常使用(配置说明详见操作流程中的帮助链接)。
例如:
通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步。
通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。
另外,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警通过自定义机器人聚合到钉钉群实现提醒功能。

2.钉钉机器人怎么用?

2.1 网上对钉钉自定义机器人描述的帖子比较多,使用起来也比较简单;给个官方文档,相信以大家的聪明才智很容易就看懂了,地址:官方地址

2.2 下面对企业内部机器人做个介绍(网上对这方面的介绍比较少,不知道是不是用的人少);官方地址:官方API

企业机器人是钉钉为用户提供的组织内部使用的机器人,为组织数字化转型业务服务。开发者可通过本文所描述步骤进行机器人的自主开发和上架,组织内其它成员可通过方便快捷地在群内添加企业机器人,并使用用机器人的能力。

基于企业机器人的outgoing机制,用户@机器人之后,钉钉会将消息内容POST到开发者的消息接收地址。开发者解析出消息内容、发送者身份,根据企业的业务逻辑,组装响应的消息内容返回,钉钉会将响应内容发送到群里。

最后,给大家画个图介绍一下它的使用场景,大家可以结合自己的业务需求,对号入座;

很多人私信说要看源码,现在补上:
第一步 钉钉后台设置页面填写@机器人后调用地址(我们自己业务系统暴露的接口地址):

第二步:系统后台代码

//Entity 接收对象
@Data
public class DemdITVo {//姓名private String senderNick;//回调的webhookprivate String sessionWebhook;//内容json contentprivate JSONObject text;//加密ID 工单机器人private String chatbotUserId;//用户加密IDprivate String senderId;//群聊标题private String conversationTitle;//用户钉钉UserIdprivate String senderStaffId;
}//Controller层
@PostMapping("/sendItByDd")
public ResMesg sendItByDd(@RequestBody DemdITVo params) {logger.info("接收钉钉群消息提交的信息,param:{}", params);return sendData(demdService.saveOnlineDemand(params));
}//具体业务就不截图了 说一下怎么回调@当事人
/**
* 返回群消息
* @param vo
* @param content
*/
private void sendSessionWebHook(DemdITVo vo, String content) {try {logger.info("sendSessionWebHook start send robot:" + content);String msg = "{\n" +"     \"msgtype\": \"text\",\n" +"\"text\": {\n" +"         \"content\": \""+content+"\"\n" +"     }," +"    \"at\": {\n" +"        \"atDingtalkIds\": [\n" +"            \""+ vo.getSenderId() +"\"\n" +"        ], \n" +"        \"isAtAll\": false\n" +"    }\n" +" }";String jsonResult = HttpClientUtil.sendPostByThree(vo.getSessionWebhook(), msg);logger.info("sendSessionWebHook end send robot:" + jsonResult);} catch (Exception e) {logger.error("sendSessionWebHook 发送钉钉群消息时出错,error={}", e);}
}
//HttpClientUtil的代码
public static String sendPostByThree(String url, String jsonParam) {String respContent = "";try {HttpPost httpPost = new HttpPost(url);RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(8000).setConnectTimeout(8000).setSocketTimeout(8000).setRedirectsEnabled(false).build();httpPost.setConfig(requestConfig);StringEntity entity = new StringEntity(jsonParam,"utf-8");entity.setContentEncoding("UTF-8");entity.setContentType("application/json");httpPost.setEntity(entity);HttpClient httpClient = HttpClients.createDefault();HttpResponse resp = httpClient.execute(httpPost);if (200 == resp.getStatusLine().getStatusCode()) {HttpEntity responseEntity = resp.getEntity();respContent = EntityUtils.toString(responseEntity);}} catch (Exception e) {logger.error(e.getMessage(),e);}return respContent;
}

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

  1. 钉钉机器人(1)创建钉钉群机器人推送消息

    创建钉钉群机器人发送消息 钉钉群机器人是一个高级扩展功能,只要有一个钉钉账号,就可以使用它.它可以将第三方信息聚合到钉钉群中,实现信息自动同步.支持Webhook协议的自定义接入,通过发明者量化机器人 ...

  2. Git远程推送和抓取分支

    查看远程库信息 当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. 要查看远程库的信息,用git remote, ...

  3. 微信开发自带版本管理的使用(图文)---推送,抓取,拉取,贮藏

    先简单的创建一个demo 初始化仓库 会发现多了两个文件,说明创建成功 配置成你自己的用户名和密码 添加远程仓库 编写简单的代码,用做测试 点击提交和一些提交信息 将HEAD重置到"**** ...

  4. java消息推送怎么实现_调用钉钉接口实现机器人推送消息

    一.摘要 现实交易中为了能及时了解发明者量化机器人交易状态,有时候我们需要将机器人所执行的交易结果发送到微信.邮箱.短信等等.但每天上百条各种各样的信息,使得对这些信息已经不敏感,导致重要的信息不能及 ...

  5. 钉钉机器人推送表格图片

    需求:要做一个钉钉机器人推送表格信息,10分钟一次 难点:1钉钉机器人不支持推送excel,2钉钉推送的图片不是动态的,需要自己写一个方法,变成获取新生成的图片 技术方案: 第一种:可以用图片服务器l ...

  6. 钉钉 服务器 消息推送,【20210727 更新】 全能推送PushBot(原钉钉推送)支持企业微信,PushPlus,Bark...

    本帖最后由 然后七年 于 2021-7-27 21:51 编辑 公告: 自2021年04月25日起,本项目luci-app-serverchand改名为luci-app-pushbot 全能推送. o ...

  7. 通过GitHub Actions给微信公众测试号和钉钉群定时推送消息(Python)

    通过GitHub Actions给微信公众测试号和钉钉群定时推送消息(Python) https://github.com/QInzhengk/Math-Model-and-Machine-Learn ...

  8. python微信公众号推送_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  9. python爬虫公众号_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

最新文章

  1. 双控专业就业机器人_工业机器人专业好就业吗?有哪些机器人技术岗位?
  2. 乐视云监控数据存放到influxdb中
  3. Vitamio中文API文档(1)—— MediaStore
  4. 机房系统(五)——【Excel表导出】
  5. 锁具行业电子工程师岗位职责_赏金猎人招募电子产品开发工程师产品结构工程师...
  6. 外媒:现代和起亚计划在新一代电动汽车上使用碳纳米管加热器
  7. linux nand 坏块_韦东山-NAND 上面都是坏块怎么办啊? - 百问网嵌入式问答社区
  8. 内连接,外连接,临时表,定义表,视图
  9. 浏览器cookie被禁掉,该如何去解决
  10. JAVA对接飞猪旅行_飞猪对接教程
  11. 转载-高仙机器人落地北京杭州深圳多个城市地铁
  12. 计算机科学家安内尔,历届诺贝尔生理学或医学奖获奖者简介
  13. 企业微信三方开发:注册企业微信服务商
  14. 【转】Chrome浏览器截全屏
  15. 【Redis学习05】优惠券秒杀及其优化
  16. 文件加密都有哪些方法?
  17. 在SQL中char、nchar、varchar和nvarchar的区别
  18. 计算机四级证书有哪些用处
  19. [Unity3D]Unity3D游戏开发之ACT游戏三连击效果实现综述
  20. 经典正则表达式 (“转自清清月儿”)

热门文章

  1. pve rust 能拆家吗_文明重启有哪些游戏模式应该怎么玩
  2. 浏览器扩展管理 - 高级版
  3. python 基础知识点 (一)
  4. 万字长文---手把手教你加固内核安全配置
  5. t检验该怎么分析?如果选择哪种t检验?
  6. PLsql(PLSQL Developer)安装与配置
  7. Android模拟器检测体系梳理,android驱动开发入门
  8. 【原创】【I2C】I2C介绍
  9. Lumaqq移植到Android 之进阶篇
  10. MySQL建立索引注意事项以及面试问题