微信企业版针对群聊提供了一个群机器人的功能,通过向企业微信提供的一个webhook接口发送规定的post内容,即可实现在企业微信群里面发送消息。具体接口使用文档:企业微信群机器人配置文档地址
虽然接口的使用和请求格式挺简单的,但是总觉得在java上使用起来还是不是那么方便,于是我花了1天时间对这个接口进行了个简单的封装,并且将这个项目开源并打包发布到maven中央仓库。
开源地址:
github:https://github.com/lqccan/wechat-work-bot
gitee:https://gitee.com/lqccan/wechat-work-bot
maven依赖:
<dependency>
<groupId>com.github.lqccan</groupId>
<artifactId>wechat-work-bot</artifactId>
<version>1.0</version>
</dependency>
建议点击https://mvnrepository.com/artifact/com.github.lqccan/wechat-work-bot 查看最新版本,避免本文上述代码版本号忘记更新的问题。
使用样例参考:
public class AppTest {
private Bot bot;
/**
* 构造机器人对象
*/
@Before
public void buildBot() {
bot = new Bot("这里填自己的webhook地址");
}
/**
* 文字测试
*/
@Test
public void textTest() {
TextMsg textMsg = new TextMsg();
textMsg.setContent("文字发送\nhttp://www.3kkg.com");
bot.send(textMsg);
}
/**
* markdown测试
*/
@Test
public void markdownTest() {
MarkdownMsg markdownMsg = new MarkdownMsg();
markdownMsg.setContent("实时新增用户反馈<font color=\"warning\">132例</font>,请相关同事注意。\n" +
" >类型:<font color=\"comment\">用户反馈</font>\n" +
" >普通用户反馈:<font color=\"comment\">117例</font>\n" +
" >VIP用户反馈:<font color=\"comment\">15例</font>");
bot.send(markdownMsg);
}
/**
* 图片测试
*/
@Test
public void imageTest() {
ImageMsg imageMsg = new ImageMsg();
//本地文件
// imageMsg.setFile(new File("/Users/xxx.png"));
//网络文件
imageMsg.setFile("https://i.loli.net/2020/02/04/znKwNdcSujE2i4l.png");
bot.send(imageMsg);
}
/**
* 图文测试
*/
@Test
public void articleTest() {
ArticleMsg articleMsg = new ArticleMsg();
articleMsg.setTitle("图文");
articleMsg.setDescription("这是一条图文消息");
articleMsg.setUrl("https://www.3kkg.com");
articleMsg.setPicurl("https://i.loli.net/2020/02/04/znKwNdcSujE2i4l.png");
bot.send(articleMsg);
}
/**
* 多个图文测试
*/
@Test
public void articleListTest() {
List<ArticleMsg> list = new ArrayList<ArticleMsg>();
for (int i = 1; i <= 3; i++) {
ArticleMsg articleMsg = new ArticleMsg();
articleMsg.setTitle("图文"+i);
articleMsg.setDescription("这是一条图文消息");
articleMsg.setUrl("https://www.3kkg.com");
articleMsg.setPicurl("https://i.loli.net/2020/02/04/znKwNdcSujE2i4l.png");
list.add(articleMsg);
}
bot.send(list);
}
}
效果: