暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

搭建钉钉消息推送脚本 dingding~

在下uptown 2020-06-18
556

这次疫情席卷全球,现在大家手机里都会有一个钉钉了吧,说起钉钉,它的DING不可谓不烦,今天uptown写一个有意思的小脚本。让你为刀俎,找个鱼肉烦一下



开发工具:IDEA、Maven、Jdk1.8


IDEA: 全称 IntelliJ IDEA,JetBrains旗下的java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具。不过最近JetBrains行为日渐恶劣,渣男行为,一开始很容易破解,用户量多了以后,追到手了说不爱了?

破解全部失效,不交钱就分手?行为越来越像公司简称。。。






Maven:常用的jar包管理工具,之前比较老的项目需要将jar包下载到本地,使用maven则可以通过pom文件添加依赖从配置好的远程仓库下载jar包

maven使用教程:

https://blog.csdn.net/dreamboy_w/article/details/95600545


JDK1.8:  14都出来了还不用8吗,lambda表达式它不香吗



机器人配置:

    首先需要新建一个钉钉群,点击群设置里智能群助手添加自定义机器人。

安全设置选择自定义关键词,每次发送的消息要带着关键词

点击完成后得到Webhook地址,这就是向机器人发送消息的地址了


代码环境搭建:

    利用IDEA创建一个空Maven项目,在pom文件中添加依赖,hutool整合了很多好用的工具。方便可靠

    <dependencies>
<!--糊涂大法好 模拟请求,转json-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.0.12</version>
</dependency>
</dependencies>

    编写测试类

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.Value;




import java.util.List;
import java.util.Map;


/**
* @author: UPTOWN
* @date: 2020/6/8 23:12
*/
public class DingTalkTest {


//请求相应时间
private static final int timeout = 10000;


//webhook地址
private static final String dingUrl = "https://oapi.dingtalk.com/robot/send?access_token=fb78463017a71c9fd6214301e6bc209e05c081fa2bd8237059ed0534b792ceee";




public static void main(String[] args){


try {
//钉钉机器人地址(配置机器人的webhook)
//是否通知所有人
boolean allPerson = true;
boolean isAtAll = true;
//通知具体人的手机号码列表 isAtAll为false才会有@具体人的效果
List<String> mobileList = Lists.newArrayList();
mobileList.add("要通知人的手机号");
//钉钉机器人消息内容
String allContent = "大家好,今天你打卡了吗?";
//组装请求内容
String allReqStr = buildReqStr(allContent, allPerson, mobileList);
//推送消息(http请求)
String allResbody = HttpRequest.post(dingUrl).body(allReqStr).timeout(timeout).execute().body();
//打印返回结果
System.out.println("result == " + allResbody);
}catch (Exception e){
e.printStackTrace();
System.out.println(e.getMessage());
}


}


/**
* 组装请求报文
     * 请求数据为JSON格式数据
* @param content
* @return
*/
private static String buildReqStr(String content, boolean isAtAll, List<String> mobileList) {
//消息内容
Map<String, String> contentMap = Maps.newHashMap();
contentMap.put("content", content);


//通知人
Map<String, Object> atMap = Maps.newHashMap();
//1.是否通知所有人
atMap.put("isAtAll", isAtAll);
//2.通知具体人的手机号码列表
atMap.put("atMobiles", mobileList);


Map<String, Object> reqMap = Maps.newHashMap();
reqMap.put("msgtype", "text");
reqMap.put("text", contentMap);
reqMap.put("at", atMap);


return JSONUtil.toJsonStr(reqMap);
}


}

如果个人感兴趣的化可以加上定时任务,有服务器的话可以将代码打成jar包,放到服务器上后台运行,这样在你指定的时间就可以收到消息啦。



乘风破浪uptown

文章转载自在下uptown,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论