Skip to content

A Ticket bot Developed for Discord with the JDA. The Bot includes functions to view old transcripts in web.

License

Notifications You must be signed in to change notification settings

exceptionpilot/Discord-Tickets

Repository files navigation

Discord Shield GitHub GitHub release (with filter)

Discord Tickets

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!