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