Use rpcError function for all RPC related errors

- Also add "Disable Discord RPC" button to the error message
This commit is contained in:
Agampreet Singh
2023-06-11 17:48:30 +05:30
parent 95e14db4f8
commit a9d63d7325

View File

@@ -1,18 +1,28 @@
const { Client } = require("@xhayper/discord-rpc");
const { dialog, BrowserWindow } = require("electron");
const store = require("./store");
const client = new Client({
clientId: "942637872530460742",
});
async function rpcError(status) {
const rpcerror = dialog.showMessageBoxSync(BrowserWindow.getFocusedWindow(), {
type: "error",
title: "Discord RPC Error",
message: `Oops! An Error occured while ${status} Discord RPC.`,
buttons: ["Close", "Disable Discord RPC"],
});
if (rpcerror === 1) {
store.set("discordrpcstatus", "false");
}
}
async function clearActivity() {
await client.user?.clearActivity().catch((err) => {
dialog.showMessageBox(BrowserWindow.getFocusedWindow(), {
type: "error",
title: "Discord RPC Error",
message: "Oops! An Error occured while clearing Discord RPC.",
buttons: ["OK"],
});
rpcError("clearing");
console.error(err);
});
}
@@ -28,24 +38,14 @@ async function setActivity(details) {
largeImageText: "MS-365-Electron",
})
.catch((err) => {
dialog.showMessageBox(BrowserWindow.getFocusedWindow(), {
type: "error",
title: "Discord RPC Error",
message: "Oops! An Error occured while setting Discord RPC.",
buttons: ["OK"],
});
rpcError("setting");
console.error(err);
});
}
async function loginToRPC() {
await client.login().catch((err) => {
dialog.showMessageBox(BrowserWindow.getFocusedWindow(), {
type: "error",
title: "Discord RPC Error",
message: "Oops! An Error occured while connecting to Discord RPC.",
buttons: ["OK"],
});
rpcError("logging into");
console.error(err);
});
}