From 579d7bfe589327db50e8e40990dd4a3cc74eb356 Mon Sep 17 00:00:00 2001 From: zhiyu1998 Date: Tue, 21 Mar 2023 21:26:06 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=83=AD=E6=90=9C[#I6NS81]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/query.js | 31 +++++++++++++++++++++++++++++-- apps/tools.js | 2 +- utils/constant.js | 11 +++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/apps/query.js b/apps/query.js index 53f699d..f4dd2cb 100644 --- a/apps/query.js +++ b/apps/query.js @@ -8,7 +8,7 @@ import _ from "lodash"; import axios from "axios"; import fs from "node:fs"; // 常量 -import { CAT_LIMIT } from "../utils/constant.js"; +import {CAT_LIMIT, HOT_SEARCH_ACTIONS, TEN_THOUSAND} from "../utils/constant.js"; // 书库 import { getZHelper, getYiBook, getBookDetail } from "../utils/books.js"; @@ -28,6 +28,10 @@ export class query extends plugin { reg: "^#(cat)$", fnc: "cat", }, + { + reg: "^#热搜(.*)", + fnc: "hotSearch", + }, { reg: "^#推荐软件$", fnc: "softwareRecommended", @@ -104,7 +108,7 @@ export class query extends plugin { .then(data => data.json()) .then(json => json.map(item => item.url))), ]; - e.reply("涩图也不看了,就看猫是吧, 探索中..."); + e.reply("涩图也不看了,就看猫是吧"); reqRes.forEach(item => { images.push({ message: segment.image(item), @@ -115,6 +119,29 @@ export class query extends plugin { return !!(await this.reply(await Bot.makeForwardMsg(images))); } + async hotSearch(e) { + const platform = e.msg.replace('#热搜', "").trim(); + const apiAddr = HOT_SEARCH_ACTIONS?.[platform] + if (_.isEmpty(apiAddr)) { + e.reply('暂时无法查询该平台的热搜'); + return true; + } + const hots = await fetch(apiAddr).then(async res => { + const resJson = JSON.parse(await res.text())?.data; + return resJson.map((item, index) => { + const {name, hot, url} = item + const template = `${index+1}. 标题:${name}\n热度:${_.isNaN(hot) ? Number(hot/TEN_THOUSAND).toFixed(1)+"万" : '暂无'}\n链接:${url}` + return { + message: { type: "text", text: template }, + nickname: e.sender.card || e.user_id, + user_id: e.user_id + } + }) + }); + e.reply(await Bot.makeForwardMsg(hots)) + return true; + } + async softwareRecommended(e) { // 接口 const pcUrl = "https://www.ghxi.com/ghapi?type=query&n=pc"; diff --git a/apps/tools.js b/apps/tools.js index e5d6091..0955f79 100644 --- a/apps/tools.js +++ b/apps/tools.js @@ -107,7 +107,7 @@ export class tools extends plugin { if (_.isEmpty(this.toolsConfig.translateAppId) || _.isEmpty(this.toolsConfig.translateSecret)) { try { // 咕咕翻译 - translateResult = await translateEngine.google(place, language[1]); + translateResult = "📝咕咕翻译:" + await translateEngine.google(place, language[1]); } catch (err) { logger.error("咕咕翻译失败"); } finally { diff --git a/utils/constant.js b/utils/constant.js index 2a61721..68d1309 100644 --- a/utils/constant.js +++ b/utils/constant.js @@ -28,3 +28,14 @@ export const TEN_THOUSAND = 10000; export const CAT_LIMIT = 10; export const XHS_CK = 'eGhzVHJhY2tlcklkPTczODhhYmY2LTI0MDgtNGU5YS04MTUyLTE0MGVhOGY1MTQ5ZjsgeGhzVHJhY2tlcklkLnNpZz1UcGUxTkNaX3B3UkFYdG01SVJmVEs0SWUxM0xBaGZuNmNZU2N4Vi1JYWxFOyBhMT0xODY2ZDkwMDM0NmI2NmppcjMzcGpxZ2MwM3JvcG1mczAydXMxdWNoeDEwMDAwMTM1MDUzOyB3ZWJJZD1mMTNkOGJkYjhiZGM3ZGE0MzY0NjA4NWJjYzQ1MDQ1YTsgZ2lkPXlZS0tmajg4SzA4MnlZS0tmajg4cUo3UzRLREtLVjNGcXFVVjd4Q0FrUzhxRk15OGxVNmlNeTg4OHlxMjgycThmMlk0UzAySjsgZ2lkLnNpZ249YlpzcFFzSUxEUmN5akZLQmN2L1FMWVhkU3lvPTsgd2ViX3Nlc3Npb249MDMwMDM3YTRjMDQyYjE1ZTVjMTg4OTUwOGIyNDRhZDExM2UwNTM7IHhoc1RyYWNrZXI9dXJsPW5vdGVEZXRhaWwmeGhzc2hhcmU9V2VpeGluU2Vzc2lvbjsgeGhzVHJhY2tlci5zaWc9YzdmcDVRclk2SGNvVERhUzluX2N3Z2RCRHh2MFZmWnpSU1NTcnlzbG5lQTsgZXh0cmFfZXhwX2lkcz1oNV8yMzAyMDExX29yaWdpbixoNV8xMjA4X2NsdCxoNV8xMTMwX2NsdCxpb3Nfd3hfbGF1bmNoX29wZW5fYXBwX2V4cCxoNV92aWRlb191aV9leHAzLHd4X2xhdW5jaF9vcGVuX2FwcF9kdXJhdGlvbl9vcmlnaW4scXVlc19jbHQyOyBleHRyYV9leHBfaWRzLnNpZz1DVUdrR3NYT3lBZmpVSXkyVGo3SjN4YmRNakFfSnpoR1JkYWd6cVlkbmJnOyB3ZWJCdWlsZD0xLjEuMjE7IHhzZWNhcHBpZD14aHMtcGMtd2ViOyB3ZWJzZWN0aWdhPTU5ZDNlZjFlNjBjNGFhMzdhN2RmM2MyMzQ2N2JkNDZkN2YxZGEwYjE5MThjZjMzNWVlN2YyZTllNTJhYzA0Y2Y7IHNlY19wb2lzb25faWQ9MTI0OTE1NWQtOWU5ZS00MzkyLTg2NTgtNTA1Yzc0YTUzMTM1' + +const HOT_SEARCH_API = 'https://tenapi.cn/v2/' +export const HOT_SEARCH_ACTIONS = { + "抖音": HOT_SEARCH_API + "douyinhot", + "百度": HOT_SEARCH_API + "baiduhot", + "微博": HOT_SEARCH_API + "weibohot", + "知乎": HOT_SEARCH_API + "zhihuhot", + "哔哩哔哩": HOT_SEARCH_API + "bilihot", + "头条": HOT_SEARCH_API + "toutiaohot", + "头条新闻": HOT_SEARCH_API + "toutiaohotnew" +} \ No newline at end of file