feat: 配置列表分页与钉钉机器人分钟级排队限流
统一 sources/templates/channels/rules 列表为分页响应,避免配置增多时全量返回;按钉钉 access_token 限制每分钟发送并在超限时等待下一分钟,降低触发官方封禁风险。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -13,10 +13,10 @@ type ChannelSender interface {
|
||||
Send(title, content string, config json.RawMessage) error
|
||||
}
|
||||
|
||||
func NewSender(channelType string, smtpCfg *config.SMTPConfig) (ChannelSender, error) {
|
||||
func NewSender(channelType string, smtpCfg *config.SMTPConfig, dingtalkLimiter *DingTalkLimiter) (ChannelSender, error) {
|
||||
switch channelType {
|
||||
case "dingtalk":
|
||||
return &DingTalkSender{}, nil
|
||||
return &DingTalkSender{limiter: dingtalkLimiter}, nil
|
||||
case "wecom":
|
||||
return &WeComSender{}, nil
|
||||
case "bark":
|
||||
|
||||
Reference in New Issue
Block a user