Open Ticket v4.1.1

Open Ticket v4.1.1
This commit is contained in:
Jasper
2025-11-16 11:44:45 +01:00
committed by GitHub
62 changed files with 3368 additions and 2791 deletions
+1 -1
View File
@@ -643,7 +643,7 @@ for (const language of fs.readdirSync(".docs/languages/")){
}
}
original["_TRANSLATION"]["lastedited"] = new Date().toLocaleDateString("nl-BE",{day:"2-digit",month:"2-digit",year:"numeric"})
original["_TRANSLATION"]["otversion"] = "v4.1.0"
original["_TRANSLATION"]["otversion"] = "v4.1.1"
const finalText = formatter.stringify(original)
fs.writeFileSync("./languages/"+language,finalText)
}
+4 -22
View File
@@ -2,7 +2,7 @@
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
[![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.1.0-brightgreen.svg?style=flat-square)](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.1.0)
[![version](https://img.shields.io/badge/version-4.1.1-brightgreen.svg?style=flat-square)](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.1.1)
[![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,33 +20,15 @@ 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.1.1.json`**](openticket-egg-v4.1.1.json)
- This egg will always use Open Ticket `v4.1.1`. Open Ticket updates will not have an effect on this egg.
[**`openticket-egg-v4.1.0.json`**](openticket-egg-v4.1.0.json)
- This egg will always use Open Ticket `v4.1.0`. Open Ticket updates will not have an effect on this egg.
[**`openticket-egg-v4.0.7.json`**](openticket-egg-v4.0.7.json)
- This egg will always use Open Ticket `v4.0.7`. Open Ticket updates will not have an effect on this egg.
[**`openticket-egg-v4.0.6.json`**](openticket-egg-v4.0.6.json)
- This egg will always use Open Ticket `v4.0.6`. Open Ticket updates will not have an effect on this egg.
[**`openticket-egg-v4.0.5.json`**](openticket-egg-v4.0.5.json)
- This egg will always use Open Ticket `v4.0.5`. Open Ticket updates will not have an effect on this egg.
[**`openticket-egg-v4.0.4.json`**](openticket-egg-v4.0.4.json)
- This egg will always use Open Ticket `v4.0.4`. Open Ticket updates will not have an effect on this egg.
[**`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.
[**`openticket-egg-v4.0.1.json`**](openticket-egg-v4.0.1.json)
- This egg will always use Open Ticket `v4.0.1`. Open Ticket updates will not have an effect on this egg.
[**`openticket-egg-v4.0.0.json`**](openticket-egg-v4.0.0.json)
- This egg will always use Open Ticket `v4.0.0`. Open Ticket updates will not have an effect on this egg.
[**`openticket-egg-v3.5.9.json`**](openticket-egg-v3.5.9.json)
- This egg will always use Open Ticket `v3.5.9`. Open Ticket updates will not have an effect on this egg.
-62
View File
@@ -1,62 +0,0 @@
{
"_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.1)",
"author": "support@dj-dj.be",
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.1, 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.1)\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.1\"\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"
}
]
}
-62
View File
@@ -1,62 +0,0 @@
{
"_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.2)",
"author": "support@dj-dj.be",
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.2, 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.2)\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.2\"\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"
}
]
}
-62
View File
@@ -1,62 +0,0 @@
{
"_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"
}
]
}
-62
View File
@@ -1,62 +0,0 @@
{
"_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.4)",
"author": "support@dj-dj.be",
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.4, 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.4)\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.4\"\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"
}
]
}
-62
View File
@@ -1,62 +0,0 @@
{
"_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.5)",
"author": "support@dj-dj.be",
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.5, 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.5)\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.5\"\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"
}
]
}
-62
View File
@@ -1,62 +0,0 @@
{
"_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.6)",
"author": "support@dj-dj.be",
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.6, 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.6)\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.6\"\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"
}
]
}
@@ -5,9 +5,9 @@
"update_url": null
},
"exported_at": "2025-03-16T18:10:18+01:00",
"name": "Open Ticket (v4.0.0)",
"name": "Open Ticket (v4.1.1)",
"author": "support@dj-dj.be",
"description": "This is the official Pterodactyl egg for Open Ticket v4.0.0, 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!",
"description": "This is the official Pterodactyl egg for Open Ticket v4.1.1, 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"
@@ -22,7 +22,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.0.0)\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.0\"\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",
"script": "#!\/bin\/bash\r\n# Open Ticket Installation Script (v4.1.1)\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.1.1\"\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"
}
+1 -1
View File
@@ -1,7 +1,7 @@
# Contributing Guidelines
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket Logo" width="500px">
[![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.1.0-brightgreen.svg?style=flat-square)](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.1.0) [![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.1.1-brightgreen.svg?style=flat-square)](https://github.com/open-discord-bots/open-ticket/releases/tag/v4.1.1) [![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!<br>
Here you can find everything you need to know about contributing to Open Ticket.<br>
+4 -3
View File
@@ -19,10 +19,11 @@ This list will be updated on every release.
| Version | Supported | Notes |
|------------|-----------|---------------------------------------------------------------|
| 4.2.0 | 🟦 | Transcripts v2.0 will be taken offline when v4.2 is released. |
| 4.1.1 | 🟦 | |
| 4.2.0 | 🟦 | Transcripts v2.0 will be inaccessible when v4.2 is released. |
| 4.1.2 | 🟦 | |
| 4.1.1 | ✅ | |
| 4.1.0 | ✅ | |
| 4.0.7 | ✅ | Supported Until October 2025 (LTS) |
| 4.0.7 | ✅ | Supported Until December 2025 (LTS) |
| 4.0.6 | 🚧 | |
| 4.0.5 | 🚧 | |
| 4.0.4 | 🚧 | |
+15 -9
View File
@@ -8,7 +8,7 @@
<br>Powered By<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://github.com/open-discord-bots/open-ticket/releases/tag/v4.1.0"><img alt="Open Ticket Version" src="https://img.shields.io/badge/version-4.1.0-brightgreen.svg?style=flat-square"></img></a>
<a href="https://github.com/open-discord-bots/open-ticket/releases/tag/v4.1.1"><img alt="Open Ticket Version" src="https://img.shields.io/badge/version-4.1.1-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://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>
@@ -165,16 +165,16 @@ With the amazing support of our translators, we've been able to translate Open T
|🟢⏳ |🇧🇩 Bengali |HanumeshGupta |
|🤖 |🇪🇪 Estonian |iamnotmega |
|🤖 |🇫🇮 Finnish |iamnotmega |
|🤖 |🇯🇵 Japanese |HanumeshGupta |
|🤖 |🇬🇷 Greek |HanumeshGupta |
|🤖 |🇸🇮 Slovenian |HanumeshGupta |
|🤖 |🇰🇷 Korean |HanumeshGupta |
|🤖 |🇮🇳 Tamil |HanumeshGupta |
|🤖 |🇨🇳 Simplified Chinese |HanumeshGupta |
|🤖 |❓ Kurdish |HanumeshGupta |
|🤖⏳ |🇷🇺 Russian |NoOneNook |
|🤖⏳ |🇱🇻 Latvian |NoOneNook |
|🤖⏳ |🇻🇳 Vietnamese |ngocdiep2006 |
|🤖⏳ |🇯🇵 Japanese |HanumeshGupta |
|🤖⏳ |🇬🇷 Greek |HanumeshGupta |
|🤖⏳ |🇸🇮 Slovenian |HanumeshGupta |
|🤖⏳ |🇰🇷 Korean |HanumeshGupta |
|🤖⏳ |🇮🇳 Tamil |HanumeshGupta |
|🤖⏳ |🇨🇳 Simplified Chinese |HanumeshGupta |
|🤖⏳ |❓ Kurdish |HanumeshGupta |
|🔴 |🇨🇳 Traditional Chinese|[⭐ Contribute!](.github/CONTRIBUTING.md)|
<!--[⭐ Contribute!](.github/CONTRIBUTING.md) -->
@@ -197,7 +197,7 @@ This will help us grow and reach even more people!
> [`ot-reviews`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-reviews/),
> [`ot-feedback`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-feedback/),
> [`ot-tags`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-tags/),
> [`ot-config-reload`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-config-reload/)**
> [`ot-restrictions`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-restrictions/)**
#### Categories:
- **📄 Example** - These plugins serve as an example or starting template.
@@ -206,6 +206,7 @@ This will help us grow and reach even more people!
- **🎨 Customisation** - These plugins add even more customisation to the bot.
- **💼 Management** - These plugins add features that help you manage your server or ticket system.
- **🤖 Client** - These plugins add features affecting the Discord Client or bot itself.
- Please Create a new category when your plugin doesn't fit in one of the available categories.
### 📦 Official *(made by DJdj Development)*
|Name |Category |Description |
@@ -229,7 +230,10 @@ This will help us grow and reach even more people!
|[`ot-move-actions`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-move-actions/) |💼 Management |Automatically unclaim/unpin a ticket when it's moved using `/move`. |
|[`ot-reviews`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-reviews/) |💼 Management |Review system for Open Ticket! It is very customisable and has lots of features. |
|[`ot-tags`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-tags/) |💼 Management |Use tags to quickly reply with a pre-existing text. |
|[`ot-restrictions`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-restrictions/) |💼 Management |Restrict which roles can open a specific ticket option. |
|[`ot-better-status`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-better-status/) |🤖 Client |An advanced status plugin to rotate between states. It also allows for the use of variables. |
|[`ot-channel-display`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-channel-display/) |🤖 Client |A plugin to show different variables in a voice channel in your server. |
|[`ot-vanity`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-vanity/) |🤖 Client |A plugin to detect the vanity status of members in the server and give them exclusive privilleges. |
### ✅ Verified *(made by community)*
|Name |Author |Category |Description |
@@ -240,6 +244,8 @@ This will help us grow and reach even more people!
|[`ot-assign-role`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-assign-role/) |rapid.fast |💼 Management |This plugin assigns a predefined role to a user upon creating a ticket. |
|[`ot-volume-warning`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-volume-warning/) |guillee.3 |💼 Management |Alerts ticket creators when too many tickets are open, indicating possible response delays. |
|[`od-reminders`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/od-reminders/) |guillee.3 |💼 Management |Set reminders that will be sent to a channel every specified time. |
|[`od-moderation`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/od-moderation/) |NotMukundOP |💼 Management |A simple moderation plugin for Open Discord with ban, kick & warnings. |
|[`ot-followups`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-followups/) |guillee.3 |💼 Management |Send additional follow-up messages to a ticket. |
|[`ot-translate-cmds`](https://github.com/open-discord-bots/plugins/tree/main/open-ticket/ot-translate-cmds/) |guillee.3 |🤖 Client |Translate all built-in command names, descriptions & options. |
---
+1 -1
View File
@@ -2,7 +2,7 @@
"_INFO":{
"support":"https://otdocs.dj-dj.be",
"discord":"https://discord.dj-dj.be",
"version":"open-ticket-v4.1.0"
"version":"open-ticket-v4.1.1"
},
"token":"insert your bot token here! (or leave empty when using 'tokenFromENV')",
+1 -1
View File
@@ -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.1.0 (or leave empty)",
"footer":"Open Ticket v4.1.1 (or leave empty)",
"fields":[
{"name":"field name","value":"field value","inline":false}
],
+1 -1
View File
@@ -14,7 +14,7 @@ process.argv.push(...flags)
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██║██║ ██╔═██╗ ██╔══╝ ██║
╚██████╔╝██║ ███████╗██║ ╚████║ ██║ ██║╚██████╗██║ ██╗███████╗ ██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═╝
v4.1.0 - Made by DJj123dj & Contributors
v4.1.1 - Made by DJj123dj & Contributors
Discord: https://discord.dj-dj.be
Docs: https://otdocs.dj-dj.be
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION": {
"otversion": "v4.1.0",
"otversion": "v4.1.1",
"translators": ["palestinian"],
"lastedited": "06/12/2024",
"language": "Arabic",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["HanumeshGupta"],
"lastedited":"19/06/2025",
"language":"Bengali",
+2 -2
View File
@@ -1,8 +1,8 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["guillee3"],
"lastedited":"09/11/2025",
"lastedited":"16/11/2025",
"language":"Catalan",
"automated":false
},
+2 -2
View File
@@ -1,8 +1,8 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["DJj123dj"],
"lastedited":"09/11/2025",
"lastedited":"16/11/2025",
"language":"Custom",
"automated":false
},
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["spyeye_"],
"lastedited":"21/08/2024",
"language":"Czech",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["the_gamer"],
"lastedited":"26/09/2024",
"language":"Danish",
+3 -3
View File
@@ -1,8 +1,8 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["DJj123dj"],
"lastedited":"09/11/2025",
"lastedited":"16/11/2025",
"language":"Dutch",
"automated":false
},
@@ -302,7 +302,7 @@
"permissionError":"Permission Error"
},
"descriptions":{
"askForInfo":"Contacteer the eigenaar van deze bot voor meer info!",
"askForInfo":"Contacteer de eigenaar van deze bot voor meer info!",
"askForInfoResolve":"Contacteer de eigenaar van deze bot als het probleem niet opgelost wordt na enkele keren.",
"internalError":"Gefaald om te reageren op deze {0} door een interne error!",
"optionMissing":"Een verplichte parameter mist in deze command!",
+2 -2
View File
@@ -1,8 +1,8 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["DJj123dj"],
"lastedited":"09/11/2025",
"lastedited":"16/11/2025",
"language":"English",
"automated":false
},
+2 -2
View File
@@ -1,8 +1,8 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["iamnotmega","ChatGPT"],
"lastedited":"09/11/2025",
"lastedited":"16/11/2025",
"language":"Estonian",
"automated":true
},
+2 -2
View File
@@ -1,8 +1,8 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["iamnotmega","ChatGPT"],
"lastedited":"09/11/2025",
"lastedited":"16/11/2025",
"language":"Finnish",
"automated":true
},
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["guillee3"],
"lastedited":"04/12/2024",
"language":"French",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["benzorich"],
"lastedited":"06/10/2024",
"language":"German",
+234 -104
View File
@@ -1,8 +1,8 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"translators":["HanumeshGupta"],
"lastedited":"19/06/2025",
"otversion":"v4.1.1",
"translators":["HanumeshGupta","ChatGPT"],
"lastedited":"16/11/2025",
"language":"Greek",
"automated":true
},
@@ -31,6 +31,14 @@
"stringContains":"Αυτή η συμβολοσειρά πρέπει να περιέχει {0}!",
"stringChoices":"Αυτή η συμβολοσειρά μπορεί να είναι μόνο μία από τις ακόλουθες τιμές: {0}!",
"stringRegex":"Αυτή η συμβολοσειρά είναι άκυρη!",
"stringInvertedContains":"Αυτή η συμβολοσειρά δεν επιτρέπεται να περιέχει {0}!",
"stringLowercase":"Αυτή η συμβολοσειρά πρέπει να είναι γραμμένη μόνο με πεζά!",
"stringUppercase":"Αυτή η συμβολοσειρά πρέπει να είναι γραμμένη μόνο με κεφαλαία!",
"stringSpecialCharacters":"Αυτή η συμβολοσειρά δεν επιτρέπεται να περιέχει ειδικούς χαρακτήρες! (a-z, 0-9 & κενό μόνο)",
"stringNoSpaces":"Αυτή η συμβολοσειρά δεν επιτρέπεται να περιέχει κενά!",
"stringCapitalWord":"Συνιστάται κάθε λέξη σε αυτήν τη συμβολοσειρά να ξεκινά με κεφαλαίο γράμμα!",
"stringCapitalSentence":"Φαίνεται ότι ορισμένες προτάσεις σε αυτήν τη συμβολοσειρά δεν ξεκινούν με κεφαλαίο γράμμα!",
"stringPunctuation":"Φαίνεται ότι η πρόταση σε αυτήν τη συμβολοσειρά δεν τελειώνει με σημείο στίξης!",
"numberTooShort":"Αυτός ο αριθμός δεν μπορεί να είναι μικρότερος από {0} ψηφία!",
"numberTooLong":"Αυτός ο αριθμός δεν μπορεί να είναι μεγαλύτερος από {0} ψηφία!",
@@ -48,6 +56,8 @@
"numberNegative":"Αυτός ο αριθμός δεν μπορεί να είναι αρνητικός!",
"numberPositive":"Αυτός ο αριθμός δεν μπορεί να είναι θετικός!",
"numberZero":"Αυτός ο αριθμός δεν μπορεί να είναι μηδέν!",
"numberNan":"Αυτός ο αριθμός δεν μπορεί να είναι NaN (Not A Number)!",
"numberInvertedContains":"Αυτός ο αριθμός δεν επιτρέπεται να περιέχει {0}!",
"booleanTrue":"Αυτό το boolean δεν μπορεί να είναι true!",
"booleanFalse":"Αυτό το boolean δεν μπορεί να είναι false!",
@@ -89,7 +99,8 @@
"invalidButton":"Αυτό το κουμπί πρέπει να έχει τουλάχιστον ένα {0} ή {1}!",
"unusedOption":"Η επιλογή {0} δεν χρησιμοποιείται πουθενά!",
"unusedQuestion":"Η ερώτηση {0} δεν χρησιμοποιείται πουθενά!",
"dropdownOption":"Ένα πάνελ με ενεργοποιημένο dropdown μπορεί να περιέχει μόνο επιλογές τύπου 'ticket'!"
"dropdownOption":"Ένα πάνελ με ενεργοποιημένο dropdown μπορεί να περιέχει μόνο επιλογές τύπου 'ticket'!",
"customInvalidVersion":"Η έκδοση που καθορίστηκε στο config σας δεν ταιριάζει! Βεβαιωθείτε ότι έχετε ενημερώσει το config στην πιο πρόσφατη έκδοση!"
}
},
"actions":{
@@ -132,6 +143,7 @@
"blacklistAddDm":"Προστέθηκε στη Μαύρη Λίστα",
"blacklistRemoveDm":"Αφαιρέθηκε από τη Μαύρη Λίστα",
"clear":"Εισιτήρια Διαγράφηκαν",
"clearTickets":"Εκκαθάριση Tickets",
"roles":"Ενημέρωση Ρόλων",
"autoclose":"Αυτόματο Κλείσιμο",
@@ -139,7 +151,12 @@
"autocloseDisabled":"Απενεργοποιήθηκε Αυτόματο Κλείσιμο",
"autodelete":"Αυτόματη Διαγραφή",
"autodeleteEnabled":"Ενεργοποιήθηκε Αυτόματη Διαγραφή",
"autodeleteDisabled":"Απενεργοποιήθηκε Αυτόματη Διαγραφή"
"autodeleteDisabled":"Απενεργοποιήθηκε Αυτόματη Διαγραφή",
"topicSet":"Το Θέμα Αλλάχθηκε",
"prioritySet":"Η Προτεραιότητα Αλλάχθηκε",
"priorityGet":"Προτεραιότητα Ticket",
"transfer":"Το Ticket Μεταφέρθηκε"
},
"descriptions":{
"create":"Το εισιτήριό σας δημιουργήθηκε. Κάντε κλικ στο παρακάτω κουμπί για να το προσπελάσετε!",
@@ -180,7 +197,12 @@
"ticketMessageLimit":"Μπορείτε να δημιουργήσετε μόνο {0} εισιτήρια ταυτόχρονα!",
"ticketMessageAutoclose":"Αυτό το εισιτήριο θα κλείσει αυτόματα όταν είναι ανενεργό για {0} ώρες!",
"ticketMessageAutodelete":"Αυτό το εισιτήριο θα διαγραφεί αυτόματα όταν είναι ανενεργό για {0} ημέρες!",
"panelReady":"Μπορείτε να βρείτε το πάνελ παρακάτω!\nΑυτό το μήνυμα μπορεί τώρα να διαγραφεί!"
"panelReady":"Το πάνελ είναι διαθέσιμο στο επόμενο μήνυμα!\nΑυτό το μήνυμα μπορεί τώρα να διαγραφεί!",
"topicSet":"Το θέμα του καναλιού άλλαξε επιτυχώς από τον/την {0}!",
"prioritySet":"Η προτεραιότητα του ticket άλλαξε σε {0} από τον/την {1} επιτυχώς!",
"priorityGet":"Η τρέχουσα προτεραιότητα αυτού του ticket είναι {0}.",
"transfer":"Η ιδιοκτησία του ticket μεταφέρθηκε από τον/την {0} στον/στην {1} από τον/την {2} επιτυχώς!"
},
"modal":{
"closePlaceholder":"Γιατί έκλεισες αυτό το εισιτήριο;",
@@ -220,7 +242,14 @@
"blacklistRemoveLog":"Ο {0} αφαιρέθηκε από τη μαύρη λίστα από τον {1}!",
"blacklistAddDm":"Έχετε προστεθεί στη μαύρη λίστα στον server μας!\nΑπό τώρα, δεν μπορείτε να δημιουργήσετε εισιτήριο!",
"blacklistRemoveDm":"Έχετε αφαιρεθεί από τη μαύρη λίστα στον server μας!\nΤώρα μπορείτε να δημιουργήσετε εισιτήρια ξανά!",
"clearLog":"{0} εισιτήρια διαγράφηκαν από τον {1}!"
"clearLog":"{0} εισιτήρια διαγράφηκαν από τον {1}!",
"transferLog":"Η ιδιοκτησία αυτού του ticket μεταφέρθηκε από τον/την {0} στον/στην {1} από τον/την {2}!",
"transferDm":"Η ιδιοκτησία του ticket σας μεταφέρθηκε από τον/την {0} στον/στην {1} στον server μας!",
"prioritySetLog":"Η προτεραιότητα αυτού του ticket άλλαξε σε {0} από τον/την {1}!",
"prioritySetDm":"Η προτεραιότητα του ticket σας άλλαξε σε {0} στον server μας!",
"roleUpdateLog":"Ο/Η {0} ενημέρωσε τους ρόλους του/της!",
"roleUpdateDm":"Οι ρόλοι σας στον server μας έχουν ενημερωθεί!"
}
},
"transcripts":{
@@ -241,7 +270,19 @@
"retry":"Επανάληψη",
"continue":"Διαγραφή Χωρίς Αντίγραφο",
"backup":"Δημιουργία Αντιγράφου Ασφαλείας",
"error":"Κάτι πήγε στραβά κατά τη δημιουργία του αντιγράφου.\nΤι θα θέλατε να κάνετε;\n\nΑυτό το εισιτήριο δεν θα διαγραφεί μέχρι να κάνετε κλικ σε ένα από αυτά τα κουμπιά."
"error":"Κάτι πήγε στραβά κατά τη δημιουργία του αντιγράφου.\nΤι θα θέλατε να κάνετε;\n\nΑυτό το εισιτήριο δεν θα διαγραφεί μέχρι να κάνετε κλικ σε ένα από αυτά τα κουμπιά.",
"title":"Σφάλμα Transcript"
},
"text":{
"messagesTitle":"ΜΗΝΥΜΑΤΑ",
"embedTitle":"EMBED",
"fileTitle":"ΑΡΧΕΙΟ",
"fieldsTitle":"ΠΕΔΙΑ",
"reactionsTitle":"ΑΝΤΙΔΡΑΣΕΙΣ",
"statsTitle":"ΣΤΑΤΙΣΤΙΚΑ",
"emptyContent":"<το περιεχόμενο είναι κενό>",
"noTitle":"<χωρίς τίτλο>",
"noDesc":"<χωρίς περιγραφή>"
}
},
"errors":{
@@ -257,7 +298,8 @@
"unknownPanel":"Άγνωστο Πάνελ",
"notInGuild":"Δεν Είστε σε Server",
"channelRename":"Αδυναμία Μετονομασίας Κανάλι",
"busy":"Το Εισιτήριο Είναι Απασχολημένο"
"busy":"Το Εισιτήριο Είναι Απασχολημένο",
"permissionError":"Σφάλμα Δικαιωμάτων"
},
"descriptions":{
"askForInfo":"Επικοινωνήστε με τον ιδιοκτήτη αυτού του bot για περισσότερες πληροφορίες!",
@@ -280,7 +322,10 @@
"notInGuild":"Αυτό το {0} δεν λειτουργεί σε DM! Παρακαλώ δοκιμάστε ξανά σε έναν server!",
"channelRename":"Λόγω discord ratelimits, είναι αδύνατο για το bot να μετονομάσει το κανάλι. Το κανάλι θα μετονομαστεί αυτόματα σε 10 λεπτά αν το bot δεν επανεκκινηθεί.",
"channelRenameSource":"Η πηγή αυτού του σφάλματος είναι: {0}",
"busy":"Αδυναμία χρήσης αυτού του {0}!\nΤο εισιτήριο είναι αυτή τη στιγμή σε επεξεργασία από το bot.\n\nΠαρακαλώ δοκιμάστε ξανά σε λίγα δευτερόλεπτα!"
"busy":"Αδυναμία χρήσης αυτού του {0}!\nΤο εισιτήριο είναι αυτή τη στιγμή σε επεξεργασία από το bot.\n\nΠαρακαλώ δοκιμάστε ξανά σε λίγα δευτερόλεπτα!",
"closeBeforeMessage":"Αυτό το ticket δεν μπορεί να κλείσει/διαγραφεί πριν σταλεί ένα μήνυμα από έναν χρήστη.",
"closeBeforeAdminMessage":"Αυτό το ticket δεν μπορεί να κλείσει/διαγραφεί πριν σταλεί μήνυμα από έναν ticket admin ή μέλος υποστήριξης.",
"unableToCreateTicket":"Δεν μπορείτε να δημιουργήσετε ticket."
},
"optionInvalidReasons":{
"stringRegex":"Η τιμή δεν ταιριάζει με το μοτίβο!",
@@ -331,7 +376,6 @@
"added":"Προστέθηκε",
"removed":"Αφαιρέθηκε",
"filter":"Φίλτρο",
"claimedBy":"Αναλήφθηκε Από {0}",
"method":"Μέθοδος",
"type":"Τύπος",
"blacklisted":"Στη Μαύρη Λίστα",
@@ -355,7 +399,27 @@
"status":"Κατάσταση",
"claimed":"Αναληφθείς",
"pinned":"Καρφιτσωμένο",
"creationDate":"Ημερομηνία Δημιουργίας"
"creationDate":"Ημερομηνία Δημιουργίας",
"noone":"Κανείς",
"open":"Ανοιχτό",
"closed":"Κλειστό",
"priority":"Προτεραιότητα",
"participants":"Συμμετέχοντες",
"yes":"Ναι",
"no":"Όχι",
"option":"Επιλογή",
"topic":"Θέμα",
"uptime":"Χρόνος Λειτουργίας Συστήματος",
"messages":"Μηνύματα",
"embeds":"Embeds",
"files":"Αρχεία",
"components":"Στοιχεία",
"cooldown":"Χρόνος Αναμονής",
"maxTickets":"Μέγιστος Αριθμός Tickets",
"admins":"Διαχειριστές",
"roles":"Ρόλοι",
"size":"Μέγεθος"
},
"lowercase":{
"text":"κείμενο",
@@ -373,106 +437,172 @@
"panel":"Εμφάνιση μηνύματος με πτυσσόμενο μενού ή κουμπιά (για δημιουργία εισιτηρίου).",
"panelId":"Το αναγνωριστικό του πάνελ που θέλετε να εμφανίσετε.",
"panelAutoUpdate":"Θέλετε αυτό το πάνελ να ενημερώνεται αυτόματα όταν επεξεργαστεί;",
"ticket": "Δημιουργία εισιτηρίου αμέσως.",
"ticketId": "Το αναγνωριστικό του εισιτηρίου που θέλετε να δημιουργήσετε.",
"close": "Κλείσιμο εισιτηρίου.",
"delete": "Διαγραφή εισιτηρίου.",
"deleteNoTranscript": "Διαγραφή αυτού του εισιτηρίου χωρίς δημιουργία μεταγραφής.",
"reopen": "Επαναφορά εισιτηρίου.",
"claim": "Αιτηματοποίηση εισιτηρίου.",
"claimUser": "Αιτηματοποίηση αυτού του εισιτηρίου σε κάποιον άλλον αντί για εσάς.",
"unclaim": "Ακύρωση αιτηματοποίησης εισιτηρίου.",
"pin": "Καρφίτσωμα εισιτηρίου.",
"unpin": "Ξεκαρφίτσωμα εισιτηρίου.",
"move": "Μετακίνηση εισιτηρίου.",
"moveId": "Το αναγνωριστικό της επιλογής στην οποία θέλετε να μετακινήσετε.",
"rename": "Μετονομασία εισιτηρίου.",
"renameName": "Το νέο όνομα για αυτό το εισιτήριο.",
"add": "Προσθήκη χρήστη σε εισιτήριο.",
"addUser": "Ο χρήστης που θα προστεθεί.",
"remove": "Αφαίρεση χρήστη από εισιτήριο.",
"removeUser": "Ο χρήστης που θα αφαιρεθεί.",
"blacklist": "Διαχείριση μαύρης λίστας εισιτηρίων.",
"blacklistView": "Προβολή λίστας της τρέχουσας μαύρης λίστας.",
"blacklistAdd": "Προσθήκη χρήστη στη μαύρη λίστα.",
"blacklistRemove": "Αφαίρεση χρήστη από τη μαύρη λίστα.",
"blacklistGet": "Λήψη λεπτομερειών από έναν χρήστη στη μαύρη λίστα.",
"blacklistGetUser": "Ο χρήστης από τον οποίο θα ληφθούν λεπτομέρειες.",
"stats": "Προβολή στατιστικών από το bot, ένα μέλος ή ένα εισιτήριο.",
"statsReset": "Επαναφορά όλων των στατιστικών του bot (και έναρξη καταμέτρησης από το μηδέν).",
"statsGlobal": "Προβολή παγκόσμιων στατιστικών.",
"statsUser": "Προβολή στατιστικών ενός χρήστη στον server.",
"statsUserUser": "Ο χρήστης που θα προβληθεί.",
"statsTicket": "Προβολή στατιστικών ενός εισιτηρίου στον server.",
"statsTicketTicket": "Το εισιτήριο που θα προβληθεί.",
"clear": "Διαγραφή πολλαπλών εισιτηρίων ταυτόχρονα.",
"clearFilter": "Το φίλτρο για την εκκαθάριση εισιτηρίων.",
"clearFilters": {
"all": "Όλα",
"open": "Ανοιχτά",
"close": "Κλειστά",
"claim": "Αιτηματοποιημένα",
"unclaim": "Μη αιτηματοποιημένα",
"pin": "Καρφιτσωμένα",
"unpin": "Μη καρφιτσωμένα",
"autoclose": "Αυτόματα κλειστά"
"ticket":"Δημιουργία εισιτηρίου αμέσως.",
"ticketId":"Το αναγνωριστικό του εισιτηρίου που θέλετε να δημιουργήσετε.",
"close":"Κλείσιμο εισιτηρίου.",
"delete":"Διαγραφή εισιτηρίου.",
"deleteNoTranscript":"Διαγραφή αυτού του εισιτηρίου χωρίς δημιουργία μεταγραφής.",
"reopen":"Επαναφορά εισιτηρίου.",
"claim":"Αιτηματοποίηση εισιτηρίου.",
"claimUser":"Αιτηματοποίηση αυτού του εισιτηρίου σε κάποιον άλλον αντί για εσάς.",
"unclaim":"Ακύρωση αιτηματοποίησης εισιτηρίου.",
"pin":"Καρφίτσωμα εισιτηρίου.",
"unpin":"Ξεκαρφίτσωμα εισιτηρίου.",
"move":"Μετακίνηση εισιτηρίου.",
"moveId":"Το αναγνωριστικό της επιλογής στην οποία θέλετε να μετακινήσετε.",
"rename":"Μετονομασία εισιτηρίου.",
"renameName":"Το νέο όνομα για αυτό το εισιτήριο.",
"add":"Προσθήκη χρήστη σε εισιτήριο.",
"addUser":"Ο χρήστης που θα προστεθεί.",
"remove":"Αφαίρεση χρήστη από εισιτήριο.",
"removeUser":"Ο χρήστης που θα αφαιρεθεί.",
"blacklist":"Διαχείριση μαύρης λίστας εισιτηρίων.",
"blacklistView":"Προβολή λίστας της τρέχουσας μαύρης λίστας.",
"blacklistAdd":"Προσθήκη χρήστη στη μαύρη λίστα.",
"blacklistRemove":"Αφαίρεση χρήστη από τη μαύρη λίστα.",
"blacklistGet":"Λήψη λεπτομερειών από έναν χρήστη στη μαύρη λίστα.",
"blacklistGetUser":"Ο χρήστης από τον οποίο θα ληφθούν λεπτομέρειες.",
"stats":"Προβολή στατιστικών από το bot, ένα μέλος ή ένα εισιτήριο.",
"statsReset":"Επαναφορά όλων των στατιστικών του bot (και έναρξη καταμέτρησης από το μηδέν).",
"statsGlobal":"Προβολή παγκόσμιων στατιστικών.",
"statsUser":"Προβολή στατιστικών ενός χρήστη στον server.",
"statsUserUser":"Ο χρήστης που θα προβληθεί.",
"statsTicket":"Προβολή στατιστικών ενός εισιτηρίου στον server.",
"statsTicketTicket":"Το εισιτήριο που θα προβληθεί.",
"clear":"Διαγραφή πολλαπλών εισιτηρίων ταυτόχρονα.",
"clearFilter":"Το φίλτρο για την εκκαθάριση εισιτηρίων.",
"clearFilters":{
"all":"Όλα",
"open":"Ανοιχτά",
"close":"Κλειστά",
"claim":"Αιτηματοποιημένα",
"unclaim":"Μη αιτηματοποιημένα",
"pin":"Καρφιτσωμένα",
"unpin":"Μη καρφιτσωμένα",
"autoclose":"Αυτόματα κλειστά"
},
"autoclose": "Διαχείριση αυτόματου κλεισίματος σε εισιτήριο.",
"autocloseDisable": "Απενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
"autocloseEnable": "Ενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
"autocloseEnableTime": "Ο αριθμός των ωρών που απαιτείται για να κλείσει αυτόματα το εισιτήριο λόγω αδράνειας.",
"autodelete": "Διαχείριση αυτόματης διαγραφής σε εισιτήριο.",
"autodeleteDisable": "Απενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
"autodeleteEnable": "Ενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
"autodeleteEnableTime": "Ο αριθμός των ημερών που απαιτείται για να διαγραφεί αυτόματα το εισιτήριο λόγω αδράνειας."
"autoclose":"Διαχείριση αυτόματου κλεισίματος σε εισιτήριο.",
"autocloseDisable":"Απενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
"autocloseEnable":"Ενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
"autocloseEnableTime":"Ο αριθμός των ωρών που απαιτείται για να κλείσει αυτόματα το εισιτήριο λόγω αδράνειας.",
"autodelete":"Διαχείριση αυτόματης διαγραφής σε εισιτήριο.",
"autodeleteDisable":"Απενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
"autodeleteEnable":"Ενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
"autodeleteEnableTime":"Ο αριθμός των ημερών που απαιτείται για να διαγραφεί αυτόματα το εισιτήριο λόγω αδράνειας.",
"topic":"Διαχειριστείτε το θέμα του καναλιού ticket.",
"topicSet":"Ορίστε το θέμα του καναλιού ticket.",
"topicValue":"Το νέο θέμα του καναλιού.",
"topicList":"Λάβετε μια λίστα όλων των tickets με το θέμα και τα στατιστικά τους.",
"priority":"Διαχειριστείτε την προτεραιότητα του ticket.",
"prioritySet":"Ορίστε την προτεραιότητα του ticket.",
"priorityValue":"Η προτεραιότητα του καναλιού.",
"priorityGet":"Λάβετε την προτεραιότητα του ticket.",
"priorityList":"Λάβετε μια λίστα όλων των tickets με την κατάσταση προτεραιότητάς τους.",
"transfer":"Μεταφέρετε την ιδιοκτησία του ticket από έναν χρήστη σε άλλον.",
"transferUser":"Ο χρήστης στον οποίο θα γίνει η μεταφορά."
},
"helpMenu":{
"help": "Λήψη λίστας όλων των διαθέσιμων εντολών.",
"ticket": "Δημιουργία εισιτηρίου αμέσως.",
"close": "Κλείσιμο εισιτηρίου, αυτό απενεργοποιεί τη γραφή σε αυτό το κανάλι.",
"delete": "Διαγραφή εισιτηρίου, αυτό δημιουργεί μια μεταγραφή όταν είναι ενεργοποιημένη.",
"reopen": "Επαναφορά εισιτηρίου, αυτό ενεργοποιεί ξανά τη γραφή σε αυτό το κανάλι.",
"pin": "Καρφίτσωμα εισιτηρίου. Αυτό θα μετακινήσει το εισιτήριο στην κορυφή και θα προσθέσει ένα emoji '📌' στο όνομα.",
"unpin": "Ξεκαρφίτσωμα εισιτηρίου. Το εισιτήριο θα παραμείνει στη θέση του αλλά θα χάσει το emoji '📌'.",
"move": "Μετακίνηση εισιτηρίου. Αυτό θα αλλάξει τον τύπο αυτού του εισιτηρίου.",
"rename": "Μετονομασία εισιτηρίου. Αυτό θα αλλάξει το όνομα του καναλιού αυτού του εισιτηρίου.",
"claim": "Αιτηματοποίηση εισιτηρίου. Με αυτό, μπορείτε να ενημερώσετε την ομάδα σας ότι το χειρίζεστε.",
"unclaim": "Ακύρωση αιτηματοποίησης εισιτηρίου. Με αυτό, μπορείτε να ενημερώσετε την ομάδα σας ότι το εισιτήριο είναι ελεύθερο ξανά.",
"add": "Προσθήκη χρήστη σε εισιτήριο. Αυτό θα επιτρέψει στον χρήστη να διαβάζει και να γράφει σε αυτό το εισιτήριο.",
"remove": "Αφαίρεση χρήστη από εισιτήριο. Αυτό θα αφαιρέσει τη δυνατότητα ανάγνωσης και εγγραφής για έναν χρήστη σε αυτό το εισιτήριο.",
"panel": "Δημιουργία μηνύματος με αναπτυσσόμενο μενού ή κουμπιά (για δημιουργία εισιτηρίου).",
"blacklistView": "Προβολή λίστας της τρέχουσας μαύρης λίστας.",
"blacklistAdd": "Προσθήκη χρήστη στη μαύρη λίστα.",
"blacklistRemove": "Αφαίρεση χρήστη από τη μαύρη λίστα.",
"blacklistGet": "Λήψη λεπτομερειών από έναν χρήστη στη μαύρη λίστα.",
"statsGlobal": "Προβολή παγκόσμιων στατιστικών.",
"statsTicket": "Προβολή στατιστικών ενός εισιτηρίου στον server.",
"statsUser": "Προβολή στατιστικών ενός χρήστη στον server.",
"statsReset": "Επαναφορά όλων των στατιστικών του bot (και έναρξη καταμέτρησης από το μηδέν).",
"autocloseDisable": "Απενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
"autocloseEnable": "Ενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
"autodeleteDisable": "Απενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
"autodeleteEnable": "Ενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο."
"help":"Λήψη λίστας όλων των διαθέσιμων εντολών.",
"ticket":"Δημιουργία εισιτηρίου αμέσως.",
"close":"Κλείσιμο εισιτηρίου, αυτό απενεργοποιεί τη γραφή σε αυτό το κανάλι.",
"delete":"Διαγραφή εισιτηρίου, αυτό δημιουργεί μια μεταγραφή όταν είναι ενεργοποιημένη.",
"reopen":"Επαναφορά εισιτηρίου, αυτό ενεργοποιεί ξανά τη γραφή σε αυτό το κανάλι.",
"pin":"Καρφίτσωμα εισιτηρίου. Αυτό θα μετακινήσει το εισιτήριο στην κορυφή και θα προσθέσει ένα emoji '📌' στο όνομα.",
"unpin":"Ξεκαρφίτσωμα εισιτηρίου. Το εισιτήριο θα παραμείνει στη θέση του αλλά θα χάσει το emoji '📌'.",
"move":"Μετακίνηση εισιτηρίου. Αυτό θα αλλάξει τον τύπο αυτού του εισιτηρίου.",
"rename":"Μετονομασία εισιτηρίου. Αυτό θα αλλάξει το όνομα του καναλιού αυτού του εισιτηρίου.",
"claim":"Αιτηματοποίηση εισιτηρίου. Με αυτό, μπορείτε να ενημερώσετε την ομάδα σας ότι το χειρίζεστε.",
"unclaim":"Ακύρωση αιτηματοποίησης εισιτηρίου. Με αυτό, μπορείτε να ενημερώσετε την ομάδα σας ότι το εισιτήριο είναι ελεύθερο ξανά.",
"add":"Προσθήκη χρήστη σε εισιτήριο. Αυτό θα επιτρέψει στον χρήστη να διαβάζει και να γράφει σε αυτό το εισιτήριο.",
"remove":"Αφαίρεση χρήστη από εισιτήριο. Αυτό θα αφαιρέσει τη δυνατότητα ανάγνωσης και εγγραφής για έναν χρήστη σε αυτό το εισιτήριο.",
"panel":"Δημιουργία μηνύματος με αναπτυσσόμενο μενού ή κουμπιά (για δημιουργία εισιτηρίου).",
"blacklistView":"Προβολή λίστας της τρέχουσας μαύρης λίστας.",
"blacklistAdd":"Προσθήκη χρήστη στη μαύρη λίστα.",
"blacklistRemove":"Αφαίρεση χρήστη από τη μαύρη λίστα.",
"blacklistGet":"Λήψη λεπτομερειών από έναν χρήστη στη μαύρη λίστα.",
"statsGlobal":"Προβολή παγκόσμιων στατιστικών.",
"statsTicket":"Προβολή στατιστικών ενός εισιτηρίου στον server.",
"statsUser":"Προβολή στατιστικών ενός χρήστη στον server.",
"statsReset":"Επαναφορά όλων των στατιστικών του bot (και έναρξη καταμέτρησης από το μηδέν).",
"autocloseDisable":"Απενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
"autocloseEnable":"Ενεργοποίηση αυτόματου κλεισίματος σε αυτό το εισιτήριο.",
"autodeleteDisable":"Απενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
"autodeleteEnable":"Ενεργοποίηση αυτόματης διαγραφής σε αυτό το εισιτήριο.",
"categories":{
"general":"Γενικές Εντολές",
"basicTicket":"Βασικές Εντολές Ticket",
"advancedTicket":"Προχωρημένες Εντολές Ticket",
"userTicket":"Εντολές Ticket Χρήστη",
"admin":"Εντολές Διαχειριστή",
"advanced":"Προχωρημένες Εντολές",
"extra":"Επιπλέον Εντολές"
}
},
"stats":{
"scopes":{
"global": "Παγκόσμια Στατιστικά",
"system": "Στατιστικά Συστήματος",
"user": "Στατιστικά Χρήστη",
"ticket": "Στατιστικά Εισιτηρίου",
"participants": "Συμμετέχοντες"
"global":"Παγκόσμια Στατιστικά",
"system":"Στατιστικά Συστήματος",
"user":"Στατιστικά Χρήστη",
"ticket":"Στατιστικά Εισιτηρίου",
"participants":"Συμμετέχοντες",
"messages":"Μηνύματα"
},
"properties":{
"ticketsCreated": "Εισιτήρια Δημιουργήθηκαν",
"ticketsClosed": "Εισιτήρια Κλείσαν",
"ticketsDeleted": "Εισιτήρια Διαγράφηκαν",
"ticketsReopened": "Εισιτήρια Επαναφέρθηκαν",
"ticketsAutoclosed": "Εισιτήρια Αυτόματα Κλείσαν",
"ticketsClaimed": "Εισιτήρια Αιτηματοποιήθηκαν",
"ticketsPinned": "Εισιτήρια Καρφιτσώθηκαν",
"ticketsMoved": "Εισιτήρια Μετακινήθηκαν",
"usersBlacklisted": "Χρήστες στη Μαύρη Λίστα",
"transcriptsCreated": "Μεταγραφές Δημιουργήθηκαν"
"ticketsCreated":"Εισιτήρια Δημιουργήθηκαν",
"ticketsClosed":"Εισιτήρια Κλείσαν",
"ticketsDeleted":"Εισιτήρια Διαγράφηκαν",
"ticketsReopened":"Εισιτήρια Επαναφέρθηκαν",
"ticketsAutoclosed":"Εισιτήρια Αυτόματα Κλείσαν",
"ticketsClaimed":"Εισιτήρια Αιτηματοποιήθηκαν",
"ticketsPinned":"Εισιτήρια Καρφιτσώθηκαν",
"ticketsMoved":"Εισιτήρια Μετακινήθηκαν",
"usersBlacklisted":"Χρήστες στη Μαύρη Λίστα",
"transcriptsCreated":"Μεταγραφές Δημιουργήθηκαν",
"ticketsAutodeleted":"Tickets Αυτόματης Διαγραφής",
"ticketsTransferred":"Tickets Μεταφερμένα",
"ticketVolume":"Όγκος Tickets",
"averageTickets":"Μέσος Όρος Tickets/Χρήστη",
"currentTickets":"Τρέχοντα Tickets",
"age":"Ηλικία Ticket",
"responseTime":"Χρόνος Απόκρισης",
"resolutionTime":"Χρόνος Επίλυσης",
"createdOn":"Δημιουργήθηκε Στις",
"createdBy":"Δημιουργήθηκε Από",
"closedOn":"Έκλεισε Στις",
"closedBy":"Έκλεισε Από",
"claimedOn":"Διεκδικήθηκε Στις",
"claimedBy":"Διεκδικήθηκε Από",
"pinnedOn":"Καρφιτσώθηκε Στις",
"pinnedBy":"Καρφιτσώθηκε Από",
"deletedOn":"Διαγράφηκε Στις",
"deletedBy":"Διαγράφηκε Από"
},
"roles":{
"developer":"Developer",
"serverOwner":"Ιδιοκτήτης Server",
"serverAdmin":"Διαχειριστής Server",
"moderator":"Ομάδα Moderators",
"support":"Ομάδα Υποστήριξης",
"member":"Μέλος"
}
},
"panel":{
"selectTicket":"Επιλέξτε το ticket σας",
"selectRole":"Επιλέξτε τον ρόλο σας",
"selectOption":"Επιλέξτε την επιλογή σας"
},
"priorities":{
"urgent":"Επείγον",
"veryHigh":"Πολύ Υψηλή",
"high":"Υψηλή",
"normal":"Κανονική",
"low":"Χαμηλή",
"veryLow":"Πολύ Χαμηλή",
"none":"Καμία"
}
}
+2 -2
View File
@@ -1,8 +1,8 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["challenger_nova"],
"lastedited":"09/11/2025",
"lastedited":"16/11/2025",
"language":"Hindi",
"automated":false
},
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["Kornel0706"],
"lastedited":"22/08/2024",
"language":"Hungarian",
+2 -2
View File
@@ -1,8 +1,8 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["erxg"],
"lastedited":"09/11/2025",
"lastedited":"16/11/2025",
"language":"Indonesian",
"automated":false
},
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["fraden1mvp."],
"lastedited":"08/10/2024",
"language":"Italian",
+221 -85
View File
@@ -1,8 +1,8 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"translators":["HanumeshGupta"],
"lastedited":"19/06/2025",
"otversion":"v4.1.1",
"translators":["HanumeshGupta","ChatGPT"],
"lastedited":"16/11/2025",
"language":"Japanese",
"automated":true
},
@@ -12,78 +12,95 @@
"headerOpenTicket":"チケットを開く",
"typeWarning":"[警告]",
"typeInfo":"[情報]",
"headerConfigChecker": "コンフィグチェッカー",
"headerDescription": "設定ファイルのエラーをチェック!",
"footerError": "{0}が修正されるまでボットは起動しません!",
"footerWarning": "起動前にすべての{0}を修正することを推奨します!",
"footerSupport": "サポート: {0} - ドキュメント: {1}",
"compactInformation": "詳細は{0}を使用してください!",
"dataPath": "パス",
"dataDocs": "ドキュメント",
"dataMessages": "メッセージ"
"headerConfigChecker":"コンフィグチェッカー",
"headerDescription":"設定ファイルのエラーをチェック!",
"footerError":"{0}が修正されるまでボットは起動しません!",
"footerWarning":"起動前にすべての{0}を修正することを推奨します!",
"footerSupport":"サポート: {0} - ドキュメント: {1}",
"compactInformation":"詳細は{0}を使用してください!",
"dataPath":"パス",
"dataDocs":"ドキュメント",
"dataMessages":"メッセージ"
},
"messages":{
"stringTooShort": "この文字列は{0}文字より短くできません!",
"stringTooLong": "この文字列は{0}文字より長くできません!",
"stringLengthInvalid": "この文字列は{0}文字でなければなりません!",
"stringStartsWith": "この文字列は「{0}」で始まる必要があります!",
"stringEndsWith": "この文字列は「{0}」で終わる必要があります!",
"stringContains": "この文字列には「{0}」が含まれている必要があります!",
"stringChoices": "この文字列は次のいずれかの値でなければなりません: {0}!",
"stringRegex": "この文字列は無効です!",
"numberTooShort": "この数値は{0}桁より短くできません!",
"numberTooLong": "この数値は{0}桁より長くできません!",
"numberLengthInvalid": "この数値は{0}桁でなければなりません!",
"numberTooSmall": "この数値は{0}以上でなければなりません!",
"numberTooLarge": "この数値は{0}以下でなければなりません!",
"numberNotEqual": "この数値は{0}でなければなりません!",
"numberStep": "この数値は{0}の倍数でなければなりません!",
"numberStepOffset": "この数値は{1}から始まる{0}の倍数でなければなりません!",
"numberStartsWith": "この数値は「{0}」で始まる必要があります!",
"numberEndsWith": "この数値は「{0}」で終わる必要があります!",
"numberContains": "この数値には「{0}」が含まれている必要があります!",
"numberChoices": "この数値は次のいずれかの値でなければなりません: {0}!",
"numberFloat": "この数値は小数にできません!",
"numberNegative": "この数値は負の値にできません!",
"numberPositive": "この数値は正の値にできません!",
"numberZero": "この数値はゼロにできません!",
"booleanTrue": "このブール値はtrueにできません!",
"booleanFalse": "このブール値はfalseにできません!",
"arrayEmptyDisabled": "この配列を空にすることは許可されていません!",
"arrayEmptyRequired": "この配列は空でなければなりません!",
"arrayTooShort": "この配列の長さは少なくとも{0}でなければなりません!",
"arrayTooLong": "この配列の長さは最大{0}でなければなりません!",
"arrayLengthInvalid": "この配列の長さは{0}でなければなりません!",
"arrayInvalidTypes": "この配列に含めることができる型は次のみです: {0}!",
"arrayDouble": "この配列では同じ値を2回使用できません!",
"discordInvalidId": "これは無効なDiscordの{0}IDです!",
"discordInvalidIdOptions": "これは無効なDiscordの{0}IDです! 代わりに次のいずれかを使用できます: {1}!",
"discordInvalidToken": "これは無効なDiscordトークンです(構文的に)!",
"colorInvalid": "これは無効なHEXカラーコードです!",
"emojiTooShort": "この文字列には少なくとも{0}個の絵文字が必要です!",
"emojiTooLong": "この文字列には最大{0}個の絵文字しか含められません!",
"emojiCustom": "この絵文字はDiscordのカスタム絵文字にできません!",
"emojiInvalid": "これは無効な絵文字です!",
"urlInvalid": "このURLは無効です!",
"urlInvalidHttp": "This url can only use the https:// protocol!",
"urlInvalidProtocol": "This url can only use the http:// & https:// protocols!",
"urlInvalidHostname": "このURLのホスト名は許可されていません!",
"urlInvalidExtension": "このURLの拡張子が無効です! 次のいずれかを選択してください: {0}!",
"urlInvalidPath": "このURLのパスが無効です!",
"idNotUnique": "このIDは一意ではありません。別のIDを使用してください!",
"idNonExistent": "ID「{0}」は存在しません!",
"invalidType": "このプロパティは{0}型でなければなりません!",
"propertyMissing": "このオブジェクトにはプロパティ「{0}」がありません!",
"propertyOptional": "このオブジェクトではプロパティ「{0}」はオプションです!",
"objectDisabled": "このオブジェクトは無効です。{0}を使用して有効にしてください!",
"nullInvalid": "このプロパティはnullにできません!",
"switchInvalidType": "これは次のいずれかの型でなければなりません: {0}!",
"objectSwitchInvalid": "このオブジェクトは次のいずれかの型でなければなりません: {0}!",
"invalidLanguage": "これは無効な言語です!",
"invalidButton": "このボタンには少なくとも「{0}」または「{1}」が必要です!",
"unusedOption": "オプション「{0}」はどこでも使用されていません!",
"unusedQuestion": "質問「{0}」はどこでも使用されていません!",
"dropdownOption": "ドロップダウンが有効なパネルには「ticket」タイプのオプションのみ含めることができます!"
"stringTooShort":"この文字列は{0}文字より短くできません!",
"stringTooLong":"この文字列は{0}文字より長くできません!",
"stringLengthInvalid":"この文字列は{0}文字でなければなりません!",
"stringStartsWith":"この文字列は「{0}」で始まる必要があります!",
"stringEndsWith":"この文字列は「{0}」で終わる必要があります!",
"stringContains":"この文字列には「{0}」が含まれている必要があります!",
"stringChoices":"この文字列は次のいずれかの値でなければなりません: {0}!",
"stringRegex":"この文字列は無効です!",
"stringInvertedContains":"この文字列には {0} を含めることはできません!",
"stringLowercase":"この文字列はすべて小文字で書かなければなりません!",
"stringUppercase":"この文字列はすべて大文字で書かなければなりません!",
"stringSpecialCharacters":"この文字列には特殊文字を含めることはできません!(a-z、0-9、スペースのみ)",
"stringNoSpaces":"この文字列にはスペースを含めることはできません!",
"stringCapitalWord":"この文字列の各単語は大文字で始めることを推奨します!",
"stringCapitalSentence":"この文字列の一部の文が大文字で始まっていないようです!",
"stringPunctuation":"この文字列の文が句読点で終わっていないようです!",
"numberTooShort":"この数値は{0}桁より短くできません!",
"numberTooLong":"この数値は{0}桁より長くできません!",
"numberLengthInvalid":"この数値は{0}桁でなければなりません!",
"numberTooSmall":"この数値は{0}以上でなければなりません!",
"numberTooLarge":"この数値は{0}以下でなければなりません!",
"numberNotEqual":"この数値は{0}でなければなりません!",
"numberStep":"この数値は{0}の倍数でなければなりません!",
"numberStepOffset":"この数値は{1}から始まる{0}の倍数でなければなりません!",
"numberStartsWith":"この数値は「{0}」で始まる必要があります!",
"numberEndsWith":"この数値は「{0}」で終わる必要があります!",
"numberContains":"この数値には「{0}」が含まれている必要があります!",
"numberChoices":"この数値は次のいずれかの値でなければなりません: {0}!",
"numberFloat":"この数値は小数にできません!",
"numberNegative":"この数値は負の値にできません!",
"numberPositive":"この数値は正の値にできません!",
"numberZero":"この数値はゼロにできません!",
"numberNan":"この数値は NaN(Not A Number)であってはなりません!",
"numberInvertedContains":"この数値には {0} を含めることはできません!",
"booleanTrue":"このブール値はtrueにできません!",
"booleanFalse":"このブール値はfalseにできません!",
"arrayEmptyDisabled":"この配列を空にすることは許可されていません!",
"arrayEmptyRequired":"この配列は空でなければなりません!",
"arrayTooShort":"この配列の長さは少なくとも{0}でなければなりません!",
"arrayTooLong":"この配列の長さは最大{0}でなければなりません!",
"arrayLengthInvalid":"この配列の長さは{0}でなければなりません!",
"arrayInvalidTypes":"この配列に含めることができる型は次のみです: {0}!",
"arrayDouble":"この配列では同じ値を2回使用できません!",
"discordInvalidId":"これは無効なDiscordの{0}IDです!",
"discordInvalidIdOptions":"これは無効なDiscordの{0}IDです! 代わりに次のいずれかを使用できます: {1}!",
"discordInvalidToken":"これは無効なDiscordトークンです(構文的に)!",
"colorInvalid":"これは無効なHEXカラーコードです!",
"emojiTooShort":"この文字列には少なくとも{0}個の絵文字が必要です!",
"emojiTooLong":"この文字列には最大{0}個の絵文字しか含められません!",
"emojiCustom":"この絵文字はDiscordのカスタム絵文字にできません!",
"emojiInvalid":"これは無効な絵文字です!",
"urlInvalid":"このURLは無効です!",
"urlInvalidHttp":"This url can only use the https:// protocol!",
"urlInvalidProtocol":"This url can only use the http:// & https:// protocols!",
"urlInvalidHostname":"このURLのホスト名は許可されていません!",
"urlInvalidExtension":"このURLの拡張子が無効です! 次のいずれかを選択してください: {0}!",
"urlInvalidPath":"このURLのパスが無効です!",
"idNotUnique":"このIDは一意ではありません。別のIDを使用してください!",
"idNonExistent":"ID「{0}」は存在しません!",
"invalidType":"このプロパティは{0}型でなければなりません!",
"propertyMissing":"このオブジェクトにはプロパティ「{0}」がありません!",
"propertyOptional":"このオブジェクトではプロパティ「{0}」はオプションです!",
"objectDisabled":"このオブジェクトは無効です。{0}を使用して有効にしてください!",
"nullInvalid":"このプロパティはnullにできません!",
"switchInvalidType":"これは次のいずれかの型でなければなりません: {0}!",
"objectSwitchInvalid":"このオブジェクトは次のいずれかの型でなければなりません: {0}!",
"invalidLanguage":"これは無効な言語です!",
"invalidButton":"このボタンには少なくとも「{0}」または「{1}」が必要です!",
"unusedOption":"オプション「{0}」はどこでも使用されていません!",
"unusedQuestion":"質問「{0}」はどこでも使用されていません!",
"dropdownOption":"ドロップダウンが有効なパネルには「ticket」タイプのオプションのみ含めることができます!",
"customInvalidVersion":"設定ファイルに指定されたバージョンが一致しません! 設定を最新バージョンに更新してください!"
}
},
"actions":{
@@ -126,6 +143,7 @@
"blacklistAddDm":"ブラックリストに追加されました",
"blacklistRemoveDm":"ブラックリストから解除されました",
"clear":"チケットが一括削除されました",
"clearTickets":"チケットをクリア",
"roles":"ロールが更新されました",
"autoclose":"チケットが自動閉じされました",
@@ -133,7 +151,12 @@
"autocloseDisabled":"自動閉じが無効化されました",
"autodelete":"チケットが自動削除されました",
"autodeleteEnabled":"自動削除が有効化されました",
"autodeleteDisabled":"自動削除が無効化されました"
"autodeleteDisabled":"自動削除が無効化されました",
"topicSet":"トピックが変更されました",
"prioritySet":"優先度が変更されました",
"priorityGet":"チケットの優先度",
"transfer":"チケットが転送されました"
},
"descriptions":{
"create":"チケットが作成されました。下のボタンをクリックしてアクセスしてください!",
@@ -174,7 +197,12 @@
"ticketMessageLimit":"同時に作成できるチケットは{0}件までです!",
"ticketMessageAutoclose":"このチケットは{0}時間非アクティブの場合に自動閉じされます!",
"ticketMessageAutodelete":"このチケットは{0}日間非アクティブの場合に自動削除されます!",
"panelReady":"下にパネルが表示されます!\nこのメッセージは削除可能です!"
"panelReady":"パネルは次のメッセージで利用できます!\nこのメッセージは削除しても構いません!",
"topicSet":"チャンネルのトピックは {0} によって正常に変更されました!",
"prioritySet":"チケットの優先度は {1} により {0} に正常に変更されました!",
"priorityGet":"このチケットの現在の優先度は {0} です。",
"transfer":"チケットの所有権は {2} によって {0} から {1} に正常に転送されました!"
},
"modal":{
"closePlaceholder":"このチケットを閉じた理由は?",
@@ -214,7 +242,14 @@
"blacklistRemoveLog":"{1}によって{0}がブラックリストから解除されました!",
"blacklistAddDm":"あなたはサーバーのブラックリストに追加されました!\n今後チケットを作成できなくなります!",
"blacklistRemoveDm":"あなたはサーバーのブラックリストから解除されました!\n再びチケットを作成できるようになりました!",
"clearLog":"{1}によって{0}件のチケットが削除されました!"
"clearLog":"{1}によって{0}件のチケットが削除されました!",
"transferLog":"このチケットの所有権は {2} によって {0} から {1} に転送されました!",
"transferDm":"あなたのチケットの所有権はサーバー内で {0} から {1} に転送されました!",
"prioritySetLog":"このチケットの優先度は {1} により {0} に変更されました!",
"prioritySetDm":"あなたのチケットの優先度はサーバー内で {0} に変更されました!",
"roleUpdateLog":"{0} がロールを更新しました!",
"roleUpdateDm":"サーバー内のあなたのロールが更新されました!"
}
},
"transcripts":{
@@ -235,7 +270,19 @@
"retry":"再試行",
"continue":"トランスクリプトなしで削除",
"backup":"バックアップトランスクリプトを作成",
"error":"トランスクリプトの作成中にエラーが発生しました。\nどうしますか?\n\nいずれかのボタンをクリックするまでチケットは削除されません。"
"error":"トランスクリプトの作成中にエラーが発生しました。\nどうしますか?\n\nいずれかのボタンをクリックするまでチケットは削除されません。",
"title":"トランスクリプトエラー"
},
"text":{
"messagesTitle":"メッセージ",
"embedTitle":"EMBED",
"fileTitle":"ファイル",
"fieldsTitle":"フィールド",
"reactionsTitle":"リアクション",
"statsTitle":"統計",
"emptyContent":"<内容は空です>",
"noTitle":"<タイトルなし>",
"noDesc":"<説明なし>"
}
},
"errors":{
@@ -251,7 +298,8 @@
"unknownPanel":"不明なパネル",
"notInGuild":"サーバー内にいません",
"channelRename":"チャンネル名を変更できません",
"busy":"チケットは使用中です"
"busy":"チケットは使用中です",
"permissionError":"権限エラー"
},
"descriptions":{
"askForInfo":"詳細はボットの所有者に問い合わせてください!",
@@ -274,7 +322,10 @@
"notInGuild":"この{0}はDMでは動作しません!サーバー内で再試行してください!",
"channelRename":"Discordのレートリミットにより、現在チャンネル名を変更できません。10分以内に自動的に変更されます。",
"channelRenameSource":"エラーの原因:{0}",
"busy":"この{0}は使用できません!\nチケットは現在処理中です。\n\n数秒後にもう一度お試しください!"
"busy":"この{0}は使用できません!\nチケットは現在処理中です。\n\n数秒後にもう一度お試しください!",
"closeBeforeMessage":"ユーザーがメッセージを送信する前に、このチケットを閉じたり削除したりすることはできません。",
"closeBeforeAdminMessage":"チケット管理者またはサポートメンバーがメッセージを送信する前に、このチケットを閉じたり削除したりすることはできません。",
"unableToCreateTicket":"チケットを作成することはできません。"
},
"optionInvalidReasons":{
"stringRegex":"値がパターンに一致しません!",
@@ -325,7 +376,6 @@
"added":"追加済み",
"removed":"削除済み",
"filter":"フィルター",
"claimedBy":"{0}が引き受け",
"method":"方法",
"type":"タイプ",
"blacklisted":"ブラックリスト",
@@ -349,7 +399,27 @@
"status":"ステータス",
"claimed":"引き受け済み",
"pinned":"ピン留め済み",
"creationDate":"作成日時"
"creationDate":"作成日時",
"noone":"該当なし",
"open":"オープン",
"closed":"クローズ",
"priority":"優先度",
"participants":"参加者",
"yes":"はい",
"no":"いいえ",
"option":"オプション",
"topic":"トピック",
"uptime":"システム稼働時間",
"messages":"メッセージ",
"embeds":"埋め込み",
"files":"ファイル",
"components":"コンポーネント",
"cooldown":"クールダウン",
"maxTickets":"最大チケット数",
"admins":"管理者",
"roles":"ロール",
"size":"サイズ"
},
"lowercase":{
"text":"テキスト",
@@ -378,6 +448,7 @@
"unclaim":"チケットの引き受けを解除します。",
"pin":"チケットをピン留めします。",
"unpin":"チケットのピン留めを解除します。",
"move":"チケットを移動します。",
"moveId":"移動先のオプション識別子。",
"rename":"チケット名を変更します。",
@@ -386,6 +457,7 @@
"addUser":"追加するユーザー。",
"remove":"ユーザーをチケットから削除します。",
"removeUser":"削除するユーザー。",
"blacklist":"チケットブラックリストを管理します。",
"blacklistView":"現在のブラックリストを表示します。",
"blacklistAdd":"ユーザーをブラックリストに追加します。",
@@ -399,6 +471,7 @@
"statsUserUser":"表示するユーザー。",
"statsTicket":"サーバー内のチケット統計を表示します。",
"statsTicketTicket":"表示するチケット。",
"clear":"複数のチケットを同時に削除します。",
"clearFilter":"チケットを一括削除するフィルター。",
"clearFilters":{
@@ -411,6 +484,7 @@
"unpin":"ピン留め解除済み",
"autoclose":"自動閉じ済み"
},
"autoclose":"チケットの自動閉じを管理します。",
"autocloseDisable":"このチケットの自動閉じを無効にします。",
"autocloseEnable":"このチケットの自動閉じを有効にします。",
@@ -418,7 +492,19 @@
"autodelete":"チケットの自動削除を管理します。",
"autodeleteDisable":"このチケットの自動削除を無効にします。",
"autodeleteEnable":"このチケットの自動削除を有効にします。",
"autodeleteEnableTime":"チケットを自動削除する非アクティブ時間(日単位)。"
"autodeleteEnableTime":"チケットを自動削除する非アクティブ時間(日単位)。",
"topic":"チケットチャネルのトピックを管理します。",
"topicSet":"チケットチャネルのトピックを設定します。",
"topicValue":"チャンネルの新しいトピック。",
"topicList":"すべてのチケットをトピックと統計付きで一覧表示します。",
"priority":"チケットの優先度を管理します。",
"prioritySet":"チケットの優先度を設定します。",
"priorityValue":"チャンネルの優先度。",
"priorityGet":"チケットの優先度を取得します。",
"priorityList":"すべてのチケットを優先度ステータス付きで一覧表示します。",
"transfer":"チケットの所有権を別のユーザーに転送します。",
"transferUser":"転送先のユーザー。"
},
"helpMenu":{
"help":"利用可能なすべてのコマンドのリストを表示します。",
@@ -446,7 +532,16 @@
"autocloseDisable":"このチケットの自動閉じを無効にします。",
"autocloseEnable":"このチケットの自動閉じを有効にします。",
"autodeleteDisable":"このチケットの自動削除を無効にします。",
"autodeleteEnable":"このチケットの自動削除を有効にします。"
"autodeleteEnable":"このチケットの自動削除を有効にします。",
"categories":{
"general":"一般コマンド",
"basicTicket":"基本チケットコマンド",
"advancedTicket":"高度なチケットコマンド",
"userTicket":"ユーザーチケットコマンド",
"admin":"管理者コマンド",
"advanced":"高度なコマンド",
"extra":"追加コマンド"
}
},
"stats":{
"scopes":{
@@ -454,7 +549,8 @@
"system":"システム統計",
"user":"ユーザー統計",
"ticket":"チケット統計",
"participants":"参加者"
"participants":"参加者",
"messages":"メッセージ"
},
"properties":{
"ticketsCreated":"作成済みチケット",
@@ -466,7 +562,47 @@
"ticketsPinned":"ピン留め済みチケット",
"ticketsMoved":"移動済みチケット",
"usersBlacklisted":"ブラックリストユーザー",
"transcriptsCreated":"作成済みトランスクリプト"
"transcriptsCreated":"作成済みトランスクリプト",
"ticketsAutodeleted":"自動削除されたチケット",
"ticketsTransferred":"転送されたチケット",
"ticketVolume":"チケット量",
"averageTickets":"平均チケット数/ユーザー",
"currentTickets":"現在のチケット",
"age":"チケットの経過時間",
"responseTime":"応答時間",
"resolutionTime":"解決時間",
"createdOn":"作成日",
"createdBy":"作成者",
"closedOn":"クローズ日",
"closedBy":"クローズ者",
"claimedOn":"引き受け日",
"claimedBy":"引き受け者",
"pinnedOn":"ピン留め日",
"pinnedBy":"ピン留め者",
"deletedOn":"削除日",
"deletedBy":"削除者"
},
"roles":{
"developer":"開発者",
"serverOwner":"サーバーオーナー",
"serverAdmin":"サーバー管理者",
"moderator":"モデレーターチーム",
"support":"サポートチーム",
"member":"メンバー"
}
},
"panel":{
"selectTicket":"チケットを選択してください",
"selectRole":"ロールを選択してください",
"selectOption":"オプションを選択してください"
},
"priorities":{
"urgent":"緊急",
"veryHigh":"非常に高い",
"high":"高い",
"normal":"普通",
"low":"低い",
"veryLow":"非常に低い",
"none":"なし"
}
}
+538 -408
View File
File diff suppressed because it is too large Load Diff
+547 -404
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION": {
"otversion": "v4.1.0",
"otversion": "v4.1.1",
"translators": ["NoOneNook"],
"lastedited": "25/03/2025",
"language": "Latvian",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["TsgIndrius"],
"lastedited":"26/01/2025",
"language":"Lithuanian",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION": {
"otversion": "v4.1.0",
"otversion": "v4.1.1",
"translators": ["NoOneNook"],
"lastedited": "25/03/2025",
"language": "Norwegian",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["dysashop","zhavis"],
"lastedited":"28/05/2025",
"language":"Persian",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["DanoGlez"],
"lastedited":"28/01/2025",
"language":"Polish",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["quiradon"],
"lastedited":"20/08/2024",
"language":"Portuguese",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["SankeDev"],
"lastedited":"27/08/2024",
"language":"Romanian",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION": {
"otversion": "v4.1.0",
"otversion": "v4.1.1",
"translators": ["NoOneNook"],
"lastedited": "25/03/2025",
"language": "Russian",
File diff suppressed because it is too large Load Diff
+536 -406
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["Redactado","Josuens"],
"lastedited":"22/08/2024",
"language":"Spanish",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION": {
"otversion": "v4.1.0",
"otversion": "v4.1.1",
"translators": ["NoOneNook"],
"lastedited": "25/03/2025",
"language": "Svenska",
+549 -419
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,8 +1,8 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["modshd"],
"lastedited":"09/11/2025",
"lastedited":"16/11/2025",
"language":"Thai",
"automated":false
},
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION": {
"otversion": "v4.1.0",
"otversion": "v4.1.1",
"translators": ["palestinian"],
"lastedited": "26/11/2024",
"language": "Turkish",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["Anderskiy"],
"lastedited":"31/08/2024",
"language":"Ukrainian",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_TRANSLATION":{
"otversion":"v4.1.0",
"otversion":"v4.1.1",
"translators":["ngocdiep2006"],
"lastedited":"07/04/2025",
"language":"Vietnamese",
+5 -5
View File
@@ -1,7 +1,7 @@
{
"name": "open-ticket",
"author": "DJdj Development",
"version": "4.1.0",
"version": "4.1.1",
"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",
@@ -25,14 +25,14 @@
"type": "commonjs",
"license": "GPL-3.0-only",
"dependencies": {
"@discordjs/rest": "^2.4.2",
"@discordjs/rest": "^2.6.0",
"@types/node": "^22.5.0",
"@types/terminal-kit": "^2.5.7",
"ansis": "^2.3.0",
"discord.js": "^14.22.1",
"ansis": "^4.2.0",
"discord.js": "^14.24.2",
"formatted-json-stringify": "^1.2.1",
"terminal-kit": "^3.1.2",
"typescript": "^5.5.4"
"typescript": "^5.9.3"
},
"repository": {
"type": "git",
+1 -1
View File
@@ -133,7 +133,7 @@ export class ODMain {
constructor(){
this.versions = new ODVersionManager_Default()
this.versions.add(ODVersion.fromString("opendiscord:version","v4.1.0"))
this.versions.add(ODVersion.fromString("opendiscord:version","v4.1.1"))
this.versions.add(ODVersion.fromString("opendiscord:api","v1.0.0"))
this.versions.add(ODVersion.fromString("opendiscord:transcripts","v2.1.0"))
this.versions.add(ODVersion.fromString("opendiscord:livestatus","v2.0.0"))
+4 -4
View File
@@ -560,8 +560,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.1.0"})
else newConfig.headers = {"User-Agent":"OpenDiscordBots-OpenTicket/4.1.0"}
if (newConfig.headers) Object.assign(newConfig.headers,{"User-Agent":"OpenDiscordBots-OpenTicket/4.1.1"})
else newConfig.headers = {"User-Agent":"OpenDiscordBots-OpenTicket/4.1.1"}
this.config = newConfig
}
@@ -615,8 +615,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.1.0"})
else newConfig.headers = {"User-Agent":"OpenDiscordBots-OpenTicket/4.1.0"}
if (newConfig.headers) Object.assign(newConfig.headers,{"User-Agent":"OpenDiscordBots-OpenTicket/4.1.1"})
else newConfig.headers = {"User-Agent":"OpenDiscordBots-OpenTicket/4.1.1"}
this.config = newConfig
}
+1 -1
View File
@@ -147,7 +147,7 @@ export class ODPlugin extends ODManagerData {
if ((this.enabled && !this.crashed) || force){
try{
//import relative plugin directory path (works on windows & unix based systems)
const pluginPath = nodepath.join("../../../../plugins/",this.getStartFile())
const pluginPath = nodepath.join("../../../../plugins/",this.getStartFile()).replaceAll("\\","/")
await import(pluginPath)
debug.console.log("Plugin \""+this.id.value+"\" loaded successfully!","plugin")
this.executed = true
+5 -5
View File
@@ -417,7 +417,7 @@ export class ODCommandResponderInstance {
/**Defer this command. */
async defer(ephemeral:boolean){
if (this.type != "interaction" || !(this.interaction instanceof discord.ChatInputCommandInteraction)) return false
if (this.interaction.deferred) return false
if (this.interaction.deferred || this.interaction.replied) return false
const msgFlags: number[] = ephemeral ? [discord.MessageFlags.Ephemeral] : []
await this.interaction.deferReply({flags:msgFlags})
this.didReply = true
@@ -589,7 +589,7 @@ export class ODButtonResponderInstance {
}
/**Defer this button. */
async defer(type:"reply"|"update", ephemeral:boolean){
if (this.interaction.deferred) return false
if (this.interaction.deferred || this.interaction.replied) return false
if (type == "reply"){
const msgFlags: number[] = ephemeral ? [discord.MessageFlags.Ephemeral] : []
await this.interaction.deferReply({flags:msgFlags})
@@ -877,7 +877,7 @@ export class ODDropdownResponderInstance {
}
/**Defer this dropdown. */
async defer(type:"reply"|"update", ephemeral:boolean){
if (this.interaction.deferred) return false
if (this.interaction.deferred || this.interaction.replied) return false
if (type == "reply"){
const msgFlags: number[] = ephemeral ? [discord.MessageFlags.Ephemeral] : []
await this.interaction.deferReply({flags:msgFlags})
@@ -1096,7 +1096,7 @@ export class ODModalResponderInstance {
}
/**Defer this modal. */
async defer(type:"reply"|"update", ephemeral:boolean){
if (this.interaction.deferred) return false
if (this.interaction.deferred || this.interaction.replied) return false
if (type == "reply"){
const msgFlags: number[] = ephemeral ? [discord.MessageFlags.Ephemeral] : []
await this.interaction.deferReply({flags:msgFlags})
@@ -1251,7 +1251,7 @@ export class ODContextMenuResponderInstance {
}
/**Defer this context menu. */
async defer(type:"reply", ephemeral:boolean){
if (this.interaction.deferred) return false
if (this.interaction.deferred || this.interaction.replied) return false
if (type == "reply"){
const msgFlags: number[] = ephemeral ? [discord.MessageFlags.Ephemeral] : []
await this.interaction.deferReply({flags:msgFlags})
+6 -1
View File
@@ -575,6 +575,11 @@ async function renderQuickSetupTicketCount(backFn:() => api.ODPromiseVoid){
"3️⃣ 3 Ticket Options",
"4️⃣ 4 Ticket Options",
"5️⃣ 5 Ticket Options",
"6️⃣ 6 Ticket Options",
"7️⃣ 7 Ticket Options",
"8️⃣ 8 Ticket Options",
"9️⃣ 9 Ticket Options",
"🔟 10 Ticket Options",
],{
leftPadding:"> ",
style:terminal.cyan,
@@ -1208,7 +1213,7 @@ async function saveQuickSetupConfig(){
_INFO:{
support:"https://otdocs.dj-dj.be",
discord:"https://discord.dj-dj.be",
version:"open-ticket-v4.0.6"
version:"open-ticket-"+opendiscord.versions.get("opendiscord:version").toString()
},
token:quickSetupStorage.client?.token ?? "<unknown-token>",
+2
View File
@@ -47,8 +47,10 @@ opendiscord.debug.debug("Using Node.js "+process.version+"!")
try{
const packageJson = JSON.parse(fs.readFileSync("./package.json").toString())
opendiscord.debug.debug("Using discord.js "+packageJson.dependencies["discord.js"]+"!")
opendiscord.debug.debug("Using @discordjs/rest "+packageJson.dependencies["@discordjs/rest"]+"!")
opendiscord.debug.debug("Using ansis "+packageJson.dependencies["ansis"]+"!")
opendiscord.debug.debug("Using formatted-json-stringify "+packageJson.dependencies["formatted-json-stringify"]+"!")
opendiscord.debug.debug("Using terminal-kit "+packageJson.dependencies["terminal-kit"]+"!")
opendiscord.debug.debug("Using typescript "+packageJson.dependencies["typescript"]+"!")
}catch{
opendiscord.debug.debug("Failed to fetch module versions!")
+5 -1
View File
@@ -134,5 +134,9 @@ export const migrations = [
ticketDatabase.set("opendiscord:ticket",ticket.key,ticketData)
}
})
}),
//MIGRATE TO v4.1.1
new utilities.ODVersionMigration(api.ODVersion.fromString("opendiscord:version","v4.1.1"),async () => {},async () => {}),
]
+1 -1
View File
@@ -20,7 +20,7 @@
INFORMATION:
============
Open Ticket v4.1.0 - © DJdj Development
Open Ticket v4.1.1 - © DJdj Development
support us: https://github.com/sponsors/DJj123dj
discord: https://discord.dj-dj.be
+25 -5
View File
@@ -1,13 +1,33 @@
[
{
"message":{
"title":"Open Ticket v4.0",
"title":"Update Required",
"titleColor":"red",
"description":"Open Ticket v4.0 has officially been released! Please give our project a star to help us grow!",
"description":"This version of Open Ticket will soon be deprecated, please update to v4.1 or higher!",
"descriptionColor":"normal"
},
"active":{
"versions":["4.0.0","4.0.1","4.0.2","4.0.3","4.0.4"],
"versions":["4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5"],
"languages":[],
"allLanguages":true,
"usingPlugins":true,
"notUsingPlugins":true,
"usingSlashCommands":true,
"notUsingSlashCommands":true,
"notUsingTranscripts":true,
"usingTextTranscripts":true,
"usingHtmlTranscripts":true
}
},
{
"message":{
"title":"Open Ticket v4.1",
"titleColor":"green",
"description":"Open Ticket v4.1 has officially been released! Go check it out!",
"descriptionColor":"normal"
},
"active":{
"versions":["4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6","4.0.7"],
"languages":[],
"allLanguages":true,
"usingPlugins":true,
@@ -27,7 +47,7 @@
"descriptionColor":"normal"
},
"active":{
"versions":["4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6","4.0.7","4.0.8","4.0.9","4.1.0"],
"versions":["4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6","4.0.7","4.1.0","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5"],
"languages":[],
"allLanguages":true,
"usingPlugins":true,
@@ -47,7 +67,7 @@
"descriptionColor":"normal"
},
"active":{
"versions":["4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6","4.0.7","4.0.8","4.0.9","4.1.0"],
"versions":["4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5","4.0.6","4.0.7","4.1.0","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5"],
"languages":[],
"allLanguages":true,
"usingPlugins":true,