const express = require('express'), path = require('path'), fs = require('fs'), WebSocket = require('ws') var app = express() const PORT = process.env.PORT || 8080 const staticpath = path.join(__dirname, 'static') const resourcePath = path.join(__dirname, "resources") const mainpage = resourcePath + '/mainPage.html' var lanyardData = undefined var discData = null app.use(express.static(staticpath)) app.listen(PORT, () => { console.log("Violet's Purgatory is now listening on port: " + PORT) }) function pageUpdate() { var statuses = { "online": { "text": "Online", "color": "rgb(100, 255, 100)" }, "dnd": { "text": "DND", "color": "rgb(255, 100, 100)" }, "idle": { "text": "Idle", "color": "rgb(255, 255, 75)" }, "offline": { "text": "Offline", "color": "rgb(125, 125, 125)" } } var html = fs.readFileSync(mainpage).toString() var addedHTML = "" if (lanyardData) { var statusData = statuses[lanyardData.discord_status] addedHTML += `
${statusData.text}
` addedHTML += `` } html = html.replace("{LANYARD_STATUS}", addedHTML) addedHTML = "" var currentTime = new Date(Date.now()) var currentHour = currentTime.getHours() if (currentHour >= 8 && currentHour <= 16 && !(currentTime.getDay() == 6 || currentTime.getDay() == 7)) { addedHTML = `busy` } else if (currentHour <= 9 && currentHour > 0) { addedHTML = `eeping` } else { addedHTML = `active?` } html = html.replace("{ACTIVE_STATUS}", addedHTML) addedHTML = "" if (lanyardData && lanyardData.activities.length > 0) { if (lanyardData.activities[0].type == 4) { addedHTML += `"${lanyardData.activities[0].state}" - ${lanyardData.discord_user.display_name} ${new Date(Date.now()).getFullYear()}
` } } html = html.replace("{LANYARD_QUOTE}", addedHTML) addedHTML = "" if (lanyardData) { for (let index = 0; index < lanyardData.activities.length; index++) { const activity = lanyardData.activities[index]; if (activity.type == 4) { addedHTML += `"${lanyardData.activities[0].state}" - ${lanyardData.discord_user.display_name} ${new Date(Date.now()).getFullYear()}
` } } } html = html.replace("{LANYARD_SPOTIFY}", addedHTML) addedHTML = "" var debounce = false if (lanyardData && lanyardData.activities.length > 0) { for (let index = 0; index < lanyardData.activities.length; index++) { const activity = lanyardData.activities[index]; if (!debounce && activity.type != 4) { addedHTML += `This section is pulled automatically from my discord. If Discord is down, or i'm offline, it won't be here.
Huge credit to Phineas' Lanyard for making this possible :D
(This is extremely experimental, so PLEASE report any issues on Codeberg!
Listening to ${activity.name}
Song: "${activity.details}"
Album: "${activity.assets.large_text}"
Artist: "${activity.state}"
Playing ${activity.name}
${activity.state}
${activity.details}
Playing ${activity.name}
${activity.state || activity.assets.small_text}
${activity.details || activity.assets.large_text}
Playing ${activity.name}
${activity.state}
${activity.details}