From 5c5aba0c487e0022825e312ae7cf1f277860d75e Mon Sep 17 00:00:00 2001 From: derpystuff <3515180-derpystuff@users.noreply.gitlab.com> Date: Mon, 20 Nov 2023 17:32:31 +0100 Subject: [PATCH] update translate --- commands/message/utils/ocrtr.js | 16 ++++++++-------- commands/message/utils/translate.js | 20 ++++++++++---------- labscore/utils/markdown.js | 7 +++++++ 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/commands/message/utils/ocrtr.js b/commands/message/utils/ocrtr.js index 263a08c..d999b06 100644 --- a/commands/message/utils/ocrtr.js +++ b/commands/message/utils/ocrtr.js @@ -2,7 +2,7 @@ const { googleVisionOcr, googleTranslate } = require("../../../labscore/api"); const { TRANSLATE_LANGUAGES, TRANSLATE_LANGUAGE_MAPPINGS } = require("../../../labscore/constants"); const { getRecentImage } = require("../../../labscore/utils/attachment"); const { createEmbed } = require("../../../labscore/utils/embed"); -const { codeblock, icon, pill } = require("../../../labscore/utils/markdown"); +const { codeblock, icon, pill, limitedString } = require("../../../labscore/utils/markdown"); const { editOrReply } = require("../../../labscore/utils/message"); const { STATICS } = require("../../../labscore/utils/statics"); const { isSupported, getCodeFromAny } = require("../../../labscore/utils/translate"); @@ -29,11 +29,11 @@ module.exports = { if(!args.to) args.to = "en" if(args.to.startsWith("-to")) args.to = args.to.replace("-to ", "") - if(!isSupported(args.to)) return editOrReply(context, createEmbed("warning", context, "Invalid language (to).")) - if(!isSupported(args.from)) return editOrReply(context, createEmbed("warning", context, "Invalid language (from).")) + if(!isSupported(args.to)) return editOrReply(context, createEmbed("warning", context, `Invalid source language (${limitedString(args.from, 10)}).`)) + if(!isSupported(args.from)) return editOrReply(context, createEmbed("warning", context, `Invalid source language (${limitedString(args.from, 10)}).`)) - args.to = getCodeFromAny(args.to) - args.from = getCodeFromAny(args.from) + let targetLanguage = getCodeFromAny(args.to) + let sourceLanguage = getCodeFromAny(args.from) let image = await getRecentImage(context, 50) if (!image) return editOrReply(context, createEmbed("warning", context, "No images found.")) @@ -48,13 +48,13 @@ module.exports = { if(ocr.response.body.status == 1) return editOrReply(context, createEmbed("warning", context, ocr.response.body.text)) try{ - let translate = await googleTranslate(context, ocr.response.body.text, args.to, args.from) + let translate = await googleTranslate(context, ocr.response.body.text, targetLanguage, sourceLanguage) - let fromFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.from || args.from] || '' + let fromFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.from || sourceLanguage] || '' let toFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.to] || '' return editOrReply(context, createEmbed("default", context, { - description: `${icon("locale")} ​ ${fromFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.from || args.from])} ​ ​ ​​${icon("arrow_right")} ​ ​ ​ ​${toFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.to])}\n${codeblock("ansi", [translate.response.body.translation.substr(0,4000)])}`, + description: `${icon("locale")} ​ ${fromFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.from || sourceLanguage])} ​ ​ ​​${icon("arrow_right")} ​ ​ ​ ​${toFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.to])}\n${codeblock("ansi", [translate.response.body.translation.substr(0,4000)])}`, thumbnail: { url: image }, diff --git a/commands/message/utils/translate.js b/commands/message/utils/translate.js index 7188e89..2b013d6 100644 --- a/commands/message/utils/translate.js +++ b/commands/message/utils/translate.js @@ -1,7 +1,7 @@ const { createEmbed } = require('../../../labscore/utils/embed') const { editOrReply } = require('../../../labscore/utils/message') -const { codeblock, icon, pill } = require('../../../labscore/utils/markdown'); +const { codeblock, icon, pill, stringwrap } = require('../../../labscore/utils/markdown'); const { isSupported, getCodeFromAny } = require('../../../labscore/utils/translate'); const { googleTranslate } = require('../../../labscore/api'); @@ -41,23 +41,23 @@ module.exports = { if(!content.length) return editOrReply(context, createEmbed("warning", context, "No text supplied.")) - if(!isSupported(args.to)) return editOrReply(context, createEmbed("warning", context, "Invalid language (to).")) - if(!isSupported(args.from)) return editOrReply(context, createEmbed("warning", context, "Invalid language (from).")) + if(!isSupported(args.to)) return editOrReply(context, createEmbed("warning", context, `Invalid target language (${stringwrap(args.to, 10)}).`)) + if(!isSupported(args.from)) return editOrReply(context, createEmbed("warning", context, `Invalid source language (${stringwrap(args.from, 10)}).`)) - args.to = getCodeFromAny(args.to) - args.from = getCodeFromAny(args.from) + let targetLanguage = getCodeFromAny(args.to) + let sourceLanguage = getCodeFromAny(args.from) - if(!args.to) return editOrReply(context, createEmbed("warning", context, "Invalid language (to).")) - if(!args.from) return editOrReply(context, createEmbed("warning", context, "Invalid language (from).")) + if(!targetLanguage) return editOrReply(context, createEmbed("warning", context, `Invalid target language (${stringwrap(args.to, 10)}).`)) + if(!sourceLanguage) return editOrReply(context, createEmbed("warning", context, `Invalid source language (${stringwrap(args.from, 10)}).`)) try{ - let translate = await googleTranslate(context, content, args.to, args.from) + let translate = await googleTranslate(context, content, targetLanguage, sourceLanguage) - let fromFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.from || args.from] || '' + let fromFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.from || sourceLanguage] || '' let toFlag = TRANSLATE_LANGUAGE_MAPPINGS[translate.response.body.language.to] || '' return editOrReply(context, createEmbed("default", context, { - description: `${icon("locale")} ​ ${fromFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.from || args.from] || translate.response.body.language.from || args.from)} ​ ​ ​​${icon("arrow_right")} ​ ​ ​ ​${toFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.to] || translate.response.body.language.to)}\n${codeblock("ansi", [translate.response.body.translation])}`, + description: `${icon("locale")} ​ ${fromFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.from || sourceLanguage] || translate.response.body.language.from || args.from)} ​ ​ ​​${icon("arrow_right")} ​ ​ ​ ​${toFlag} ${pill(TRANSLATE_LANGUAGES[translate.response.body.language.to] || translate.response.body.language.to)}\n${codeblock("ansi", [translate.response.body.translation])}`, footer: { iconUrl: STATICS.google, text: `Google Translator • ${context.application.name}` diff --git a/labscore/utils/markdown.js b/labscore/utils/markdown.js index a68018f..9b36382 100644 --- a/labscore/utils/markdown.js +++ b/labscore/utils/markdown.js @@ -29,6 +29,13 @@ module.exports.timestamp = function(time, flag = "t"){ return `` } +module.exports.stringwrap = function(content = "", length){ + console.log(content) + console.log(length) + if(content.length > length) return content.substr(0, length) + '...'; + return content; +} + module.exports.pill = function(content = ""){ return " **` " + content.toString().replace(/\`/g, 'ˋ') + " `**" }