在日常的工作生产中,经常会有将将生产数据或者一些信息主动推送给相关的管理人员,我们公司在开发WMS系统时,为了仓库的储存安全,需要在危废品库存达到一定的储量时,自动通知仓管员去处理危废品,所以就需要程序自动的通过企业微信告知仓管员,这个时候就需要用到企业微信的机器人了。
现在我所知道的企业微信机器人分为两种,一种是机器人,一种是群机器人,机器人开发比较复杂,但是可以像一个企业微信账号一样可以给企业微信中的任意一个人发送信息,第二种群机器人比较简单,只能在群里推送消息。下面要讲的就是群机器人的开发。
第一步,先创建一个企业微信群(好像需要三个人才能达到建群的最小人数),添加一个群机器人,如图:
然后点击机器人的头像,记住Webhook(这个很重要,记住一定要保密,不能发到网上,不然其他人可以通过这个利用机器人给企业微信群发任何信息)
后面上代码,我写了一个方法如下:
public void WeChatRobot(string message)
{
string cttStr = "";
cttStr += "# <font color=\\\"warning\\\">"+ message + "</font>\n";
string param = "{\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"" + cttStr + "\"}}";
string webhookUrl = "此处替换为企业微信群机器人的Webhook";
using (var client = new RestClient(webhookUrl))
{
var Req = new RestRequest(webhookUrl, Method.Post);
Req.AddHeader("Content-Type", "application/json");
Req.AddJsonBody(param);
var Rsp = client.ExecuteAsync(Req).Result;
}
}
代码这个地方记得替换为企业微信群机器人的Webhook
如果有报错记得引用一下RestSharp库。
将需要推送的信息赋值给该方法的message,就可以使用企业微信机器人将信息推送到群里了。
补充:下面是一些推送文字的格式,现在似乎只支持三种颜色的字体。
思考(不用看):
在生产过程中经常有订单需要返回上一步,比如有些订单在该工序已经点击生产完工了,但是由于需要补充一些生产信息,需要将订单重新返回到正在生产的状态,这在正常的生产流程中肯定是不被允许的,但是实体制造业的IT部门都是服务于生产的,无论无何都不能耽误生产,最终还是需要IT去数据库改数据,有时常常下班了还要远程电脑改订单的固定数据,就很烦,明明知道有这个需求,又不能放权写个功能让生产自己回退订单,所以就思考写一个企业微信群机器人的推送功能:
生产需要将订单退回上一步时,将订单号和回退原因填写在MES系统上,这是系统后台会生成一个随机的验证码(后台生成,MES操作员不知道),将验证码和订单号、订单回退信息、操作人和时间等信息保存在数据库,并通过企业微信群机器人将验证码和订单回退信息推送到IT群,IT评估后若允许订单回退就将验证码转发给操作员,由操作员在MES上填写验证码,确认后填写验证码与数据库保存的验证码相同时,执行订单回退操作。这样遇到订单回退的突发情况,即使电脑不在身边,也可以通过手机企业微信对订单回退进行管控,运维人员也可以少掉头发。
(使用文章请标明来源——Hello-MOMO)