【go库】钉钉机器人

简介: 钉钉机器人 go库github地址:github.com/greycodee/d…钉钉官方文档

钉钉机器人 go库

github地址:github.com/greycodee/d…

钉钉官方文档

快速开始


go get github.com/greycodee/dingbot

示例程序:

package main
import (
  "fmt"
  "github.com/greycodee/dingbot"
  "github.com/greycodee/dingbot/message"
  "time"
)
func main() {
  bot:= dingbot.DingBot{
    Secret:      "你的加签秘钥",
    AccessToken: "你的AccessToken【从钉钉机器人的url上获取】",
  }
  msg := message.Message{
    MsgType: message.TextStr,
    Text:    message.Text_{
      Content: "go-钉钉机器人测试",
    },
  }
  bot.Send(msg)
}

消息支持


  • text类型
  • link类型
  • markdown类型
  • 整体跳转ActionCard类型
  • 独立跳转ActionCard类型
  • FeedCard类型

使用

发送Text消息

func send() {
  bot:= dingbot.DingBot{
    Secret:      "你的加签秘钥",
    AccessToken: "你的AccessToken【从钉钉机器人的url上获取】",
  }
  msg := message.Message{
        MsgType: message.TextStr,
        Text:    message.Text_{
            Content: "go-钉钉机器人测试",
            At: message.At_{
                AtMobiles: []string{"188xxxxxxxx"},
                IsAtAll:   false,
            },
        },
    }
  bot.Send(msg)
}

发送link类型消息

func send() {
  bot:= dingbot.DingBot{
    Secret:      "你的加签秘钥",
    AccessToken: "你的AccessToken【从钉钉机器人的url上获取】",
  }
  msg := message.Message{
        MsgType: message.LinkStr,
        Link: message.Link_{
            Text:       "link测试123123",
            Title:      "go钉钉机器人",
            PicUrl:     "",
            MessageUrl: "https://developers.dingtalk.com/document/app/custom-robot-access/title-72m-8ag-pqw",
        },
    }
  bot.Send(msg)
}

发送markdown类型消息

func send() {
  bot:= dingbot.DingBot{
    Secret:      "你的加签秘钥",
    AccessToken: "你的AccessToken【从钉钉机器人的url上获取】",
  }
  msg := message.Message{
        MsgType: message.MarkdownStr,
        Markdown: message.Markdown_{
            Title: "go钉钉",
            Text:  "## go钉钉测试 @188xxxxxxxx \n>文本123",
            At:    message.At_{
                AtMobiles: []string{"188xxxxxxxx"},
                IsAtAll:   false,
            },
        },
    }
  bot.Send(msg)
}

发送整体跳转ActionCard类型消息

func send() {
  bot:= dingbot.DingBot{
    Secret:      "你的加签秘钥",
    AccessToken: "你的AccessToken【从钉钉机器人的url上获取】",
  }
  msg := message.Message{
        MsgType: message.ActionCardStr,
        ActionCard: message.ActionCard_{
            Title:          "ActionCard整体跳转11",
            Text:           "ActionCardt整体跳转1223",
            SingleTitle:    "阅读全文",
            SingleURL:      "https://developers.dingtalk.com/document/app/custom-robot-access/title-72m-8ag-pqw",
        },
    }
  bot.Send(msg)
}

发送独立跳转ActionCard类型消息

func send() {
    bot:= dingbot.DingBot{
        Secret:      "你的加签秘钥",
        AccessToken: "你的AccessToken【从钉钉机器人的url上获取】",
    }
    msg := message.Message{
        MsgType: message.ActionCardStr,
        ActionCard: message.ActionCard_{
            Title:          "ActionCard跳转11",
            Text:           "ActionCardt跳转1223",
            BtnOrientation: "1",
            HideAvatar:     "0",
            BtnS:           []message.Btn_{
                {
                    Title:     "按钮1",
                    ActionURL: "https://developers.dingtalk.com/",
                },
                {
                    Title:     "按钮2",
                    ActionURL: "https://developers.dingtalk.com/",
                },
            },
        },
    }
    bot.Send(msg)
}

发送FeedCard类型消息

func send() {
    bot:= dingbot.DingBot{
        Secret:      "你的加签秘钥",
        AccessToken: "你的AccessToken【从钉钉机器人的url上获取】",
    }
    msg := message.Message{
        MsgType:  message.FeedCardStr,
        FeedCard: message.FeedCard_{[]message.Link_{
            {
                Title:      "标题1",
                PicUrl:     "",
                MessageUrl: "https://developers.dingtalk.com/",
            },
            {
                Title:      "标题2",
                PicUrl:     "",
                MessageUrl: "https://developers.dingtalk.com/",
            },
        }},
    }
    bot.Send(msg)
}


目录
相关文章
|
3月前
|
Shell Go API
Go语言grequests库并发请求的实战案例
Go语言grequests库并发请求的实战案例
|
4月前
|
Rust 安全 算法
Go标准库的新 math/rand
Go标准库的新 math/rand
|
1月前
|
JSON Go 开发者
go-carbon v2.5.0 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持。
39 4
|
1月前
|
存储 Cloud Native Shell
go库介绍:Golang中的Viper库
Viper 是 Golang 中的一个强大配置管理库,支持环境变量、命令行参数、远程配置等多种配置来源。本文详细介绍了 Viper 的核心特点、应用场景及使用方法,并通过示例展示了其强大功能。无论是简单的 CLI 工具还是复杂的分布式系统,Viper 都能提供优雅的配置管理方案。
|
1月前
|
JSON 安全 网络协议
go语言使用内置函数和标准库
【10月更文挑战第18天】
21 3
|
1月前
|
JSON 监控 安全
go语言选择合适的工具和库
【10月更文挑战第17天】
15 2
|
1月前
|
存储 Go PHP
Go语言中的加解密利器:go-crypto库全解析
在软件开发中,数据安全和隐私保护至关重要。`go-crypto` 是一个专为 Golang 设计的加密解密工具库,支持 AES 和 RSA 等加密算法,帮助开发者轻松实现数据的加密和解密,保障数据传输和存储的安全性。本文将详细介绍 `go-crypto` 的安装、特性及应用实例。
80 0
|
2月前
|
Linux 编译器 Go
cgo--在Go中链接外部C库
cgo--在Go中链接外部C库
|
4月前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
164 1
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
4月前
|
存储 JSON 前端开发
一文搞懂 Go 1.21 的日志标准库 - slog
一文搞懂 Go 1.21 的日志标准库 - slog
174 2