diff options
author | RaindropsSys <raindrops@equestria.dev> | 2023-10-27 22:29:56 +0200 |
---|---|---|
committer | RaindropsSys <raindrops@equestria.dev> | 2023-10-27 22:29:56 +0200 |
commit | 4d4308c46d4f7801c657cc79d2243e1a81831334 (patch) | |
tree | a2e392e0af92b9a3ca3d1b5afb841640276e2294 /desktop/main.js | |
parent | 9f9d66afebc59c6c265c4424f7b8fb36d8876541 (diff) | |
download | mist-4d4308c46d4f7801c657cc79d2243e1a81831334.tar.gz mist-4d4308c46d4f7801c657cc79d2243e1a81831334.tar.bz2 mist-4d4308c46d4f7801c657cc79d2243e1a81831334.zip |
Updated 32 files, added 279 files, deleted 3 files and renamed 14 files (automated)
Diffstat (limited to 'desktop/main.js')
-rw-r--r-- | desktop/main.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/desktop/main.js b/desktop/main.js index 5efb923..509bd06 100644 --- a/desktop/main.js +++ b/desktop/main.js @@ -1,6 +1,43 @@ const { app, BrowserWindow, shell, ipcMain, session, Notification, nativeImage, Menu } = require('electron'); const path = require('node:path'); const http = require('http'); +const {Client} = require("@xhayper/discord-rpc"); + +global.rpcStatus = null; +global.rpcHandleError = false; + +setInterval(async () => { + if (mainWindow && !mainWindow.isDestroyed() && client && client.isConnected) { + global.rpcStatus = await mainWindow.webContents.executeJavaScript("window.discordRichPresenceData"); + + if (rpcStatus === null) { + await client.user?.clearActivity(); + } else { + await client.user?.setActivity(rpcStatus); + } + } +}, 5000); + +function loadRPC() { + try { + const { Client } = require('@xhayper/discord-rpc'); + + global.client = new Client({ + clientId: "1167169806127071333" + }); + + client.on("ready", () => { + global.rpcHandleError = true; + }); + + client.login(); + } catch (e) { + console.error(e); + if (global.rpcHandleError) loadRPC(); + } +} + +loadRPC(); function updateMenu(mainWindow) { let template = [ |