π Getting Started
Hi there! Welcome to the Open Ticket Framework Guide! This part of the documentation provides in-depth guides about creating plugins based on the Open Discord framework. Using plugins, you can increase the functionality, customise existing features or add your entirely custom-made features!
This guide is targeted towards Open Ticket v4.0.0! Older and newer versions may include changes, additions, or deprecated features.

Framework Guide
How to develop Open Ticket plugins?
It's recommended to have a basic knowledge about node.js, Javascript, Typescript & discord.js before learning Open Ticket plugin development!
π Table Of Contentsβ
The Framework Guide consists of several categories to help you quickly learn plugin development:
- Getting Started: Basic knowledge about Open Ticket plugins.
- Basic Plugins: Learn Open Ticket plugins from the basics.
- Intermediate Plugins: Create more feature-rich Open Ticket plugins.
- Advanced Plugins: Guides about creating advanced Open Ticket plugins.
- Expert Plugins: Guides about creating complex Open Ticket plugins & related systems.
- Tips & Tricks: Tips & Tricks articles for general plugin development.
π Getting Startedβ
To get started, familiarize yourself with the built-in Config and Commands from Open Ticket first. These are the core functionalities of the bot and you can learn a lot by looking at how they work.
Alright once you've done that, we will start with What are Open Ticket plugins exactly?
What Are Plugins?β
Plugins allow you to extend and customize Open Ticket without modifying the source code of the bot. You can create new commands, change existing behaviors, store custom data and even integrate external APIs!
Why should you use plugins?β
- π Modular & Expandable β Add or remove features without breaking Open Ticket.
- π Community-Friendly β Share plugins with others or use pre-built ones.
- πΌ Improved Workflows β Improve your workflow by customising Open Ticket to your requirements.
- π Deep Integrations β Plugins can deeply integrate into the system. This allows them to change almost everything!
What are some example plugins?β
- π¬ Reviews - Create & customise your own review system!
- π’ Feedback - Collect feedback & create forms for people to answer!
- π·οΈ Tags - Create tags & answer questions automatically using keywords!
- π Forms - Create advanced forms and ask people for additional details!
- π Rotating Status - Create a rotating bot status & use dynamic variables from the bot!
- πΎ SQLite Database - Use an sqlite database for increased performances!
- π Custom Embeds - Create your own embeds and use them in your server!
- β° Reminders - Create & manage customisable reminders in your server!
- π¨ Customisation - Yep, you heard it right! Even more customisation!
Most of these example plugins already exist in our Open Discord Plugin Repository.
This is the official location to download Open Ticket plugins.
All plugins here are scanned for malware and improved to maintain compatibility.
Plugin Terminologyβ
Before diving into development, it's important to understand a few key concepts of the Open Ticket framework:
Open Discordβ
The Open Discord framework is the core API that Open Ticket is built on. It provides almost essential functionalities of the bot. All plugins will also be executed by Open Discord!
β You will interact with Open Discord a lot when developing plugins!
Open Ticketβ
Open Ticket is the bot itself, built using the Open Discord framework. All of your plugins will be running within Open Ticket and are able to extend its functionalities.
β Open Ticket can be compared with a huge ticket-system plugin for Open Discord!
Workersβ
Workers are small functions or callbacks that execute in a priority-based order to perform specific tasks. They can be a part of one of the following categories:
- Builders β Construct messages, embeds, buttons, dropdowns, files or modals.
- Responders β Handle slash/text commands, buttons, dropdowns, modals and other interactions.
- Actions β Specialized workers to perform to execute major operations or handle mass-data in multiple steps without problems.
β Workers allow multiple plugins to modify the same process without conflicts!
Buildersβ
Builders have workers that construct various elements of the botβs UI, including:
- Messages
- Embeds
- Buttons
- Dropdowns (Select Menus)
- Files (Attachments)
- Modals
β Builders allow multiple plugins to modify the same element without conflicts!
Respondersβ
Responders are specialized workers that handle interactions like:
- Slash/Text Commands
- Buttons
- Dropdowns (Select Menus)
- Modals
- Autocomplete
- User & Message Interactions
β Responders allow multiple plugins to listen & react to the same user input without conflicts!
Actionsβ
Actions are specialized classes that contain workers to perform major operations, such as:
- Opening, closing, claiming & pinning a ticket
- Creating a transcript