Documentation
¶
Index ¶
- func GenDingtalkSign(secret string, timestamp int64) (string, error)
- func GenSign(secret string, timestamp int64) (string, error)
- func RegisterAllSenders()
- func RegisterSender(platform string, sender Sender)
- type DefaultSender
- type DingtalkSender
- type FeishuSender
- type Receiver
- type SendResult
- type Sender
- type WechatSender
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenDingtalkSign ¶ added in v0.0.157
GenDingtalkSign generates signature for Dingtalk webhook
func RegisterSender ¶
RegisterSender registers a new platform sender.
Types ¶
type DefaultSender ¶
type DefaultSender struct{}
func (*DefaultSender) Name ¶
func (d *DefaultSender) Name() string
DefaultSender 以通用方式发送 Webhook 请求 功能: 1) 使用 Receiver.BodyTemplate 作为 htpl 模板渲染请求体 2) 使用 POST 方法发送到 Receiver.TargetURL 3) 不支持签名功能(签名由各平台专用 Sender 处理)
func (*DefaultSender) Send ¶
func (d *DefaultSender) Send(msg string, raw string, receiver *Receiver) (*SendResult, error)
Send 发送消息到自定义 Webhook 参数: - msg: 原始消息字符串,作为模板上下文中的 summary 字段 - receiver: Webhook 接收端配置(包含模板、签名算法、HTTP 方法等) 返回:发送结果与错误
type DingtalkSender ¶ added in v0.0.157
type DingtalkSender struct{}
DingtalkSender implements webhook sending for Dingtalk.
func (*DingtalkSender) Name ¶ added in v0.0.157
func (d *DingtalkSender) Name() string
func (*DingtalkSender) Send ¶ added in v0.0.157
func (d *DingtalkSender) Send(msg string, raw string, receiver *Receiver) (*SendResult, error)
type FeishuSender ¶
type FeishuSender struct{}
FeishuSender implements webhook sending for Feishu.
func (*FeishuSender) Name ¶
func (f *FeishuSender) Name() string
func (*FeishuSender) Send ¶
func (f *FeishuSender) Send(msg string, raw string, receiver *Receiver) (*SendResult, error)
type Receiver ¶
Receiver represents a user-defined webhook endpoint.
func NewDingtalkReceiver ¶ added in v0.0.157
NewDingtalkReceiver 快捷创建钉钉 Receiver
func NewFeishuReceiver ¶
NewFeishuReceiver 快捷创建飞书 Receiver
func NewWechatReceiver ¶ added in v0.0.165
NewWechatReceiver 快捷创建企业微信 Receiver(群机器人)
type SendResult ¶
SendResult holds the result of a webhook send attempt.
func PushMsgToAllTargets ¶
func PushMsgToAllTargets(msg string, raw string, receivers []*models.WebhookReceiver) []*SendResult
func PushMsgToSingleTarget ¶
func PushMsgToSingleTarget(msg string, raw string, receiver *models.WebhookReceiver) *SendResult
type Sender ¶
type Sender interface {
Name() string
Send(msg string, raw string, receiver *Receiver) (*SendResult, error)
}
Sender defines the webhook adapter interface.
type WechatSender ¶ added in v0.0.165
type WechatSender struct{}
WechatSender 企业微信群机器人 Sender,实现 webhook 发送能力。 参考官方企业微信群机器人接口,默认以 markdown 格式发送消息。 注意:企业微信群机器人仅需在 URL 中携带 key,无需额外签名。
func (*WechatSender) Name ¶ added in v0.0.165
func (w *WechatSender) Name() string
Name 返回平台名称,用于注册与选择对应 Sender。
func (*WechatSender) Send ¶ added in v0.0.165
func (w *WechatSender) Send(msg string, raw string, receiver *Receiver) (*SendResult, error)
Send 发送消息到企业微信群机器人。 参数 msg 为最终要发送的文本内容;receiver 为统一的目标配置。 默认使用 markdown 消息体结构:
{
"msgtype": "markdown",
"markdown": {
"content": "..."
}
}