summaryrefslogtreecommitdiff
path: root/index.js
diff options
context:
space:
mode:
authorSin <[email protected]>2020-06-22 17:08:12 +0000
committerFuwn <[email protected]>2020-06-22 17:08:12 +0000
commit9d534a5d7b4a9aceffb3eaeb4ff01c7ae90f1083 (patch)
treebee40e5abf870d94d4efb84a2aeb017647d2b0ca /index.js
parentwoah :star: (diff)
parentadd discord rich presence :star2: (diff)
downloadmonkey-type-desktop-9d534a5d7b4a9aceffb3eaeb4ff01c7ae90f1083.tar.xz
monkey-type-desktop-9d534a5d7b4a9aceffb3eaeb4ff01c7ae90f1083.zip
Merge pull request #1 from 8cy/test
add discord rich presence :star2:
Diffstat (limited to 'index.js')
-rw-r--r--index.js67
1 files changed, 56 insertions, 11 deletions
diff --git a/index.js b/index.js
index 19a6b58..d2de876 100644
--- a/index.js
+++ b/index.js
@@ -1,8 +1,10 @@
+/* jshint esversion: 9 */
+
'use strict';
const path = require('path');
const { app, BrowserWindow, Menu, session } = require('electron');
-/// const {autoUpdater} = require('electron-updater');
-const {is} = require('electron-util');
+const { autoUpdater } = require('electron-updater');
+const { is } = require('electron-util');
const unhandled = require('electron-unhandled');
const debug = require('electron-debug');
const contextMenu = require('electron-context-menu');
@@ -11,6 +13,9 @@ const config = require('./config');
const menuEnable = config.get('menuEnable');
const menu = require('./menu');
+const DiscordRPC = require('discord-rpc');
+const { start } = require('repl');
+
unhandled();
contextMenu();
@@ -22,14 +27,14 @@ app.setAppUserModelId('com.sin.monkey-type-desktop');
// Uncomment this before publishing your first version.
// It's commented out as it throws an error if there are no published versions.
-// if (!is.development) {
-// const FOUR_HOURS = 1000 * 60 * 60 * 4;
-// setInterval(() => {
-// autoUpdater.checkForUpdates();
-// }, FOUR_HOURS);
-//
-// autoUpdater.checkForUpdates();
-// }
+if (!is.development) {
+ const FOUR_HOURS = 1000 * 60 * 60 * 4;
+ setInterval(() => {
+ autoUpdater.checkForUpdates();
+ }, FOUR_HOURS);
+
+ autoUpdater.checkForUpdates();
+}
// Prevent window from being garbage collected
let mainWindow;
@@ -85,10 +90,50 @@ app.on('activate', async () => {
}
});
+const clientId = config.get('discordRPC').clientId;
+const rpc = new DiscordRPC.Client({ transport: 'ipc' });
+const startTimestamp = new Date();
+
+async function setActivity() {
+ if (!rpc || !mainWindow) {
+ return;
+ }
+
+ // You can add your own presence application or presence data in the config.
+ // If you wanted to, you could try to get data from monkey type time left value and set this as the endTimestamp value.
+ rpc.setActivity({
+ details: config.get('discordRPC').RPC.details,
+ state: config.get('discordRPC').RPC.state,
+ largeImageKey: config.get('discordRPC').RPC.largeImageKey,
+ largeImageText: config.get('discordRPC').RPC.largeImageText,
+ //smallImageKey: config.get('discordRPC').RPC.smallImageKey,
+ //smallImageText: config.get('discordRPC').RPC.smallImageText,
+ startTimestamp: startTimestamp
+ });
+}
+
+rpc.on('ready', () => {
+ setActivity();
+ console.log('initial set');
+
+ setInterval(() => {
+ setActivity();
+ console.log('refresh set');
+ }, 15e3);
+});
+
+rpc.login({ clientId }).catch(console.error);
+
(async () => {
await app.whenReady();
menuEnable ? Menu.setApplicationMenu(menu) : Menu.setApplicationMenu(null);
mainWindow = await createMainWindow();
+
+ //session.defaultSession.cookies.get({}).then(cookies => console.log(cookies));
- session.defaultSession.cookies.get({}).then(cookies => console.log(cookies));
+ // A more complete and custom config system will be implemented but at the moment you can just transfer your config cookie.
+ if (config.get('configCookieOverwrite').length > 50) {
+ let configCookie = { name: 'config', value: config.get('configCookieOverwrite') };
+ session.defaultSession.cookies.set(configCookie).then(() => {}, (error) => console.error(error));
+ }
})();