Skip to content

feat(PVQ Panel): add activity - #11030

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

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

Comment thread websites/P/PVQ Panel/metadata.json
Comment thread websites/P/PVQ Panel/metadata.json
"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[/]",

Comment thread websites/P/PVQ Panel/metadata.json
Comment thread websites/P/PVQ Panel/metadata.json
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
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

This PR has been marked as stale because it has been inactive for over 14 days.
If you believe this PR is still relevant, please leave a comment to let us know.
Otherwise, this PR may be closed automatically in 7 days.

@github-actions github-actions Bot added the inactive PR/Issue has been inactive for a while and will be closed soon label Aug 5, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This PR has been automatically closed due to inactivity for over 14 days.
If you believe this PR is still relevant, feel free to reopen it or create a new one with updated information.

@pavl21

pavl21 commented Sep 3, 2026

Copy link
Copy Markdown
Author

Replaced by #11161 with all requested changes implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

activity creation inactive PR/Issue has been inactive for a while and will be closed soon

Development

Successfully merging this pull request may close these issues.

3 participants