Interactive Ticket Panel
Buttons for Technical issue, Account help, and General questions create private ticket channels visible only to the member and authorized staff.
Self-hosted · Python · Discord
A dedicated support and operations bot for Discord communities. Members open private support tickets from an interactive panel, while staff get claim workflows, saved transcripts, canned FAQ replies, announcements, and an audit trail.
Everything staff needs
Soundtrail Support provides an end-to-end help desk right inside your Discord server.
Buttons for Technical issue, Account help, and General questions create private ticket channels visible only to the member and authorized staff.
Before a ticket channel is removed, all messages, timestamps, authors, and attachment links are compiled into an HTML/text transcript for staff review.
Save common troubleshooting guides using /manage faq save and insert them directly into open tickets with /manage faq use without pinging members.
Define operating hours to automatically inform members if they submit inquiries after hours, and prevent late-night announcement bursts.
Installation & Setup
Self-hosted Python 3.9+ bot with SQLite persistence and browser management dashboard.
1. Clone the repository
git clone https://github.com/mob5824m-wq/Soundtrail-Bot.git && cd Soundtrail-Bot2. Install Python dependencies
python3 -m pip install -r requirements.txt3. Configure Bot Token
export DISCORD_TOKEN="your-bot-token"data/config.json.
4. Launch the Bot
python3 bot.pyscripts/run_linux.sh or scripts\run_windows.bat.
1. Discord Bot Gateway Intents
In Discord Developer Portal, enable Server Members Intent and Message Content Intent.
2. Server configuration
/manage setup staff_role:@Support ticket_category:Support timezone:America/Toronto3. Deploy Support Ticket Panel
/manage ticket panel4. Staff Dashboard
Visit http://localhost:8000 to view live ticket queues, download transcripts, and inspect audit logs.
Security & Data Control
You own your community records. All data is kept on the host you choose.
Tickets, settings, FAQs, and audit logs are stored in a local SQLite file in your data directory.
Commands verify the caller's server role and permissions on every invocation.
Set transcript retention periods from 1 to 3,650 days with automatic expiration of local files.