added initial files
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
const { Client } = require('discord-rpc');
|
||||
const log = require('electron-log');
|
||||
|
||||
let client;
|
||||
let activity;
|
||||
|
||||
const initialAppStartup = Math.floor(Date.now() / 1000);
|
||||
|
||||
const defaultValue = {
|
||||
details: 'Idle',
|
||||
startTimestamp: initialAppStartup,
|
||||
largeImageKey: 'default_big',
|
||||
largeImageText: 'GDLauncher - A Custom Minecraft Launcher',
|
||||
instance: false
|
||||
};
|
||||
|
||||
exports.initRPC = () => {
|
||||
client = new Client({ transport: 'ipc' });
|
||||
|
||||
activity = defaultValue;
|
||||
|
||||
client.on('ready', () => {
|
||||
log.log('Discord RPC Connected');
|
||||
client.setActivity(activity);
|
||||
});
|
||||
|
||||
client.login({ clientId: '555898932467597312' }).catch(error => {
|
||||
if (error.message.includes('ENOENT')) {
|
||||
log.error('Unable to initialize Discord RPC, no client detected.');
|
||||
} else {
|
||||
log.error('Unable to initialize Discord RPC:', error);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
exports.update = details => {
|
||||
if (!client) return;
|
||||
activity = {
|
||||
...activity,
|
||||
startTimestamp: Math.floor(Date.now() / 1000),
|
||||
details: `Playing ${details}`
|
||||
};
|
||||
client.setActivity(activity);
|
||||
};
|
||||
|
||||
exports.reset = () => {
|
||||
if (!client) return;
|
||||
activity = defaultValue;
|
||||
activity.startTimestamp = initialAppStartup;
|
||||
client.setActivity(activity);
|
||||
};
|
||||
|
||||
exports.shutdownRPC = () => {
|
||||
if (!client) return;
|
||||
client.clearActivity();
|
||||
client.destroy();
|
||||
client = null;
|
||||
activity = null;
|
||||
};
|
||||
Reference in New Issue
Block a user