diff --git a/websites/C/Chompu/metadata.json b/websites/C/Chompu/metadata.json index ca0ff46f2c7e..49e2dfd8d7fb 100644 --- a/websites/C/Chompu/metadata.json +++ b/websites/C/Chompu/metadata.json @@ -7,22 +7,19 @@ }, "service": "Chompu", "description": { - "en": "Chompu is Discord bot music support stream Joox, TikTok, BiliBili, VK Music, Distrokid, Nico, AppleMusic, Spotify, Soundcloud, Clyp, PornHub and etc.", - "th": "Chompu คือ บอทดิสคอร์ดที่มาพร้อมด้วยระบบสตรีมเล่นเพลงที่สามารถจัดการหรือเพิ่มคิวเพลงบนเว็บไซต์! รองรับสตรีมเล่นเพลงหลายแพลตฟอร์ม Joox, TikTok, BiliBili, VK Music, Distrokid, Nico, AppleMusic, Spotify, Soundcloud, Clyp, PornHub และอื่นๆอีกมากมาย!" + "en": "Chompu is Discord app equipped with a music streaming system that supports multiple platforms, including Joox, TikTok, BiliBili, BiliBiliTV, VKMusic, Facebook Watch, TIDALMusic, AmazonMusic, Deezer, Nico, AppleMusic, Spotify, Soundcloud, Clyp, PornHub, and many more!", + "th": "Chompu คือ แอปดิสคอร์ดที่มาพร้อมด้วยระบบสตรีมเล่นเพลงที่รองรับสตรีมเล่นเพลงหลายแพลตฟอร์ม Joox, TikTok, BiliBili, BiliBiliTV, VKMusic, Facebook Watch, TIDALMusic, AmazonMusic, Deezer, Nico, AppleMusic, Spotify, Soundcloud, Clyp, PornHub และอื่นๆอีกมากมาย!" }, "url": "chompubot.work", - "version": "1.0.2", - "logo": "https://cdn.rcd.gg/PreMiD/websites/C/Chompu/assets/logo.jpg", - "thumbnail": "https://cdn.rcd.gg/PreMiD/websites/C/Chompu/assets/thumbnail.jpg", + "version": "1.0.3", + "logo": "https://cdn.chompubot.work/images/chompu/logo.png", + "thumbnail": "https://cdn.chompubot.work/images/chompu/thumbnail.png", "color": "#ffbcff", "category": "music", "tags": [ "music", "music-room", - "discordbot", - "dashboard", - "chompu", - "chompubot", - "player" + "discord", + "dashboard" ] -} \ No newline at end of file +} diff --git a/websites/C/Chompu/presence.ts b/websites/C/Chompu/presence.ts index 6f847ba57ac5..f8d73fd19b62 100644 --- a/websites/C/Chompu/presence.ts +++ b/websites/C/Chompu/presence.ts @@ -4,7 +4,7 @@ const presence = new Presence({ browsingTimestamp = Math.floor(Date.now() / 1000); const enum Assets { - Logo = "https://cdn.rcd.gg/PreMiD/websites/C/Chompu/assets/logo.jpg", + Logo = "https://cdn.chompubot.work/images/chompu/logo.png", } const enum Pages { @@ -14,105 +14,98 @@ const enum Pages { Contact = "/contact", } -let presenceData: PresenceData; +const presenceData: PresenceData = { + type: ActivityType.Listening, + largeImageKey: Assets.Logo, +}; presence.on("UpdateData", async () => { const base = document.location.pathname; if (/\/dashboard\/guild\/(.*[0-9_].*)\/music-room/gi.test(base)) { - let username, - title, - author, - playing, - timeStartPlayer, - timeEndPlayer, - startPlayer, - durationPlayer, - startTimestamp, - endTimestamp; - if ( + document.querySelector("div.hidden.-player-status") && document.querySelector("div.hidden.-player-status") .textContent === "true" ) { - username = document.querySelector( - "[data-label='player-requester']" - ).textContent; - title = document.querySelector( - "h1.text-large.font-medium.-player-title" - ); - author = document.querySelector( - "p.text-small.mt-1.text-foreground\\/80.-player-author" - ); - playing = document.querySelector( - "svg.-player-playing" - ); - timeStartPlayer = document.querySelector( - "p.text-small.-player-position-start" - ).textContent; - timeEndPlayer = document.querySelector( - "p.text-small.text-foreground\\/50.-player-position-end" - ).textContent; - [startPlayer, durationPlayer] = [ - presence.timestampFromFormat(timeStartPlayer), - (() => { - return presence.timestampFromFormat(timeEndPlayer); - })(), - ]; - [startTimestamp, endTimestamp] = presence.getTimestamps( - startPlayer, - durationPlayer - ); + const author = document.querySelector( + "p.text-small.mt-1.text-foreground\\/80.-player-author" + ), + playing = document.querySelector( + "svg.-player-playing" + ), + timeEndPlayer = document.querySelector( + "p.text-small.text-foreground\\/50.-player-position-end" + ).textContent, + [startPlayer, durationPlayer] = [ + presence.timestampFromFormat( + document.querySelector( + "p.text-small.-player-position-start" + ).textContent + ), + presence.timestampFromFormat(timeEndPlayer), + ], + [startTimestamp, endTimestamp] = presence.getTimestamps( + startPlayer, + durationPlayer + ); - presenceData = { - details: title, - state: author, - largeImageKey: document.querySelector( - "[data-label='guild-logo']" - ).src, - smallImageKey: playing ? Assets.Play : Assets.Pause, - smallImageText: playing ? "Playing" : "Pause", + [presenceData.startTimestamp, presenceData.endTimestamp] = [ startTimestamp, endTimestamp, - buttons: [ - { - label: `Join Player ${username}`, - url: document.location.href, - }, - ], - }; + ]; + + presenceData.details = document.querySelector( + "h1.text-large.font-medium.-player-title" + ); + presenceData.state = author; + presenceData.largeImageKey = document.querySelector( + "[data-label='guild-logo']" + ).src; + presenceData.smallImageKey = playing ? Assets.Play : Assets.Pause; + presenceData.smallImageText = playing ? "Playing" : "Pause"; + presenceData.startTimestamp = startTimestamp; + presenceData.endTimestamp = endTimestamp; + presenceData.buttons = [ + { + label: `Join Player ${ + document.querySelector( + "[data-label='player-requester']" + ).textContent + }`, + url: document.location.href, + }, + ]; - if (!playing) { - delete presenceData.startTimestamp; - delete presenceData.endTimestamp; - } + if (!playing) delete presenceData.startTimestamp; } else { - presenceData = { - details: "No song queue found", - state: "In the server...", - largeImageKey: document.querySelector( - "[data-label='guild-logo']" - ).src, - smallImageKey: Assets.Reading, - smallImageText: "Zzz", - startTimestamp: browsingTimestamp, - buttons: [ - { - label: "Join Player", - url: document.location.href, - }, - ], - }; + presenceData.details = "No song queue found"; + presenceData.state = "In the server..."; + presenceData.largeImageKey = document.querySelector( + "[data-label='guild-logo']" + ) + ? document.querySelector("[data-label='guild-logo']") + .src + : Assets.Logo; + presenceData.smallImageText = "Zzz"; + presenceData.startTimestamp = browsingTimestamp; + presenceData.buttons = [ + { + label: "Join Player", + url: document.location.href, + }, + ]; + if (presenceData.endTimestamp) delete presenceData.endTimestamp; } } else { - presenceData = { - details: "Idk", - state: "Browsing...", - largeImageKey: Assets.Logo, - smallImageKey: Assets.Reading, - smallImageText: "Zzz", - startTimestamp: browsingTimestamp, - }; + presenceData.details = "Idk"; + presenceData.state = "Browsing..."; + presenceData.largeImageKey = Assets.Logo; + presenceData.smallImageKey = Assets.Reading; + presenceData.smallImageText = "Zzz"; + presenceData.startTimestamp = browsingTimestamp; + if (presenceData.buttons) delete presenceData.buttons; + if (presenceData.endTimestamp) delete presenceData.endTimestamp; switch (base) { case Pages.Home: