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

news/2024/5/14 6:27:22/文章来源:https://blog.csdn.net/aaaadong/article/details/126938545

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

背景

公司需要把日常的服务器错误抛到企业微信群中,我正好记录下使用企业微信群机器人…
在这里插入图片描述

介绍

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

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

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

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

(opens new window)

应用场景介绍

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

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

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

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

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

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

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

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

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

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

img

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

img

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

img

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

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

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

img

使用

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_10443.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

医院检验LIS系统源码

医院lis源码 实验室信息管理系统源码 .net检验系统源码 医院系统源码 了解更多源码内容&#xff0c;可私信我。 开发环境&#xff1a;.NET4.0 WPF VS2017或VS2019SQL2016 实验室信息管理系统以条码标本为主线&#xff0c;实现从采集、检测、报告、归档的全程跟踪管理。 支持…

DevOps自动化测试的原则和实践

DevOps是为了在保证高质量的前提下缩短系统变更从提交到部署至生产环境的时间。在对系统进行变更时&#xff0c;质量很重要。高质量才能让业务价值传递到系统干系人。『自动化测试既是提高质量的一种重要手段&#xff0c;也是实施持续测试必需的能力&#xff0c;因此它是DevOps…

修改WebBrowser控件的内核解决方案

首先说一下原理 当下很大浏览器他们都是用了IE的core, 这个core只提供HTML/JS的执行和渲染,并没有给出关于界面和一些特性上的事,所以开发自己浏览器如果基于IE core需要自己完成这些内容。 一张图很好的说明了这个情况,IE浏览器的架构:http://msdn.microsoft.com/en-us/li…

nginx - 负载均衡配置-负载均衡策略

目录 知识点1&#xff1a;网站流量分析指标 什么是pv&#xff1f; 什么是uv&#xff1f; 什么是IP&#xff1f; 知识点2&#xff1a;正向代理和反向代理 知识点3&#xff1a;负载均衡实验 IP地址规划&#xff1a; 实验拓扑图 知识点4&#xff1a;负载均衡策略 1、请求…

Spring5.3学习——from 官网 day1-1

Spring5.3学习——from 官网day1-1Spring5.3学习——from 官网day1-1前言概述Spring的设计理念Spring核心&#xff1a;IOC什么是IOC解释IOC容器的包什么是BeanBeanFactory接口简述ApplicationContext接口简述BeanFactory源码描述以下是Bean工厂创建和销毁bean的完整生命周期流程…

Matlab论文插图绘制模板第48期—平行坐标图(Parallelplot)

​上一期文章中&#xff0c;分享了Matlab帕累托图的绘制模板&#xff1a; 这一次&#xff0c;再来分享一种特殊的线图&#xff1a;平行坐标图。 ‘平行坐标图是一种通常的可视化方法&#xff0c;用于对高维几何和多元数据的可视化……为了克服传统的笛卡尔直角坐标系容易耗尽空…

好心情精神心理科:80%双相情感障碍被误诊,千万注意鉴别

双相情感障碍又称躁郁症&#xff0c;其表现复杂&#xff0c;容易与其他精神疾病&#xff08;包括边缘型人格障碍&#xff09;相混淆&#xff0c;超过80%的患者未能得到正确诊断。 具体如何区分双相情感障碍与边缘型人格障碍&#xff1f;在回答这个问题之前&#xff0c;好心情精…

从规模走向规模经济,锅圈食汇回归餐饮初心

预制菜源自美国&#xff0c;在日本因冷链技术发展而普及。后疫情时代&#xff0c;预制菜在中国餐饮市场加速渗透&#xff0c;成为行业的新风向。 9月&#xff0c;第一财经与CBNData发布“Growth502022中国新消费品牌年度增长力榜单”&#xff0c;预制菜品牌锅圈食汇入选。 锅…

设计模式学习笔记--责任链模式

责任链模式 责任链模式是一种对象的行为模式。在责任链模式里&#xff0c;很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递&#xff0c;直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求&…

Tuxera NTFS21Mac苹果电脑读取硬盘磁盘软件

