diff --git a/src/discord/util.ts b/src/discord/util.ts index 2b4095f..770a5d4 100644 --- a/src/discord/util.ts +++ b/src/discord/util.ts @@ -1,3 +1,4 @@ +import createDebug from 'debug'; import DiscordRPC from 'discord-rpc'; import { Game, PresenceState } from '../api/coral-types.js'; import { defaultTitle, titles } from './titles.js'; @@ -5,6 +6,8 @@ import { product, version } from '../util/product.js'; import { getTitleIdFromEcUrl, hrduration } from '../util/misc.js'; import { DiscordPresence, DiscordPresenceContext, DiscordPresencePlayTime } from './types.js'; +const debug = createDebug('nxapi:discord'); + export function getDiscordPresence( state: PresenceState, game: Game, context?: DiscordPresenceContext ): DiscordPresence { @@ -62,7 +65,11 @@ export function getDiscordPresence( }); } - title.callback?.call(null, activity, game, context); + try { + title.callback?.call(null, activity, game, context); + } catch (err) { + debug('Error in callback for title %s', titleid, err); + } return { id: title.client || defaultTitle.client,