头图

doc

https://developer.work.weixin...

image.png

image.png

app

go


package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
)

const (
    CorpId = "xxxxxxxxx"
    CorpSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-k"
    AgentId int = 1xxxxxxx
)

type T struct {
    Errcode     int    `json:"errcode"`
    Errmsg      string `json:"errmsg"`
    AccessToken string `json:"access_token"`
    ExpiresIn   int    `json:"expires_in"`
}

type T2 struct {
    Touser  interface{} `json:"touser"`
    Msgtype string      `json:"msgtype"`
    Agentid int         `json:"agentid"`
    Text    struct {
        Content interface{} `json:"content"`
    } `json:"markdown"`
    Safe int `json:"safe"`
}

type T3 struct {
    Errcode int    `json:"errcode"`
    Errmsg  string `json:"errmsg"`
    Msgid   string `json:"msgid"`
}


func GetToken(CorpId string, CorpSecret string) (*T) {
    url := fmt.Sprintf("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s", CorpId, CorpSecret)
    client := &http.Client{}
    req, err := http.NewRequest("GET", url, nil)

    resp, err := client.Do(req)
    if err != nil {
        log.Fatal(err)
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println("######", string(body))
    var assetList T
    err = json.Unmarshal(body, &assetList)
    return &assetList
}

func SendMessage(token string, comment string, userName string) *T3 {
    var j T2

    j.Agentid = AgentId
    j.Text.Content = comment
    j.Touser = userName
    j.Msgtype = "markdown"
    j.Safe = 0

    data, err := json.Marshal(j)
    if err != nil {
        fmt.Println("err was %v", err)
    }
    fmt.Println(string(data))

    reader := bytes.NewReader(data)
    uri := "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token
    client := &http.Client{}
    req, err := http.NewRequest("POST", uri, reader)
    req.Header.Add("Content-Type", "application/json")
    req.Header.Add("Accept", "application/json")
    resp, err := client.Do(req)
    if err != nil {
        log.Fatal(err)
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println("####send msg##", string(body))
    var assetList T3
    err = json.Unmarshal(body, &assetList)
    return &assetList
}


func main()  {
    token1 := GetToken(CorpId, CorpSecret )
    //fmt.Println(token1.AccessToken)
    SendMessage(token1.AccessToken, "### hallo, ich bin TixnxxxXiang \n <font color=\\\"info\\\">Gutgen Tag</font> \n * Lexbzenhn", "lixxxxg@xiaoxxxxshu.com")
}


image.png

python

def send_wechat_markdown(username, content):
    url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxxxx&corpsecret=xxxxxxk"
    re = requests.get(url)
    token = json.loads(re.content).get("access_token")
    print(token)

    url2 = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + token
    data = {
        "touser": username,
        "msgtype": "markdown",
        "agentid": xxxxxx,
        "markdown": {
            "content": content
        },
        "safe": 0
    }
    data2 = json.dumps(data)

    r = requests.post(url2, data2)
    print("###", r.text, "###")
    r.close()

chatgroup

go

type ChatGroupJsonRes struct {
    Msgtype  string `json:"msgtype"`
    Markdown struct {
        Content interface{} `json:"content"`
    } `json:"markdown"`
}

type T4 struct {
    Errcode int    `json:"errcode"`
    Errmsg  string `json:"errmsg"`
}

func SendMsgChatGroupPerson(webhook string, person []string, comment string) (*T4) {
    var j ChatGroupJsonRes
    var perSionComment string
    for i, p := range person {
        fmt.Println(i)
        perSionComment = perSionComment + fmt.Sprintf("<@%s>", p)
    }
    j.Msgtype = "markdown"
    j.Markdown.Content = comment + "\n" + perSionComment

    data, err := json.Marshal(j)
    if err != nil {
        fmt.Println("err was %v", err)
    }
    fmt.Println(string(data))
    reader := bytes.NewReader(data)
    client := &http.Client{}
    req, err := http.NewRequest("POST", webhook, reader)
    req.Header.Add("Content-Type", "application/json")
    req.Header.Add("Accept", "application/json")
    resp, err := client.Do(req)
    if err != nil {
        log.Fatal(err)
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println("####send msg##", string(body))
    var assetList T4
    err = json.Unmarshal(body, &assetList)
    return &assetList
}



func main()  {
    userlist := []string{"litxang@xxhongshu.com", "yxu1@xxgshu.net"}
    url := "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxxxxx"
    SendMsgChatGroupPerson(url, userlist, "## hallo goway")

}

python

def send_markdown_msg_person(content, wx_url, group_list):
    # group_list 为list格式
    quserid = ''
    for i in group_list:
        quserid += '<@{userid}>'.format(userid=i)
    print("###userid:", quserid)
    content1 = content + '\n' + quserid
    # group_list 为list格式
    print(group_list, "#####group_list#dd#########")
    data = json.dumps({"msgtype": "markdown", "markdown": {"content": content1}})
    r = requests.post(wx_url, data, auth=('Content-Type', 'application/json'))
    print(r.text)

image.png


锅包肉
97 声望17 粉丝

这个人很懒,没有什么说的。