🐞 fix: 修复腾讯交互式翻译部分问题

1. 新增韩语翻译
2. 修复交互式翻译中不能翻译的问题
3. 删除tools中的console.log更换日志打印提高性能
This commit is contained in:
zhiyu1998 2023-03-21 16:52:08 +08:00
parent 3745462d8b
commit b58a0ba030
3 changed files with 19 additions and 16 deletions

View File

@ -92,7 +92,7 @@ export class tools extends plugin {
const language = languageReg.exec(msg); const language = languageReg.exec(msg);
if (!transMap.hasOwnProperty(language[1])) { if (!transMap.hasOwnProperty(language[1])) {
e.reply( e.reply(
"输入格式有误!例子:翻中 China's policy has been consistent, but Japan chooses a path of mistrust, decoupling and military expansion", "输入格式有误或暂不支持该语言\n例子:翻中 China's policy has been consistent, but Japan chooses a path of mistrust, decoupling and military expansion",
); );
return; return;
} }
@ -109,7 +109,9 @@ export class tools extends plugin {
// 咕咕翻译 // 咕咕翻译
translateResult = await translateEngine.google(place, language[1]); translateResult = await translateEngine.google(place, language[1]);
} catch (err) { } catch (err) {
console.err("咕咕翻译失败,", err); logger.error("咕咕翻译失败");
} finally {
translateResult = ""
} }
// 腾讯交互式进行补充 // 腾讯交互式进行补充
translateResult += "\n\n🐧翻译" + await translateEngine.tencent(place, language[1]) translateResult += "\n\n🐧翻译" + await translateEngine.tencent(place, language[1])
@ -117,7 +119,7 @@ export class tools extends plugin {
// 如果有百度 // 如果有百度
translateResult = await translateEngine.baidu(place, language[1]); translateResult = await translateEngine.baidu(place, language[1]);
} }
e.reply(translateResult, true); e.reply(translateResult.trim(), true);
return true; return true;
} }
@ -385,12 +387,12 @@ export class tools extends plugin {
e.reply(segment.video(`${path}temp.mp4`)); e.reply(segment.video(`${path}temp.mp4`));
}) })
.catch(err => { .catch(err => {
console.log(err); logger.error(err);
e.reply("解析失败,请重试一下"); e.reply("解析失败,请重试一下");
}); });
}) })
.catch(err => { .catch(err => {
console.log(err); logger.error(err);
e.reply("解析失败,请重试一下"); e.reply("解析失败,请重试一下");
}); });
return true; return true;
@ -541,7 +543,6 @@ export class tools extends plugin {
let msgUrl = /(http:|https:)\/\/(xhslink|xiaohongshu).com\/[A-Za-z\d._?%&+\-=\/#@]*/.exec( let msgUrl = /(http:|https:)\/\/(xhslink|xiaohongshu).com\/[A-Za-z\d._?%&+\-=\/#@]*/.exec(
e.msg, e.msg,
)?.[0] || /(http:|https:)\/\/www\.xiaohongshu\.com\/discovery\/item\/(\w+)/.exec(e.message[0].data)?.[0]; )?.[0] || /(http:|https:)\/\/www\.xiaohongshu\.com\/discovery\/item\/(\w+)/.exec(e.message[0].data)?.[0];
console.log(msgUrl)
let id; let id;
if (msgUrl.includes("xhslink")) { if (msgUrl.includes("xhslink")) {
await fetch(msgUrl, { await fetch(msgUrl, {
@ -637,7 +638,7 @@ export class tools extends plugin {
}); });
await e.reply(`清理完成!`); await e.reply(`清理完成!`);
} catch (err) { } catch (err) {
console.log(err); logger.log(err);
e.reply("清理失败,重试或者自动清理即可"); e.reply("清理失败,重试或者自动清理即可");
} }
} }
@ -721,7 +722,7 @@ export class tools extends plugin {
title + "-video.m4s", title + "-video.m4s",
_.throttle( _.throttle(
value => value =>
console.log("download-progress", { logger.mark("download-progress", {
type: "video", type: "video",
data: value, data: value,
}), }),
@ -733,7 +734,7 @@ export class tools extends plugin {
title + "-audio.m4s", title + "-audio.m4s",
_.throttle( _.throttle(
value => value =>
console.log("download-progress", { logger.mark("download-progress", {
type: "audio", type: "audio",
data: value, data: value,
}), }),
@ -843,7 +844,7 @@ export class tools extends plugin {
const target = `${groupPath}/temp.mp4`; const target = `${groupPath}/temp.mp4`;
// 待优化 // 待优化
if (fs.existsSync(target)) { if (fs.existsSync(target)) {
console.log(`视频已存在`); logger.mark(`视频已存在`);
fs.unlinkSync(target); fs.unlinkSync(target);
} }
let res; let res;
@ -871,7 +872,7 @@ export class tools extends plugin {
}); });
} }
console.log(`开始下载: ${url}`); logger.mark(`开始下载: ${url}`);
const writer = fs.createWriteStream(target); const writer = fs.createWriteStream(target);
res.data.pipe(writer); res.data.pipe(writer);

View File

@ -3,7 +3,8 @@
* *
* @type {{: string, : string, : string, : string}} * @type {{: string, : string, : string, : string}}
*/ */
export const transMap = { : "zh", : "jp", : "wyw", : "en", : "ru" }; export const transMap = { : "zh", : "jp", : "wyw", : "en", : "ru", : "kr" };
export const transMap2 = { : "zh", : "ja", : "ko", : "en", : "ru" };
/** /**
* 以下为抖音/TikTok类型代码 * 以下为抖音/TikTok类型代码

View File

@ -1,4 +1,4 @@
import {transMap} from "./constant.js"; import {transMap, transMap2} from "./constant.js";
import md5 from "md5"; import md5 from "md5";
import fetch from "node-fetch"; import fetch from "node-fetch";
import HttpProxyAgent from "https-proxy-agent"; import HttpProxyAgent from "https-proxy-agent";
@ -21,6 +21,7 @@ export default class Translate {
*/ */
proxy: "" proxy: ""
} }
constructor(config) { constructor(config) {
this.config = config; this.config = config;
} }
@ -51,7 +52,7 @@ export default class Translate {
* @returns {Promise<string>} * @returns {Promise<string>}
*/ */
async google(query, targetLanguage) { async google(query, targetLanguage) {
const url = `https://translate.googleapis.com/translate_a/single?client=gtx&dt=t&sl=auto&tl=${transMap[targetLanguage]}&q=${query}`; const url = `https://translate.googleapis.com/translate_a/single?client=gtx&dt=t&sl=auto&tl=${transMap2[targetLanguage]}&q=${query}`;
return fetch(url, { return fetch(url, {
method: "GET", method: "GET",
headers: { headers: {
@ -83,7 +84,7 @@ export default class Translate {
"fn": "text_analysis", "fn": "text_analysis",
"client_key": "browser-firefox-111.0.0-Mac OS-d35fca23-eb48-45ba-9913-114f1177b02b-1679376552800" "client_key": "browser-firefox-111.0.0-Mac OS-d35fca23-eb48-45ba-9913-114f1177b02b-1679376552800"
}, },
"text": "s", "text": query,
"type": "plain", "type": "plain",
"normalize": { "normalize": {
"merge_broken_line": false "merge_broken_line": false
@ -118,7 +119,7 @@ export default class Translate {
] ]
}, },
"target": { "target": {
"lang": transMap[targetLanguage] "lang": transMap2[targetLanguage]
} }
}) })
}).then(async resp => { }).then(async resp => {