2024-07-28 09:26:14 -04:00
const shouldLog = false ;
function log ( content ) {
if ( shouldLog ) console . log ( content ) ;
}
function onUpdate ( data ) {
// set status
log ( data ) ;
const pfp = document . getElementById ( "pfp" ) ;
switch ( data . discord _status ) {
case "online" :
pfp . style . borderColor = "var(--online-color)" ;
break ;
case "idle" :
pfp . style . borderColor = "var(--idle-color)" ;
break ;
case "dnd" :
pfp . style . borderColor = "var(--dnd-color)" ;
break ;
case "offline" :
pfp . style . borderColor = "var(--offline-color)" ;
break ;
}
// set presence
log ( data . activities ) ;
let listening = false ;
let content = "" ;
data . activities . forEach ( presence => {
2024-07-28 09:31:15 -04:00
if ( presence . application _id === "463151177836658699" && presence . assets . small _text !== "Paused" ) { // premid
2024-07-28 09:26:14 -04:00
listening = true ;
artist = presence . state . substring ( 0 , presence . state . indexOf ( " -" ) ) ;
if ( artist === "" ) {
artist = presence . state ;
}
content = ` Listening to ${ presence . details } - ${ artist } ` ;
}
if ( presence . application _id === "1108588077900898414" ) { // vencord lastfm
listening = true ;
content = ` Listening to ${ presence . details } - ${ presence . state } ` ;
}
if ( presence . application _id === "1054951789318909972" ) { // vendetta lastfm
listening = true ;
content = ` Listening to ${ presence . details } - ${ presence . state } ` ;
}
if ( presence . id === "spotify:1" ) { // built in spotify hooluy shit normal presence)
listening = true ;
content = ` Listening to ${ presence . details } - ${ presence . state } ` ;
}
if ( presence . type === 0 && presence . application _id !== "463151177836658699" && presence . application _id !== "1108588077900898414" ) { // generic playing status that isn't vencord lastfm or premid
listening = false ;
content = ` Playing ${ presence . name } ` ;
}
} ) ;
document . getElementById ( "presence" ) . style . display = content === "" ? "none" : "flex" ;
document . getElementById ( "presence-content" ) . innerText = content ;
2024-07-28 09:31:15 -04:00
document . getElementById ( "presence-icon" ) . src = listening ? "img/music.ico" : "img/game.ico" ;
2024-07-28 09:26:14 -04:00
}
LanyardWrapper . connectWebSocket ( "886685857560539176" , onUpdate )
. catch ( err => {
console . error ( err ) ;
} ) ;
// eslint-disable-next-line no-unused-vars
function showCredits ( ) {
document . getElementById ( "credits" ) . style . display = "block" ;
document . getElementById ( "credits-button" ) . style . display = "none" ;
}