在日常的工作生產中,經常會有將將生產資料或者一些資訊主動推播給相關的管理人員,我們公司在開發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)