diff --git a/setutime/utils/ascii2d.go b/setutime/utils/ascii2d.go index 986adae6..82ecbec6 100644 --- a/setutime/utils/ascii2d.go +++ b/setutime/utils/ascii2d.go @@ -1,19 +1,19 @@ package utils import ( - "errors" "fmt" "net/http" "net/url" "strings" xpath "github.com/antchfx/htmlquery" + "github.com/wdvxdr1123/ZeroBot/message" ) // Ascii2dSearch Ascii2d 以图搜图 // 第一个参数 返回错误 // 第二个参数 返回的信息 -func Ascii2dSearch(pic string) (text string, err error) { +func Ascii2dSearch(pic string) (message.Message, error) { var ( api = "https://ascii2d.net/search/uri" ) @@ -35,7 +35,7 @@ func Ascii2dSearch(pic string) (text string, err error) { req.Header.Set("Accept", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0") resp, err := client.Do(req) if err != nil { - return "", err + return nil, err } // 色合检索改变到特征检索 var bovwUrl = strings.ReplaceAll(resp.Request.URL.String(), "color", "bovw") @@ -44,13 +44,13 @@ func Ascii2dSearch(pic string) (text string, err error) { bovwReq.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36") bovwResp, err := client.Do(bovwReq) if err != nil { - return "", err + return nil, err } defer bovwResp.Body.Close() // 解析XPATH doc, err := xpath.Parse(resp.Body) if err != nil { - return "", err + return nil, err } // 取出每个返回的结果 list := xpath.Find(doc, `//div[@class="row item-box"]`) @@ -69,32 +69,29 @@ func Ascii2dSearch(pic string) (text string, err error) { // 链接取出PIXIV id var index = strings.LastIndex(link, "/") if link == "" || index == -1 { - return "", errors.New("Ascii2d not found") + return nil, fmt.Errorf("Ascii2d not found") } var id = Str2Int(link[index+1:]) if id == 0 { - return "", errors.New("convert to pid error") + return nil, fmt.Errorf("convert to pid error") } // 根据PID查询插图信息 var illust = &Illust{} if err := illust.IllustInfo(id); err != nil { - return "", err + return nil, err } if illust.AgeLimit != "all-age" { - return "", errors.New("Ascii2d not found") + return nil, fmt.Errorf("Ascii2d not found") } // 返回插图信息文本 - return fmt.Sprintf( - `[SetuTime] emmm大概是这个? -标题:%s -插画ID:%d -画师:%s -画师ID:%d -直链:https://pixivel.moe/detail?id=%d`, - illust.Title, - illust.Pid, - illust.UserName, - illust.UserId, - illust.Pid, - ), nil + return message.Message{ + message.Text( + "[SetuTime] emmm大概是这个?", "\n", + "标题:", illust.Title, "\n", + "插画ID:", illust.Pid, "\n", + "画师:", illust.UserName, "\n", + "画师ID:", illust.UserId, "\n", + "直链:", "https://pixivel.moe/detail?id=", illust.Pid, + ), + }, nil } diff --git a/setutime/utils/download.go b/setutime/utils/download.go index 30934849..5dbcab02 100644 --- a/setutime/utils/download.go +++ b/setutime/utils/download.go @@ -50,9 +50,8 @@ func (this *Illust) PixivPicDown(path string) (savePath string, err error) { if err != nil { return "", err } - fmt.Println(resp.StatusCode) - if code := resp.StatusCode; code != 200 { - return "", errors.New(fmt.Sprintf("Download failed, code %d", code)) + if resp.StatusCode != 200 { + return "", errors.New(fmt.Sprintf("Download failed, code %d", resp.StatusCode)) } defer resp.Body.Close() // 写入文件