V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huihuiHK
V2EX  ›  程序员

[go 库] 钉钉机器人

  •  
  •   huihuiHK · 2021-03-19 14:45:30 +08:00 · 943 次点击
    这是一个创建于 473 天前的主题,其中的信息可能已经有所发展或是发生改变。

    钉钉机器人 go 库

    github 地址: https://github.com/greycodee/dingbot

    钉钉官方文档

    快速开始

        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)
    
    }
    

    消息支持

    • <input checked="" disabled="" type="checkbox"> text 类型
    • <input checked="" disabled="" type="checkbox"> link 类型
    • <input checked="" disabled="" type="checkbox"> markdown 类型
    • <input checked="" disabled="" type="checkbox"> 整体跳转 ActionCard 类型
    • <input checked="" disabled="" type="checkbox"> 独立跳转 ActionCard 类型
    • <input checked="" disabled="" type="checkbox"> 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)
    }
    

    原文地址: [ go 库] 钉钉机器人

    目前尚无回复
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2809 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 14:54 · PVG 22:54 · LAX 07:54 · JFK 10:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.