From f7308d59700fc432f2c78c384ef4ebdc6337f5ec Mon Sep 17 00:00:00 2001 From: zhiyu1998 <542716863@qq.com> Date: Tue, 28 May 2024 15:39:52 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix:=20=E4=BF=AE=E5=A4=8D=20wb?= =?UTF-8?q?=20=E9=83=A8=E5=88=86=E5=9B=BE=E7=89=87=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=8F=91=E9=80=81=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/tools.js | 31 +++++++++++++++++++++++++------ utils/common.js | 4 +++- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/apps/tools.js b/apps/tools.js index ad5835c..ec90409 100644 --- a/apps/tools.js +++ b/apps/tools.js @@ -1062,6 +1062,7 @@ export class tools extends plugin { return; } const id = weiboId.split("/")[1] || weiboId; + const that = this; axios.get(WEIBO_SINGLE_INFO.replace("{}", id), { headers: { "User-Agent": @@ -1075,13 +1076,31 @@ export class tools extends plugin { const { text, status_title, source, region_name, pics, page_info } = wbData; e.reply(`识别:微博,${ text.replace(/<[^>]+>/g, '') }\n${ status_title }\n${ source }\t${ region_name }`); if (pics) { + const removePath = []; // 图片 - const images = pics.map(item => ({ - message: segment.image(item?.large.url || item.url), - nickname: e.sender.card || e.user_id, - user_id: e.user_id, - })); - await this.reply(await Bot.makeForwardMsg(images)); + const imagesPromise = pics.map(item => { + // 下载 + return downloadImg(item?.large.url || item.url, this.getCurDownloadPath(e), "", false, { + "Referer": "http://blog.sina.com.cn/", + }); + }) + const images = await Promise.all(imagesPromise).then(paths => { + return paths.map(item => { + // 记录删除的路径 + removePath.push(item); + // 格式化发送图片 + return { + message: segment.image(fs.readFileSync(item)), + nickname: e.sender.card || e.user_id, + user_id: e.user_id, + } + }) + }) + await e.reply(await Bot.makeForwardMsg(images)); + // 发送完就删除 + removePath.forEach(async item => { + checkAndRemoveFile(item); + }) } if (page_info) { // 视频 diff --git a/utils/common.js b/utils/common.js index 86d7d4e..19227c8 100644 --- a/utils/common.js +++ b/utils/common.js @@ -187,9 +187,10 @@ export async function downloadMp3(mp3Url, path, title = "temp", redirect = "manu * @param dir * @param fileName * @param isProxy + * @param headersExt * @returns {Promise} */ -export async function downloadImg(img, dir, fileName = "", isProxy = false) { +export async function downloadImg(img, dir, fileName = "", isProxy = false, headersExt = {}) { if (fileName === "") { fileName = img.split("/").pop(); } @@ -200,6 +201,7 @@ export async function downloadImg(img, dir, fileName = "", isProxy = false) { 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", + ...headersExt }, responseType: "stream", };