钉钉自定义机器人发送信息
前一段时间,我们纵队内部纪律方面出了一些大问题,纵队内部说要整改这个事情,我当时就想起了恩栋学长在他们纵队搞的那个可以发送每天往群里发送考勤结果的钉钉小机器人,然后我就给我们的队长提议,要不咱们的二期谁有空也去写一个?然后我们队长就很亲切的给我说那个东西不难就调一个接口啥的,然后给你写吧,两天时间。然后内心惊喜连连。
惊喜连连然后我就想好像是的哈,跟现在学的东西差不多吧,然后我就在第二天进行了大胆的尝试。
声明
这篇文章需要使用到工具有
- IntelliJ IDEA
- 钉钉电脑客户端
- 钉钉的开发工具包(后边会说在哪里下载)
- 日志包 日志包下载链接
需要知到一些Java语言的基础
说一下我的idea版本 :IntelliJ IDEA 2021.1.3
预备工作
打开群设置 ——> 打开智能群助手 ——> 添加机器人——> 添加机器人——> 自定义
然后点确认,进入这个页面,名字得话随便起一个就行了,下面的安全设置得话,是三选一,我们就选择第一个,也就是最简单的一个。然后点完成
添加机器人之后他会给你个链接,我们复制下来保存一下,然后点击完成。
机器人的基本配置到这里就完成了。然后点击安全设置下面那个说明文档。
钉钉官方在第一行明确的给我们说明了“安全设置三选一”即可,那么其他的两种我们就没必要管了
然后点击左侧目录树里面的自定义机器人接入,因为咱们都是学过Java,找到文档的这个部分,我们可以选择两种方式去测试我们的机器人。
下载解压之后是两个jar包
正文开始
都看到这里了, 来让我们打开idea,随便建一个工程吧。
第一步:创建新工程导jar包
看图这里不过多解释了
首先第一步导入钉钉开发工具包打开页面,之后找到我们之前下载解压好的jar包 ,点击OK 进行导入
导入成功之后在我们的External Library 里面会有我们刚才导入的jar包
导完之后再把我们之前下载的日志包也导进去。
第二步
然后创建一个类,创建一个main方法,将官网上给我们的Java 代码粘进去
我这里对代码做了简化
```java
public class MyRobot {
public static void main(String[] args) throws ApiException {
DingTalkClient client =new DefaultDingTalkClient("https://oapi.dingtalk.com/robot/send?access_token=566cc69da782ec******");
OapiRobotSendRequest request =new OapiRobotSendRequest();
request.setMsgtype("text");
OapiRobotSendRequest.Text text =new OapiRobotSendRequest.Text();
text.setContent("测试文本消息");
request.setText(text);
OapiRobotSendResponse response = client.execute(request);
String body = response.getBody();
System.out.println(body);
}
}
```
上面的代码直接粘贴就行,然后把上面的链接换成我们之前保存过的这个链接
把 `text.setContent("测试文本消息");`这个里面的文本换成我们带有我们之前设置的关键字的话
因为我之前写的关键词就是测试所以这里我就不用换了
第三步
然后点击运行
然后查看钉钉群里机器人发了一条信息,我们 的任务就基本完成了
你以为这就结束了吗????
还没有,这种方式实在是太慢了,我就想让机器人发个信息,需要导这么多的东西吗?
呵~忒。
接下来这个是一个非常快的发送信息的方式
快速的使用机器人发一个信息
在idea中创建一个工程,什么jar包都不用导入,直接创建一个点击右键创建一个HTTP Request
把官网给我们的那个最少的代码复制一下
```batch
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{"msgtype": "text","text": {"content":"我就是我, 是不一样的烟火"}}'
```
把刚才复制的代码写进去
然后点击确认就会自动给我们生成一串代码
我们将链接换成我们机器人的那个链接 ,将content里面的内容换成我们要发送的包含关键词的内容,
然后点击左侧的那个运行,就可以发送我们的信息了
运行之后的结果是下面这张图说明发送成功了
文章到这里就结束了,其实最初不是想写这么长的,本来感觉这就是一个简单的发送请求,但是我没想到的是在写文章过程中,处处透漏着我功底不足的情况,让我写的很惭愧,感觉自己写出来的东西并没有我想想中的那么美好。因为我在线下尝试过给其他人去传授这种方式进行钉钉机器人发送信息,当时感觉很轻松,但是在写文章的时候尽限拘束。
文章开头说的那个东西实际我写了一天,当时碰到了很多的问题,当时在我看来让机器人发送信息是我碰见的最简单的一个问题了,真正让我感觉到费时间的其实是去看官方文档,查询各种的api之间的相互调用,然后就是对查询出来的数据进行筛选。
当我做出第一版的时候是下午的三四点,当时的程序写的很死版,想要修改一下查询的东西都要去改动源代码,这让当时的我看着很不爽,因为刚学了一点SpringBoot,修改各种东西只需要修改一下配置文件就行了,完全不需要去改动代码,所以当天剩下的时间我一直是在优化我的程序,将程序尽量设置的灵活,可以通过配置文件来实现不同的效果。虽然当时的我已经很明确的知道我最初的目的已经达到了,接下来写的优化代码这辈子都可能用不上了,但是我还是义无反顾去写了当时的程序。
就这吧。
文章中可能会出现一些纰漏,小伙伴们有不懂的都可以在评论区中发出提问。