From b7b26796bda72bae64922141478c52e0381b38b9 Mon Sep 17 00:00:00 2001 From: Nix Krystik Date: Sun, 13 Sep 2026 20:53:22 +0800 Subject: [PATCH] added error reporting --- src/events/client/error.ts | 25 ++++++++++++++++++++++++ src/events/client/ready.ts | 16 +++++++++++++++ src/events/index.ts | 7 ++----- src/events/message/messageReactionAdd.ts | 20 ++++++++----------- 4 files changed, 51 insertions(+), 17 deletions(-) create mode 100644 src/events/client/error.ts diff --git a/src/events/client/error.ts b/src/events/client/error.ts new file mode 100644 index 0000000..3a24bc7 --- /dev/null +++ b/src/events/client/error.ts @@ -0,0 +1,25 @@ +import { CommandClient, Event } from 'athena-prime'; + +// ---------- + +class ErrorEvent extends Event { + event: string = 'ready' as const; + + async handle(context: CommandClient, error: string | Error, shard?: number | undefined) { + const _err = error as Error; + + await context.createMessage('1548676420136599624', { + embed: { + color: 0xff5555, + + fields: [ + { name: 'Message', value: _err.message, inline: false }, + { name: 'Cause', value: `${_err.cause ?? 'N/A'}`, inline: false }, + { name: 'Stack', value: `${_err.stack ?? 'N/A'}`, inline: false } + ] + } + }); + } +} + +export default new ErrorEvent('error'); diff --git a/src/events/client/ready.ts b/src/events/client/ready.ts index e50af31..8075145 100644 --- a/src/events/client/ready.ts +++ b/src/events/client/ready.ts @@ -8,6 +8,22 @@ class ReadyEvent extends Event { async handle(context: CommandClient) { await context.deployCommands(); context.setCustomActivity('Tracking your petting!'); + + context.on('error', async (error: string | Error, shard?: number | undefined) => { + const _err = error as Error; + + await context.createMessage('1548676420136599624', { + embed: { + color: 0xff5555, + + fields: [ + { name: 'Message', value: _err.message, inline: false }, + { name: 'Cause', value: `${_err.cause ?? 'N/A'}`, inline: false }, + { name: 'Stack', value: `${_err.stack ?? 'N/A'}`, inline: false } + ] + } + }); + }) } } diff --git a/src/events/index.ts b/src/events/index.ts index 8b6513d..8000b23 100644 --- a/src/events/index.ts +++ b/src/events/index.ts @@ -1,11 +1,8 @@ import messageReactionAdd from './message/messageReactionAdd'; import messageReactionRemove from './message/messageReactionRemove'; +import error from './client/error'; import ready from './client/ready'; // ---------- -export default [ - messageReactionAdd, - messageReactionRemove, - ready, -]; +export default [messageReactionAdd, messageReactionRemove, error, ready]; diff --git a/src/events/message/messageReactionAdd.ts b/src/events/message/messageReactionAdd.ts index 1969348..4245b5f 100644 --- a/src/events/message/messageReactionAdd.ts +++ b/src/events/message/messageReactionAdd.ts @@ -7,19 +7,15 @@ class MessageReactionAddEvent extends Event { event: string = 'messageReactionAdd' as const; async handle(context: CommandClient, message: Message, emoji: Constants.APIEmoji, member: Member) { - try { - const _message = await context.getMessage(message.channel.id, message.id); - if (!_message.guildID || emoji.id != '1547870117080342548' || member.id == _message.author.id) return; + const _message = await context.getMessage(message.channel.id, message.id); + if (!_message.guildID || emoji.id != '1547870117080342548' || member.id == _message.author.id) return; - await database` - INSERT INTO points AS p (user_id, guild_id, points) - VALUES (${_message.author.id}, ${_message.guildID}, 1) - ON CONFLICT (user_id, guild_id) - DO UPDATE SET points = p.points + 1 - `; - } catch (error) { - console.log(error); - } + await database` + INSERT INTO points AS p (user_id, guild_id, points) + VALUES (${_message.author.id}, ${_message.guildID}, 1) + ON CONFLICT (user_id, guild_id) + DO UPDATE SET points = p.points + 1 + `; } }