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

Activity

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

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