1、創建群添加機器人
1.1:打開群設置
1.2:點擊智能群助手

1.3: 添加機器人

1.4:選擇自定義

1.5:添加機器人名稱以及自定義關鍵詞

1.6:點擊完成后獲取Webhook地址,然后再點擊完成即可

2、java接入
- 創建maven工程
- pom文件添加依賴
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.0.12</version>
</dependency>
- 工具類創建
import cn.hutool.core.map.MapUtil;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;
import java.util.List;
import java.util.Map;
public class DingDingSendMsgUtils {
/**
* 超時時間
*/
private static final int timeout = 10000;
/**
* 每個群開通的自定義機器人有webhook,后期可更換或寫在配置文件作為參數傳入
*/
private static final String webhook = "剛剛獲得Webhook地址";
/**
* 自定義關鍵詞,安全設置,后期可更換或寫在配置文件作為參數傳入
*/
private static final String CUSTOM_KEYWORDS = "剛剛寫的自定義關鍵字:";
/**
* 提示@所有人
*
* @param msg 通知消息
*/
private static void sendMessageAtAll(String msg) {
Map<String, Object> atMap = MapUtil.newHashMap();
atMap.put("isAtAll", true);
String reqString = getString(msg, atMap);
HttpRequest.post(webhook).body(reqString).timeout(timeout).execute().body();
}
/**
* 提示@具體選擇的某個人
*
* @param msg 通知消息
* @param mobileList 通知人的電話號碼
*/
private static void sendMessageAtChosePerson(String msg, List<String> mobileList) {
Map<String, Object> atMap = MapUtil.newHashMap();
atMap.put("isAtAll", false);
atMap.put("atMobiles", mobileList);
String reqString = getString(msg, atMap);
HttpRequest.post(webhook).body(reqString).timeout(timeout).execute().body();
}
private static String getString(String msg, Map<String, Object> atMap) {
String content = CUSTOM_KEYWORDS + msg;
Map<String, String> contentMap = MapUtil.newHashMap();
contentMap.put("content", content);
Map<String, Object> reqMap = MapUtil.newHashMap();
reqMap.put("msgtype", "text");
reqMap.put("text", contentMap);
reqMap.put("at", atMap);
String reqString = JSON.toJSONString(reqMap);
return reqString;
}
}
4.測試
import com.zk.mybatisplus.common.utils.DingDingSendMsgUtils;
import java.util.ArrayList;
import java.util.List;
public class DingDindSendMsg {
public static void main(String[] args) {
// DingDingSendMsgUtils.sendMessageAtAll("測試艾特全體成員");
List<String> mobileList=new ArrayList<>();
mobileList.add("180XXXXXXXX");
DingDingSendMsgUtils.sendMessageAtChosePerson("測試根據手機號@成員",mobileList);
}
}
