在日常的工作生产中,经常会有将将生产数据或者一些信息主动推送给相关的管理人员,我们公司在开发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

C#使用企业微信群机器人推送生产数据的更多相关文章

  1. nodejs通过钉钉群机器人推送消息

    nodejs 通过钉钉群机器人推送消息 Intro 最近在用 nodejs 写爬虫,之前的 nodejs 爬虫代码用 js 写的,感觉可维护性太差,也没有智能提示,于是把js改用ts(typescri ...

  2. 企业微信人员日程推送接口(python版)

    企业在使用企业微信中,有时想批量推送员工日程信息.这里写了个接口工具分享给大家,供交流学习. 主入口程序: # -*- coding: utf-8 -*-import time as time imp ...

  3. UDP端口检查告警SHELL脚本(企业微信版机器人版)

    脚本准备 0Batch_Check.sh 1port_check.sh 2wechat_bot_alert.sh CheckList CheckList #支持大/小写 10.1.1.5 Udp 53 ...

  4. $Django 支付宝支付,微信服务号推送消息 (测试需要把应用程序部署到服务器上)

    一 支付宝支付 大概 支付宝支付 正式环境:需要用营业执照去申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.ht ...

  5. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  6. C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是"模板消息"的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信 ...

  7. 前后端分离djangorestframework—— 接入微信模板消息推送

    微信 什么是微信也不多说,跟前面的支付宝一样的 微信支付 微信支付也有个沙箱环境,沙箱环境官方文档 由文档中那句很显眼的话所得,即使是测试环境也需要真实的商户号,所以这个就没法想支付宝那样用沙箱账号来 ...

  8. 微信消息自动推送(评论区有我改好的模板及exe一键推送文件)

    方案1:腾讯云函数(企业ID+应用ID和密钥(发送密钥得下企业微信app)+自己云函数的IP固定IP详情方法在下图) 推荐使用多图,因为内容会显示的丰富(所有图片文字都可以自定义 都在评论区下面的模板 ...

  9. .NET之微信消息模板推送

    最近在项目中使用到了微信消息模板推送的功能,也就是将对应的消息推送到对应的用户微信上去,前提是你必须要有一个微信公众号并且是付费了的才会有这个功能,还有就是要推送的用户必须是的关注了你的微信公众号的. ...

  10. C#微信接口之推送模板消息功能示例

    本文实例讲述了C#微信接口之推送模板消息功能.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 ...

随机推荐

  1. [Linux]查看硬件及操作系统信息

    许多的软件产品对硬件及操作系统等环境是有具体要求的,那么这时候如何快速知晓目标机器的目标资源信息是较为频繁的操作. 命令 全部硬件及系统信息 dmidecode (软硬件全部信息) hostnamec ...

  2. Android开发_记事本(1)

    一些知识 Textview TextView中有下述几个属性: id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行 ...

  3. 电脑上跨平台的电子书阅读器Koodo Reader

    https://wbsu2003.gitee.io/2021/04/30/%E7%94%B5%E8%84%91%E4%B8%8A%E8%B7%A8%E5%B9%B3%E5%8F%B0%E7%9A%84 ...

  4. Go语言网络编程: 模拟实现DNS服务器

    环境: 两台虚拟机,不限系统 写在前面 DNS服务器是干什么的?DNS服务器(Domain Name Server,域名服务器)是进行域名和与之相对应的IP地址进行转换的服务器,保存了一张域名和与之相 ...

  5. 已知n个数的入栈序列,求一共有多少种出栈序列 (卡特兰数)

    已知\(n\)个数的入栈序列,求一共有多少种出栈序列 这个经典问题有两种解法. 解法一: 设\(f(x)\)为\(x\)个数入栈后,再全部出栈的序列数量 假设我们有\(4\)个数\(a,b,c,d\) ...

  6. LeetCode 周赛 342(2023/04/23)容斥原理、计数排序、滑动窗口、子数组 GCB

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 前天刚举办 2023 年力扣杯个人 SOLO 赛,昨天周赛就出了一场 Easy - Ea ...

  7. 笔记九:线程间的通信(pthread_create()和pthread_self())

    linux高级编程之线程间的通信:(pthread_create().pthread_self()) 1.线程概念        线程包含了表示进程内执行环境必须得信息,其中包括进程中标识线程的线程I ...

  8. Kubernetes(K8S) kubesphere 安装

    安装KubeSphere最好的方法就是参考官方文档,而且官方文档是中文的. 官网地址:https://kubesphere.com.cn/ https://github.com/kubesphere/ ...

  9. vmware-ubuntu 设置共享目录

    VMware可以通过右上方菜单,管理-虚拟机设置,进入共享文件夹设置界面: vmware设置共享目录,重新启动windows,偶尔会失效.可以按下面步骤重新设置下,copy就行 查询是否存在已挂载的文 ...

  10. 2023-03-22:给定一个字符串str, 如果删掉连续一段子串,剩下的字符串拼接起来是回文串, 那么该删除叫做有效的删除。 返回有多少种有效删除。 注意 : 不能全删除,删成空串不允许, 字符串长

    2023-03-22:给定一个字符串str, 如果删掉连续一段子串,剩下的字符串拼接起来是回文串, 那么该删除叫做有效的删除. 返回有多少种有效删除. 注意 : 不能全删除,删成空串不允许, 字符串长 ...