diff --git a/Processor/Processor.go b/Processor/Processor.go index 12af8330..33dc5de8 100644 --- a/Processor/Processor.go +++ b/Processor/Processor.go @@ -1104,9 +1104,11 @@ func generateMdByConfig() (md *dto.Markdown, kb *keyboard.MessageKeyboard) { linkBots := config.GetLinkBots() imgURL := config.GetLinkPic() - //超过16个时候随机显示 - if len(linkBots) > 16 { - linkBots = getRandomSelection(linkBots, 16) + linknum := config.GetLinkNum() + + //超过n个时候随机显示 + if len(linkBots) > linknum { + linkBots = getRandomSelection(linkBots, linknum) } var mdParams []*dto.MarkdownParams diff --git a/config/config.go b/config/config.go index 32930042..887598e8 100644 --- a/config/config.go +++ b/config/config.go @@ -2327,3 +2327,16 @@ func GetLinkLines() int { return instance.Settings.LinkLines } + +// 获取GetLinkNum的值 +func GetLinkNum() int { + mu.Lock() + defer mu.Unlock() + + if instance == nil { + mylog.Println("Warning: instance is nil when trying to LinkNum value.") + return 6 //默认6个 + } + + return instance.Settings.LinkNum +} diff --git a/structs/structs.go b/structs/structs.go index 5c1bfa09..c524b209 100644 --- a/structs/structs.go +++ b/structs/structs.go @@ -154,6 +154,7 @@ type Settings struct { LinkText string `yaml:"link_text"` LinkPic string `yaml:"link_pic"` LinkLines int `yaml:"link_lines"` + LinkNum int `yaml:"link_num"` //HTTP API配置 HttpAddress string `yaml:"http_address"` AccessToken string `yaml:"http_access_token"` diff --git a/template/config_template.go b/template/config_template.go index cc137df2..a377af81 100644 --- a/template/config_template.go +++ b/template/config_template.go @@ -196,6 +196,7 @@ settings: link_text : "" #友情链接文本 不可为空! link_pic : "" #友情链接图片 可为空 需url图片 可带端口 不填可能会有显示错误 link_lines : 2 #内置的/link指令按钮列数(默认一行2个按钮) + link_num : 6 #在link_bots随机选n个bot上友情链接,在link_bots中随机n个,避免用户选择困难,少即是多 #HTTP API配置-正向http http_address: "" #http监听地址 与websocket独立 示例:0.0.0.0:5700 为空代表不开启