diff --git a/src/commands/language/translate.ts b/src/commands/language/translate.ts index eea57cf..75bb8d9 100644 --- a/src/commands/language/translate.ts +++ b/src/commands/language/translate.ts @@ -17,6 +17,7 @@ import { abort } from "../../utils/error"; import type { OCRResult } from "../../types/ocr"; import { capitalize, languageCodeToName } from "../../utils/functions"; import { translate as translateGoogle } from "../../utils/gtrans"; +import { logger } from "../../utils/logger"; export async function translateAutocompleteImpl( interaction: AutocompleteInteraction @@ -49,7 +50,10 @@ export async function translateImpl( text, source, target - ).catch(() => translateGoogle(text, "auto", "en")); + ).catch(err => { + logger.error(err, "DeepL error, falling back to Google Translate"); + return translateGoogle(text, "auto", "en"); + }); if (translatedText.trim() === text.trim() && model === "deepl") { const result = await translateGoogle(text, "auto", "en"); diff --git a/src/commands/ocr/ocr.ts b/src/commands/ocr/ocr.ts index 5d5152f..64abd6b 100644 --- a/src/commands/ocr/ocr.ts +++ b/src/commands/ocr/ocr.ts @@ -17,6 +17,7 @@ import { } from "../../utils/functions"; import { lensOcr } from "../../utils/lens"; import type { OCRResult } from "../../types/ocr"; +import { logger } from "../../utils/logger"; export function buildOcrPayload( text: string, @@ -85,7 +86,10 @@ export async function ocrImpl(url: string) { .toBuffer(); const result = await lensOcr(compressed) - .catch(() => yandexOcr(compressed, type.mime)) + .catch(err => { + logger.error(err, "Google Lens error, falling back to Yandex"); + return yandexOcr(compressed, type.mime); + }) .catch(() => abort("Failed to OCR the image")); if (!result.text) {