Skip to content

Slash Commands

Jason Tucker edited this page May 5, 2026 · 13 revisions

Slash Commands

SquishyBot has 4 slash commands and 1 right-click context menu. All responses are ephemeral.

/squishy

Who: Everyone
What: User-facing help panel and menu

Shows bot status (active channels, hubs), an explanation of how voice channels work, and a Request Staff Role button. Includes a select menu to explore sections:

  • 🔊 Auto Voice Channels — how hubs and auto channels work
  • 📝 Staff Requests — how to submit a staff role request
  • 🎛️ Voice Control Panel — what each button does
  • 🛡️ Admin Tools — sudo panel overview (only shown to sudo users)

/voice

Who: Anyone currently in an auto voice channel
What: Opens the voice control panel

Use this from any channel to get an ephemeral copy of your voice channel's control panel. Also refreshes the persistent panel in the private text channel.

Errors if you're not in an auto voice channel.

/sudo

Who: Sudo users only (configured via SUDO_ROLE_IDS / SUDO_USER_IDS)
What: Admin management panel with a select menu

Select menu options:

  • 🔊 Active voice channels — list all current auto channels
  • 🪐 Hub channels — list all registered hubs
  • 🧹 Force cleanup — delete empty or orphaned channels
  • 📥 Pending approvals — view pending staff requests
  • 🔧 Run reconciler — repair channels and rebuild DB state
  • 🔁 Restart instructions — terminal commands for VPS management

/report

Who: Everyone
What: File a bug or feature request that gets reviewed by the bot owner before landing on GitHub

Opens a modal: Title, Type (bug / feature / question), Description, optional Steps to reproduce.

On submit, the bot DMs BOT_OWNER_ID with the full report and four review buttons:

  • Approve + Notify — file issue, DM the reporter the URL
  • Approve, Silent — file issue, no DM to reporter
  • Reject + Notify — drop, DM reporter that it was reviewed and not filed
  • Reject, Silent — drop, no DM

Requires GITHUB_TOKEN (PAT with Issues: Read & Write) and GITHUB_REPO (owner/name) env vars; replies with a friendly "not configured" error if missing.

Right-click → Manage User

Who: Sudo users only
What: User management panel

Right-click any Discord member → Apps → Manage User

Shows: their roles, voice channel, owned auto channel.
Buttons: View Channel Panel, Disconnect from Voice, View Staff Request History.

Staff request flow

  1. User runs /squishy → clicks Request Staff Role
  2. Modal opens: category, department, tier, name, reason
  3. Bot posts request in STAFF_APPROVAL_THREAD_ID with Approve/Deny buttons, pings STAFF_APPROVAL_PING_USER_ID
  4. Sudo approves or denies — request message updates in place, buttons removed
  5. Requester gets a DM with the result

Clone this wiki locally