Skip to content

feat(PVQ Panel): add activity#11030

Open
pavl21 wants to merge 3 commits into
PreMiD:mainfrom
pavl21:add-pvq-panel-presence
Open

feat(PVQ Panel): add activity#11030
pavl21 wants to merge 3 commits into
PreMiD:mainfrom
pavl21:add-pvq-panel-presence

Conversation

@pavl21

@pavl21 pavl21 commented Jul 20, 2026

Copy link
Copy Markdown

Description

Adds a Discord Rich Presence activity for PVQ Panel, a Pterodactyl-based game server management panel.

Contributor: Pavl21

Shows:

  • Current server name and status (Online/Offline) while managing a server
  • Node Manager / Discord Bot sub-sections detected separately
  • Current action derived from the sub-page (console, files, backups, databases, plugins, players, schedules, etc.)
  • Dashboard / account pages

Settings

  • Show Server Name
  • Show Server Status
  • Show Elapsed Time

Test plan

  • Compiles cleanly with the CLI dev server (pmd dev "PVQ Panel", 0 TypeScript errors)
  • npm run lint passes with 0 errors
  • Verified live in Discord via Activity Developer Mode

Shows current activity in PVQ Panel (pv-q.de) on Discord — server name,
server status, and current action (console, files, backups, etc.) based
on the visited sub-page. Configurable via settings (show server name,
show status, show elapsed time).
@dimerp

dimerp Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

🖼️ Activity asset preview

Behold, the gallery! Admission is free, but I do accept tips in the form of approvals.

PVQ Panel (websites/P/PVQ Panel) — creation

Preview Source URL
logo https://pv-q.de/favicons/pvq-icon-maskable-512x512.png

Beep boop — I refresh this comment on every push, so no need to scroll. 🤖

},
"url": "pv-q.de",
"regExp": "^https://(?:[a-z0-9-]+\\.)?pv-q\\.de(/.*)?$",
"version": "1.0.1",
Comment thread websites/P/PVQ Panel/metadata.json Fixed
"icon": "fas fa-server",
"value": true,
"multiLanguage": true,
"title": {
"en": "Show Server Name",
"de": "Servername anzeigen"
},
"description": {
"icon": "fas fa-signal",
"value": true,
"multiLanguage": true,
"title": {
"en": "Show Server Status",
"de": "Server-Status anzeigen"
},
"description": {
"icon": "fas fa-clock",
"value": true,
"multiLanguage": true,
"title": {
"en": "Show Elapsed Time",
"de": "Vergangene Zeit anzeigen"
},
"description": {

const { pathname } = document.location

const serverMatch = pathname.match(/^\/server\/([a-f0-9-]+)(\/.*)?$/i)
@@ -0,0 +1,65 @@
{
"$schema": "https://schemas.premid.app/metadata/1.10",
"apiVersion": 1,
- Status label from the panel already reads "Server läuft" etc. —
  strip the "Server " prefix so it doesn't repeat after "Server: <name>".
- Fallback details text changed from "Server verwalten" to "Server" to
  match the Node Manager / Discord Bot fallbacks and avoid echoing the
  "Verwaltet ..." wording used in state.
- Long server/node names (e.g. auto-generated egg names) are truncated
  to 40 chars for a cleaner compact status line.

@skullysmods skullysmods left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix this + fix the errors reported by the GitHub bot + upload proof of working it

@@ -0,0 +1,65 @@
{
"$schema": "https://schemas.premid.app/metadata/1.10",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"$schema": "https://schemas.premid.app/metadata/1.10",
"$schema": "https://schemas.premid.app/metadata/1.17",

Comment on lines +10 to +11
"de": "Zeigt deine aktuelle Aktivität im PVQ Panel auf Discord.",
"en": "Shows what you are doing in PVQ Panel on Discord."

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be the description of the site, not the activity

"en": "Shows what you are doing in PVQ Panel on Discord."
},
"url": "pv-q.de",
"regExp": "^https://(?:[a-z0-9-]+\\.)?pv-q\\.de(/.*)?$",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"regExp": "^https://(?:[a-z0-9-]+\\.)?pv-q\\.de(/.*)?$",
"regExp": "^https?[:][/][/]([a-z0-9-]+[.])*pv-q[.]de[/]",

"regExp": "^https://(?:[a-z0-9-]+\\.)?pv-q\\.de(/.*)?$",
"version": "1.0.1",
"logo": "https://pv-q.de/favicons/pvq-icon-maskable-512x512.png",
"thumbnail": "https://pv-q.de/favicons/pvq-icon-maskable-512x512.png",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thumbnail should be a landscape promotional image or screenshot, not the logo

"thumbnail": "https://pv-q.de/favicons/pvq-icon-maskable-512x512.png",
"color": "#3b82f6",
"category": "other",
"tags": ["pvq", "panel", "gameserver", "pterodactyl"],

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the Website name from the tags

Comment on lines +27 to +34
"title": {
"en": "Show Server Name",
"de": "Servername anzeigen"
},
"description": {
"en": "Show the current server name on Discord.",
"de": "Zeigt den aktuellen Servernamen auf Discord an."
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are currently no multi-language title/descriptions for the settings.

Comment on lines +184 to +186
const showServerName = await presence.getSetting<boolean>('showServerName')
const showStatus = await presence.getSetting<boolean>('showStatus')
const showElapsedTime = await presence.getSetting<boolean>('showElapsedTime')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Combine using Promise.all

@skullysmods skullysmods changed the title feat: add PVQ Panel presence feat(PVQ Panel): add activity Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants