mirror of
https://github.com/Jerryplusy/rc-plugin.git
synced 2025-10-14 16:19:18 +00:00
✨ feat: 增加tiktok解析
This commit is contained in:
parent
0266a79862
commit
8e03019b44
@ -23,6 +23,10 @@ export class tools extends plugin {
|
|||||||
reg: "(.*)(v.douyin.com)",
|
reg: "(.*)(v.douyin.com)",
|
||||||
fnc: "douyin",
|
fnc: "douyin",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
reg: "(.*)(www.tiktok.com)",
|
||||||
|
fnc: "tiktok",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
this.path = "./data/rcmp4/";
|
this.path = "./data/rcmp4/";
|
||||||
@ -50,12 +54,12 @@ export class tools extends plugin {
|
|||||||
async douyin(e) {
|
async douyin(e) {
|
||||||
const urlRex = /(http:|https:)\/\/v.douyin.com\/[A-Za-z\d._?%&+\-=\/#]*/g;
|
const urlRex = /(http:|https:)\/\/v.douyin.com\/[A-Za-z\d._?%&+\-=\/#]*/g;
|
||||||
const douUrl = urlRex.exec(e.msg.trim())[0];
|
const douUrl = urlRex.exec(e.msg.trim())[0];
|
||||||
|
e.reply("识别:抖音, 解析中...");
|
||||||
|
|
||||||
await this.douyinRequest(douUrl).then((res) => {
|
await this.douyinRequest(douUrl).then((res) => {
|
||||||
const douRex = /.*video\/(\d+)\/(.*?)/g;
|
const douRex = /.*video\/(\d+)\/(.*?)/g;
|
||||||
const douId = douRex.exec(res)[1];
|
const douId = douRex.exec(res)[1];
|
||||||
const url = `https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=${douId}`;
|
const url = `https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=${douId}`;
|
||||||
e.reply("解析中...");
|
|
||||||
return fetch(url)
|
return fetch(url)
|
||||||
.then((resp) => resp.json())
|
.then((resp) => resp.json())
|
||||||
.then((json) => json.item_list[0])
|
.then((json) => json.item_list[0])
|
||||||
@ -67,6 +71,21 @@ export class tools extends plugin {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// tiktok解析
|
||||||
|
async tiktok(e) {
|
||||||
|
const urlRex = /(http:|https:)\/\/www.tiktok.com\/[A-Za-z\d._?%&+\-=\/#]*/g;
|
||||||
|
const url = urlRex.exec(e.msg.trim())[0]
|
||||||
|
|
||||||
|
const tiktokApi = `https://api.douyin.wtf/api?url=${url}&minimal=true`
|
||||||
|
e.reply("识别:tiktok, 解析中...");
|
||||||
|
fetch(tiktokApi)
|
||||||
|
.then(resp => resp.json())
|
||||||
|
.then(async json => {
|
||||||
|
await e.reply(await segment.video(await this.downloadVideo(json.wm_video_url.replace("https","http"))))
|
||||||
|
})
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
// 请求参数
|
// 请求参数
|
||||||
async douyinRequest(url) {
|
async douyinRequest(url) {
|
||||||
const params = {
|
const params = {
|
||||||
@ -129,4 +148,18 @@ export class tools extends plugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 递归创建目录 异步方法
|
||||||
|
mkdirs(dirname, callback) {
|
||||||
|
fs.exists(dirname, function (exists) {
|
||||||
|
if (exists) {
|
||||||
|
callback();
|
||||||
|
} else {
|
||||||
|
// console.log(path.dirname(dirname));
|
||||||
|
this.mkdirs(path.dirname(dirname), function () {
|
||||||
|
fs.mkdir(dirname, callback);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user