我们经常会使用移动硬盘或 U 盘进行大体积文件的分享、携带。但有时候别人提供的NTFS移动硬盘或者U 盘在 Mac 电脑中只能读取&#xff0c;无法将文件导入到其中。这是因为常见的 NTFS 硬盘格式在 Mac 中不能兼容。 当你从 Windows 转到了 Mac 平台&#xff0c;可能会发现之前用…

RocketMQ-流程图-概念

文章目录RocketMq的角色消息发送的流程RocketMq的角色 Producer&#xff1a;消息的发送者&#xff0c;生产者&#xff1b;举例&#xff1a;发件人Consumer&#xff1a;消息接收者&#xff0c;消费者&#xff1b;举例&#xff1a;收件人Broker&#xff1a;暂存和传输消息的通道…

Python数据分析教程(一):Numpy

数据的纬度 一维数据:列表和集合类型二维数据:列表类型多维数据:列表类型高维数据:字典类型或数据表示格式,如json、xml、yaml维度:一组数据的组织形式列表和数组:一组数据的有序结构Numpy Numpy介绍NumPy是一个开源的Python科学计算基础库,包含:一个强大的N维数组对象…

渗透测试神器Nmap使用教程

渗透测试神器Nmap使用教程1.nmap简介2.常用参数3.nmap实战命令1.nmap简介 Nmap &#xff08;网络映射器&#xff09;是Gordon Lyon最初编写的一种安全扫描器&#xff0c;用于发现计算机网络上的主机和服务&#xff0c;从而创建网络的“映射”。为了实现其目标&#xff0c;Nmap…

java计算机毕业设计基于安卓Android的金融保险app(源码+系统+mysql数据库+Lw文档)

项目介绍 计算机信息技术的发展&#xff0c;推动了金融保险信息化管理的进程&#xff0c;并随着互联网概念的提出&#xff0c;各种互联网软件也应运而生。在传统的管理中&#xff0c;各种信息管理难&#xff0c;传播速度慢&#xff0c;需要耗费很长时间统计核查&#xff0c;不…

Oracel中视图相关概念和操作(一)

目录 1.视图概念&#xff08;有必要&#xff09; &#xff08;1&#xff09;视图基本概念 &#xff08;2&#xff09;视图和定义的表的联系 &#xff08;3&#xff09;视图的优点 2.创建视图 &#xff08;1&#xff09;使用SQL DEVELOPER创建视图&#xff08;可视化&#x…

如何正确的审核交易商牌照?这些雷区你不得不防

对于外汇平台来说&#xff0c;交易牌照可以说是重中之重&#xff0c;一个交易没有牌照&#xff0c;可以说是没有任何约束&#xff0c;属于监管裸奔状态&#xff0c;这种平台10个有10个就是黑平台。但也正因如此&#xff0c;无数黑平台也会在牌照上面做手脚&#xff0c;这些人手…

基于stm32单片机甲醛烟雾温湿度检测仪设计

目录 第1章 绪论 1.1 引言 1.1.1甲醛的特性及危害 1.1.2甲醛的来源 1.2甲醛检测仪的种类 第&#xff12;章 概述 2.1系统总概述 2.2总体方案设计 2.3硬件设计 2.4软件设计 第3章 硬件设计 3.1 硬件设计主电路图 3.2 硬件选择 3.2.1 MCU的选择与简介 3.2.3 …

Gimbal Lock欧拉角死锁问题

技术背景 在前面几篇跟SETTLE约束算法相关的文章(1, 2, 3)中&#xff0c;都涉及到了大量的向量旋转的问题--通过一个旋转矩阵&#xff0c;给定三个空间上的欧拉角\(\alpha, \beta, \gamma\)&#xff0c;将指定的向量绕对应轴进行旋转操作。而本文主要就阐述这些旋转操作中&…

复习十二:广义表

一、广义表的定义及其重要特性 广义表简称表&#xff0c;它是线性表的推广。一个广义表是n(n>0)个元素的一个序列&#xff0c;若n0时&#xff0c;则称为空表&#xff1b; 广义表中有两种数据元素&#xff0c;即有两种结构的结点&#xff1a;表结点和原子结点&#xff1b;广义…

大数据ClickHouse进阶(十一):ClickHouse的Join子句

文章目录 ClickHouse的Join子句 一、连接精度