mirror of
https://github.com/artiemis/artemis.js.git
synced 2026-02-14 10:21:54 +00:00
send errors to owner
This commit is contained in:
parent
6846371810
commit
bb88e335fd
@ -52,6 +52,10 @@ export class ArtemisClient extends Client {
|
||||
Promise.all([this.loadCommands(), this.registerEvents()]);
|
||||
}
|
||||
|
||||
async getOwner() {
|
||||
return this.users.fetch(this.ownerId);
|
||||
}
|
||||
|
||||
async loadCommands() {
|
||||
const commandsDir = path.join(import.meta.dir, "commands");
|
||||
const categories = await fs
|
||||
|
||||
@ -13,7 +13,7 @@ import {
|
||||
isTargetLanguage,
|
||||
translate as translateDeepl,
|
||||
} from "../../utils/deepl";
|
||||
import { abort, notifyError } from "../../utils/error";
|
||||
import { abort, sendErrorAlert } from "../../utils/error";
|
||||
import type { OCRResult } from "../../types/ocr";
|
||||
import { capitalize, languageCodeToName } from "../../utils/functions";
|
||||
import { translate as translateGoogle } from "../../utils/gtrans";
|
||||
@ -52,7 +52,7 @@ export async function translateImpl(
|
||||
target
|
||||
).catch(err => {
|
||||
logger.error(err, "DeepL error, falling back to Google Translate");
|
||||
notifyError(err);
|
||||
sendErrorAlert(err);
|
||||
return translateGoogle(text, "auto", "en");
|
||||
});
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ import {
|
||||
} from "discord.js";
|
||||
import { defineCommand } from "..";
|
||||
import { downloadFile } from "../../utils/http";
|
||||
import { abort, notifyError } from "../../utils/error";
|
||||
import { abort, sendErrorAlert } from "../../utils/error";
|
||||
import { yandexOcr } from "../../utils/yandex";
|
||||
import sharp from "sharp";
|
||||
import {
|
||||
@ -88,7 +88,7 @@ export async function ocrImpl(url: string) {
|
||||
const result = await lensOcr(compressed)
|
||||
.catch(err => {
|
||||
logger.error(err, "Google Lens error, falling back to Yandex");
|
||||
notifyError(err);
|
||||
sendErrorAlert(err);
|
||||
return yandexOcr(compressed, type.mime);
|
||||
})
|
||||
.catch(() => abort("Failed to OCR the image"));
|
||||
|
||||
@ -12,7 +12,7 @@ import {
|
||||
import { client } from "../client";
|
||||
import { logger } from "../utils/logger";
|
||||
import { defineEvent } from ".";
|
||||
import { isExplicitCommandError, notifyError } from "../utils/error";
|
||||
import { isExplicitCommandError, sendErrorAlert } from "../utils/error";
|
||||
import { nanoid } from "../utils/functions";
|
||||
import type { Command } from "../types/command";
|
||||
|
||||
@ -75,7 +75,7 @@ async function handleChatInputCommand(
|
||||
const trace = nanoid();
|
||||
content += `\ntrace: ${inlineCode(trace)}`;
|
||||
logger.error({ trace, err });
|
||||
notifyError(err, trace);
|
||||
sendErrorAlert(err, trace);
|
||||
}
|
||||
|
||||
await interaction[
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import { codeBlock, type TextChannel } from "discord.js";
|
||||
import { codeBlock } from "discord.js";
|
||||
import { client } from "../client";
|
||||
import { env } from "../env";
|
||||
|
||||
export class ExplicitCommandError extends Error {}
|
||||
|
||||
@ -14,8 +13,9 @@ export function isExplicitCommandError(
|
||||
return error instanceof ExplicitCommandError;
|
||||
}
|
||||
|
||||
export async function notifyError(error: any, trace?: string) {
|
||||
return (client.channels.cache.get(env.DEV_CHANNEL_ID) as TextChannel).send({
|
||||
export async function sendErrorAlert(error: any, trace?: string) {
|
||||
return client.getOwner().then(owner =>
|
||||
owner.send({
|
||||
content: trace,
|
||||
embeds: [
|
||||
{
|
||||
@ -24,5 +24,6 @@ export async function notifyError(error: any, trace?: string) {
|
||||
color: 0xff0000,
|
||||
},
|
||||
],
|
||||
});
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user