diff --git a/handlers/message_parser.go b/handlers/message_parser.go index 19c02690..160526af 100644 --- a/handlers/message_parser.go +++ b/handlers/message_parser.go @@ -250,6 +250,8 @@ func parseMessageContent(paramsMessage callapi.ParamsContent, message callapi.Ac base64RecordPattern := regexp.MustCompile(`\[CQ:record,file=base64://(.+?)\]`) httpUrlRecordPattern := regexp.MustCompile(`\[CQ:record,file=http://(.+?)\]`) httpsUrlRecordPattern := regexp.MustCompile(`\[CQ:record,file=https://(.+?)\]`) + httpUrlVideoPattern := regexp.MustCompile(`\[CQ:video,file=http://(.+?)\]`) + httpsUrlVideoPattern := regexp.MustCompile(`\[CQ:video,file=https://(.+?)\]`) mdPattern := regexp.MustCompile(`\[CQ:markdown,data=base64://(.+?)\]`) qqMusicPattern := regexp.MustCompile(`\[CQ:music,type=qq,id=(\d+)\]`) @@ -267,6 +269,8 @@ func parseMessageContent(paramsMessage callapi.ParamsContent, message callapi.Ac {"url_records", httpsUrlRecordPattern}, {"markdown", mdPattern}, {"qqmusic", qqMusicPattern}, + {"url_video", httpUrlVideoPattern}, + {"url_videos", httpsUrlVideoPattern}, } foundItems := make(map[string][]string) diff --git a/handlers/send_group_msg.go b/handlers/send_group_msg.go index 0d4d3e0d..8f22ed32 100644 --- a/handlers/send_group_msg.go +++ b/handlers/send_group_msg.go @@ -939,6 +939,26 @@ func generateGroupMessage(id string, foundItems map[string][]string, messageText MsgType: 2, } } + } else if videoURL, ok := foundItems["url_video"]; ok && len(videoURL) > 0 { + newvideolink := "http://" + videoURL[0] + // 发链接视频 http + return &dto.RichMediaMessage{ + EventID: id, + FileType: 2, // 2代表视频 + URL: newvideolink, // 新图片链接 + Content: "", // 这个字段文档没有了 + SrvSendMsg: false, + } + } else if videoURLs, ok := foundItems["url_videos"]; ok && len(videoURLs) > 0 { + newvideolink := "https://" + videoURLs[0] + // 发链接视频 https + return &dto.RichMediaMessage{ + EventID: id, + FileType: 2, // 2代表视频 + URL: newvideolink, // 新图片链接 + Content: "", // 这个字段文档没有了 + SrvSendMsg: false, + } } else { // 返回文本信息 return &dto.MessageToCreate{