fixed clientID

This commit is contained in:
Noah
2022-02-13 15:59:53 -06:00
parent 543db59a55
commit a9f5f376d0

View File

@ -5,7 +5,7 @@ const { dialog, app } = require("electron");
const registerCallback = require("../../providers/song-info"); const registerCallback = require("../../providers/song-info");
// Application ID registered by @xn-oah // Application ID registered by @xn-oah
const clientId = "937234785716285471"; const clientId = "942539762227630162";
/** /**
* @typedef {Object} Info * @typedef {Object} Info
@ -30,14 +30,13 @@ const resetInfo = () => {
info.ready = false; info.ready = false;
clearTimeout(clearActivity); clearTimeout(clearActivity);
if (dev()) console.log("discord disconnected"); if (dev()) console.log("discord disconnected");
refreshCallbacks.forEach(cb => cb()); refreshCallbacks.forEach((cb) => cb());
}; };
let window; let window;
const connect = (showErr = false) => { const connect = (showErr = false) => {
if (info.rpc) { if (info.rpc) {
if (dev()) if (dev()) console.log("Attempted to connect with active RPC object");
console.log('Attempted to connect with active RPC object');
return; return;
} }
@ -48,19 +47,24 @@ const connect = (showErr = false) => {
info.rpc.once("connected", () => { info.rpc.once("connected", () => {
if (dev()) console.log("discord connected"); if (dev()) console.log("discord connected");
refreshCallbacks.forEach(cb => cb()); refreshCallbacks.forEach((cb) => cb());
}); });
info.rpc.once("ready", () => { info.rpc.once("ready", () => {
info.ready = true; info.ready = true;
if (info.lastSongInfo) updateActivity(info.lastSongInfo) if (info.lastSongInfo) updateActivity(info.lastSongInfo);
}); });
info.rpc.once("disconnected", resetInfo); info.rpc.once("disconnected", resetInfo);
// Startup the rpc client // Startup the rpc client
info.rpc.login({ clientId }).catch(err => { info.rpc.login({ clientId }).catch((err) => {
resetInfo(); resetInfo();
if (dev()) console.error(err); if (dev()) console.error(err);
if (showErr) dialog.showMessageBox(window, { title: 'Connection failed', message: err.message || String(err), type: 'error' }); if (showErr)
dialog.showMessageBox(window, {
title: "Connection failed",
message: err.message || String(err),
type: "error",
});
}); });
}; };
@ -70,12 +74,15 @@ let clearActivity;
*/ */
let updateActivity; let updateActivity;
module.exports = (win, { activityTimoutEnabled, activityTimoutTime, listenAlong }) => { module.exports = (
win,
{ activityTimoutEnabled, activityTimoutTime, listenAlong }
) => {
window = win; window = win;
// We get multiple events // We get multiple events
// Next song: PAUSE(n), PAUSE(n+1), PLAY(n+1) // Next song: PAUSE(n), PAUSE(n+1), PLAY(n+1)
// Skip time: PAUSE(N), PLAY(N) // Skip time: PAUSE(N), PLAY(N)
updateActivity = songInfo => { updateActivity = (songInfo) => {
if (songInfo.title.length === 0 && songInfo.artist.length === 0) { if (songInfo.title.length === 0 && songInfo.artist.length === 0) {
return; return;
} }
@ -91,7 +98,11 @@ module.exports = (win, { activityTimoutEnabled, activityTimoutTime, listenAlong
} }
// clear directly if timeout is 0 // clear directly if timeout is 0
if (songInfo.isPaused && activityTimoutEnabled && activityTimoutTime === 0) { if (
songInfo.isPaused &&
activityTimoutEnabled &&
activityTimoutTime === 0
) {
info.rpc.clearActivity().catch(console.error); info.rpc.clearActivity().catch(console.error);
return; return;
} }
@ -105,9 +116,9 @@ module.exports = (win, { activityTimoutEnabled, activityTimoutTime, listenAlong
state: songInfo.artist, state: songInfo.artist,
largeImageKey: songInfo.imageSrc, largeImageKey: songInfo.imageSrc,
largeImageText: songInfo.album, largeImageText: songInfo.album,
buttons: listenAlong ? [ buttons: listenAlong
{ label: "Listen Along", url: songInfo.url }, ? [{ label: "Listen Along", url: songInfo.url }]
] : undefined, : undefined,
}; };
if (songInfo.isPaused) { if (songInfo.isPaused) {
@ -116,13 +127,15 @@ module.exports = (win, { activityTimoutEnabled, activityTimoutTime, listenAlong
activityInfo.smallImageText = "Paused"; activityInfo.smallImageText = "Paused";
// Set start the timer so the activity gets cleared after a while if enabled // Set start the timer so the activity gets cleared after a while if enabled
if (activityTimoutEnabled) if (activityTimoutEnabled)
clearActivity = setTimeout(() => info.rpc.clearActivity().catch(console.error), activityTimoutTime ?? 10000); clearActivity = setTimeout(
() => info.rpc.clearActivity().catch(console.error),
activityTimoutTime ?? 10000
);
} else { } else {
// Add the start and end time of the song // Add the start and end time of the song
const songStartTime = Date.now() - songInfo.elapsedSeconds * 1000; const songStartTime = Date.now() - songInfo.elapsedSeconds * 1000;
activityInfo.startTimestamp = songStartTime; activityInfo.startTimestamp = songStartTime;
activityInfo.endTimestamp = activityInfo.endTimestamp = songStartTime + songInfo.songDuration * 1000;
songStartTime + songInfo.songDuration * 1000;
} }
info.rpc.setActivity(activityInfo).catch(console.error); info.rpc.setActivity(activityInfo).catch(console.error);
@ -133,7 +146,7 @@ module.exports = (win, { activityTimoutEnabled, activityTimoutTime, listenAlong
registerCallback(updateActivity); registerCallback(updateActivity);
connect(); connect();
}); });
app.on('window-all-closed', module.exports.clear) app.on("window-all-closed", module.exports.clear);
}; };
module.exports.clear = () => { module.exports.clear = () => {