Further work on discord rich presence. Current implementation is untested.

This commit is contained in:
Daniel Scalzi
2017-12-03 02:13:42 -05:00
parent 98684a9c1f
commit a4012458be
5 changed files with 53 additions and 31 deletions

View File

@@ -4,24 +4,37 @@ const ConfigManager = require('./configmanager.js')
let rpc
function initRPC(){
exports.initRPC = function(genSettings, servSettings){
rpc = new Client({ transport: 'ipc' });
rpc.login(ConfigManager.getDiscordClientID()).catch(error => {
rpc.on('ready', () => {
const activity = {
// state = top text
// details = bottom text
state: 'Server: ' + settings.shortId,
details: '',
largeImageKey: servSettings.largeImageKey,
largeImageText: serSettings.largeImageText,
smallImageKey: genSettings.smallImageKey,
smallImageText: genSettings.smallImageText,
startTimestamp: new Date().getTime() / 1000,
instance: false
}
rpc.setActivity(activity)
})
rpc.login(genSettings.clientID()).catch(error => {
if(error.message.includes('ENOENT')) {
console.log('Unable to initialize Discord Rich Presence, no client detected.')
} else {
console.log('Unable to initialize Discord Rich Presence: ' + error.message)
}
})
const activity = {
details: 'Playing on WesterosCraft',
}
}
function shutdownRPC(){
exports.shutdownRPC = function(){
rpc.setActivity({})
rpc.destroy()
rpc = null
}