feat: 翻译功能大更新!

1. 翻译功能升级为自动检测
2. 修复文件创建问题
This commit is contained in:
zhiyu1998 2022-12-29 12:34:41 +08:00
parent 69093abc90
commit 236c4553c0
2 changed files with 42 additions and 14 deletions

View File

@ -21,7 +21,7 @@ export class tools extends plugin {
priority: 500,
rule: [
{
reg: "^#(翻译)(.*)$",
reg: "^(翻|transl)(英|中|日|文) (.*)$",
fnc: "trans",
},
{
@ -57,14 +57,41 @@ export class tools extends plugin {
// 翻译插件
async trans (e) {
const place = e.msg.replace(/#|翻译/g, "").trim();
let url = /[\u4E00-\u9FFF]+/g.test(place)
? `http://api.fanyi.baidu.com/api/trans/vip/translate?from=zh&to=en&appid=20210422000794040&salt=542716863&sign=${ md5(
"20210422000794040" + place + "542716863" + "HooD_ndgwcGH6SAnxGrM"
) }&q=${ place }`
: `http://api.fanyi.baidu.com/api/trans/vip/translate?from=en&to=zh&appid=20210422000794040&salt=542716863&sign=${ md5(
"20210422000794040" + place + "542716863" + "HooD_ndgwcGH6SAnxGrM"
) }&q=${ place }`;
const languageReg = /翻(.)/g;
const msg = e.msg.trim();
const language = languageReg.exec(msg);
if (language.length < 2 || language[1] === "") {
e.reply("输入格式有误!例子:翻中 China's policy has been consistent, but Japan chooses a path of mistrust, decoupling and military expansion")
return;
}
const place = msg.replace(language[0], "").trim();
// let url = /[\u4E00-\u9FFF]+/g.test(place)
let url;
switch (language[1]) {
case '中':
url = `http://api.fanyi.baidu.com/api/trans/vip/translate?from=auto&to=zh&appid=20210422000794040&salt=542716863&sign=${ md5(
"20210422000794040" + place + "542716863" + "HooD_ndgwcGH6SAnxGrM"
) }&q=${ place }`
break;
case '英':
url = `http://api.fanyi.baidu.com/api/trans/vip/translate?from=auto&to=en&appid=20210422000794040&salt=542716863&sign=${ md5(
"20210422000794040" + place + "542716863" + "HooD_ndgwcGH6SAnxGrM"
) }&q=${ place }`
case '日':
url = `http://api.fanyi.baidu.com/api/trans/vip/translate?from=auto&to=jp&appid=20210422000794040&salt=542716863&sign=${ md5(
"20210422000794040" + place + "542716863" + "HooD_ndgwcGH6SAnxGrM"
) }&q=${ place }`
break;
case '文':
url = `http://api.fanyi.baidu.com/api/trans/vip/translate?from=auto&to=wyw&appid=20210422000794040&salt=542716863&sign=${ md5(
"20210422000794040" + place + "542716863" + "HooD_ndgwcGH6SAnxGrM"
) }&q=${ place }`
break;
default:
`http://api.fanyi.baidu.com/api/trans/vip/translate?from=auto&to=zh&appid=20210422000794040&salt=542716863&sign=${ md5(
"20210422000794040" + place + "542716863" + "HooD_ndgwcGH6SAnxGrM"
) }&q=${ place }`
}
await fetch(url)
.then((resp) => resp.json())
.then((text) => text.trans_result)
@ -268,10 +295,11 @@ export class tools extends plugin {
// 工具根URL据下载视频 / 音频
async downloadVideo (url) {
if (!fs.existsSync(this.defaultPath)) {
mkdirsSync(this.defaultPath);
const groupPath = `${this.defaultPath}${ this.e.group_id || this.e.user_id }`;
if (!fs.existsSync(groupPath)) {
mkdirsSync(groupPath);
}
const target = this.defaultPath + `${ this.e.group_id || this.e.user_id }/temp.mp4`
const target = `${groupPath}/temp.mp4`;
// 待优化
if (fs.existsSync(target)) {
console.log(`视频已存在`);

View File

@ -6,7 +6,7 @@ function mkdirsSync (dirname) {
if (fs.existsSync(dirname)) {
return true;
} else {
if (this.mkdirsSync(path.dirname(dirname))) {
if (mkdirsSync(path.dirname(dirname))) {
fs.mkdirSync(dirname);
return true;
}
@ -20,7 +20,7 @@ function mkdirs (dirname, callback) {
callback();
} else {
// console.log(path.dirname(dirname));
this.mkdirs(path.dirname(dirname), function () {
mkdirs(path.dirname(dirname), function () {
fs.mkdir(dirname, callback);
});
}