Skip to content

dawgcodes/discord-ticketbot

Repository files navigation

Discord Shield CodeQL GitHub GitHub release (with filter)

Discord-TicketBot

Introducing our meticulously crafted Ticket bot for Discord, powered by the JDA (Java Discord API). This delightful bot offers various features, including web-based access to previous transcripts. Enhance your server experience with seamless ticket management and effortless interaction. Enjoy the convenience and versatility it brings to your Discord community!

Summary:

  1. Getting started
  2. Transcript Guide
  3. Commands
  4. Screenshots
  5. Tasks
  6. Dependencies
  7. Partners

Getting started:

  • Connect to your server using the SFTP client.
    • If a release is available, you can also use git on SSH
  • Open the /home directory and upload your Build jar file.
    • If you want to use the command mkdir ticketBot for our own path.
  • Switch to your SSH client and navigate to the current path.
  • Start your Build Java Document using the command: java -jar (filename).jar
    • You can also do this in a screen: screen -R discord_ticket java -jar (filename).jar
  • The Java file will create all the necessary files you need.
    • Configuration Files: .env & config.json
  • Use the command nano .env to open the .env file and insert your Token. (Save and close the file after editing)
  • Use the command nano config.json to open the config.json file and set up your MySQL and Domain/IP for the Transcript API.

This setup does not include the Transcript-Web function but will still work as well.

Transcript Guide:

Before installing apache2 for the web, update and upgrade your packages.

$ sudo apt update && sudo apt upgrade -y

Install apache2 via SSH.

$ sudo apt install apache2

This is only the basic setup, for more security check out the Digital Ocean Wiki.

Open apache2 configuration file in the nano Editor.

## Input
$ sudo nano /etc/apache2/apache2.conf

## Output
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Change output to:

<Directory /path/to/transcript/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
        Allow from all
</Directory>

Open the default virtual host configuration file from the path.

## Input
$ sudo nano /etc/apache2/sites-available/000-default.conf

## Output
DocumentRoot /var/www/html

Change output to:

DocumentRoot /path/to/transcript/

Finally, restart apache2.

$ sudo service apache2 restart

Well done😄 Enjoy!

Commands:

Command Description
/config Change Guild configurations
/open Open a Ticket via Command
/close Close a Ticket via Command
/add Add a Member to a current ticket
/remove Remove a Member from a current ticket
/claim Show that you are progressing with this ticket
/topic Change the ticket Topic

Screenshots:

Create a new Ticket for you or others.
Ticket in progress.
Transcript view and Announcement.
Syntax for bad usage.
Ticket Logging/Status.

Tasks:

Marked as done (tasks) shows you all updates of the latest version.

  • Including messages.json for custom messages setup.
  • New configuration file
  • Send Transcript via SFTP connection | Already in process
  • Multi-Language for each Guild. (de-DE.json, en-GB.json, etc)
  • Including a Plugin-System for Developers

Dependencies:

  • JDA (Java Discord API)
    • Version: 5.0.0-beta.12
    • GitHub
  • slf4j-api (logback-classic)
  • json-simple
  • java-dotenv
  • MySQL Connector J

Partners:

Leave a ⭐️ if you like this project!

About

💬 Discord Ticket Support Bot

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published