Skip to content

KarlOfDuty/SupportBoi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Downloads Release GitHub commits since latest release Discord Server Build Status Codacy Badge GitHub License

SupportBoi

A support ticket Discord bot. Uses a MySQL database for storage of ticket information, no information is stored outside of your server. Creates formatted HTML ticket transcripts when tickets are closed.

Thanks to Tyrrrz for the amazing library used in the transcript function.

Documentation

Setup

  1. Register a bot in the Discord Developer panel
  2. Install the bot and set up a MySQL database for it

Usage

Features

Ticket Categories

Users can open support tickets using the following methods:

  • Using the /new command.
  • Using a permanent button panel created by you.
  • Using a permanent selection box created by you.

You can either set up the bot to automatically open new tickets in a specific category or give the user a choice depending on their issue, regardless of which method they use.

Screenshot_20250527_202230 Screenshot_20250527_201947

Automated Interviews

It is possible to set up a json interview tree where the bot asks questions and depending on the user's answer decides on what to do next. At the end of the interview you can configure the bot to post an interview summary where the bot will take all the previous answers and compile them in a single table. All of the messages in the interview are then deleted to keep the channel clean.

Screenshot_20250528_181315_resize Screenshot_20250528_181540_resize

Fully Rendered Transcript Files

When a ticket is closed the Discord channel is saved to a local backup file on the server which can then be downloaded by the user who originally opened the ticket and staff members.

Screenshot_20250531_185154 Screenshot_20250531_185137

Staff Tools

Tickets can be assigned automatically on ticket creation or using commands. The commands can assign randomly across all staff, a specific Discord role or assign a specific user. Individual staff members can also opt-out of automatic assignment if they wish.

Screenshot_20250531_171434 Screenshot_20250531_171818

The bot can be set up to send direct message notifications when different things happen:

  • For staff members when they are assigned to tickets.
  • For the assigned staff member if a new message is sent in a ticket after it has been inactive for a configurable period.
  • For users when their ticket is closed. They also get the ticket transcript included with their notificaiton.

image

image

Users can show their tickets (open and closed), list the oldest open tickets and list all their assigned tickets.

Screenshot_20250531_162230 Screenshot_20250531_162401

Staff can set reusable messages which can then be reposted using the /say command.

Screenshot_20250531_160944

Logging

The bot can be set to log all actions to a Discord channel, including uploading ticket transcripts to it. It can also be set to log information to a log file on the server.

Action:

image

Discord Log Channel:

image

Bot Console:

image

Log File:

image

Sponsor this project

 

Contributors 7