工作中,经常会遇到事件通知,目前用比较多的是钉钉,群自定义机器人可以让我们快速实现消息通知 。
包package dingtalk?import ("bytes""encoding/json""errors""io/ioutil""net/http""strconv""time")?// SendMessage 发送钉钉机器人消息func SendMessage(url, message string, ats ...string) (respContent string, err error) {c := &http.Client{Timeout: time.Second * 30,}data := map[string]interface{}{"msgtype": "text","text": map[string]string{"content": message},}if len(ats) != 0 {isAtAll := falseatMobiles := []string{}for i := range ats {if ats[i] == "all" {isAtAll = true} else {atMobiles = Append(atMobiles, ats[i])}}data["at"] = map[string]interface{}{"isAtAll": isAtAll,"atMobiles": atMobiles,}}b, _ := json.Marshal(data)resp, err := c.Post(url, "application/json", bytes.NewReader(b))if err != nil {return "post请求失败", err}defer resp.Body.Close()body, _ := ioutil.ReadAll(resp.Body)if resp.StatusCode == 200 {return string(body), nil}return string(body), errors.New(strconv.Itoa(resp.StatusCode))}

文章插图
测试
package main?import ("fmt""dingtalk")?func main() {result, err := dingtalk.SendMessage("https://oapi.dingtalk.com/robot/send?access_token=XXXXXX", "测试消息通知", "all")if err != nil {fmt.Println("发送失败", result)return}fmt.Println("发送成功", result)}【Go发送机器人通知】
推荐阅读
- 机器人和AI正以前所未有的速度取代数百万大流行中失业的美国人
- 2020年中国扫地机器人市场现状与发展前景分析
- 使用 Go 语言实现凯撒加密
- 苹果|苹果宣布首次在产品中采用再生金!全新回收机器人Taz亮相
- 破局产能之困!协作机器人如何助力华南“智造”升级?
- 俄国首位机器人宇航员进太空 苏联宇航员对接空间站
- 优傲机器人与如影智能签订战略协议,加速机械臂进入消费级市场
- 动画|《爱 死亡和机器人》第三季剧照出炉:中国团队参与制作
- 科学家们现在正努力制作看起来像人类的机器人 科学家为什么要发明机器人
- 苹果|苹果iOS 16前瞻:通知功能脱胎换骨
