presence.ts 953 B

123456789101112131415161718192021222324252627282930313233343536
  1. const presence = new Presence({
  2. clientId: '640914619082211338',
  3. })
  4. const browsingTimestamp = Math.floor(Date.now() / 1000)
  5. presence.on('UpdateData', () => {
  6. const presenceData: PresenceData = {
  7. largeImageKey: 'https://cdn.rcd.gg/PreMiD/websites/T/TruckersFM/assets/logo.png',
  8. startTimestamp: browsingTimestamp,
  9. }
  10. presenceData.details = `${
  11. document.querySelector('.player-artist-text')?.textContent
  12. } - ${document.querySelector('.player-title-text')?.textContent}`
  13. presenceData.state = document.querySelector('.live-name')?.textContent ?? 'AutoDJ'
  14. presenceData.buttons = [
  15. {
  16. label: 'Tune into TFM',
  17. url: 'https://truckers.fm/listen',
  18. },
  19. ]
  20. const spotifyUrl = document
  21. .querySelector('.player-artist-text a')
  22. ?.getAttribute('href')
  23. if (spotifyUrl) {
  24. presenceData.buttons.push({
  25. label: 'Listen on Spotify',
  26. url: spotifyUrl,
  27. })
  28. }
  29. presence.setActivity(presenceData)
  30. })