del: 删除功能-热搜[#I6NS81] & 重构#推荐软件

* 删除原因:有一部分用户觉得冷门 & 有一部分用户
* 代码重复,#推荐软件全部重构,方便后续维护
This commit is contained in:
zhiyu1998 2023-03-21 00:26:45 +08:00
parent e1bec3c247
commit 5b48d78da3
2 changed files with 36 additions and 110 deletions

View File

@ -33,16 +33,8 @@ export class query extends plugin {
fnc: "cat", fnc: "cat",
}, },
{ {
reg: "^#电脑软件推荐$", reg: "^#推荐软件$",
fnc: "computerRecommended", fnc: "softwareRecommended",
},
{
reg: "^#安卓软件推荐$",
fnc: "androidRecommended",
},
{
reg: "^#(热搜)(.*)$",
fnc: "hotSearch",
}, },
{ {
reg: "^#买家秀$", reg: "^#买家秀$",
@ -168,100 +160,37 @@ export class query extends plugin {
return !!(await this.reply(await Bot.makeForwardMsg(images))); return !!(await this.reply(await Bot.makeForwardMsg(images)));
} }
async computerRecommended(e) { async softwareRecommended(e) {
let url = "https://www.ghxi.com/ghapi?type=query&n=pc"; // 接口
/** 调用接口获取数据 */ const pcUrl = "https://www.ghxi.com/ghapi?type=query&n=pc";
let res = await fetch(url).catch(err => logger.error(err)); const andUrl = "https://www.ghxi.com/ghapi?type=query&n=and";
// 一起请求
/** 接口结果json字符串转对象 */ const res = [
res = await res.json(); await fetch(pcUrl)
let msg = []; .then(resp => resp.json())
res.data.list.forEach(element => { .catch(err => logger.error(err)),
const template = `推荐软件:${element.title}\n地址:${element.url}\n`; await fetch(andUrl)
msg.push({ .then(resp => resp.json())
message: { type: "text", text: `${template}` }, .catch(err => logger.error(err)),
nickname: Bot.nickname, ];
user_id: Bot.user_id, 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,
};
}); });
}); });
/** 最后回复消息 */ await Promise.all(msg).then(res => {
return !!this.reply(await Bot.makeForwardMsg(msg)); res.forEach(async item => {
} e.reply(await Bot.makeForwardMsg(item));
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,
}); });
}); });
return !!this.reply(await Bot.makeForwardMsg(msg)); return true;
}
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));
} }
async buyerShow(e) { async buyerShow(e) {
@ -427,9 +356,9 @@ export class query extends plugin {
await e.reply(await Bot.makeForwardMsg(zHelper)); await e.reply(await Bot.makeForwardMsg(zHelper));
await e.reply( await e.reply(
"请选择一个你想要的ID、来源例如\n" + "请选择一个你想要的ID、来源例如\n" +
"11918807 superlib\n" + "11918807 superlib\n" +
"只回复11918807 默认zlibrary\n" + "只回复11918807 默认zlibrary\n" +
"书源若不对应则回复无效链接,数字字母之间空格", "书源若不对应则回复无效链接,数字字母之间空格",
); );
thisBookMethod.setContext("searchBookContext"); thisBookMethod.setContext("searchBookContext");
} }

View File

@ -7,14 +7,11 @@
title: "#cat 开始吸猫" title: "#cat 开始吸猫"
desc: 猫咪图捕捉 desc: 猫咪图捕捉
- icon: hot - icon: hot
title: "#热搜 虎扑/知乎/36氪/百度/哔哩哔哩/贴吧/微博/抖音/豆瓣/少数派/IT资讯/微信" title: "#评分 xxx"
desc: 开局五子棋游戏 desc: 电影评分
- icon: computer - icon: computer
title: "#电脑软件推荐" title: "#推荐软件"
desc: 推荐PC软件 desc: 推荐PC、Android软件
- icon: android
title: "#安卓软件推荐"
desc: 推荐安卓软件
- icon: buyer - icon: buyer
title: "#买家秀" title: "#买家秀"
desc: 淘宝买家秀 desc: 淘宝买家秀