From 5b48d78da30847f83dad83efda528cbb30862c0b Mon Sep 17 00:00:00 2001 From: zhiyu1998 Date: Tue, 21 Mar 2023 00:26:45 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9D=8C=20del:=20=E5=88=A0=E9=99=A4=E5=8A=9F?= =?UTF-8?q?=E8=83=BD-=E7=83=AD=E6=90=9C[#I6NS81]=20&=20=E9=87=8D=E6=9E=84#?= =?UTF-8?q?=E6=8E=A8=E8=8D=90=E8=BD=AF=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 删除原因:有一部分用户觉得冷门 & 有一部分用户 * 代码重复,#推荐软件全部重构,方便后续维护 --- apps/query.js | 135 +++++++++++------------------------------------ config/help.yaml | 11 ++-- 2 files changed, 36 insertions(+), 110 deletions(-) diff --git a/apps/query.js b/apps/query.js index 54c1788..8c0d044 100644 --- a/apps/query.js +++ b/apps/query.js @@ -33,16 +33,8 @@ export class query extends plugin { fnc: "cat", }, { - reg: "^#电脑软件推荐$", - fnc: "computerRecommended", - }, - { - reg: "^#安卓软件推荐$", - fnc: "androidRecommended", - }, - { - reg: "^#(热搜)(.*)$", - fnc: "hotSearch", + reg: "^#推荐软件$", + fnc: "softwareRecommended", }, { reg: "^#买家秀$", @@ -168,100 +160,37 @@ export class query extends plugin { return !!(await this.reply(await Bot.makeForwardMsg(images))); } - async computerRecommended(e) { - let url = "https://www.ghxi.com/ghapi?type=query&n=pc"; - /** 调用接口获取数据 */ - let res = await fetch(url).catch(err => logger.error(err)); - - /** 接口结果,json字符串转对象 */ - res = await res.json(); - let msg = []; - res.data.list.forEach(element => { - const template = `推荐软件:${element.title}\n地址:${element.url}\n`; - msg.push({ - message: { type: "text", text: `${template}` }, - nickname: Bot.nickname, - user_id: Bot.user_id, + async softwareRecommended(e) { + // 接口 + const pcUrl = "https://www.ghxi.com/ghapi?type=query&n=pc"; + const andUrl = "https://www.ghxi.com/ghapi?type=query&n=and"; + // 一起请求 + const res = [ + await fetch(pcUrl) + .then(resp => resp.json()) + .catch(err => logger.error(err)), + await fetch(andUrl) + .then(resp => resp.json()) + .catch(err => logger.error(err)), + ]; + console.log(res); + // 时间复杂度(n^2) 待优化 + const msg = res.map(async recommend => { + return recommend.data.list.map(element => { + const template = `推荐软件:${element.title}\n地址:${element.url}\n`; + return { + message: { type: "text", text: template }, + nickname: e.sender.card || e.user_id, + user_id: e.user_id, + }; }); }); - /** 最后回复消息 */ - return !!this.reply(await Bot.makeForwardMsg(msg)); - } - - async androidRecommended(e) { - let url = "https://www.ghxi.com/ghapi?type=query&n=and"; - let res = await fetch(url).catch(err => logger.error(err)); - res = await res.json(); - let msg = []; - res.data.list.forEach(element => { - const template = `推荐软件:${element.title}\n地址:${element.url}\n`; - msg.push({ - message: { type: "text", text: `${template}` }, - nickname: Bot.nickname, - user_id: Bot.user_id, + await Promise.all(msg).then(res => { + res.forEach(async item => { + e.reply(await Bot.makeForwardMsg(item)); }); }); - return !!this.reply(await Bot.makeForwardMsg(msg)); - } - - async hotSearch(e) { - let keyword = e.msg.replace(/#|热搜/g, "").trim(); - let url = "https://api.vvhan.com/api/hotlist?type="; - switch (keyword) { - case "知乎": - url += "zhihuHot"; - break; - case "百度": - url += "baiduRD"; - break; - case "哔哩哔哩": - url += "bili"; - break; - case "贴吧": - url += "baiduRY"; - break; - case "微博": - url += "wbHot"; - break; - case "抖音": - url += "douyinHot"; - break; - default: - url += "bili"; - break; - } - let sendTemplate = { - nickname: this.e.sender.card || this.e.user_id, - user_id: this.e.user_id, - }; - let msg = []; - await fetch(url, { - headers: { - "User-Agent": - "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Mobile Safari/537.36", - "Content-Type": "application/json", - }, - }) - .then(resp => resp.json()) - .then(resp => { - for (let element of resp.data) { - if (_.isUndefined(element)) { - continue; - } - const template = ` - 标题:${_.isNull(element.title) ? "暂无" : element.title}\n - 简介:${_.isNull(element.desc) ? "暂无" : element.desc}\n - 热度:${_.isNull(element.hot) ? "暂无" : element.hot}\n - 访问详情:${_.isNull(element.url) ? "暂无" : element.url}\n - `; - msg.push({ - message: { type: "text", text: `${template}` }, - ...sendTemplate, - }); - } - }) - .catch(err => logger.error(err)); - return !!this.reply(await Bot.makeForwardMsg(msg)); + return true; } async buyerShow(e) { @@ -427,9 +356,9 @@ export class query extends plugin { await e.reply(await Bot.makeForwardMsg(zHelper)); await e.reply( "请选择一个你想要的ID、来源,例如:\n" + - "11918807 superlib\n" + - "只回复11918807 默认zlibrary\n" + - "书源若不对应则回复无效链接,数字字母之间空格", + "11918807 superlib\n" + + "只回复11918807 默认zlibrary\n" + + "书源若不对应则回复无效链接,数字字母之间空格", ); thisBookMethod.setContext("searchBookContext"); } diff --git a/config/help.yaml b/config/help.yaml index 25ca26d..6cad9f8 100644 --- a/config/help.yaml +++ b/config/help.yaml @@ -7,14 +7,11 @@ title: "#cat 开始吸猫" desc: 猫咪图捕捉 - icon: hot - title: "#热搜 虎扑/知乎/36氪/百度/哔哩哔哩/贴吧/微博/抖音/豆瓣/少数派/IT资讯/微信" - desc: 开局五子棋游戏 + title: "#评分 xxx" + desc: 电影评分 - icon: computer - title: "#电脑软件推荐" - desc: 推荐PC软件 - - icon: android - title: "#安卓软件推荐" - desc: 推荐安卓软件 + title: "#推荐软件" + desc: 推荐PC、Android软件 - icon: buyer title: "#买家秀" desc: 淘宝买家秀