[仅需1步]企业微信群机器人[0基础接入][java]

    • 背景
    • 介绍
    • 使用
    • 测试
    • 项目

背景

公司需要把日常的服务器错误抛到企业微信群中,我正好记录下使用企业微信群机器人…

介绍

企业微信群机器人
应用介绍

企业微信是腾讯微信团队打造的企业通讯与办公工具,具有与微信一致的沟通体验,丰富的OA应用,和连接微信生态的能力,可帮助企业连接内部、连接生态伙伴、连接消费者。

企业微信群机器人是企业微信的内置功能,可在企微群内推送消息、提醒群成员等。企业微信机器人支持webhook协议的自定义接入,来实现信息的自动同步。

企业微信官网:https://work.weixin.qq.com/

(opens new window)

应用场景介绍

通过腾讯云HiFlow场景连接器,可以零代码的设置企业微信机器人自动/定时发消息的规则,比如:每周五下午6点定时发送周报;收到新的销售线索/报表自动发送消息通知管理群等。

应用支持的触发条件和执行操作

企业微信群机器人支持的执行操作如下:

发送群图文消息:发送图片+文本标题的消息样式到企业微信群,支持给图片设置跳转链接
发送富文本消息:发送富文本消息到企业微信群,可以给文本添加样式,比如加粗、更改颜色、加超链接等
发送文本消息:发送纯文本消息到企业微信群,并且可以@提醒指定用户

应用账号和参数配置(或其他相关)

(一)使用企业微信群机器人应用的前置条件

需要有企业微信并已加入企业
需要有企业微信群管理员权限

(二)如何在企业微信中添加群机器人

如果没有可用的企业微信群机器人,请先在企业微信中添加新的群机器人。

在目标群聊右上角点击“..."后选择【添加群机器人】

选择【新创建一个机器人】,输入群机器人名称后点击【添加机器人】

添加成功后即可获得webhook地址,点击【复制地址】后粘贴至相应位置

(三)添加新的机器人账户

添加新的机器人账户需要:

企业微信群机器人名称:可自定义填写,建议与对应的企微群机器人同名
企业微信群机器人webhook地址:需要把获取到的webhook地址添加到HiFlow企业微信群机器人账户设置中如果目标群里您已添加群机器人,您可以右键单击群机器人【查看详情】后获取群机器人webhook地址如果目标群里您没有添加群机器人,请按照教程第二步在目标群中添加群机器人,然后获取到此机器人的webhook地址

使用

WxProducerController.java

package com.dongtech.mywxwork_bot.wx;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Date;@Controller
public class WxProducerController {private static final Logger logger = LoggerFactory.getLogger(WxProducerController.class);final String APIWXBOT = "/WXBOT";final String LOGTITLE = "[dongtech-server] ["+APIWXBOT+"]";@Autowiredprivate WxProducerService wxProducerService;@Autowiredprivate WxPushService wxPushService;/*** 发送企业微信机器人消息* @param request* @throws IOException*/@RequestMapping(value=APIWXBOT)@ResponseBodypublic void sendWXBOT(HttpServletRequest request) throws IOException {String message = request.getParameter("message");if (message == null || message == "") {return;}String msg = GetCurrentTime()+message;String logMsg = LOGTITLE+" WXBOT Receive Message: "+msg;logger.info(logMsg);WxRequest wxRequest = new WxRequest();wxRequest.message = msg;wxPushService.publishEvent(wxRequest);}private String GetCurrentTime(){LocalDateTime localDateTime = LocalDateTime.now();System.out.println(localDateTime);SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss||");return format.format(new Date());}
}

WxProducerService.java

package com.dongtech.mywxwork_bot.wx;import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;import java.io.IOException;
import java.util.LinkedList;
import java.util.Queue;@Service
public class WxProducerService {private static final Logger logger = LoggerFactory.getLogger(WxProducerService.class);final String APIWXBOT = "/WXBOT";final String LOGTITLE = "[dongtech-server] ["+APIWXBOT+"]";@Autowiredprivate WxPushService wxPushService;@Value("${wx.wxbot.token}")public String WXBOTTOKEN;private Queue<WxRequest> wxRequestQueue = new LinkedList<WxRequest>();public void sendMessage(WxRequest wxRequest) throws IOException {if (wxRequest.message == null || wxRequest.message == "") {return;}HttpClient httpclient = HttpClients.createDefault();HttpPost httppost = new HttpPost(WXBOTTOKEN);httppost.addHeader("Content-Type", "application/json; charset=utf-8");//构建一个json格式字符串textMsg,其内容是接收方需要的参数和消息内容String textMsg = "{\"msgtype\":\"text\",\"text\":{\"content\":\"SERVER:"+ wxRequest.message+"\"},\"isAtAll\":false}}";StringEntity se = new StringEntity(textMsg, "utf-8");httppost.setEntity(se);HttpResponse response = httpclient.execute(httppost);if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {String msg = LOGTITLE+" WXBOT Send Success : "+wxRequest.message;logger.info(msg);}else{wxPushService.publishEvent(wxRequest);}}public void Receive(WxRequest wxRequest){wxRequestQueue.offer(wxRequest);}public void DoSend() throws IOException {WxRequest req = wxRequestQueue.poll();if (req == null){return;}send(req);}/*** 发送* @param wxRequest*/public void send(WxRequest wxRequest) throws IOException {sendMessage(wxRequest);}
}

测试

http://localhost:10010/WXBOT?message=我是一个机器人

项目

github

[Java实战][仅需1步]企业微信群机器人[0基础接入]相关推荐

