当前位置: 首页 > news >正文

java实现钉钉群机器人@机器人获取信息后,机器人回复(机器人接收消息)

1.需求

鉴于需要使用钉钉群机器人回复,人们提出的问题,需要识别提出的问题中的关键词,后端进行处理实现对应的业务逻辑

2.实现方式

用户@群机器人,附带提出的问题,后端接收消息后识别消息内容,读取到关键词进行对应的业务逻辑操作后,机器人获取返回的信息后发消息到群中@到具体的人

官方文档地址:接收消息 - 钉钉开放平台

3.实现流程

创建机器人->配置机器人接收数据地址->开发接收消息后的业务逻辑->上线机器人->添加机器人到群组中

4.具体步骤及代码实现

(1)创建机器人。点击创建应用,填写应用名称、应用描述,创建完成后设置,服务器出口ip你的个任务武器地址,消息接收地址:你的机器人接收消息的接口,即当在群中@机器人时会调用本接口

 

(2)机器人接收消息的文档。

如图为接收消息接口的传参及参数分别代表的意义。

(3)机器人发送消息的文档。

机器人发送消息的类型就比较多了,可以发送图片、文本等,包括@人回复消息,结合上面的机器人接收消息就可以实现对应的智能对话。 文档地址:机器人发送消息的类型 - 钉钉开放平台

(4)示例代码

package com.wheel.back.model;import cn.hutool.json.JSONObject;
import lombok.Data;@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;}
package com.wheel.back.controller;import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.wheel.back.model.DemdITVo;
import com.wheel.back.service.TestService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;/*** @Description* @Author Li Qingyang* @Date 2022-11-08*/
@Slf4j
@RestController
@RequestMapping("wheelTest")
public class TestController {@Resourceprivate TestService testService;@PostMapping("/test")public String Test(@RequestBody DemdITVo params){JSONObject text = params.getText();Object content = (String)text.get("content");log.info("请求参数:" + content);String url = "https://oapi.dingtalk.com/robot/send?access_token=xxxxxx";Map<String,Object> map1 = new HashMap<>();map1.put("content","你好是我, 是不一样的烟火"+content);Map<String,Object> map = new HashMap<>();map.put("msgtype", "text");map.put("text",map1);String post = HttpUtil.post(url, JSONUtil.toJsonPrettyStr(map));log.info(map.toString());return "成功!";}
}

(5)机器人的发布。

编写完成后代码发到自己服务器上运行后,将机器人上线,在自己的群聊中添加该机器人,即可使用

5.结论

测试结果就不具体展示了就是@机器人后调用你的接口,接口中根据接受的内容进行具体的业务逻辑处理,然后返回到群中。

扩展:除了对于指定命令自定义回答,群聊机器人也可用于对一些服务的预警功能及定时通知功能等,可以结合使用的场景进行对应的灵活组合开发。

http://www.lryc.cn/news/110851.html

相关文章:

  • ffmpeg转码时出现missing picture in access unit with size 14019
  • 以Llama-2为例,在生成模型中使用自定义StoppingCriteria
  • servlet接受参数和乱码问题
  • 2023-08-05力扣今日三题
  • webpack图片压缩
  • JPA使用nativeQuery自定义SQL怎么插入一个对象参数呢?
  • 用C语言构建一个数字识别卷积神经网络
  • 【CSS】圆形放大的hover效果
  • work weekly
  • Mac端口扫描工具
  • 如何隐藏开源流媒体EasyPlayer.js视频H.265播放器的实时录像按钮?
  • Spring Cloud Eureka 和 zookeeper 的区别
  • Golang之路---04 并发编程——信道/通道
  • 【Rust 基础篇】Rust派生宏:自动实现trait的魔法
  • PHP8的程序结构-PHP8知识详解
  • Spring Cloud +UniApp 智慧工地云平台源码,智能监控和AI分析系统,危大工程管理、视频监控管理、项目人员管理、绿色施工管理
  • “科创中国”青百会轮值主席吴甜:以大语言模型为代表的AI将引发产业变革
  • 【Git /Github】知识学习
  • 【雕爷学编程】Arduino动手做(181)---Maixduino AI开发板2
  • PHP 编译问题PEAR package PHP_Archive not installed的解决
  • 【探索Linux】—— 步步学习强大的命令行工具 P.1(Linux简介)
  • STM32 CubeMX USB_OCO(USB_转串口)
  • 使用JProfiler进入JVM分析
  • 高级web前端开发工程师的职责说明(合集)
  • powerdesigner各种字体设置;preview字体设置;sql字体设置
  • MyBatis查询数据库(4)
  • Python3 处理PDF之PyMuPDF 入门
  • 使用隧道HTTP时如何解决网站验证码的问题?
  • Java超级玛丽小游戏制作过程讲解 第三天 创建并完成常量类02
  • ARM微架构