Admin Accounts
Username Last Login Created Actions
Loading...
Login History (last 50)
AdminIP AddressResultDate / Time
Loading...
Change Your Password
Audit Log
Date / Time Admin Action Target Detail
Loading...
Settings
Branding & Identity

Customise the app for your server. These values appear in the UI, DM footers, and payment references.

Users are told to include {prefix} {discord_id} with their payment. Leave blank to hide this field.
User Lookup Portal

Users can check their own subscription status at /lookup. Set a password to enable the portal — leave blank to keep the current password unchanged.

Open Portal ↗
Discord DM Reminders

Automatically DMs users on Discord at 7 days and 2 days before their subscription expires. Requires a Discord Bot token and the user's Discord User ID (snowflake) set on their profile.

Found in Discord Developer Portal → Your App → General Information → Public Key. Required for the /myid slash command.

Discord Webhook Notifications

Sends a daily Discord alert listing users whose subscriptions expire within the threshold. Alerts fire automatically once per day. Use "Send Now" to trigger immediately.

Database Backup & Export

The system automatically saves a .db + .csv + .xlsx snapshot every 3 days to the backups/ folder on the host. JJtopia User Backup Database.xlsx is also kept up-to-date automatically whenever users are added, edited, or payments are logged. Use the buttons below for an on-demand download.

Import Users from XLSX

Import users from a StreamVault backup XLSX (Users sheet) or the original JJtopia XLSX (Main / Shine sheets). Replace All wipes existing users first.

DM Message Templates

Customise the message body sent to users. Leave blank to use the default text.
Expiry reminder placeholders: {name} {days} {expiry} {urgency}
Payment confirmation placeholders: {name} {expiry} {months}

Audit Log Maintenance

Remove old audit log entries to keep the database tidy. Current entries:

Payment Notifications Maintenance

Remove old confirmed and dismissed payment notifications. Pending notifications are never pruned. Current resolved:

Subscription Manager
Version 1.9.0
Created By
inzi
Built for
Features
👥 User Management
Add, edit, delete subscribers. Search across all ID fields including payer notes. Sortable columns, pagination, bulk actions.
💳 Payment Tracking
Log payments per user, automatically extends expiry. Full payment history per subscriber.
🎬 Service Management
Create and manage streaming services (Emby, Plex, Jellyfin, etc.) with custom icons and colours.
🔔 Discord Webhook Alerts
Daily automated alerts to a Discord channel listing expiring and expired subscribers. Rich embed format.
💬 Discord DM Reminders
Automated DMs to subscribers at 7 days and 2 days before expiry. Includes payment link and TripBeerFund reference.
🔍 User Lookup Portal
Password-protected public portal at /lookup — users can check their own subscription status.
💾 Backup & Export
Auto-backup every 3 days (.db + .csv + .xlsx). JJtopia User Backup Database.xlsx stays live-synced on every change.
🛡️ Admin Management
Multiple admin accounts with forced password change on first login, password reset with generator, and audit logging.
📋 Audit Log
Full history of all admin actions — user changes, payments, logins, exports, and settings updates. Includes before/after expiry on payment entries. Prunable from Settings.
📱 Mobile Responsive
Fully responsive design — admin panel and lookup portal work on phones and tablets.
🤖 Discord /myid Command
Subscribers type /myid in Discord to automatically register their snowflake ID for DM reminders. Self-update portal at /update as a fallback.
🔔 Payment Notifications
Subscribers use /paid (with optional target & amount) to notify admins of a payment. Live bell badge in the admin panel with 30-second polling. Confirm opens the payment modal pre-filled.
📨 /senddm Test Command
Subscribers type /senddm to trigger a test DM and verify expiry reminders will reach them before they're due.
🗑 Bulk Delete Expired
One-click removal of users expired more than a chosen number of days ago. Threshold selector from 0 to 90 days.
📂 In-App XLSX Import
Upload and import users from a StreamVault backup XLSX or original JJtopia format directly from Settings. Add-missing or full-replace mode.
✏️ DM Template Editor
Customise the expiry reminder and payment confirmation DM body text from Settings. Supports {name}, {days}, {expiry}, {months} placeholders.
Changelog
v1.9.0
Bulk delete expired users (threshold selector). In-app XLSX import (add or replace mode). DM message template editor for expiry reminders and payment confirmations. Notes search highlight. Admin login history. Backup CSV/XLSX now includes Discord User ID for full recovery.
v1.8.0
/paid command with optional target (for payers managing multiple accounts) and amount. /senddm test DM command. Admin payment notification bell with confirm/dismiss. Mobile toast fix.
v1.7.0
/myid Discord slash command — subscribers self-register their snowflake ID for DM reminders. Self-update portal at /update as fallback. Auto-match script to bulk-populate snowflake IDs from server member list.
v1.6.0
Save confirmation on user edits, removed native confirm() from extend buttons for browser compatibility, audit log prune tool in Settings, before→after expiry detail in payment audit entries.
v1.5.0
Discord DM reminders (7 & 2 day), payment link & TripBeerFund reference, pretty embed format, JJtopia Backup XLSX live-sync, About tab.
v1.4.0
Sortable columns, pagination, bulk extend, styled confirm modals, CSV/XLSX export with payment history, admin password generator.
v1.3.0
User lookup portal (/lookup) with password protection, security hardening, Cloudflare tunnel compatibility, rate limiting.
v1.2.0
Mobile responsive design, admin management, forced password change, audit log, Discord webhook rich embeds, manual DB backup.
v1.1.0
Payment tracking, service management, expiry status dashboard, Discord webhook alerts, bulk user import from XLSX.
v1.0.0
Initial release. User management, subscription tracking, expiry dates, services, admin login.
0 selected | Extend:
Payment Notifications