使用 Go 语言通过钉钉机器人发送消息

在本文中,我们将介绍如何通过钉钉机器人发送消息。钉钉提供了一个简单的 API,允许你通过 Webhook URL 向指定的群组发送消息。通过这个方法,你可以将系统通知、报警信息等发送到钉钉群。

第一步:创建钉钉机器人

  1. 打开钉钉客户端,进入目标群组。

  2. 点击右上角的设置按钮,选择“群机器人”。

  3. 添加一个自定义机器人,记录生成的 Webhook URL。

第二步:编写 Go 程序发送消息

下面是一个简单的 Go 语言示例,展示如何向钉钉发送消息并@指定人员:

package main
​
import (
    "bytes"
    "encoding/json"
    "fmt"
    "log"
    "net/http"
)
​
// 钉钉机器人 Webhook URL,需替换为你自己的钉钉机器人 URL
const dingTalkWebhook = "https://oapi.dingtalk.com/robot/send?access_token=your_access_token"
​
// sendMessage 函数用于通过钉钉机器人发送消息
func sendMessage(content string, atMobiles []string) error {
    // 构造钉钉消息格式
    message := map[string]interface{}{
        "msgtype": "text", // 消息类型为文本
        "text": map[string]string{
            "content": content, // 消息内容
        },
        "at": map[string]interface{}{
            "atMobiles": atMobiles, // 需要@的手机号列表
            "isAtAll":   false,     // 是否@所有人
        },
    }
​
    // 将消息转换为 JSON 格式
    bytesRepresentation, err := json.Marshal(message)
    if err != nil {
        log.Println("JSON 序列化失败:", err)
        return err
    }
​
    // 发送 HTTP POST 请求到钉钉机器人
    resp, err := http.Post(dingTalkWebhook, "application/json", bytes.NewBuffer(bytesRepresentation))
    if err != nil {
        log.Println("发送消息失败:", err)
        return err
    }
    defer resp.Body.Close()
​
    // 打印发送成功日志
    log.Println("钉钉消息发送成功:", content)
    return nil
}
​
func main() {
    // 示例消息内容
    messageContent := "测试消息:这是通过钉钉机器人发送的通知"
    // 示例需要@的手机号
    atMobiles := []string{"13000000000"}  //必须是注册钉钉的手机号@才会有效果
​
    // 调用发送消息函数
    err := sendMessage(messageContent, atMobiles)
    if err != nil {
        log.Fatalf("发送钉钉消息失败: %v", err)
    } else {
        fmt.Println("消息发送成功!")
    }
}
​

最后附上效果图,根据自己的业务逻辑可以编辑这些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值