refactor: 更新 RSS 订阅功能,调整正则表达式以匹配不一定以 .xml 结尾的 RSS 链接,增强代码的灵活性和准确性

This commit is contained in:
lixiangwuxian 2025-07-17 14:40:41 +08:00
parent 791f411596
commit 2ec720e985

View File

@ -35,8 +35,8 @@ func Subscribe(msg model.Message) (reply *model.Reply) {
var subscribedFeeds []string
for _, data := range msg.StructuredMsg {
if data.GetMessageType() == "text" {
// 匹配RSS链接可选协议域名包含所有顶级域路径必须以.xml结尾
urls := regexp.MustCompile(`(?i)(?:https?://)?(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(?:/[^\s]*)?\.xml\b`).FindAllString(data.(*qq_message.TextMessage).Data.Text, -1)
// 匹配RSS链接可选协议域名包含所有顶级域路径不一定以.xml结尾
urls := regexp.MustCompile(`(?i)(?:https?://)?(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(?:/[^\s]*)?(?:\.xml)?\b`).FindAllString(data.(*qq_message.TextMessage).Data.Text, -1)
if len(urls) > 0 {
for _, url := range urls {
if title, err := SubscribeToFeed(url, msg.UserId, msg.GroupInfo.GroupId); err == nil {