Open Ticket v4.0.3
Open Ticket v4.0.3
This commit is contained in:
+4
-1
@@ -2,7 +2,7 @@
|
|||||||
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
|
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
|
||||||
|
|
||||||
[](https://discord.com/invite/26vT9wt3n3)
|
[](https://discord.com/invite/26vT9wt3n3)
|
||||||
[](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.2)
|
[](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.3)
|
||||||
[](https://github.com/sponsors/DJj123dj)
|
[](https://github.com/sponsors/DJj123dj)
|
||||||
[](.eggs/README.md)
|
[](.eggs/README.md)
|
||||||
|
|
||||||
@@ -20,6 +20,9 @@ It's recommended to provide at least `1GB` of **Memory/RAM** and `5GB` of **disk
|
|||||||
[**`openticket-egg-main.json` (Recommended)**](openticket-egg-main.json)
|
[**`openticket-egg-main.json` (Recommended)**](openticket-egg-main.json)
|
||||||
- This egg will use the `main` branch of Open Ticket.
|
- This egg will use the `main` branch of Open Ticket.
|
||||||
|
|
||||||
|
[**`openticket-egg-v4.0.3.json`**](openticket-egg-v4.0.3.json)
|
||||||
|
- This egg will always use Open Ticket `v4.0.3`. Open Ticket updates will not have an effect on this egg.
|
||||||
|
|
||||||
[**`openticket-egg-v4.0.2.json`**](openticket-egg-v4.0.2.json)
|
[**`openticket-egg-v4.0.2.json`**](openticket-egg-v4.0.2.json)
|
||||||
- This egg will always use Open Ticket `v4.0.2`. Open Ticket updates will not have an effect on this egg.
|
- This egg will always use Open Ticket `v4.0.2`. Open Ticket updates will not have an effect on this egg.
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v2",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2025-03-16T18:10:18+01:00",
|
||||||
|
"name": "Open Ticket (v4.0.3)",
|
||||||
|
"author": "support@dj-dj.be",
|
||||||
|
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.3, the most advanced & customisable discord ticket bot that you will ever find! You can customise up to 300+ variables! This includes Html Transcripts, Advanced Plugins, Custom Embeds, Questions\/Modals, Stats & more!",
|
||||||
|
"features": null,
|
||||||
|
"docker_images": {
|
||||||
|
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
||||||
|
},
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "if [[ ! -z ${NODE_PACKAGES} ]]; then npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then npm install; fi; node \"\/home\/container\/index.js\" ${NODE_FLAGS};",
|
||||||
|
"config": {
|
||||||
|
"files": "{}",
|
||||||
|
"startup": "{\r\n \"done\": \"STARTUP INFO:\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.0.3)\r\n# Inspired by: Node.js Installation Script\r\n# \u00a9 DJdj Development\r\n\r\necho -e \"[OT INSTALLER] installing dependencies. please wait...\"\r\napt update\r\napt install -y git curl\r\n\r\necho -e \"[OT INSTALLER] updating npm. please wait...\"\r\nnpm install npm@latest --location=global\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nBRANCH=\"v4.0.3\"\r\n\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"[OT INSTALLER] \/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \"[OT INSTALLER] .git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"[OT INSTALLER] loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"[OT INSTALLER] files found with no git config\"\r\n echo -e \"[OT INSTALLER] closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"https:\/\/github.com\/open-discord-bots\/open-ticket.git\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"[OT INSTALLER] \/mnt\/server is empty.\"\r\n echo -e \"[OT INSTALLER] cloning files into repo.\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"[OT INSTALLER] cloning default branch\"\r\n git clone https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n else\r\n echo -e \"[OT INSTALLER] cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} https:\/\/github.com\/open-discord-bots\/open-ticket.git .\r\n fi\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing Open Ticket node.js packages.\"\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --omit=dev\r\nfi\r\n\r\necho -e \"[OT INSTALLER] installing custom node.js packages.\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\necho -e \"[OT INSTALLER] install complete!\"\r\nexit 0",
|
||||||
|
"container": "node:latest",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Additional Npm Packages",
|
||||||
|
"description": "Specify additional npm packages used by Open Ticket plugins. Use spaces to separate.",
|
||||||
|
"env_variable": "NODE_PACKAGES",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "string|nullable",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Startup Flags",
|
||||||
|
"description": "Start the bot with additional Open Ticket flags. Separate using spaces.\r\nA full reference list can be found in the documentation.",
|
||||||
|
"env_variable": "NODE_FLAGS",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "string|nullable",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Uninstall Npm Packages",
|
||||||
|
"description": "A list of npm packages to uninstall. Separate by spaces.",
|
||||||
|
"env_variable": "UNNODE_PACKAGES",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "string|nullable",
|
||||||
|
"field_type": "text"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# Contributing Guidelines
|
# Contributing Guidelines
|
||||||
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
|
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
|
||||||
|
|
||||||
[](https://discord.com/invite/26vT9wt3n3) [](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.2) [](https://github.com/sponsors/DJj123dj)
|
[](https://discord.com/invite/26vT9wt3n3) [](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.3) [](https://github.com/sponsors/DJj123dj)
|
||||||
|
|
||||||
These are the Contributing Guidelines of Open Ticket!<br>
|
These are the Contributing Guidelines of Open Ticket!<br>
|
||||||
Here you can find everything you need to know about contributing to Open Ticket.<br>
|
Here you can find everything you need to know about contributing to Open Ticket.<br>
|
||||||
|
|||||||
+4
-3
@@ -1,7 +1,7 @@
|
|||||||
# Security Policy
|
# Security Policy
|
||||||
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
|
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
|
||||||
|
|
||||||
[](https://discord.com/invite/26vT9wt3n3) [](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.1) [](https://github.com/sponsors/DJj123dj)
|
[](https://discord.com/invite/26vT9wt3n3) [](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.3) [](https://github.com/sponsors/DJj123dj)
|
||||||
|
|
||||||
This is the Security Policy of Open Ticket!<br>
|
This is the Security Policy of Open Ticket!<br>
|
||||||
Here you can find a list of all supported & deprecated versions of the bot.<br>
|
Here you can find a list of all supported & deprecated versions of the bot.<br>
|
||||||
@@ -20,9 +20,10 @@ This list will be updated on every release.
|
|||||||
| Version | Supported | Notes |
|
| Version | Supported | Notes |
|
||||||
|------------|-----------|--------------------------------|
|
|------------|-----------|--------------------------------|
|
||||||
| 4.1.0 | 🟦 | |
|
| 4.1.0 | 🟦 | |
|
||||||
| 4.0.2 | ✅ | |
|
| 4.0.3 | ✅ | |
|
||||||
|
| 4.0.2 | ✅ | Major discord.js bug |
|
||||||
| 4.0.1 | ✅ | |
|
| 4.0.1 | ✅ | |
|
||||||
| 4.0.0 | ✅ | |
|
| 4.0.0 | 🚧 | Supported until May 2025 |
|
||||||
| 3.5.9 | 🚧 | Supported until May 2025 (LTS) |
|
| 3.5.9 | 🚧 | Supported until May 2025 (LTS) |
|
||||||
| 3.5.8 | 🟧 | Documentation Only |
|
| 3.5.8 | 🟧 | Documentation Only |
|
||||||
| < 3.5.8 | ❌ | |
|
| < 3.5.8 | ❌ | |
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<br>Powered By<br>
|
<br>Powered By<br>
|
||||||
<img src="https://apis.dj-dj.be/cdn/opendiscord/logo.png" alt="Open Ticket" width="170px"><br>
|
<img src="https://apis.dj-dj.be/cdn/opendiscord/logo.png" alt="Open Ticket" width="170px"><br>
|
||||||
<a href="https://discord.com/invite/26vT9wt3n3"><img alt="Discord Invite Link" src="https://img.shields.io/badge/discord-support%20server-5865F2.svg?style=flat-square&logo=discord"></img></a>
|
<a href="https://discord.com/invite/26vT9wt3n3"><img alt="Discord Invite Link" src="https://img.shields.io/badge/discord-support%20server-5865F2.svg?style=flat-square&logo=discord"></img></a>
|
||||||
<a href="https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.2"><img alt="Open Ticket Version" src="https://img.shields.io/badge/version-4.0.2-brightgreen.svg?style=flat-square"></img></a>
|
<a href="https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.3"><img alt="Open Ticket Version" src="https://img.shields.io/badge/version-4.0.3-brightgreen.svg?style=flat-square"></img></a>
|
||||||
<a href="https://otdocs.dj-dj.be"><img alt="Open Ticket Documentation" src="https://img.shields.io/badge/discord.js-v14-CB3837.svg?style=flat-square&logo=npm"></img></a>
|
<a href="https://otdocs.dj-dj.be"><img alt="Open Ticket Documentation" src="https://img.shields.io/badge/discord.js-v14-CB3837.svg?style=flat-square&logo=npm"></img></a>
|
||||||
<a href="https://github.com/open-discord-bots/open-ticket/blob/main/LICENSE"><img alt="Open Ticket License" src="https://img.shields.io/badge/license-GPL%203.0-important.svg?style=flat-square"></img></a>
|
<a href="https://github.com/open-discord-bots/open-ticket/blob/main/LICENSE"><img alt="Open Ticket License" src="https://img.shields.io/badge/license-GPL%203.0-important.svg?style=flat-square"></img></a>
|
||||||
<a href="https://otdocs.dj-dj.be"><img alt="Open Ticket Stars" src="https://img.shields.io/github/stars/djj123dj/open-ticket?color=yellow&label=stars&logo=github&style=flat-square"></img></a>
|
<a href="https://otdocs.dj-dj.be"><img alt="Open Ticket Stars" src="https://img.shields.io/github/stars/djj123dj/open-ticket?color=yellow&label=stars&logo=github&style=flat-square"></img></a>
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
"_INFO":{
|
"_INFO":{
|
||||||
"support":"https://otdocs.dj-dj.be",
|
"support":"https://otdocs.dj-dj.be",
|
||||||
"discord":"https://discord.dj-dj.be",
|
"discord":"https://discord.dj-dj.be",
|
||||||
"version":"open-ticket-v4.0.2"
|
"version":"open-ticket-v4.0.3"
|
||||||
},
|
},
|
||||||
|
|
||||||
"token":"your bot token here! (or leave empty when using 'tokenFromENV')",
|
"token":"your bot token here! (or leave empty when using 'tokenFromENV')",
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@
|
|||||||
"image":"https://www.example.com/image.png (or leave empty)",
|
"image":"https://www.example.com/image.png (or leave empty)",
|
||||||
"thumbnail":"https://www.example.com/image.png (or leave empty)",
|
"thumbnail":"https://www.example.com/image.png (or leave empty)",
|
||||||
|
|
||||||
"footer":"Open Ticket v4.0.2 (or leave empty)",
|
"footer":"Open Ticket v4.0.3 (or leave empty)",
|
||||||
"fields":[
|
"fields":[
|
||||||
{"name":"field name","value":"field value","inline":false}
|
{"name":"field name","value":"field value","inline":false}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ process.argv.push(...flags)
|
|||||||
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██║██║ ██╔═██╗ ██╔══╝ ██║
|
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██║██║ ██╔═██╗ ██╔══╝ ██║
|
||||||
╚██████╔╝██║ ███████╗██║ ╚████║ ██║ ██║╚██████╗██║ ██╗███████╗ ██║
|
╚██████╔╝██║ ███████╗██║ ╚████║ ██║ ██║╚██████╗██║ ██╗███████╗ ██║
|
||||||
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝
|
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝
|
||||||
v4.0.2 - Made by DJj123dj & Contributors
|
v4.0.3 - Made by DJj123dj & Contributors
|
||||||
|
|
||||||
Discord: https://discord.dj-dj.be
|
Discord: https://discord.dj-dj.be
|
||||||
Docs: https://otdocs.dj-dj.be
|
Docs: https://otdocs.dj-dj.be
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION": {
|
"_TRANSLATION": {
|
||||||
"otversion": "v4.0.2",
|
"otversion": "v4.0.3",
|
||||||
"translators": ["palestinian"],
|
"translators": ["palestinian"],
|
||||||
"lastedited": "06/12/2024",
|
"lastedited": "06/12/2024",
|
||||||
"language": "Arabic",
|
"language": "Arabic",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["guillee3"],
|
"translators":["guillee3"],
|
||||||
"lastedited":"21/08/2024",
|
"lastedited":"21/08/2024",
|
||||||
"language":"Catalan",
|
"language":"Catalan",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["DJj123dj"],
|
"translators":["DJj123dj"],
|
||||||
"lastedited":"21/08/2024",
|
"lastedited":"21/08/2024",
|
||||||
"language":"Custom",
|
"language":"Custom",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["spyeye_"],
|
"translators":["spyeye_"],
|
||||||
"lastedited":"21/08/2024",
|
"lastedited":"21/08/2024",
|
||||||
"language":"Czech",
|
"language":"Czech",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["the_gamer"],
|
"translators":["the_gamer"],
|
||||||
"lastedited":"26/09/2024",
|
"lastedited":"26/09/2024",
|
||||||
"language":"Danish",
|
"language":"Danish",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["DJj123dj"],
|
"translators":["DJj123dj"],
|
||||||
"lastedited":"21/08/2024",
|
"lastedited":"21/08/2024",
|
||||||
"language":"Dutch",
|
"language":"Dutch",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["DJj123dj"],
|
"translators":["DJj123dj"],
|
||||||
"lastedited":"21/08/2024",
|
"lastedited":"21/08/2024",
|
||||||
"language":"English",
|
"language":"English",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["iamnotmega","ChatGPT"],
|
"translators":["iamnotmega","ChatGPT"],
|
||||||
"lastedited":"21/10/2024",
|
"lastedited":"21/10/2024",
|
||||||
"language":"Estonian",
|
"language":"Estonian",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["iamnotmega","ChatGPT"],
|
"translators":["iamnotmega","ChatGPT"],
|
||||||
"lastedited":"21/10/2024",
|
"lastedited":"21/10/2024",
|
||||||
"language":"Finnish",
|
"language":"Finnish",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["guillee3"],
|
"translators":["guillee3"],
|
||||||
"lastedited":"04/12/2024",
|
"lastedited":"04/12/2024",
|
||||||
"language":"French",
|
"language":"French",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["benzorich"],
|
"translators":["benzorich"],
|
||||||
"lastedited":"06/10/2024",
|
"lastedited":"06/10/2024",
|
||||||
"language":"German",
|
"language":"German",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["an_developer"],
|
"translators":["an_developer"],
|
||||||
"lastedited":"14/12/2024",
|
"lastedited":"14/12/2024",
|
||||||
"language":"Hindi",
|
"language":"Hindi",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["Kornel0706"],
|
"translators":["Kornel0706"],
|
||||||
"lastedited":"22/08/2024",
|
"lastedited":"22/08/2024",
|
||||||
"language":"Hungarian",
|
"language":"Hungarian",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["erxg"],
|
"translators":["erxg"],
|
||||||
"lastedited":"25/08/2024",
|
"lastedited":"25/08/2024",
|
||||||
"language":"Indonesian",
|
"language":"Indonesian",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["fraden1mvp."],
|
"translators":["fraden1mvp."],
|
||||||
"lastedited":"08/10/2024",
|
"lastedited":"08/10/2024",
|
||||||
"language":"Italian",
|
"language":"Italian",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION": {
|
"_TRANSLATION": {
|
||||||
"otversion": "v4.0.2",
|
"otversion": "v4.0.3",
|
||||||
"translators": ["NoOneNook"],
|
"translators": ["NoOneNook"],
|
||||||
"lastedited": "25/03/2025",
|
"lastedited": "25/03/2025",
|
||||||
"language": "Latvian",
|
"language": "Latvian",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["TsgIndrius"],
|
"translators":["TsgIndrius"],
|
||||||
"lastedited":"26/01/2025",
|
"lastedited":"26/01/2025",
|
||||||
"language":"Lithuanian",
|
"language":"Lithuanian",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION": {
|
"_TRANSLATION": {
|
||||||
"otversion": "v4.0.2",
|
"otversion": "v4.0.3",
|
||||||
"translators": ["NoOneNook"],
|
"translators": ["NoOneNook"],
|
||||||
"lastedited": "25/03/2025",
|
"lastedited": "25/03/2025",
|
||||||
"language": "Norwegian",
|
"language": "Norwegian",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["DanoGlez"],
|
"translators":["DanoGlez"],
|
||||||
"lastedited":"28/01/2025",
|
"lastedited":"28/01/2025",
|
||||||
"language":"Polish",
|
"language":"Polish",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["quiradon"],
|
"translators":["quiradon"],
|
||||||
"lastedited":"20/08/2024",
|
"lastedited":"20/08/2024",
|
||||||
"language":"Portuguese",
|
"language":"Portuguese",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["SankeDev"],
|
"translators":["SankeDev"],
|
||||||
"lastedited":"27/08/2024",
|
"lastedited":"27/08/2024",
|
||||||
"language":"Romanian",
|
"language":"Romanian",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION": {
|
"_TRANSLATION": {
|
||||||
"otversion": "v4.0.2",
|
"otversion": "v4.0.3",
|
||||||
"translators": ["NoOneNook"],
|
"translators": ["NoOneNook"],
|
||||||
"lastedited": "25/03/2025",
|
"lastedited": "25/03/2025",
|
||||||
"language": "Russian",
|
"language": "Russian",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["Redactado","Josuens"],
|
"translators":["Redactado","Josuens"],
|
||||||
"lastedited":"22/08/2024",
|
"lastedited":"22/08/2024",
|
||||||
"language":"Spanish",
|
"language":"Spanish",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION": {
|
"_TRANSLATION": {
|
||||||
"otversion": "v4.0.2",
|
"otversion": "v4.0.3",
|
||||||
"translators": ["NoOneNook"],
|
"translators": ["NoOneNook"],
|
||||||
"lastedited": "25/03/2025",
|
"lastedited": "25/03/2025",
|
||||||
"language": "Svenska",
|
"language": "Svenska",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["modshd"],
|
"translators":["modshd"],
|
||||||
"lastedited":"13/11/2024",
|
"lastedited":"13/11/2024",
|
||||||
"language":"Thai",
|
"language":"Thai",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION": {
|
"_TRANSLATION": {
|
||||||
"otversion": "v4.0.2",
|
"otversion": "v4.0.3",
|
||||||
"translators": ["palestinian"],
|
"translators": ["palestinian"],
|
||||||
"lastedited": "26/11/2024",
|
"lastedited": "26/11/2024",
|
||||||
"language": "Turkish",
|
"language": "Turkish",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["Anderskiy"],
|
"translators":["Anderskiy"],
|
||||||
"lastedited":"31/08/2024",
|
"lastedited":"31/08/2024",
|
||||||
"language":"Ukrainian",
|
"language":"Ukrainian",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_TRANSLATION":{
|
"_TRANSLATION":{
|
||||||
"otversion":"v4.0.2",
|
"otversion":"v4.0.3",
|
||||||
"translators":["ngocdiep2006"],
|
"translators":["ngocdiep2006"],
|
||||||
"lastedited":"07/04/2025",
|
"lastedited":"07/04/2025",
|
||||||
"language":"Vietnamese",
|
"language":"Vietnamese",
|
||||||
|
|||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "open-ticket",
|
"name": "open-ticket",
|
||||||
"author": "DJdj Development",
|
"author": "DJdj Development",
|
||||||
"version": "4.0.2",
|
"version": "4.0.3",
|
||||||
"description": "The most advanced open-source discord ticket bot with HTML transcripts, plugins, questions, claiming, pinning & more! Using discord.js v14 & JSON database! ",
|
"description": "The most advanced open-source discord ticket bot with HTML transcripts, plugins, questions, claiming, pinning & more! Using discord.js v14 & JSON database! ",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"ticket-bot",
|
"ticket-bot",
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"@discordjs/rest": "^2.4.2",
|
"@discordjs/rest": "^2.4.2",
|
||||||
"@types/node": "^22.5.0",
|
"@types/node": "^22.5.0",
|
||||||
"ansis": "^2.3.0",
|
"ansis": "^2.3.0",
|
||||||
"discord.js": "^14.17.2",
|
"discord.js": "^14.19.1",
|
||||||
"formatted-json-stringify": "^1.1.0",
|
"formatted-json-stringify": "^1.1.0",
|
||||||
"typescript": "^5.5.4"
|
"typescript": "^5.5.4"
|
||||||
},
|
},
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
"#opendiscord": "./dist/src/index.js",
|
"#opendiscord": "./dist/src/index.js",
|
||||||
"#opendiscord-types": "./dist/src/core/api/api.js"
|
"#opendiscord-types": "./dist/src/core/api/api.js"
|
||||||
},
|
},
|
||||||
"funding":{
|
"funding": {
|
||||||
"type": "individual",
|
"type": "individual",
|
||||||
"url": "https://github.com/sponsors/DJj123dj"
|
"url": "https://github.com/sponsors/DJj123dj"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,7 +142,8 @@ export const registerButtonResponders = async () => {
|
|||||||
instance.modal(await opendiscord.builders.modals.getSafe("opendiscord:ticket-questions").build("panel-button",{guild,channel,user,option}))
|
instance.modal(await opendiscord.builders.modals.getSafe("opendiscord:ticket-questions").build("panel-button",{guild,channel,user,option}))
|
||||||
}else{
|
}else{
|
||||||
//create ticket
|
//create ticket
|
||||||
await instance.defer("reply",true)
|
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
|
||||||
|
|
||||||
const res = await opendiscord.actions.get("opendiscord:create-ticket").run("panel-button",{guild,user,answers:[],option})
|
const res = await opendiscord.actions.get("opendiscord:create-ticket").run("panel-button",{guild,user,answers:[],option})
|
||||||
if (!res.channel || !res.ticket){
|
if (!res.channel || !res.ticket){
|
||||||
//error
|
//error
|
||||||
@@ -196,7 +197,8 @@ export const registerDropdownResponders = async () => {
|
|||||||
instance.modal(await opendiscord.builders.modals.getSafe("opendiscord:ticket-questions").build("panel-dropdown",{guild,channel,user,option}))
|
instance.modal(await opendiscord.builders.modals.getSafe("opendiscord:ticket-questions").build("panel-dropdown",{guild,channel,user,option}))
|
||||||
}else{
|
}else{
|
||||||
//create ticket
|
//create ticket
|
||||||
await instance.defer("reply",true)
|
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
|
||||||
|
|
||||||
const res = await opendiscord.actions.get("opendiscord:create-ticket").run("panel-dropdown",{guild,user,answers:[],option})
|
const res = await opendiscord.actions.get("opendiscord:create-ticket").run("panel-dropdown",{guild,user,answers:[],option})
|
||||||
if (!res.channel || !res.ticket){
|
if (!res.channel || !res.ticket){
|
||||||
//error
|
//error
|
||||||
@@ -264,7 +266,8 @@ export const registerModalResponders = async () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
//create ticket
|
//create ticket
|
||||||
await instance.defer("reply",true)
|
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
|
||||||
|
|
||||||
const res = await opendiscord.actions.get("opendiscord:create-ticket").run(originalSource,{guild,user,answers,option})
|
const res = await opendiscord.actions.get("opendiscord:create-ticket").run(originalSource,{guild,user,answers,option})
|
||||||
if (!res.channel || !res.ticket){
|
if (!res.channel || !res.ticket){
|
||||||
//error
|
//error
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ export class ODMain {
|
|||||||
|
|
||||||
constructor(){
|
constructor(){
|
||||||
this.versions = new ODVersionManager_Default()
|
this.versions = new ODVersionManager_Default()
|
||||||
this.versions.add(ODVersion.fromString("opendiscord:version","v4.0.2"))
|
this.versions.add(ODVersion.fromString("opendiscord:version","v4.0.3"))
|
||||||
this.versions.add(ODVersion.fromString("opendiscord:api","v1.0.0"))
|
this.versions.add(ODVersion.fromString("opendiscord:api","v1.0.0"))
|
||||||
this.versions.add(ODVersion.fromString("opendiscord:transcripts","v2.0.0"))
|
this.versions.add(ODVersion.fromString("opendiscord:transcripts","v2.0.0"))
|
||||||
this.versions.add(ODVersion.fromString("opendiscord:livestatus","v2.0.0"))
|
this.versions.add(ODVersion.fromString("opendiscord:livestatus","v2.0.0"))
|
||||||
|
|||||||
@@ -648,8 +648,8 @@ export class ODHTTPGetRequest {
|
|||||||
this.throwOnError = throwOnError
|
this.throwOnError = throwOnError
|
||||||
const newConfig = config ?? {}
|
const newConfig = config ?? {}
|
||||||
newConfig.method = "GET"
|
newConfig.method = "GET"
|
||||||
if (newConfig.headers) Object.assign(newConfig.headers,{"User-Agent":"OpenDiscordBots-OpenTicket/4.0.2"})
|
if (newConfig.headers) Object.assign(newConfig.headers,{"User-Agent":"OpenDiscordBots-OpenTicket/4.0.3"})
|
||||||
else newConfig.headers = {"User-Agent":"OpenDiscordBots-OpenTicket/4.0.2"}
|
else newConfig.headers = {"User-Agent":"OpenDiscordBots-OpenTicket/4.0.3"}
|
||||||
this.config = newConfig
|
this.config = newConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -703,8 +703,8 @@ export class ODHTTPPostRequest {
|
|||||||
this.throwOnError = throwOnError
|
this.throwOnError = throwOnError
|
||||||
const newConfig = config ?? {}
|
const newConfig = config ?? {}
|
||||||
newConfig.method = "POST"
|
newConfig.method = "POST"
|
||||||
if (newConfig.headers) Object.assign(newConfig.headers,{"User-Agent":"OpenDiscordBots-OpenTicket/4.0.2"})
|
if (newConfig.headers) Object.assign(newConfig.headers,{"User-Agent":"OpenDiscordBots-OpenTicket/4.0.3"})
|
||||||
else newConfig.headers = {"User-Agent":"OpenDiscordBots-OpenTicket/4.0.2"}
|
else newConfig.headers = {"User-Agent":"OpenDiscordBots-OpenTicket/4.0.3"}
|
||||||
this.config = newConfig
|
this.config = newConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -611,6 +611,7 @@ export class ODButtonResponderInstance {
|
|||||||
getMessageComponent(type:"button"|"string-dropdown"|"user-dropdown"|"channel-dropdown"|"role-dropdown"|"mentionable-dropdown", id:string|RegExp): discord.ButtonComponent|discord.StringSelectMenuComponent|discord.RoleSelectMenuComponent|discord.ChannelSelectMenuComponent|discord.MentionableSelectMenuComponent|discord.UserSelectMenuComponent|null {
|
getMessageComponent(type:"button"|"string-dropdown"|"user-dropdown"|"channel-dropdown"|"role-dropdown"|"mentionable-dropdown", id:string|RegExp): discord.ButtonComponent|discord.StringSelectMenuComponent|discord.RoleSelectMenuComponent|discord.ChannelSelectMenuComponent|discord.MentionableSelectMenuComponent|discord.UserSelectMenuComponent|null {
|
||||||
let result: discord.ButtonComponent|discord.StringSelectMenuComponent|discord.RoleSelectMenuComponent|discord.ChannelSelectMenuComponent|discord.MentionableSelectMenuComponent|discord.UserSelectMenuComponent|null = null
|
let result: discord.ButtonComponent|discord.StringSelectMenuComponent|discord.RoleSelectMenuComponent|discord.ChannelSelectMenuComponent|discord.MentionableSelectMenuComponent|discord.UserSelectMenuComponent|null = null
|
||||||
this.message.components.forEach((row) => {
|
this.message.components.forEach((row) => {
|
||||||
|
if (row.type != discord.ComponentType.ActionRow) return
|
||||||
row.components.forEach((component) => {
|
row.components.forEach((component) => {
|
||||||
if (type == "button" && component.type == discord.ComponentType.Button && component.customId && ((typeof id == "string") ? component.customId == id : id.test(component.customId))) result = component
|
if (type == "button" && component.type == discord.ComponentType.Button && component.customId && ((typeof id == "string") ? component.customId == id : id.test(component.customId))) result = component
|
||||||
else if (type == "string-dropdown" && component.type == discord.ComponentType.StringSelect && component.customId && ((typeof id == "string") ? component.customId == id : id.test(component.customId))) result = component
|
else if (type == "string-dropdown" && component.type == discord.ComponentType.StringSelect && component.customId && ((typeof id == "string") ? component.customId == id : id.test(component.customId))) result = component
|
||||||
@@ -898,6 +899,7 @@ export class ODDropdownResponderInstance {
|
|||||||
getMessageComponent(type:"button"|"string-dropdown"|"user-dropdown"|"channel-dropdown"|"role-dropdown"|"mentionable-dropdown", id:string|RegExp): discord.ButtonComponent|discord.StringSelectMenuComponent|discord.RoleSelectMenuComponent|discord.ChannelSelectMenuComponent|discord.MentionableSelectMenuComponent|discord.UserSelectMenuComponent|null {
|
getMessageComponent(type:"button"|"string-dropdown"|"user-dropdown"|"channel-dropdown"|"role-dropdown"|"mentionable-dropdown", id:string|RegExp): discord.ButtonComponent|discord.StringSelectMenuComponent|discord.RoleSelectMenuComponent|discord.ChannelSelectMenuComponent|discord.MentionableSelectMenuComponent|discord.UserSelectMenuComponent|null {
|
||||||
let result: discord.ButtonComponent|discord.StringSelectMenuComponent|discord.RoleSelectMenuComponent|discord.ChannelSelectMenuComponent|discord.MentionableSelectMenuComponent|discord.UserSelectMenuComponent|null = null
|
let result: discord.ButtonComponent|discord.StringSelectMenuComponent|discord.RoleSelectMenuComponent|discord.ChannelSelectMenuComponent|discord.MentionableSelectMenuComponent|discord.UserSelectMenuComponent|null = null
|
||||||
this.message.components.forEach((row) => {
|
this.message.components.forEach((row) => {
|
||||||
|
if (row.type != discord.ComponentType.ActionRow) return
|
||||||
row.components.forEach((component) => {
|
row.components.forEach((component) => {
|
||||||
if (type == "button" && component.type == discord.ComponentType.Button && component.customId && ((typeof id == "string") ? component.customId == id : id.test(component.customId))) result = component
|
if (type == "button" && component.type == discord.ComponentType.Button && component.customId && ((typeof id == "string") ? component.customId == id : id.test(component.customId))) result = component
|
||||||
else if (type == "string-dropdown" && component.type == discord.ComponentType.StringSelect && component.customId && ((typeof id == "string") ? component.customId == id : id.test(component.customId))) result = component
|
else if (type == "string-dropdown" && component.type == discord.ComponentType.StringSelect && component.customId && ((typeof id == "string") ? component.customId == id : id.test(component.customId))) result = component
|
||||||
|
|||||||
@@ -257,6 +257,7 @@ export class ODTranscriptCollector {
|
|||||||
const rows: ODTranscriptComponentRowData[] = []
|
const rows: ODTranscriptComponentRowData[] = []
|
||||||
msg.components.forEach((row) => {
|
msg.components.forEach((row) => {
|
||||||
const components: ODTranscriptComponentRowData["components"] = []
|
const components: ODTranscriptComponentRowData["components"] = []
|
||||||
|
if (row.type != discord.ComponentType.ActionRow) return
|
||||||
row.components.forEach((component) => {
|
row.components.forEach((component) => {
|
||||||
if (component.type == discord.ComponentType.Button){
|
if (component.type == discord.ComponentType.Button){
|
||||||
components.push({
|
components.push({
|
||||||
|
|||||||
@@ -13,5 +13,11 @@ export const migrations = [
|
|||||||
for (const panel of (await globalDatabase.getCategory("opendiscord:panel-update") ?? [])){
|
for (const panel of (await globalDatabase.getCategory("opendiscord:panel-update") ?? [])){
|
||||||
globalDatabase.set("opendiscord:panel-message",panel.key,panel.value)
|
globalDatabase.set("opendiscord:panel-message",panel.key,panel.value)
|
||||||
}
|
}
|
||||||
})
|
}),
|
||||||
|
|
||||||
|
//MIGRATE TO v4.0.2
|
||||||
|
new utilities.ODVersionMigration(api.ODVersion.fromString("opendiscord:version","v4.0.2"),async () => {},async () => {}),
|
||||||
|
|
||||||
|
//MIGRATE TO v4.0.3
|
||||||
|
new utilities.ODVersionMigration(api.ODVersion.fromString("opendiscord:version","v4.0.3"),async () => {},async () => {})
|
||||||
]
|
]
|
||||||
+1
-1
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
INFORMATION:
|
INFORMATION:
|
||||||
============
|
============
|
||||||
Open Ticket v4.0.2 - © DJdj Development
|
Open Ticket v4.0.3 - © DJdj Development
|
||||||
|
|
||||||
support us: https://github.com/sponsors/DJj123dj
|
support us: https://github.com/sponsors/DJj123dj
|
||||||
discord: https://discord.dj-dj.be
|
discord: https://discord.dj-dj.be
|
||||||
|
|||||||
Reference in New Issue
Block a user