diff --git a/coolq/api.go b/coolq/api.go index 470fba8..80bab03 100644 --- a/coolq/api.go +++ b/coolq/api.go @@ -1070,6 +1070,12 @@ func (bot *CQBot) CQGetEssenceMessageList(groupCode int64) MSG { return OK(list) } +func (bot *CQBot) CQCheckUrlSafely(url string) MSG { + return OK(MSG{ + "level": bot.Client.CheckUrlSafely(url), + }) +} + func (bot *CQBot) CQGetVersionInfo() MSG { wd, _ := os.Getwd() return OK(MSG{ diff --git a/server/http.go b/server/http.go index 180d9c5..2ddfae2 100644 --- a/server/http.go +++ b/server/http.go @@ -506,6 +506,10 @@ func GetEssenceMsgList(s *httpServer, c *gin.Context) { c.JSON(200, s.bot.CQGetEssenceMessageList(gid)) } +func CheckUrlSafely(s *httpServer, c *gin.Context) { + c.JSON(200, s.bot.CQCheckUrlSafely(getParam(c, "url"))) +} + func getParamOrDefault(c *gin.Context, k, def string) string { r := getParam(c, k) if r != "" { @@ -601,6 +605,7 @@ var httpApi = map[string]func(s *httpServer, c *gin.Context){ "set_group_portrait": SetGroupPortrait, "set_group_anonymous_ban": SetGroupAnonymousBan, "get_group_msg_history": GetGroupMessageHistory, + "check_url_safely": CheckUrlSafely, "download_file": DownloadFile, ".handle_quick_operation": HandleQuickOperation, ".ocr_image": OcrImage, diff --git a/server/websocket.go b/server/websocket.go index bf92628..282f96d 100644 --- a/server/websocket.go +++ b/server/websocket.go @@ -601,6 +601,9 @@ var wsAPI = map[string]func(*coolq.CQBot, gjson.Result) coolq.MSG{ "get_essence_msg_list": func(bot *coolq.CQBot, p gjson.Result) coolq.MSG { return bot.CQGetEssenceMessageList(p.Get("group_id").Int()) }, + "check_urk_safely": func(bot *coolq.CQBot, p gjson.Result) coolq.MSG { + return bot.CQCheckUrlSafely(p.Get("url").String()) + }, "set_group_anonymous_ban": func(bot *coolq.CQBot, p gjson.Result) coolq.MSG { obj := p.Get("anonymous") flag := p.Get("anonymous_flag")