Skip to content

Plugin Enhancement: TempVoice — text binds, owner controls, activity tracking, templates #36

Description

@DeadIndian

Plugin Enhancement: TempVoice — text binds, voice activity tracking, advanced controls

Enhance adb-plugin-tempvoice with auto-linked text channels, voice activity tracking, room renaming, user limits, and role-based controls.

Why

The current TempVoice plugin auto-creates voice channels but lacks the rich feature set users expect: text chat per room, bitrate/kick controls for room owners, voice activity XP tracking, and better admin controls.

Spec

New Features:

1. Text Channel Binding

  • Optionally auto-create a text channel linked to each temp voice channel
  • /tempvoice text [on|off] — Toggle text binding per user
  • Text channel naming: {voice-name}-chat, studio-{user}, #text-{voice-name}
  • Category config: which category text channels go in
  • Permission: only voice members + room owner can see/type
  • Auto-delete text when voice empties (configurable delay)
  • Integration with Voice Channel Text Binds plugin if installed

2. Room Owner Controls

  • /tempvoice limit <number> — Set user limit in your voice channel
  • /tempvoice bitrate <kbps> — Set bitrate (8-384, capped by server boost level)
  • /tempvoice rename <name> — Rename your voice channel
  • /tempvoice kick <user> — Kick a user from your voice channel
  • /tempvoice ban <user> — Ban a user from your channel (session only)
  • /tempvoice unban <user> — Unban a user
  • /tempvoice lock — Lock channel (no one else can join)
  • /tempvoice unlock — Unlock channel
  • /tempvoice hide — Hide channel from channel list
  • /tempvoice reveal — Show channel
  • /tempvoice allow <user> — Allow a specific user to join when locked
  • /tempvoice claim — Claim ownership if owner left (timeout-based)

3. Voice Activity Tracking

  • /tempvoice activity — Show voice time stats for the channel
  • /tempvoice activity @user — Show voice time for a specific user
  • Track: time in voice, messages sent in text bind, times kicked/joined
  • Optional: XP integration with levels plugin per minute in voice
  • AFK detection: don't count time if user is muted/deafened/alone

4. Advanced Admin Config

  • /tempvoice-config category <category> — Category to create channels in
  • /tempvoice-config bitrate <kbps> — Default bitrate for new channels
  • /tempvoice-config user-limit <number> — Default user limit (0 = unlimited)
  • /tempvoice-config room-format <template> — Naming template {user}'s Studio
  • /tempvoice-config delete-delay <seconds> — Delay before deleting empty rooms
  • /tempvoice-config role-blacklist <role> — Roles forbidden from creating rooms
  • /tempvoice-config user-blacklist <user> — Users forbidden
  • /tempvoice-config text-bind [on|off|category] — Auto-create text channels
  • /tempvoice-config max-rooms <number> — Max concurrent rooms (default: 10)
  • /tempvoice-config require-level <level> — Min level to create room (levels plugin)

5. Room Templates

  • /tempvoice template save <name> — Save current room config as a template
  • /tempvoice template load <name> — Apply a template when creating a room
  • /tempvoice template delete <name> — Delete a template
  • /tempvoice template list — List templates
  • Pre-built templates: "Meeting Room" (high bitrate, limit 10), "Gaming" (low bitrate, limit 5)

6. UI/UX

  • Control panel: button-based UI for room owner (limit, lock, rename via modal)
  • Welcome message in channel when created (configurable)
  • Owner badge (owner has a crown or badge in member list via voice channel name)
  • Persistent rooms: optionally keep channel alive even empty (mark as persistent)

Config Schema Additions:

{
  "categoryId": null,
  "defaultBitrate": 64000,
  "defaultUserLimit": 0,
  "roomFormat": "{user}'s Room",
  "deleteDelay": 5000,
  // New:
  "textBindEnabled": false,
  "textCategoryId": null,
  "textDeleteDelay": 60000,
  "textVisibility": "voice_only",   // 'all' | 'voice_only'
  "roleBlacklist": [],
  "userBlacklist": [],
  "maxRooms": 10,
  "requireLevel": 0,
  "ownerControlEnabled": true,
  "activityTracking": false,
  "claimTimeout": 300000,          // 5 min
  "persistentRooms": []
}

Acceptance Criteria

  • Room owner controls (limit, bitrate, rename, kick, ban, lock, hide)
  • Text channel binding with auto-permissions
  • Voice activity tracking with optional XP integration
  • Role/user blacklists
  • Room templates
  • Claim ownership when owner leaves

Metadata

Metadata

Assignees

No one assigned

    Labels

    plugin-enhancementEnhancement to an existing plugin (add features, improve UX)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions