presence.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. const presence = new Presence({
  2. clientId: '943391951611396106',
  3. })
  4. presence.on('UpdateData', async () => {
  5. const info = await presence.getSetting<boolean>('eSI')
  6. const classInfo = await presence.getSetting<boolean>('eCI')
  7. const presenceData: PresenceData = {
  8. largeImageKey: 'https://cdn.rcd.gg/PreMiD/websites/E/Edgenuity/assets/logo.png',
  9. }
  10. if (info) {
  11. if (document.location.pathname === '/')
  12. presenceData.details = 'Viewing Edgenuity Home'
  13. else if (document.location.pathname === '/Login/Login/Student')
  14. presenceData.details = 'Logging in...'
  15. if (classInfo) {
  16. if (document.location.pathname === '/player/') {
  17. const courseName = document.querySelector('span.course')
  18. const lessonName = document.querySelector('[data-bind=\'html: Title\']')
  19. const lessonActivity = document.querySelector(
  20. '[data-bind=\'html: ActivityName\']',
  21. )
  22. presenceData.details = courseName?.textContent
  23. presenceData.state = `${lessonName?.textContent} - ${lessonActivity?.textContent}`
  24. }
  25. }
  26. else if (document.location.pathname === '/player/') {
  27. presenceData.details = 'Working on Classwork'
  28. }
  29. else {
  30. presenceData.details = 'Can\'t read page'
  31. }
  32. }
  33. if (presenceData.details)
  34. presence.setActivity(presenceData)
  35. else presence.setActivity()
  36. })