  1. 工作随记-Java利用企业微信群机器人定时发送消息

    hi,大家好,我是恰恰 阅读本文需要2分钟~ 最近利用企业微信群机器人做的需求主要有 1.返奖率通知与告警:抽奖箱能抽出垃圾也能抽出大货,每隔5分钟查询一下这个返奖率,如果用户频繁抽出大货,这个抽奖箱 ...

  2. python 企业微信群机器人_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...

    在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...

  3. div区域内容抓取_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...

    在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...

  4. delphi 企业微信消息机器人_GitHub - guoxianlong/insight: Insight是一个可以管理企业微信群机器人的小工具,可以非常方便的往群里发布即时消息和定时消息。...

    最科幻的企业微信群机器人管理工具 非常方便的发布群即时消息和定时消息,解放双手,提升沟通效率 部署教程 更新日志(2020.05.31) 修复设置为智能跳过工作日时,周日依然提醒问题. 前端修复定时成 ...

  5. 【AIO】使用ORACLE数据库存储过程发送企业微信群机器人消息

    前言 为了对标阿里系的钉钉,腾讯于2016年4月18日推出了企业微信 专注企业内部通讯(目前已加入客户管理及客户通讯功能),替代原有的RTX腾讯通 企业微信由于微信的生态及其易用性,已被很多企业使用, ...

  6. 企业微信机器人推送mysql_进阶功能|将数据推送到企业微信群机器人

    当通过金数据收集到新数据/新客资后,如何才能在企业微信中快速通知特定负责人进行处理呢? 小金特别准备了一份文档,帮助大家了解学习噢- 前期准备工作 1.金数据账户 2.WinDeal账户 3.企业微信 ...

  7. 钉钉群机器人关键词自动回复_企业微信群机器人怎么用?企业微信群机器人有什么功能?...

    使用企业微信办公时,我们可以在群聊中添加群机器人,自动推送消息,回答客户提问,那么企业微信群机器人怎么添加呢? 因为企业微信内部群机器人和外部群机器人的添加方式有一点区别,下面我们分开来讲述. 内部群 ...

  8. 企业微信群机器人是什么?企微机器人如何自动发消息?

    经常有很多用户会问我们,企业微信群机器人是什么,有什么用,有什么限制?企业微信群机器人提供的是一个webhook消息,如何可以通过这个来自动发消息呢?之前写过一些关于企业微信群机器人如何发消息的教程, ...

  9. 微信群机器人(仿真企业微信群机器人)

    使用过企业微信的朋友应该应该用过企业微信群机器人,它是企业微信的原生功能,你在企业微信群中新建一个机器人,随后就可以获得这个群机器人的web挂钩,调用这个web挂钩并加上消息参数就可以让这个机器人在群 ...

最新文章

  1. hadoop_入门1
  2. python中文乱码例子
  3. 好文推荐 | MySQL binlog应用场景与原理深度剖析
  4. Statement和PreparedStatement深入学习总结
  5. 【牛客 - 181B】送分题(另类求解a+b,二分)
  6. Excel 取消Internet及网络路径自动替换为超链接
  7. idea/eclipse/vscode同时搜索多个文件类型
  8. ArcGIS TIN地表面与栅格地表面的生成与互相转换
  9. linux下xp镜像文件iso下载,Windows XP SP3简体中文专业版[官方MSDN正式原版ISO镜像]
  10. python求最值_Python应用:python求极值点(波峰波谷)
  11. vue3图片对比组件
  12. 域策略(4)——设置统一锁屏壁纸(此策略仅适用于企业版、教育版和 Server SKU版)
  13. MySQL入门笔记整理
  14. 二十、调度器、预选策略以及优选函数
  15. JPEG 标准推荐的亮度、色度DC、AC Huffman 编码表
  16. 低通滤波器转带通滤波器公式由来_射频/微波滤波器
  17. VB计算一年中某一天在这一年中是第几周
  18. Python爬虫之模拟登录豆瓣获取最近看过的电影
  19. ImportError: Loader FrozenImporter cannot handle module inspect ||python ide中正常运行,用pyinsta打包为exe文件报错
  20. 得胜php100怎么样,优缺点爆料得胜TA-60评价如何?怎么样呢?内行分析实际情况...

热门文章

  1. linux tcp 无法握手,linux網絡編程之tcp的三次握手和四次揮手
  2. 四.Windows基础
  3. uniapp 英寸尺子 尺子 左右滑动
  4. Make my mind tobe a coder! Wa kakak
  5. Python实现平行坐标图的两种方式
  6. vue中的project和inject
  7. android kotlin + coroutines 高仿微信图库
  8. 【Node.js】深度解析node的包和强大的包管理工具
  9. .tga图片的文件格式分析
  10. android蓝牙支持双向,【玩机攻略】了解蓝牙LDAC,玩转双向蓝牙LDAC