首页 > 其他分享 >golang对接企业微信群机器人-在线客服系统新消息提醒方式之一【唯一客服】

golang对接企业微信群机器人-在线客服系统新消息提醒方式之一【唯一客服】

时间:2023-02-27 23:55:36浏览次数:52  
标签:群里 return 微信群 err 客服 机器人 golang headers string

最近客服系统对接了一下企业微信的机器人

企业成员(内部)群机器人

只能在企业微信内部群里添加,设置好机器人头像名称之后会得到一个webhook,创建者可使用此wenhook去调用相关api向群里推送消息,消息发送方式及类型可查阅文档。

自建应用机器人

企业管理员可在管理后台自建应用来作为机器人,打开接收消息功能即可以接入api(例如微信对话开放平台)来实现交互。获取到应用的access_token后还可以做更多的操作,例如创建群聊,推送消息,但不能在群里实现交互。

 

先说企业微信群机器人,点击群机器人,新建一个机器人,然后就能看到webhook的地址

 

 

 

往该地址post 一个json数据,就可以实现推送消息了

 

func PostHeader(url string, msg []byte, headers map[string]string) (string, error) {
    client := &http.Client{}

    req, err := http.NewRequest("POST", url, strings.NewReader(string(msg)))
    if err != nil {
        return "", err
    }
    for key, header := range headers {
        req.Header.Set(key, header)
    }
    resp, err := client.Do(req)
    if err != nil {
        return "", err
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return "", err
    }
    return string(body), nil
}
func PostJson(url string, msg []byte) (string, error) {
    headers := make(map[string]string)
    headers["Content-Type"] = "application/json;charset=utf-8"
    res, err := PostHeader(url, msg, headers)
    return res, err
}

 

golang post json数据的函数如上面所示,然后调用一下,并且把webhook地址可以在后台配置,就可以了

 

 

 

 

这样就可以在群里,收到访客的新消息提醒

标签:群里,return,微信群,err,客服,机器人,golang,headers,string
From: https://www.cnblogs.com/taoshihan/p/17162437.html

相关文章

  • Golang入门第四天
    面向对象编程匿名字段匿名字段初始化方法值语义与引用语义封装,继承,多态方法值,方法表达式接口接口继承,接口转换空接口通过if实现类型断言通过switch实现类型断......
  • golang 实现链表爽不爽?
    犹记得刚学C语言的时候,学到指针这一章,就会有让我们写链表的需求,头插法,尾插法,翻转链表,合并链表,约瑟夫环等等学的不亦乐乎,但是对于指针刚学的时候,真是摸不着脑壳,不知道x......
  • golang入门(十五)断言
    前面的文章提到过,golang是一门强类型的语言。即数据在使用前必须明确标识所属的数据类型。为了让golang中的slice和map可以像Python中的list和dict一样可以存储任意数据。......
  • golang-标准库时间time
    packagemainimport("fmt""time")funcmain(){t:=time.Now()//time.Timetime.Date(2023,time.February,19,14,38,1,393023500,ti......
  • golang-标准库文件操作
    packagemainimport( "bufio" "fmt" "os" "strings")funcexample1(){ filename:="e:/test.txt"//内容为abc //Open是只读方式打开实际是调用的OpenFile......
  • golang基础知识查漏补缺(持续更新)
    表达式与语句简单来说,一个表达式表示一个值,而一条语句表示一个操作。但是在实际中,有些个表达式可能同时表示多个值,有些语句可能是由很多更基本的语句组成的。另外,根据场合......
  • golang,jwt-go实现生成token,中间件验证token
    前后端分离的项目。现在基本上都是JWT在go中通过https://github.com/dgrijalva/jwt-go 可以实现token的创建也解析注意:因为是案例,所以代码中很多配置是写死的,正常开发肯......
  • Golang微服务(二)
    Golang微服务(二)目录Golang微服务(二)注册中心选型consul环境consul常用API服务的增删查、健康检查gRPC的健康检查服务的负载均衡(相同服务多实例注册)配置中心nacos环境nacos......
  • Golang基于Mysql分布式锁实现集群主备
    背景集群中如果需要主备,可以基于Redis、zk的分布式锁等实现,本文将介绍如何利用Mysql分布式锁进行实现。原理数据库中包含数据字段(此处为Master的主机名)、版本号和上......
  • golang中的close函数
    close函数是用于关闭通道的。官方解释(摘自close函数源代码注释):Theclosebuilt-infunctionclosesachannel,whichmustbeeitherbidirectionalorsend-only.Itsho......