From a69229252018a8e654c9b1bcf51ac1b2d7d664c8 Mon Sep 17 00:00:00 2001 From: kokjp1 Date: Sun, 21 Dec 2025 19:57:43 +0100 Subject: [PATCH 1/6] ADD(9anime) added inline profile anime name added functionality to change your inline profile status to the anime name instead of "9anime". - Includes a toggle to turn this on or off --- websites/0-9/9anime/metadata.json | 11 ++++++++--- websites/0-9/9anime/presence.ts | 15 +++++++++++++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/websites/0-9/9anime/metadata.json b/websites/0-9/9anime/metadata.json index 5a7984492dd6..0da788e72e70 100644 --- a/websites/0-9/9anime/metadata.json +++ b/websites/0-9/9anime/metadata.json @@ -16,8 +16,13 @@ "thumbnail": "https://cdn.rcd.gg/PreMiD/websites/0-9/9anime/assets/thumbnail.png", "color": "#A020F0", "category": "anime", - "tags": [ - "anime", - "streaming" + "tags": ["anime", "streaming"], + "settings": [ + { + "id": "usePresenceName", + "title": "Show Title as Presence", + "icon": "fad fa-user-edit", + "value": true + } ] } diff --git a/websites/0-9/9anime/presence.ts b/websites/0-9/9anime/presence.ts index 5be3d95a50f7..28acd49fdf5f 100644 --- a/websites/0-9/9anime/presence.ts +++ b/websites/0-9/9anime/presence.ts @@ -14,6 +14,7 @@ presence.on('UpdateData', async () => { startTimestamp: browsingTimestamp, type: ActivityType.Watching, } + const usePresenceName = await presence.getSetting('usePresenceName') const { href, pathname, search } = document.location switch (true) { case pathname === '/': @@ -30,19 +31,29 @@ presence.on('UpdateData', async () => { presenceData.details = `Viewing genre: ${pathname.split('/')[2]}` break case pathname.includes('/watch/'): { - presenceData.details = document.title + const title = document.title .replace(/^Watch /, '') .replace(/ online free on 9anime$/, '') + const coverArt = document .querySelector('[class="anime-poster"]') ?.querySelector('img') ?.src + const episodeNumber = document .querySelector('[class="item ep-item active"]') ?.textContent ?.match(/[1-9]\d*/)?.[0] - presenceData.state = `Episode ${episodeNumber}` + if (usePresenceName) { + presenceData.name = title + if (episodeNumber) presenceData.details = `Episode ${episodeNumber}` + else presenceData.details = 'Watching' + } else { + presenceData.details = title + if (episodeNumber) presenceData.state = `Episode ${episodeNumber}` + } + presenceData.largeImageKey = coverArt ?? ActivityAssets.Logo presenceData.buttons = [ { From 40844594f4d6fd1de62b12f7d8a07fdac91b02d7 Mon Sep 17 00:00:00 2001 From: kokjp1 Date: Sun, 21 Dec 2025 20:28:58 +0100 Subject: [PATCH 2/6] corrected formatting --- websites/0-9/9anime/presence.ts | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/websites/0-9/9anime/presence.ts b/websites/0-9/9anime/presence.ts index 28acd49fdf5f..673b23c53d6a 100644 --- a/websites/0-9/9anime/presence.ts +++ b/websites/0-9/9anime/presence.ts @@ -45,15 +45,23 @@ presence.on('UpdateData', async () => { ?.textContent ?.match(/[1-9]\d*/)?.[0] - if (usePresenceName) { - presenceData.name = title - if (episodeNumber) presenceData.details = `Episode ${episodeNumber}` - else presenceData.details = 'Watching' - } else { - presenceData.details = title - if (episodeNumber) presenceData.state = `Episode ${episodeNumber}` - } + if (usePresenceName) { + presenceData.name = title + if (episodeNumber) { + presenceData.details = `Episode ${episodeNumber}` + } + else { + presenceData.details = "Watching" + } + } + else { + presenceData.details = title + + if (episodeNumber) { + presenceData.state = `Episode ${episodeNumber}` + } + } presenceData.largeImageKey = coverArt ?? ActivityAssets.Logo presenceData.buttons = [ { From fffc9577531c25b4c9f13d4987b46f76262762c1 Mon Sep 17 00:00:00 2001 From: kokjp1 Date: Sun, 21 Dec 2025 20:42:03 +0100 Subject: [PATCH 3/6] Update presence.ts --- websites/0-9/9anime/presence.ts | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/websites/0-9/9anime/presence.ts b/websites/0-9/9anime/presence.ts index 673b23c53d6a..fdec19001e05 100644 --- a/websites/0-9/9anime/presence.ts +++ b/websites/0-9/9anime/presence.ts @@ -45,23 +45,25 @@ presence.on('UpdateData', async () => { ?.textContent ?.match(/[1-9]\d*/)?.[0] - if (usePresenceName) { - presenceData.name = title + if (usePresenceName) { + presenceData.name = title - if (episodeNumber) { - presenceData.details = `Episode ${episodeNumber}` - } - else { - presenceData.details = "Watching" - } + if (episodeNumber) { + presenceData.details = `Episode ${episodeNumber}` } else { - presenceData.details = title + presenceData.details = "Watching" + } + } + else { + presenceData.details = title - if (episodeNumber) { - presenceData.state = `Episode ${episodeNumber}` - } + if (episodeNumber) { + presenceData.state = `Episode ${episodeNumber}` } + } + + presenceData.largeImageKey = coverArt ?? ActivityAssets.Logo presenceData.buttons = [ { From 202dd248c3407fc155af3ef38b534d02f0b20773 Mon Sep 17 00:00:00 2001 From: kokjp1 Date: Sun, 21 Dec 2025 20:54:20 +0100 Subject: [PATCH 4/6] Update presence.ts --- websites/0-9/9anime/presence.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/websites/0-9/9anime/presence.ts b/websites/0-9/9anime/presence.ts index fdec19001e05..a699d160b26c 100644 --- a/websites/0-9/9anime/presence.ts +++ b/websites/0-9/9anime/presence.ts @@ -52,7 +52,7 @@ presence.on('UpdateData', async () => { presenceData.details = `Episode ${episodeNumber}` } else { - presenceData.details = "Watching" + presenceData.details = 'Watching' } } else { From bcf413ec91a524c260377aef9fab33cdde2f17a7 Mon Sep 17 00:00:00 2001 From: kokjp1 Date: Sun, 21 Dec 2025 22:10:25 +0100 Subject: [PATCH 5/6] Update presence.ts --- websites/0-9/9anime/presence.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/websites/0-9/9anime/presence.ts b/websites/0-9/9anime/presence.ts index a699d160b26c..c9bcb7adb82c 100644 --- a/websites/0-9/9anime/presence.ts +++ b/websites/0-9/9anime/presence.ts @@ -62,8 +62,6 @@ presence.on('UpdateData', async () => { presenceData.state = `Episode ${episodeNumber}` } } - - presenceData.largeImageKey = coverArt ?? ActivityAssets.Logo presenceData.buttons = [ { From 114706d5bd8b3bff41eeca6800c7ad52d279b903 Mon Sep 17 00:00:00 2001 From: kokjp1 Date: Fri, 2 Jan 2026 16:38:08 +0100 Subject: [PATCH 6/6] bumped version --- websites/0-9/9anime/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/websites/0-9/9anime/metadata.json b/websites/0-9/9anime/metadata.json index 0da788e72e70..2599674a47a0 100644 --- a/websites/0-9/9anime/metadata.json +++ b/websites/0-9/9anime/metadata.json @@ -11,7 +11,7 @@ }, "url": "9animetv.to", "regExp": "^https?[:][/][/]([a-z0-9-]+[.])*9animetv[.]to[/]", - "version": "1.1.0", + "version": "1.1.1", "logo": "https://cdn.rcd.gg/PreMiD/websites/0-9/9anime/assets/logo.png", "thumbnail": "https://cdn.rcd.gg/PreMiD/websites/0-9/9anime/assets/thumbnail.png", "color": "#A020F0",