From d404f343e0d082e52d34be39b02869b616384a3c Mon Sep 17 00:00:00 2001 From: Jasper Date: Mon, 28 Apr 2025 18:30:43 +0200 Subject: [PATCH] Sync Dev Branches * Fixed bug due to discord.js new components * Updated all versions to v4.0.3 * #155 : Fixed reply on creation when disabled. Fixed a bug that caused the bot to send a partial ephemeral message while "replyOnTicketCreation" was disabled. --- .eggs/README.md | 5 ++- .eggs/openticket-egg-v4.0.3.json | 62 +++++++++++++++++++++++++++ .github/CONTRIBUTING.md | 2 +- .github/SECURITY.md | 7 +-- README.md | 2 +- config/general.json | 2 +- config/panels.json | 2 +- index.js | 2 +- languages/arabic.json | 2 +- languages/catalan.json | 2 +- languages/custom.json | 2 +- languages/czech.json | 2 +- languages/danish.json | 2 +- languages/dutch.json | 2 +- languages/english.json | 2 +- languages/estonian.json | 2 +- languages/finnish.json | 2 +- languages/french.json | 2 +- languages/german.json | 2 +- languages/hindi.json | 2 +- languages/hungarian.json | 2 +- languages/indonesian.json | 2 +- languages/italian.json | 2 +- languages/latvian.json | 2 +- languages/lithuanian.json | 2 +- languages/norwegian.json | 2 +- languages/polish.json | 2 +- languages/portuguese.json | 2 +- languages/romanian.json | 2 +- languages/russian.json | 2 +- languages/spanish.json | 2 +- languages/swedish.json | 2 +- languages/thai.json | 2 +- languages/turkish.json | 2 +- languages/ukrainian.json | 2 +- languages/vietnamese.json | 2 +- package.json | 4 +- src/commands/ticket.ts | 9 ++-- src/core/api/main.ts | 2 +- src/core/api/modules/base.ts | 8 ++-- src/core/api/modules/responder.ts | 2 + src/core/api/openticket/transcript.ts | 1 + src/core/startup/migration.ts | 8 +++- src/index.ts | 2 +- 44 files changed, 127 insertions(+), 49 deletions(-) create mode 100644 .eggs/openticket-egg-v4.0.3.json diff --git a/.eggs/README.md b/.eggs/README.md index 5a8a58b..be20612 100644 --- a/.eggs/README.md +++ b/.eggs/README.md @@ -2,7 +2,7 @@ Open Ticket Logo [![discord](https://img.shields.io/badge/discord-support%20server-5865F2.svg?style=flat-square&logo=discord)](https://discord.com/invite/26vT9wt3n3) -[![version](https://img.shields.io/badge/version-4.0.2-brightgreen.svg?style=flat-square)](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.2) +[![version](https://img.shields.io/badge/version-4.0.3-brightgreen.svg?style=flat-square)](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.3) [![Sponsor DJj123dj](https://img.shields.io/badge/sponsor-DJj123dj-ea4aaa?style=flat-square&logo=githubsponsors)](https://github.com/sponsors/DJj123dj) [![Open Ticket supports Pterodactyl Eggs!](https://img.shields.io/badge/pterodactyl-supported-10539F?style=flat-square&logo=pterodactyl)](.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) - 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) - This egg will always use Open Ticket `v4.0.2`. Open Ticket updates will not have an effect on this egg. diff --git a/.eggs/openticket-egg-v4.0.3.json b/.eggs/openticket-egg-v4.0.3.json new file mode 100644 index 0000000..2535a49 --- /dev/null +++ b/.eggs/openticket-egg-v4.0.3.json @@ -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" + } + ] +} \ No newline at end of file diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d0fc458..cece475 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,7 +1,7 @@ # Contributing Guidelines Open Ticket Logo -[![discord](https://img.shields.io/badge/discord-support%20server-5865F2.svg?style=flat-square&logo=discord)](https://discord.com/invite/26vT9wt3n3) [![version](https://img.shields.io/badge/version-4.0.2-brightgreen.svg?style=flat-square)](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.2) [![Sponsor DJj123dj](https://img.shields.io/badge/sponsor-DJj123dj-ea4aaa?style=flat-square&logo=githubsponsors)](https://github.com/sponsors/DJj123dj) +[![discord](https://img.shields.io/badge/discord-support%20server-5865F2.svg?style=flat-square&logo=discord)](https://discord.com/invite/26vT9wt3n3) [![version](https://img.shields.io/badge/version-4.0.3-brightgreen.svg?style=flat-square)](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.3) [![Sponsor DJj123dj](https://img.shields.io/badge/sponsor-DJj123dj-ea4aaa?style=flat-square&logo=githubsponsors)](https://github.com/sponsors/DJj123dj) These are the Contributing Guidelines of Open Ticket!
Here you can find everything you need to know about contributing to Open Ticket.
diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 1392142..799664c 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -1,7 +1,7 @@ # Security Policy Open Ticket Logo -[![discord](https://img.shields.io/badge/discord-support%20server-5865F2.svg?style=flat-square&logo=discord)](https://discord.com/invite/26vT9wt3n3) [![version](https://img.shields.io/badge/version-4.0.1-brightgreen.svg?style=flat-square)](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.1) [![Sponsor DJj123dj](https://img.shields.io/badge/sponsor-DJj123dj-ea4aaa?style=flat-square&logo=githubsponsors)](https://github.com/sponsors/DJj123dj) +[![discord](https://img.shields.io/badge/discord-support%20server-5865F2.svg?style=flat-square&logo=discord)](https://discord.com/invite/26vT9wt3n3) [![version](https://img.shields.io/badge/version-4.0.3-brightgreen.svg?style=flat-square)](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.0.3) [![Sponsor DJj123dj](https://img.shields.io/badge/sponsor-DJj123dj-ea4aaa?style=flat-square&logo=githubsponsors)](https://github.com/sponsors/DJj123dj) This is the Security Policy of Open Ticket!
Here you can find a list of all supported & deprecated versions of the bot.
@@ -20,9 +20,10 @@ This list will be updated on every release. | Version | Supported | Notes | |------------|-----------|--------------------------------| | 4.1.0 | 🟦 | | -| 4.0.2 | ✅ | | +| 4.0.3 | ✅ | | +| 4.0.2 | ✅ | Major discord.js bug | | 4.0.1 | ✅ | | -| 4.0.0 | ✅ | | +| 4.0.0 | 🚧 | Supported until May 2025 | | 3.5.9 | 🚧 | Supported until May 2025 (LTS) | | 3.5.8 | 🟧 | Documentation Only | | < 3.5.8 | ❌ | | diff --git a/README.md b/README.md index e3eec83..475fb2f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@
Powered By
Open Ticket
Discord Invite Link -Open Ticket Version +Open Ticket Version Open Ticket Documentation Open Ticket License Open Ticket Stars diff --git a/config/general.json b/config/general.json index 5b06c7f..177aa15 100644 --- a/config/general.json +++ b/config/general.json @@ -2,7 +2,7 @@ "_INFO":{ "support":"https://otdocs.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')", diff --git a/config/panels.json b/config/panels.json index 91a2bfa..8a1093e 100644 --- a/config/panels.json +++ b/config/panels.json @@ -17,7 +17,7 @@ "image":"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":[ {"name":"field name","value":"field value","inline":false} ], diff --git a/index.js b/index.js index 4e8487b..85f8db8 100644 --- a/index.js +++ b/index.js @@ -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 Docs: https://otdocs.dj-dj.be diff --git a/languages/arabic.json b/languages/arabic.json index 25c87ad..3329551 100644 --- a/languages/arabic.json +++ b/languages/arabic.json @@ -1,6 +1,6 @@ { "_TRANSLATION": { - "otversion": "v4.0.2", + "otversion": "v4.0.3", "translators": ["palestinian"], "lastedited": "06/12/2024", "language": "Arabic", diff --git a/languages/catalan.json b/languages/catalan.json index 1142f9b..ca680c0 100644 --- a/languages/catalan.json +++ b/languages/catalan.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["guillee3"], "lastedited":"21/08/2024", "language":"Catalan", diff --git a/languages/custom.json b/languages/custom.json index 05e89fa..a144e18 100644 --- a/languages/custom.json +++ b/languages/custom.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["DJj123dj"], "lastedited":"21/08/2024", "language":"Custom", diff --git a/languages/czech.json b/languages/czech.json index b5ad617..4626527 100644 --- a/languages/czech.json +++ b/languages/czech.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["spyeye_"], "lastedited":"21/08/2024", "language":"Czech", diff --git a/languages/danish.json b/languages/danish.json index 8348216..f71795c 100644 --- a/languages/danish.json +++ b/languages/danish.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["the_gamer"], "lastedited":"26/09/2024", "language":"Danish", diff --git a/languages/dutch.json b/languages/dutch.json index d2dd253..7f7eeae 100644 --- a/languages/dutch.json +++ b/languages/dutch.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["DJj123dj"], "lastedited":"21/08/2024", "language":"Dutch", diff --git a/languages/english.json b/languages/english.json index 7009379..b762448 100644 --- a/languages/english.json +++ b/languages/english.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["DJj123dj"], "lastedited":"21/08/2024", "language":"English", diff --git a/languages/estonian.json b/languages/estonian.json index 0f15c49..49eb6e3 100644 --- a/languages/estonian.json +++ b/languages/estonian.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["iamnotmega","ChatGPT"], "lastedited":"21/10/2024", "language":"Estonian", diff --git a/languages/finnish.json b/languages/finnish.json index 78b178f..6ecbf84 100644 --- a/languages/finnish.json +++ b/languages/finnish.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["iamnotmega","ChatGPT"], "lastedited":"21/10/2024", "language":"Finnish", diff --git a/languages/french.json b/languages/french.json index 7d8c870..c5998ab 100644 --- a/languages/french.json +++ b/languages/french.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["guillee3"], "lastedited":"04/12/2024", "language":"French", diff --git a/languages/german.json b/languages/german.json index 04726f8..c63cdb9 100644 --- a/languages/german.json +++ b/languages/german.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["benzorich"], "lastedited":"06/10/2024", "language":"German", diff --git a/languages/hindi.json b/languages/hindi.json index 29d109a..1312f62 100644 --- a/languages/hindi.json +++ b/languages/hindi.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["an_developer"], "lastedited":"14/12/2024", "language":"Hindi", diff --git a/languages/hungarian.json b/languages/hungarian.json index d8cd1a0..e765d86 100644 --- a/languages/hungarian.json +++ b/languages/hungarian.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["Kornel0706"], "lastedited":"22/08/2024", "language":"Hungarian", diff --git a/languages/indonesian.json b/languages/indonesian.json index 4cd0c9f..8ae3703 100644 --- a/languages/indonesian.json +++ b/languages/indonesian.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["erxg"], "lastedited":"25/08/2024", "language":"Indonesian", diff --git a/languages/italian.json b/languages/italian.json index 7b978d5..4a39112 100644 --- a/languages/italian.json +++ b/languages/italian.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["fraden1mvp."], "lastedited":"08/10/2024", "language":"Italian", diff --git a/languages/latvian.json b/languages/latvian.json index 7cbb23d..f30a92e 100644 --- a/languages/latvian.json +++ b/languages/latvian.json @@ -1,6 +1,6 @@ { "_TRANSLATION": { - "otversion": "v4.0.2", + "otversion": "v4.0.3", "translators": ["NoOneNook"], "lastedited": "25/03/2025", "language": "Latvian", diff --git a/languages/lithuanian.json b/languages/lithuanian.json index 9e21286..b1e8971 100644 --- a/languages/lithuanian.json +++ b/languages/lithuanian.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["TsgIndrius"], "lastedited":"26/01/2025", "language":"Lithuanian", diff --git a/languages/norwegian.json b/languages/norwegian.json index d759c5c..f6da1f1 100644 --- a/languages/norwegian.json +++ b/languages/norwegian.json @@ -1,6 +1,6 @@ { "_TRANSLATION": { - "otversion": "v4.0.2", + "otversion": "v4.0.3", "translators": ["NoOneNook"], "lastedited": "25/03/2025", "language": "Norwegian", diff --git a/languages/polish.json b/languages/polish.json index 1963e3d..4864649 100644 --- a/languages/polish.json +++ b/languages/polish.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["DanoGlez"], "lastedited":"28/01/2025", "language":"Polish", diff --git a/languages/portuguese.json b/languages/portuguese.json index 4b7d412..6dc7a77 100644 --- a/languages/portuguese.json +++ b/languages/portuguese.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["quiradon"], "lastedited":"20/08/2024", "language":"Portuguese", diff --git a/languages/romanian.json b/languages/romanian.json index bf467df..0181447 100644 --- a/languages/romanian.json +++ b/languages/romanian.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["SankeDev"], "lastedited":"27/08/2024", "language":"Romanian", diff --git a/languages/russian.json b/languages/russian.json index 80b4bf3..1a43cee 100644 --- a/languages/russian.json +++ b/languages/russian.json @@ -1,6 +1,6 @@ { "_TRANSLATION": { - "otversion": "v4.0.2", + "otversion": "v4.0.3", "translators": ["NoOneNook"], "lastedited": "25/03/2025", "language": "Russian", diff --git a/languages/spanish.json b/languages/spanish.json index c36113a..3f27592 100644 --- a/languages/spanish.json +++ b/languages/spanish.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["Redactado","Josuens"], "lastedited":"22/08/2024", "language":"Spanish", diff --git a/languages/swedish.json b/languages/swedish.json index c4067b7..ea79370 100644 --- a/languages/swedish.json +++ b/languages/swedish.json @@ -1,6 +1,6 @@ { "_TRANSLATION": { - "otversion": "v4.0.2", + "otversion": "v4.0.3", "translators": ["NoOneNook"], "lastedited": "25/03/2025", "language": "Svenska", diff --git a/languages/thai.json b/languages/thai.json index ebc52e7..a6ec3c9 100644 --- a/languages/thai.json +++ b/languages/thai.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["modshd"], "lastedited":"13/11/2024", "language":"Thai", diff --git a/languages/turkish.json b/languages/turkish.json index 858baf2..de2ba80 100644 --- a/languages/turkish.json +++ b/languages/turkish.json @@ -1,6 +1,6 @@ { "_TRANSLATION": { - "otversion": "v4.0.2", + "otversion": "v4.0.3", "translators": ["palestinian"], "lastedited": "26/11/2024", "language": "Turkish", diff --git a/languages/ukrainian.json b/languages/ukrainian.json index 5262625..e9f88cb 100644 --- a/languages/ukrainian.json +++ b/languages/ukrainian.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["Anderskiy"], "lastedited":"31/08/2024", "language":"Ukrainian", diff --git a/languages/vietnamese.json b/languages/vietnamese.json index 8c14c44..d64339c 100644 --- a/languages/vietnamese.json +++ b/languages/vietnamese.json @@ -1,6 +1,6 @@ { "_TRANSLATION":{ - "otversion":"v4.0.2", + "otversion":"v4.0.3", "translators":["ngocdiep2006"], "lastedited":"07/04/2025", "language":"Vietnamese", diff --git a/package.json b/package.json index 2844151..30b99c6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "open-ticket", "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! ", "keywords": [ "ticket-bot", @@ -28,7 +28,7 @@ "@types/node": "^22.5.0", "@types/terminal-kit": "^2.5.7", "ansis": "^2.3.0", - "discord.js": "^14.17.2", + "discord.js": "^14.19.1", "formatted-json-stringify": "^1.2.1", "terminal-kit": "^3.1.2", "typescript": "^5.5.4" diff --git a/src/commands/ticket.ts b/src/commands/ticket.ts index faab16c..40e2cc6 100644 --- a/src/commands/ticket.ts +++ b/src/commands/ticket.ts @@ -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})) }else{ //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}) if (!res.channel || !res.ticket){ //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})) }else{ //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}) if (!res.channel || !res.ticket){ //error @@ -264,7 +266,8 @@ export const registerModalResponders = async () => { }) //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}) if (!res.channel || !res.ticket){ //error diff --git a/src/core/api/main.ts b/src/core/api/main.ts index 6ba49b3..bcbc801 100644 --- a/src/core/api/main.ts +++ b/src/core/api/main.ts @@ -130,7 +130,7 @@ export class ODMain { constructor(){ 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:transcripts","v2.0.0")) this.versions.add(ODVersion.fromString("opendiscord:livestatus","v2.0.0")) diff --git a/src/core/api/modules/base.ts b/src/core/api/modules/base.ts index 4567b74..1c5d2db 100644 --- a/src/core/api/modules/base.ts +++ b/src/core/api/modules/base.ts @@ -648,8 +648,8 @@ export class ODHTTPGetRequest { this.throwOnError = throwOnError const newConfig = config ?? {} newConfig.method = "GET" - if (newConfig.headers) Object.assign(newConfig.headers,{"User-Agent":"OpenDiscordBots-OpenTicket/4.0.2"}) - else 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.3"} this.config = newConfig } @@ -703,8 +703,8 @@ export class ODHTTPPostRequest { this.throwOnError = throwOnError const newConfig = config ?? {} newConfig.method = "POST" - if (newConfig.headers) Object.assign(newConfig.headers,{"User-Agent":"OpenDiscordBots-OpenTicket/4.0.2"}) - else 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.3"} this.config = newConfig } diff --git a/src/core/api/modules/responder.ts b/src/core/api/modules/responder.ts index d09e13d..a732d2a 100644 --- a/src/core/api/modules/responder.ts +++ b/src/core/api/modules/responder.ts @@ -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 { let result: discord.ButtonComponent|discord.StringSelectMenuComponent|discord.RoleSelectMenuComponent|discord.ChannelSelectMenuComponent|discord.MentionableSelectMenuComponent|discord.UserSelectMenuComponent|null = null this.message.components.forEach((row) => { + if (row.type != discord.ComponentType.ActionRow) return 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 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 { let result: discord.ButtonComponent|discord.StringSelectMenuComponent|discord.RoleSelectMenuComponent|discord.ChannelSelectMenuComponent|discord.MentionableSelectMenuComponent|discord.UserSelectMenuComponent|null = null this.message.components.forEach((row) => { + if (row.type != discord.ComponentType.ActionRow) return 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 else if (type == "string-dropdown" && component.type == discord.ComponentType.StringSelect && component.customId && ((typeof id == "string") ? component.customId == id : id.test(component.customId))) result = component diff --git a/src/core/api/openticket/transcript.ts b/src/core/api/openticket/transcript.ts index 49e5ca9..9e86382 100644 --- a/src/core/api/openticket/transcript.ts +++ b/src/core/api/openticket/transcript.ts @@ -257,6 +257,7 @@ export class ODTranscriptCollector { const rows: ODTranscriptComponentRowData[] = [] msg.components.forEach((row) => { const components: ODTranscriptComponentRowData["components"] = [] + if (row.type != discord.ComponentType.ActionRow) return row.components.forEach((component) => { if (component.type == discord.ComponentType.Button){ components.push({ diff --git a/src/core/startup/migration.ts b/src/core/startup/migration.ts index 45db853..63354fb 100644 --- a/src/core/startup/migration.ts +++ b/src/core/startup/migration.ts @@ -13,5 +13,11 @@ export const migrations = [ for (const panel of (await globalDatabase.getCategory("opendiscord:panel-update") ?? [])){ 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 () => {}) ] \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 9c413d8..64d1f17 100644 --- a/src/index.ts +++ b/src/index.ts @@ -20,7 +20,7 @@ INFORMATION: ============ - Open Ticket v4.0.2 - © DJdj Development + Open Ticket v4.0.3 - © DJdj Development support us: https://github.com/sponsors/DJj123dj discord: https://discord.dj-dj.be