Share custom Nintendo eShop region selection page to Discord instead of the user's own region

This commit is contained in:
Samuel Elliott 2022-07-28 22:04:27 +01:00
parent e9218b9004
commit d47a492242
No known key found for this signature in database
GPG Key ID: 8420C7CDE43DC4D6

View File

@ -1,7 +1,7 @@
import DiscordRPC from 'discord-rpc'; import DiscordRPC from 'discord-rpc';
import { ActiveEvent, CurrentUser, Friend, Game, PresenceState } from '../api/coral-types.js'; import { ActiveEvent, CurrentUser, Friend, Game, PresenceState } from '../api/coral-types.js';
import { defaultTitle, titles } from './titles.js'; import { defaultTitle, titles } from './titles.js';
import { product } from '../util/product.js'; import { product, version } from '../util/product.js';
import { getTitleIdFromEcUrl, hrduration } from '../util/misc.js'; import { getTitleIdFromEcUrl, hrduration } from '../util/misc.js';
import { ZncDiscordPresence, ZncProxyDiscordPresence } from '../common/presence.js'; import { ZncDiscordPresence, ZncProxyDiscordPresence } from '../common/presence.js';
@ -36,6 +36,9 @@ export function getDiscordPresence(
if (play_time_text) text.push(play_time_text); if (play_time_text) text.push(play_time_text);
} }
const nintendo_eshop_redirect_url = titleid ?
'https://fancy.org.uk/api/nxapi/title/' + titleid + '/redirect?source=nxapi-' + version + '-discord' : null;
const activity: DiscordRPC.Presence = { const activity: DiscordRPC.Presence = {
details: text[0], details: text[0],
state: text[1], state: text[1],
@ -47,7 +50,7 @@ export function getDiscordPresence(
buttons: game.shopUri ? [ buttons: game.shopUri ? [
{ {
label: 'Nintendo eShop', label: 'Nintendo eShop',
url: game.shopUri, url: nintendo_eshop_redirect_url ?? game.shopUri,
}, },
] : [], ] : [],
}; };