discordwrapper.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Work in progress
  2. const Client = require('discord-rpc')
  3. const ConfigManager = require('./configmanager.js')
  4. let rpc
  5. exports.initRPC = function(genSettings, servSettings){
  6. rpc = new Client({ transport: 'ipc' });
  7. rpc.on('ready', () => {
  8. const activity = {
  9. // state = top text
  10. // details = bottom text
  11. state: 'Server: ' + settings.shortId,
  12. details: '',
  13. largeImageKey: servSettings.largeImageKey,
  14. largeImageText: serSettings.largeImageText,
  15. smallImageKey: genSettings.smallImageKey,
  16. smallImageText: genSettings.smallImageText,
  17. startTimestamp: new Date().getTime() / 1000,
  18. instance: false
  19. }
  20. rpc.setActivity(activity)
  21. })
  22. rpc.login(genSettings.clientID()).catch(error => {
  23. if(error.message.includes('ENOENT')) {
  24. console.log('Unable to initialize Discord Rich Presence, no client detected.')
  25. } else {
  26. console.log('Unable to initialize Discord Rich Presence: ' + error.message)
  27. }
  28. })
  29. }
  30. exports.shutdownRPC = function(){
  31. rpc.setActivity({})
  32. rpc.destroy()
  33. rpc = null
  34. }