赞
踩
在工作中,通过飞书机器人推送消息的需求还是挺常见的,例如,推送监控报警、创建文档、账单确认等。在该类场景下,我们可以在群组中添加自定义机器人,自定义机器人默认提供 webhook
,通过服务端调用 webhook
地址,即可将外部系统的消息通知即时推送到群组中。自定义机器人也包含了 自定义关键词、IP 白名单 和 签名 三种维度的安全配置,便于控制 webhook
的调用范围。
在该例子中,主要实现一下通过签名的方式发送简单文本消息的飞书机器人。
ToKen
与SecretKey
的获取:飞书文档
注意Token
是https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx
后那串xxxxxxxxxxxxxxxxx
SecretKey
则在机器人 安全设置-签名校验
注:在代码中,可以将Token
和SecretKey
作为常量存起来,但是有时候为了发送到不同的群,也可以使用flag
方式通过参数传入。
package main import ( "flag" "fmt" "github.com/CatchZeng/feishu/pkg/feishu" ) const ( Token = "052f427f-3f57-455a-XXXX-XXXXXXXXX" SecretKey = "aQkBeQyAgXXXXXXXXXX" ) func main() { token := flag.String("token", "", "飞书机器人webhook token") secretKey := flag.String("secret_key", "", "飞书机器人-安全设置-签名秘钥") flag.Parse() client := feishu.NewClient(*token, *secretKey) // client := feishu.NewClient(Token, SecretKey) msg := feishu.NewTextMessage() msg.Content.Text = "hello world!" _, response, err := client.Send(msg) if err != nil { panic(any(err)) } fmt.Println(response) }
执行:go run main.go -token=052f427f-3f57-455a-XXXX-XXXXXXXXX" -secret_key="aQkBeQyAgXXXXXXXXXX"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。