From c123d68537b23629384e7271dba3a01dc4deef69 Mon Sep 17 00:00:00 2001 From: zhiyu1998 <542716863@qq.com> Date: Sat, 2 Mar 2024 22:20:48 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20V1.5.2=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?weibo=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/tools.js | 60 ++++++++++++++++++++++++++++++++++- config/help.yaml | 3 ++ config/version.yaml | 5 ++- constants/tools.js | 6 ++++ resources/img/icon/weibo.png | Bin 0 -> 4271 bytes 5 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 resources/img/icon/weibo.png diff --git a/apps/tools.js b/apps/tools.js index 29b7689..a84f507 100644 --- a/apps/tools.js +++ b/apps/tools.js @@ -50,7 +50,7 @@ import { TWITTER_TWEET_INFO, XHS_REQ_LINK, XHS_VIDEO, - GENERAL_REQ_LINK + GENERAL_REQ_LINK, WEIBO_SINGLE_INFO } from "../constants/tools.js"; import child_process from 'node:child_process' import { getAudio, getVideo } from "../utils/y2b.js"; @@ -145,6 +145,10 @@ export class tools extends plugin { reg: "(music.163.com|163cn.tv)", fnc: "netease", }, + { + reg: "(weibo.com|m.weibo.cn)", + fnc: "weibo", + } ], }); // 配置文件 @@ -929,6 +933,60 @@ export class tools extends plugin { } } + // 微博解析 + async weibo(e) { + let weiboId; + // 对已知情况进行判断 + if (e.msg.includes("m.weibo.cn")) { + // https://m.weibo.cn/detail/4976424138313924 + weiboId = /(?<=detail\/)[A-Za-z\d]+/.exec(e.msg)?.[0]; + } else { + // https://weibo.com/1707895270/5006106478773472 + weiboId = /(?<=weibo.com\/)[A-Za-z\d]+\/[A-Za-z\d]+/.exec(e.msg)?.[0]; + } + // 无法获取id就结束 + if (!weiboId) { + e.reply("解析失败:无法获取到wb的id"); + return; + } + const id = weiboId.split("/")[1] || weiboId; + axios.get(WEIBO_SINGLE_INFO.replace("{}", id), { + headers: { + "User-Agent": + "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36", + "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", + "cookie": "_T_WM=40835919903; WEIBOCN_FROM=1110006030; MLOGIN=0; XSRF-TOKEN=4399c8", + } + }) + .then(async resp => { + const wbData = resp.data.data; + 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 images = pics.map(item => ({ + message: segment.image(item.url), + nickname: e.sender.card || e.user_id, + user_id: e.user_id, + })); + await this.reply(await Bot.makeForwardMsg(images)); + } + if (page_info) { + // 视频 + const videoUrl = page_info.urls?.mp4_720p_mp4 || page_info.urls?.mp4_hd_mp4; + try { + this.downloadVideo(videoUrl).then(path => { + e.reply(segment.video(path + "/temp.mp4")); + }); + } catch (err) { + e.reply("视频资源获取失败"); + logger.error("403错误:", err); + } + } + }); + return true; + } + /** * 通用解析 * @param e diff --git a/config/help.yaml b/config/help.yaml index f8b2248..c694581 100644 --- a/config/help.yaml +++ b/config/help.yaml @@ -62,6 +62,9 @@ - icon: miyoushe title: "米游社" desc: 米游社文章分享实时下载 + - icon: weibo + title: "微博" + desc: 微博文章分享实时下载 - icon: zuiyou title: "最右(测试阶段)" desc: 最右分享实时下载 diff --git a/config/version.yaml b/config/version.yaml index 9560eaf..8906adf 100644 --- a/config/version.yaml +++ b/config/version.yaml @@ -1,11 +1,10 @@ - { - version: 1.5.1, + version: 1.5.2, data: [ + 新增微博解析功能, 新增最右解析功能, 新增米游社解析功能, - 新增🍉解析功能, - 新增油管解析功能, 支持锅巴插件,方便查看和修改配置, 添加#R帮助获取插件帮助, 添加#R版本获取插件版本, diff --git a/constants/tools.js b/constants/tools.js index 3571c7a..a6a8b93 100644 --- a/constants/tools.js +++ b/constants/tools.js @@ -94,3 +94,9 @@ export const NETEASE_SONG_DOWNLOAD = "https://www.oranges1.top/neteaseapi.do/son * @type {string} */ export const NETEASE_SONG_DETAIL = "https://www.oranges1.top/neteaseapi.do/song/detail?ids={}" + +/** + * 单条微博的接口 + * @type {string} + */ +export const WEIBO_SINGLE_INFO = "https://m.weibo.cn/statuses/show?id={}" diff --git a/resources/img/icon/weibo.png b/resources/img/icon/weibo.png new file mode 100644 index 0000000000000000000000000000000000000000..e34d9efc4fdd8f234781993020e8360464810487 GIT binary patch literal 4271 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 literal 0 HcmV?d00001