WHAT WAS DONE: - Created docs/guides/ticket-tool-setup-guide.md - 10-step installation and configuration guide for Ticket Tool - Documents all 6 ticket categories with rationale for each - Includes complete panel configuration (welcome messages, routing, naming, permissions) for every ticket type - Transcript and logging setup - Staff workflow reference - Troubleshooting section (including role hierarchy lesson learned today) - Future enhancements roadmap - References Task #85 (Paymenter redirect) TICKET CATEGORIES: 1. Billing & Subscriptions (💳) 2. Server Help (🎮) 3. Technical Issues (🔧) 4. Report a Player (🚨) 5. Sales & Upgrades (💎) 6. Suggestions & Feedback (💡) WHY: Decision made this session: all support lives in Discord. Paymenter built-in ticket system will be bypassed (Task #85). Complete guide means anyone on the team can set this up without needing Michael present. FILES ADDED: - docs/guides/ticket-tool-setup-guide.md Signed-off-by: Chronicler #45 <claude@firefrostgaming.com>
412 lines
15 KiB
Markdown
412 lines
15 KiB
Markdown
# Ticket Tool — Complete Setup Guide
|
|
|
|
**For:** Firefrost Gaming Discord Server
|
|
**Created:** March 28, 2026
|
|
**Created By:** Chronicler #45
|
|
**Bot:** Ticket Tool (tickettool.xyz)
|
|
**Guild ID:** `1260574715546701936`
|
|
**Status:** Ready to implement
|
|
|
|
---
|
|
|
|
## 📖 OVERVIEW
|
|
|
|
Ticket Tool is the official support ticketing system for Firefrost Gaming. All support requests — whether they originate from the website, Paymenter billing portal, or Discord itself — funnel through a single Discord ticket system. This gives Meg and staff one queue to manage, one place to check, one workflow to follow.
|
|
|
|
**Ticket Tool handles:**
|
|
- Private ticket channels created on demand by subscribers and Wanderers
|
|
- Categorized routing (billing vs technical vs gameplay vs suggestions)
|
|
- Automatic transcripts saved when tickets close
|
|
- Staff claiming so one person owns each ticket
|
|
- Clean close/archive flow
|
|
|
|
---
|
|
|
|
## 🗂️ TICKET CATEGORIES
|
|
|
|
These are the six ticket types members can open. Names are chosen for speed — a member should be able to read the list and immediately know which one to pick.
|
|
|
|
| # | Button Label | Emoji | Who Uses It | What It's For |
|
|
|---|-------------|-------|-------------|---------------|
|
|
| 1 | **Billing & Subscriptions** | 💳 | Anyone | Payment issues, subscription questions, refunds, tier changes, account access |
|
|
| 2 | **Server Help** | 🎮 | Subscribers | Can't connect, crashes, lag, whitelist issues, in-game bugs |
|
|
| 3 | **Technical Issues** | 🔧 | Anyone | Launcher problems, mod errors, Java issues — anything not server-specific |
|
|
| 4 | **Report a Player** | 🚨 | Anyone | Rule violations, harassment, griefing, cheating |
|
|
| 5 | **Sales & Upgrades** | 💎 | Wanderers / Subscribers | Questions before subscribing, tier comparisons, what's included |
|
|
| 6 | **Suggestions & Feedback** | 💡 | Anyone | Server ideas, modpack requests, Discord improvements, general feedback |
|
|
|
|
### Why These Categories
|
|
|
|
- **Billing & Subscriptions** is first because it's the most urgent — money issues get answered fast
|
|
- **Server Help** vs **Technical Issues** splits gameplay problems (server-side) from client problems (their machine) — routes to different staff knowledge
|
|
- **Report a Player** is clearly labeled so members don't bury it in general support
|
|
- **Sales & Upgrades** gives Wanderers a non-committal way to ask questions before subscribing — this is a conversion tool as much as a support tool
|
|
- **Suggestions & Feedback** replaces a suggestions channel — staff can respond properly and close it when actioned
|
|
|
|
---
|
|
|
|
## 🛠️ STEP 1: INVITE TICKET TOOL
|
|
|
|
1. Go to: **https://tickettool.xyz**
|
|
2. Click **"Add to Server"** or **"Invite"**
|
|
3. Select **Firefrost Gaming** from the server dropdown
|
|
4. Grant the requested permissions — Ticket Tool needs:
|
|
- Manage Channels (creates ticket channels)
|
|
- Manage Roles (for ticket permissions)
|
|
- Read/Send Messages
|
|
- Embed Links
|
|
- Attach Files
|
|
- Manage Messages (for pinning/deleting)
|
|
- Read Message History
|
|
- Add Reactions
|
|
5. Click **Authorize**
|
|
6. Complete the CAPTCHA if prompted
|
|
|
|
Ticket Tool will appear in your member list as a bot.
|
|
|
|
---
|
|
|
|
## 🏗️ STEP 2: POSITION TICKET TOOL IN ROLE HIERARCHY
|
|
|
|
Just like Carl-bot, Ticket Tool needs its role above the roles it manages.
|
|
|
|
1. Go to **Server Settings → Roles**
|
|
2. Find **Ticket Tool** in the role list
|
|
3. Drag it **above** Wanderer, and above all subscriber tier roles
|
|
4. It does NOT need to be above Staff/Moderator roles
|
|
5. Save
|
|
|
|
> **Lesson learned:** Gray role icons in bot dashboards = hierarchy problem. Ticket Tool creates channels with role permissions — if its role is too low, channel creation silently fails.
|
|
|
|
---
|
|
|
|
## ⚙️ STEP 3: ACCESS THE TICKET TOOL DASHBOARD
|
|
|
|
1. Go to: **https://tickettool.xyz/dashboard**
|
|
2. Log in with your Discord account (Michael or Meg)
|
|
3. Select **Firefrost Gaming** from your server list
|
|
4. You're now in the Ticket Tool control panel
|
|
|
|
All configuration happens here. You don't need to run any bot commands in Discord.
|
|
|
|
---
|
|
|
|
## 📍 STEP 4: CREATE THE TICKET PANEL CHANNEL
|
|
|
|
Before configuring Ticket Tool, create the channel where the support panel will live.
|
|
|
|
**In Discord:**
|
|
|
|
1. Go to your **Support** category
|
|
2. Create a new text channel: **`#open-a-ticket`**
|
|
3. Set channel permissions:
|
|
- **@everyone / Wanderer:** View Channel ✅ — Send Messages ❌
|
|
- **Staff/Moderator:** Full access ✅
|
|
4. Pin a message in the channel (before deploying the panel):
|
|
|
|
```
|
|
🎟️ Need help? Click a button below to open a support ticket.
|
|
A private channel will be created just for you and our staff.
|
|
|
|
Our team typically responds within a few hours.
|
|
```
|
|
|
|
> Staff-only channels for ticket transcripts and logs will be created in Step 7.
|
|
|
|
---
|
|
|
|
## 🎛️ STEP 5: CONFIGURE SUPPORT ROLES
|
|
|
|
Tell Ticket Tool which roles can see and respond to tickets.
|
|
|
|
**In Ticket Tool Dashboard → Settings → Support Roles:**
|
|
|
|
Add these roles as support agents:
|
|
- **Wizard** (Michael)
|
|
- **Emissary** (Meg)
|
|
- **Moderators**
|
|
- **Staff** (general staff role if it exists)
|
|
|
|
These roles will automatically have access to every ticket channel when it's created.
|
|
|
|
---
|
|
|
|
## 🎟️ STEP 6: CREATE THE TICKET PANEL
|
|
|
|
This is the panel with buttons that members click to open tickets.
|
|
|
|
**In Ticket Tool Dashboard → Panels → Create Panel:**
|
|
|
|
### Panel Settings
|
|
|
|
| Setting | Value |
|
|
|---------|-------|
|
|
| Channel | `#open-a-ticket` |
|
|
| Panel Title | `Firefrost Gaming Support` |
|
|
| Panel Description | `Select the category that best matches your issue. A private ticket will open instantly.` |
|
|
| Panel Color | `#3B82F6` (Frost blue) or `#EF4444` (Fire red) — your choice |
|
|
| Thumbnail | Firefrost Gaming logo (optional) |
|
|
|
|
### Create Each Ticket Category
|
|
|
|
Click **"Add Ticket Type"** for each of the six categories below.
|
|
|
|
---
|
|
|
|
#### 💳 Billing & Subscriptions
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| Name | `Billing & Subscriptions` |
|
|
| Emoji | 💳 |
|
|
| Button Color | Green |
|
|
| Welcome Message | `Thanks for reaching out about billing. Please describe your issue and include your subscription email address. A staff member will be with you shortly.` |
|
|
| Support Roles | Wizard, Emissary |
|
|
| Category (Discord) | Support (or create a `🎟️ Tickets` category) |
|
|
| Ticket Name Format | `billing-{username}` |
|
|
| Max Open Tickets Per User | 1 |
|
|
|
|
---
|
|
|
|
#### 🎮 Server Help
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| Name | `Server Help` |
|
|
| Emoji | 🎮 |
|
|
| Button Color | Blurple |
|
|
| Welcome Message | `Thanks for reaching out! Please tell us: which server you're playing on, what happened, and any error messages you saw. Screenshots help a lot.` |
|
|
| Support Roles | Wizard, Emissary, Moderators, Staff |
|
|
| Category (Discord) | Support / Tickets |
|
|
| Ticket Name Format | `server-{username}` |
|
|
| Max Open Tickets Per User | 1 |
|
|
|
|
---
|
|
|
|
#### 🔧 Technical Issues
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| Name | `Technical Issues` |
|
|
| Emoji | 🔧 |
|
|
| Button Color | Blurple |
|
|
| Welcome Message | `Thanks for reaching out! Please describe the issue, what you've already tried, and include your Java version and launcher (CurseForge, Prism, FTB, etc.). Screenshots or error logs are super helpful.` |
|
|
| Support Roles | Wizard, Emissary, Moderators, Staff |
|
|
| Category (Discord) | Support / Tickets |
|
|
| Ticket Name Format | `tech-{username}` |
|
|
| Max Open Tickets Per User | 1 |
|
|
|
|
---
|
|
|
|
#### 🚨 Report a Player
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| Name | `Report a Player` |
|
|
| Emoji | 🚨 |
|
|
| Button Color | Red |
|
|
| Welcome Message | `Thank you for reporting. This ticket is private — only you and staff can see it. Please provide: the player's username, what happened, when it happened, and any screenshots or evidence you have.` |
|
|
| Support Roles | Wizard, Emissary, Moderators |
|
|
| Category (Discord) | Support / Tickets |
|
|
| Ticket Name Format | `report-{username}` |
|
|
| Max Open Tickets Per User | 2 |
|
|
|
|
---
|
|
|
|
#### 💎 Sales & Upgrades
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| Name | `Sales & Upgrades` |
|
|
| Emoji | 💎 |
|
|
| Button Color | Green |
|
|
| Welcome Message | `Thinking about subscribing or upgrading? Excellent taste. Ask us anything — what's included in each tier, which path suits you, or how to upgrade. We're happy to help you find the right fit.` |
|
|
| Support Roles | Wizard, Emissary |
|
|
| Category (Discord) | Support / Tickets |
|
|
| Ticket Name Format | `sales-{username}` |
|
|
| Max Open Tickets Per User | 1 |
|
|
|
|
---
|
|
|
|
#### 💡 Suggestions & Feedback
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| Name | `Suggestions & Feedback` |
|
|
| Emoji | 💡 |
|
|
| Button Color | Grey |
|
|
| Welcome Message | `We love hearing from the community! Share your idea or feedback and we'll review it. We read every single one — your ideas shape what Firefrost becomes.` |
|
|
| Support Roles | Wizard, Emissary, Moderators, Staff |
|
|
| Category (Discord) | Support / Tickets |
|
|
| Ticket Name Format | `feedback-{username}` |
|
|
| Max Open Tickets Per User | 1 |
|
|
|
|
---
|
|
|
|
## 📋 STEP 7: CONFIGURE TRANSCRIPTS & LOGGING
|
|
|
|
When a ticket closes, you want a record of it.
|
|
|
|
**In Ticket Tool Dashboard → Settings → Logs:**
|
|
|
|
1. Create a staff-only channel in Discord: **`#ticket-logs`**
|
|
- Only Staff / Moderator roles can see it
|
|
- Wanderers and subscribers cannot see it
|
|
2. Set **Transcript Channel** → `#ticket-logs`
|
|
3. Set **Log Channel** → `#ticket-logs` (same channel is fine for small teams)
|
|
4. Enable:
|
|
- ✅ Log ticket creation
|
|
- ✅ Log ticket closure
|
|
- ✅ Save transcript on close
|
|
- ✅ DM transcript to user on close (optional but nice — users get a record)
|
|
|
|
---
|
|
|
|
## 🔒 STEP 8: TICKET CHANNEL PERMISSIONS
|
|
|
|
By default, Ticket Tool creates a private channel that only the opener and support roles can see. Verify these defaults in **Dashboard → Settings → Permissions:**
|
|
|
|
- ✅ Ticket creator can view and send messages
|
|
- ✅ Support roles can view and send messages
|
|
- ✅ @everyone / Wanderer **cannot** view ticket channels
|
|
- ✅ Other subscribers **cannot** view other members' tickets
|
|
|
|
This is already the default behavior — just confirm it's set correctly.
|
|
|
|
---
|
|
|
|
## 🧪 STEP 9: TEST BEFORE GOING LIVE
|
|
|
|
Before announcing to the community, run through the full lifecycle.
|
|
|
|
### Test Flow
|
|
|
|
1. **Create a test ticket** — Click each of the 6 buttons as yourself or a test account
|
|
2. **Verify the channel appears** — Private channel created in the right category
|
|
3. **Verify welcome message** — Correct message for that ticket type
|
|
4. **Verify staff can see it** — Log in as Meg or another staff account and confirm visibility
|
|
5. **Close the ticket** — Use the close button in the ticket channel
|
|
6. **Verify transcript** — Check `#ticket-logs` for the saved transcript
|
|
7. **Repeat for all 6 categories**
|
|
|
|
### What to Check
|
|
|
|
- [ ] All 6 ticket types create channels correctly
|
|
- [ ] Channel names follow the format (e.g., `billing-frostystyle`)
|
|
- [ ] Welcome messages are correct for each type
|
|
- [ ] Staff roles can see all ticket channels
|
|
- [ ] Wanderers/subscribers cannot see other people's tickets
|
|
- [ ] Closing a ticket saves a transcript to `#ticket-logs`
|
|
- [ ] The panel in `#open-a-ticket` looks clean and professional
|
|
|
|
---
|
|
|
|
## 📢 STEP 10: UPDATE SUPPORT TOUCHPOINTS
|
|
|
|
Once Ticket Tool is live and tested, update everywhere that previously mentioned support:
|
|
|
|
### Ghost Website Contact Page
|
|
The Contact page (already published by The Publisher, Chronicler #39) should link directly to Discord with a note about tickets:
|
|
|
|
> "Need help? Join our Discord and open a support ticket — our team responds within a few hours."
|
|
|
|
Add a Discord invite button/link on the Contact page.
|
|
|
|
### Paymenter Billing Portal
|
|
See **Task #85** — modify Paymenter's support page to redirect to Discord instead of Paymenter's built-in ticket system. The exact method (link swap vs template edit) depends on what the Paymenter admin panel looks like — investigate when on desktop.
|
|
|
|
### Discord Welcome Channel
|
|
Update `#welcome` or `#rules` to mention: "Need help? Open a ticket in `#open-a-ticket`."
|
|
|
|
### Wanderer Onboarding
|
|
If Carl-bot sends a welcome DM (future enhancement), include the ticket channel link.
|
|
|
|
---
|
|
|
|
## 🔄 TICKET WORKFLOW FOR STAFF
|
|
|
|
### Standard Flow
|
|
|
|
```
|
|
Member opens ticket
|
|
↓
|
|
Staff sees new channel appear in ticket category
|
|
↓
|
|
Staff member "claims" the ticket (assigns to themselves)
|
|
↓
|
|
Conversation happens in the private channel
|
|
↓
|
|
Issue resolved
|
|
↓
|
|
Staff closes ticket
|
|
↓
|
|
Transcript saved to #ticket-logs
|
|
↓
|
|
Channel archived/deleted
|
|
```
|
|
|
|
### Staff Commands (in ticket channel)
|
|
|
|
Most actions happen via buttons Ticket Tool pins in the channel, but common slash commands:
|
|
|
|
| Command | What It Does |
|
|
|---------|-------------|
|
|
| `/close` | Closes the ticket, saves transcript |
|
|
| `/add @user` | Adds someone else to the ticket (e.g., Michael for billing escalation) |
|
|
| `/remove @user` | Removes someone from the ticket |
|
|
| `/rename [name]` | Renames the ticket channel |
|
|
| `/transcript` | Generates transcript manually without closing |
|
|
|
|
---
|
|
|
|
## 🚨 TROUBLESHOOTING
|
|
|
|
### Ticket channels not being created
|
|
|
|
**Symptom:** Member clicks button, nothing happens
|
|
**Cause:** Ticket Tool's role is below the Discord category in the hierarchy, OR missing Manage Channels permission
|
|
**Fix:** Server Settings → Roles → drag Ticket Tool role higher. Verify Manage Channels permission is granted.
|
|
|
|
### Members can see other people's tickets
|
|
|
|
**Cause:** Channel permissions misconfigured — @everyone has View Channel allowed somewhere
|
|
**Fix:** Dashboard → Settings → Permissions — ensure @everyone is denied View Channel for ticket channels
|
|
|
|
### Transcripts not saving
|
|
|
|
**Cause:** Ticket Tool bot doesn't have permission to send messages in `#ticket-logs`
|
|
**Fix:** Check `#ticket-logs` channel permissions — Ticket Tool role needs Send Messages and Attach Files
|
|
|
|
### Wrong welcome message showing
|
|
|
|
**Cause:** Panel wasn't saved after editing the ticket type
|
|
**Fix:** Dashboard → Panels → edit the ticket type → Save Changes → Redeploy Panel
|
|
|
|
---
|
|
|
|
## 📊 FUTURE ENHANCEMENTS
|
|
|
|
Once the basic system is running smoothly, consider:
|
|
|
|
1. **Auto-close inactive tickets** — Close tickets with no activity after 7 days with a warning message first
|
|
2. **Ticket claiming** — Require staff to "claim" before responding (prevents double-handling)
|
|
3. **Pre-ticket questions** — Require members to answer 2-3 questions before the ticket opens (e.g., "Which server?" for Server Help tickets) — reduces back-and-forth
|
|
4. **Working hours message** — Auto-reply after hours: "We've received your ticket and will respond within 24 hours"
|
|
5. **CSAT rating** — After ticket closes, ask the member to rate their support experience
|
|
|
|
---
|
|
|
|
## 📝 NOTES
|
|
|
|
- Ticket Tool's free tier is sufficient for Firefrost at launch. Premium adds things like custom bot branding and more advanced analytics — not needed now.
|
|
- The bot is separate from Carl-bot (joins) and The Arbiter (subscriptions). Each does one job. Don't conflate them.
|
|
- All ticket transcripts in `#ticket-logs` are staff-only. Members get a DM copy when their ticket closes (if that setting is enabled).
|
|
|
|
---
|
|
|
|
**Fire + Frost + Foundation = Where Love Builds Legacy** 💙🔥❄️
|
|
|
|
**Created by:** Chronicler #45
|
|
**Date:** March 28, 2026
|
|
**Status:** Ready to implement
|