Skip to content

Fernius07/TicketTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TicketTool

A comprehensive Discord Support Ticket Bot with a Web Dashboard.

Features

  • Discord Bot: Ticket panels, auto-creations, claiming, closing.
  • Web Dashboard: View transcripts, server stats, and manage panels.
  • Database: MongoDB for persistent storage.

Setup

Prerequisites

  • Node.js (v18+)
  • MongoDB Connection String
  • Discord Application (Token, Client ID, Secret)

1. Bot Setup

  1. Navigate to /bot.
  2. cp .env.example .env and fill in your details:
    DISCORD_TOKEN=...
    CLIENT_ID=...
    GUILD_ID=... (Optional, for dev)
    MONGO_URI=...
  3. Install dependencies: npm install
  4. Start the bot: node src/index.js

2. Web Dashboard Setup

  1. Navigate to /web.
  2. cp .env.local.example .env.local and fill in details:
    MONGO_URI=...
    DISCORD_CLIENT_ID=...
    DISCORD_CLIENT_SECRET=...
    DISCORD_TOKEN=... (Same as bot, needed for editing panels)
    NEXTAUTH_SECRET=... (Generate with `openssl rand -base64 32`)
    NEXTAUTH_URL=http://localhost:3000
  3. Install dependencies: npm install
  4. Run development server: npm run dev

Important

When deploying to Vercel, you MUST add DISCORD_TOKEN as an Environment Variable. Without it, editing panels from the web will fail to sync with Discord.

Usage

  • Discord: Use /panel create to send a ticket panel to a channel.
  • Web: Login to http://localhost:3000/dashboard to view stats and transcripts.

Structure

  • /bot: Discord.js v14 Bot
  • /web: Next.js 14 App Router + TailwindCSS
  • /bot/src/database/schemas: Shared Source of Truth for Schemas (Copies in /web/src/lib/models)

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •