Compare commits

..
2 Commits
Author SHA1 Message Date
Jasper 466a4aea81 Open Ticket v3.5.2
Open Ticket v3.5.2
2024-01-10 17:12:37 +01:00
DJj123dj 9d96d11cd3 v3.5.2 2024-01-10 17:11:46 +01:00
38 changed files with 191 additions and 122 deletions
+4 -4
View File
@@ -10,11 +10,11 @@ We only support Open Ticket versions listed below! With support, we mean bugs, e
| Version | Supported |
|-----------|-------------------|
| 3.5.2 | ✅ |
| 3.5.1 | ✅ |
| 3.5.0 | ✅ |
| 3.4.4 | ✅ |
| 3.4.3 | 🟧 |
| 3.4.2 | 🟧 |
| < 3.4.2 | ❌ |
| 3.4.4 | 🟧 |
| < 3.4.4 | ❌ |
## Reporting a Vulnerability
+4 -3
View File
@@ -5,7 +5,7 @@ There will be massive improvements for more stability & features! But the best p
<img src="https://apis.dj-dj.be/cdn/openticket/logo.png" alt="Open Ticket" width="600px">
[![discord](https://img.shields.io/badge/discord-join%20our%20server-5865F2.svg?style=flat-square&logo=discord)](https://discord.com/invite/26vT9wt3n3) [![version](https://img.shields.io/badge/version-3.5.0-brightgreen.svg?style=flat-square)](https://github.com/DJj123dj/open-ticket/releases/tag/v3.5.0) [![discord.js](https://img.shields.io/badge/discord.js-v14-CB3837.svg?style=flat-square&logo=npm)]() [![license](https://img.shields.io/badge/license-GPL%203.0-important.svg?style=flat-square)](https://github.com/DJj123dj/open-ticket/blob/main/LICENSE) [![stars](https://img.shields.io/github/stars/djj123dj/open-ticket?color=yellow&label=stars&logo=github&style=flat-square)](https://docs.openticket.dj-dj.be)
[![discord](https://img.shields.io/badge/discord-join%20our%20server-5865F2.svg?style=flat-square&logo=discord)](https://discord.com/invite/26vT9wt3n3) [![version](https://img.shields.io/badge/version-3.5.2-brightgreen.svg?style=flat-square)](https://github.com/DJj123dj/open-ticket/releases/tag/v3.5.2) [![discord.js](https://img.shields.io/badge/discord.js-v14-CB3837.svg?style=flat-square&logo=npm)]() [![license](https://img.shields.io/badge/license-GPL%203.0-important.svg?style=flat-square)](https://github.com/DJj123dj/open-ticket/blob/main/LICENSE) [![stars](https://img.shields.io/github/stars/djj123dj/open-ticket?color=yellow&label=stars&logo=github&style=flat-square)](https://docs.openticket.dj-dj.be)
### Open Ticket
Open Ticket is the most customisable discord ticket bot that you will ever find! There are more than 150 options to customise in the config! This includes html transcripts, unlimited amount of tickets, custom embeds & more! Did you know that even the html transcripts are highly customisable? Don't wait and check it out! If you're having trouble setting the bot up, feel free to join our support server and we will help you further!
@@ -58,7 +58,7 @@ Take a look at all the features and discover the possibilities!
|-------------------|--------------------------|--------------------------------|
|English |djj123dj |🟢 Up To Date |
|Dutch |djj123dj |🟢 Up To Date |
|French |sankedev |🟢 Up To Date |
|French |sankedev & tostam |🟢 Up To Date |
|Romanian |sankedev |🟢 Up To Date |
|Spanish |redactado & josuens |🟢 Up To Date |
|German |david.3 |🟢 Up To Date |
@@ -75,9 +75,10 @@ Take a look at all the features and discover the possibilities!
|Thai |modshd |🟢 Up To Date |
|Norwegian |noonenook |🟢 Up To Date |
|Greek |stefanos__. |🔴 Outdated |
|Indonesian |erxg |🟢 Up To Date |
## links
current version: _v3.5.0_
current version: _v3.5.2_
</br>changelog: [click here](https://otgithub.dj-dj.be/releases)
</br>documentation: [click here](https://docs.openticket.dj-dj.be/quick-start)
+1 -1
View File
@@ -49,7 +49,7 @@ module.exports = () => {
if (!interaction.guild) return
const hiddendata = bot.hiddenData.readHiddenData(interaction.channel.id)
if (hiddendata.length < 1) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
if (hiddendata.length < 1) return interaction.reply({embeds:[bot.errorLog.notInATicket]})
const ticketId = hiddendata.find(d => d.key == "type").value
if (!permsChecker.ticket(interaction.user.id,interaction.guild.id,ticketId)){
+1 -1
View File
@@ -79,7 +79,7 @@ module.exports = () => {
if (!interaction.guild) return
const hiddendata = bot.hiddenData.readHiddenData(interaction.channel.id)
if (hiddendata.length < 1) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
if (hiddendata.length < 1) return interaction.reply({embeds:[bot.errorLog.notInATicket]})
const ticketId = hiddendata.find(d => d.key == "type").value
if (!permsChecker.ticket(interaction.user.id,interaction.guild.id,ticketId)){
+1 -1
View File
@@ -67,7 +67,7 @@ module.exports = () => {
if (!interaction.guild) return
const hiddendata = bot.hiddenData.readHiddenData(interaction.channel.id)
if (hiddendata.length < 1) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
if (hiddendata.length < 1) return interaction.reply({embeds:[bot.errorLog.notInATicket]})
const ticketId = hiddendata.find(d => d.key == "type").value
if (!permsChecker.ticket(interaction.user.id,interaction.guild.id,ticketId)){
+5 -3
View File
@@ -57,13 +57,15 @@ module.exports = () => {
const reason = interaction.options.getString("reason") ? interaction.options.getString("reason") : false
await interaction.deferReply()
const hiddendata = bot.hiddenData.readHiddenData(interaction.channel.id)
if (hiddendata.length < 1) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
if (hiddendata.length < 1) return interaction.reply({embeds:[bot.errorLog.notInATicket]})
const ticketId = hiddendata.find(d => d.key == "type").value
if (hiddendata.find(h => h.key == "pendingdelete")) return interaction.editReply({embeds:[bot.errorLog.warning("Warning!","You can't close a ticket while it's being deleted!")]})
if (hiddendata.find(h => h.key == "pendingdelete")) return interaction.reply({embeds:[bot.errorLog.warning("Warning!","You can't close a ticket while it's being deleted!")]})
await interaction.deferReply()
const descriptionReason = reason ? "**"+l.messages.reason+":** "+reason : false
interaction.editReply({embeds:[bot.embeds.commands.closeEmbed(interaction.user,descriptionReason)],components:[bot.buttons.close.closeCommandRow]})
+1 -1
View File
@@ -51,7 +51,7 @@ module.exports = () => {
if (!interaction.guild) return
const hiddendata = bot.hiddenData.readHiddenData(interaction.channel.id)
if (hiddendata.length < 1) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
if (hiddendata.length < 1) return interaction.reply({embeds:[bot.errorLog.notInATicket]})
const ticketId = hiddendata.find(d => d.key == "type").value
if (!permsChecker.ticket(interaction.user.id,interaction.guild.id,ticketId)){
+1 -1
View File
@@ -49,7 +49,7 @@ module.exports = () => {
if (!interaction.guild) return
const hiddendata = bot.hiddenData.readHiddenData(interaction.channel.id)
if (hiddendata.length < 1) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
if (hiddendata.length < 1) return interaction.reply({embeds:[bot.errorLog.notInATicket]})
const ticketId = hiddendata.find(d => d.key == "type").value
if (!permsChecker.ticket(interaction.user.id,interaction.guild.id,ticketId)){
+1 -1
View File
@@ -55,7 +55,7 @@ module.exports = () => {
if (!interaction.guild) return
const hiddendata = bot.hiddenData.readHiddenData(interaction.channel.id)
if (hiddendata.length < 1) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
if (hiddendata.length < 1) return interaction.reply({embeds:[bot.errorLog.notInATicket]})
const ticketId = hiddendata.find(d => d.key == "type").value
if (!permsChecker.ticket(interaction.user.id,interaction.guild.id,ticketId)){
+4 -4
View File
@@ -33,13 +33,13 @@ module.exports = () => {
if (!interaction.isChatInputCommand()) return
if (interaction.commandName != "reopen") return
await interaction.deferReply()
const hiddendata = bot.hiddenData.readHiddenData(interaction.channel.id)
if (hiddendata.length < 1) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
if (hiddendata.length < 1) return interaction.reply({embeds:[bot.errorLog.notInATicket]})
const ticketId = hiddendata.find(d => d.key == "type").value
if (hiddendata.find(h => h.key == "pendingdelete")) return interaction.editReply({embeds:[bot.errorLog.warning("Warning!","You can't re-open a ticket while it's being deleted!")]})
if (hiddendata.find(h => h.key == "pendingdelete")) return interaction.reply({embeds:[bot.errorLog.warning("Warning!","You can't re-open a ticket while it's being deleted!")]})
await interaction.deferReply()
await interaction.editReply({embeds:[bot.embeds.commands.reopenEmbed(interaction.user)],components:[bot.buttons.close.openRowNormal]})
+1 -1
View File
@@ -74,7 +74,7 @@ module.exports = () => {
if (!interaction.guild) return
const hiddendata = bot.hiddenData.readHiddenData(interaction.channel.id)
if (hiddendata.length < 1) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
if (hiddendata.length < 1) return interaction.reply({embeds:[bot.errorLog.notInATicket]})
const ticketId = hiddendata.find(d => d.key == "type").value
if (!permsChecker.ticket(interaction.user.id,interaction.guild.id,ticketId)){
+2 -2
View File
@@ -53,7 +53,7 @@
},
"image":{
"enable":false,
"url":"https://www.dj-dj.be/wp-content/uploads/2022/09/pfp-cropped.png"
"url":"https://www.example.com/catmemes/cat.png"
},
"closedCategory":{
@@ -111,7 +111,7 @@
"dropdown":false,
"enableFooter":false,
"footer":"Open Ticket v3.5.0 - I'm a footer!",
"footer":"Open Ticket v3.5.2 - I'm a footer!",
"enableFooterImage":false,
"footerImage":"https://www.example.com/catmemes/cat.png",
+18
View File
@@ -113,6 +113,12 @@ module.exports = async (messages,guild,channel,user,reason) => {
if (!tc) return
tc.send({embeds:[errembed],files:[attachment]})
}
if (tsconfig.sendTranscripts.enableDM && user){
const embed = tsembeds.tsready(chName,chId,null,user)
try {
ticketopener.send({embeds:[embed],files:[attachment]})
}catch{}
}
return
}
@@ -167,6 +173,12 @@ module.exports = async (messages,guild,channel,user,reason) => {
if (!tc) return
tc.send({embeds:[errembed],files:[attachment]})
}
if (tsconfig.sendTranscripts.enableDM && user){
const embed = tsembeds.tsready(chName,chId,null,user)
try {
ticketopener.send({embeds:[embed],files:[attachment]})
}catch{}
}
}
}else{
const attachment = await require("./oldTranscript").createTranscript(messages,channel)
@@ -179,6 +191,12 @@ module.exports = async (messages,guild,channel,user,reason) => {
if (!tc) return
tc.send({embeds:[embed],files:[attachment]})
}
if (tsconfig.sendTranscripts.enableDM && user){
const embed = tsembeds.tsready(chName,chId,null,user)
try {
ticketopener.send({embeds:[embed],files:[attachment]})
}catch{}
}
}
}
asyncmanager()
+1 -1
View File
@@ -189,7 +189,7 @@ exports.liveStatusUploadManager = async (err) => {
//system:config.system
},
language:config.languageFile,
version:"3.5.0",
version:"3.5.2",
slashcmds:slashMode,
transcripts:transcriptMode,
plugins:fs.readdirSync("./plugins"),
+52 -4
View File
@@ -25,7 +25,7 @@
INFORMATION:
============
Open Ticket v3.5.0 - © DJdj Development
Open Ticket v3.5.2 - © DJdj Development
discord: https://discord.dj-dj.be
website: https://www.dj-dj.be
@@ -54,7 +54,7 @@ const client = new discord.Client({
partials:[Partials.Channel,Partials.Message]
})
exports.client = client
client.setMaxListeners(50)
client.setMaxListeners(100)
if (process.argv.some((v) => v == "--debug")) console.log("[TEMP_DEBUG]","created client")
//LOAD CONFIG
@@ -396,7 +396,55 @@ this.actionRecorder.push({
type:"debugsystem.success"
})
//PARSE .env FILE FROM DOTENV LIB
//npm i dotenv
//https://github.com/motdotla/dotenv
/**@param {Buffer} src */
const loadFromDotEnv = (src) => {
const LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg
const obj = {}
// Convert buffer to string
let lines = src.toString()
// Convert line breaks to same format
lines = lines.replace(/\r\n?/mg, '\n')
let match
while ((match = LINE.exec(lines)) != null) {
const key = match[1]
// Default undefined or null to empty string
let value = (match[2] || '')
// Remove whitespace
value = value.trim()
// Check if double quoted
const maybeQuote = value[0]
// Remove surrounding quotes
value = value.replace(/^(['"`])([\s\S]*)\1$/mg, '$2')
// Expand newlines if double quoted
if (maybeQuote === '"') {
value = value.replace(/\\n/g, '\n')
value = value.replace(/\\r/g, '\r')
}
// Add to object
obj[key] = value
}
process.env.TOKEN = obj.TOKEN
}
//LOGIN SYSTEM
const token = config.token.fromENV ? process.env.TOKEN : config.token.value
client.login(token)
if (config.token.fromENV){
loadFromDotEnv(fs.readFileSync(".env"))
client.login(process.env.TOKEN)
}else{
client.login(config.token.value)
}
this.errorLog.log("debug","login with token")
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"ChilledBroke#9986 & M4#5882",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors": {
"missingArgsTitle": "قيمة غير صالحة!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"DJdj Development",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Invalid Arguments!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"spyeye_",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Neplatný Argument!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"the_gamer#5095",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors": {
"missingArgsTitle": "Ugyldigt Argument!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"DJj123dj#1706",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Onjuiste parameters!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"DJdj Development",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Invalid Arguments!",
+72 -72
View File
@@ -1,114 +1,114 @@
{
"_CREDITS":"Sanke#6086",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_CREDITS":"tostam",
"_INFO":"Ce fichier est une traduction pour OpenTicket 3.5.0",
"errors":{
"missingArgsTitle":"Arguments invalides!",
"missingArgsDescription":"Argument manquant",
"noPermsTitle":"Pas de permissions!",
"noPermsDescription":"Vous avez besoin de la permission `ADMINISTRATOR` ou être dans la liste des rôles autorisés!",
"noPermsDelete":"Seuls les administrateurs peuvent supprimer un ticket!",
"chooseFromListTitle":"Invalid ID",
"missingArgsTitle":"Arguments invalides !",
"missingArgsDescription":"Argument manquant !",
"noPermsTitle":"Tu n'as pas les permissions requises !",
"noPermsDescription":"Vous avez besoin de la permission `ADMINISTRATOR` ou être dans la liste des rôles autorisés !",
"noPermsDelete":"Seuls les staffs peuvent supprimer un ticket !",
"chooseFromListTitle":"ID invalide !",
"chooseFromListDescription":"Choisissez l'un des identifiants ci-dessous:",
"boterror":"Bot Error!",
"notInTicketTitle":"Vous n'êtes pas dans un ticket!",
"notInTicketDescription":"Cette commande ne fonctionne pas en dehors des tickets!",
"ticketDoesntExist":"Ce ticket n'existe plus!",
"roleDoesntExist":"Ce rôle n'existe plus!",
"anotherOption":"Cette option n'est pas un ticket mais un autre type!",
"maxAmountTitle":"Montant maximum atteint!",
"maxAmountDescription":"Vous avez atteint le nombre maximum de tickets autorisés!\nVous ne pouvez donc pas en créer un nouveau!",
"somethingWentWrong":"**Quelque chose s'est mal passé!**\nVeuillez réessayer une autre fois!"
"boterror":"Erreur du bot !",
"notInTicketTitle":"Vous n'êtes pas dans un ticket !",
"notInTicketDescription":"Cette commande ne fonctionne pas en dehors des tickets !",
"ticketDoesntExist":"Ce ticket n'existe pas !",
"roleDoesntExist":"Ce rôle n'existe pas !",
"anotherOption":"Cette option n'est pas un ticket mais un autre type !",
"maxAmountTitle":"Montant maximum de ticket atteint !",
"maxAmountDescription":"Vous avez atteint le nombre maximum de tickets autorisés !\nVous ne pouvez donc pas en créer un nouveau !",
"somethingWentWrong":"**Quelque chose s'est mal passé !**\nVeuillez réessayer une autre fois !"
},
"commands":{
"userAddedTitle":"{0} a été ajouté à ce ticket!",
"userRemovedTitle":"Supprimé {0} de ce ticket!",
"renameTitle":"Changement du nom en {0}!",
"closeTitle":"Fermé ce ticket!",
"userAddedTitle":"{0} a été ajouté à ce ticket !",
"userRemovedTitle":"{0} a été supprimé de ce ticket !",
"renameTitle":"Changement de nom du ticket en {0} !",
"closeTitle":"Ticket fermé",
"deleteTitle":"Suppression de ce ticket...",
"reopenTitle":"A rouvert ce ticket!",
"reopenTitle":"Ticket réouvert",
"claimTitle":"Ce ticket est maintenant réclamé à {0}",
"unclaimTitle":"Ce ticket n'est pas réclamé!",
"changeTitle":"Modification du type de ticket en {0}!",
"claimTitle":"Ce ticket est maintenant réclamé par {0}",
"unclaimTitle":"Ce ticket n'est plus réclamé !",
"changeTitle":"Modification du type de ticket en {0} !",
"statsTitle":"Voici les statistiques pour {0}!",
"autocloseTitle":"Ce ticket sera automatiquement clôturé après {0}!",
"autocloseRejectTitle":"Ce ticket ne sera plus clôturé automatiquement!",
"autocloseWarn":"Cela n'affecte que les tickets inactifs!",
"statsTitle":"Voici les statistiques pour {0} !",
"autocloseTitle":"Ce ticket sera automatiquement clôturé après {0} !",
"autocloseRejectTitle":"Ce ticket ne sera plus clôturé automatiquement !",
"autocloseWarn":"Cela n'affecte que les tickets inactifs !",
"goToTicket":"Aller au ticket",
"ticketWarning":"L'intégration est dans le message ci-dessous!",
"maxTicketWarning":"**Attention :** _Vous ne pouvez créer que {0} ticket(s) à la fois !_"
"ticketWarning":"L'intégration est dans le message ci-dessous !",
"maxTicketWarning":"**Attention :** _Vous ne pouvez créer seulement {0} ticket(s) à la fois !_"
},
"helpMenu":{
"title":"Commandes disponibles :",
"header1":"**Allez à {0} pour créer un ticket !**\n\n",
"title":"Commandes disponibles :",
"header1":"**Allez à {0} pour créer un ticket !**\n\n",
"header2":"**Exécutez la commande `/new` ou `/ticket` pour créer un ticket !**\n\n",
"msgCmd":"Faire apparaître une intégration avec des boutons. (administrateurs uniquement)",
"renameCmd":"Renommer un ticket. (sans espaces)",
"closeCmd":"Fermer un ticket.",
"deleteCmd":"Supprimer un billet.",
"addCmd":"Ajouter un utilisateur au ticket.",
"removeCmd":"Supprimer un utilisateur du ticket.",
"reopenCmd":"Rouvrir un ticket après sa clôture.",
"changeCmd":"Changer le type de ticket.",
"claimCmd":"Réclamer un billet",
"unclaimCmd":"Annuler la réclamation d'un ticket.",
"statsCmd":"Afficher les statistiques des tickets.",
"msgCmd":"Faire apparaître une intégration avec des boutons (administrateurs uniquement)",
"renameCmd":"Renommer un ticket (sans espaces)",
"closeCmd":"Fermer un ticket",
"deleteCmd":"Supprimer un ticket",
"addCmd":"Ajouter un utilisateur au ticket",
"removeCmd":"Supprimer un utilisateur du ticket",
"reopenCmd":"Réouvrir un ticket après sa clôture",
"changeCmd":"Changer le type de ticket",
"claimCmd":"Réclamer un ticket",
"unclaimCmd":"Annuler la réclamation d'un ticket",
"statsCmd":"Afficher les statistiques des tickets",
"autocloseCmd":"Définir une minuterie pour fermer automatiquement le ticket"
},
"buttons":{
"close":"Fermer le ticket",
"delete":"Supprimer le billet",
"reopen":"Billet de réouverture",
"closeWithReason":"fermer avec une raison"
"delete":"Supprimer le ticket",
"reopen":"Réouvrir le ticket",
"closeWithReason":"Fermer avec une raison"
},
"messages":{
"closedDescription":"Seuls les administrateurs peuvent parler dans ce ticket maintenant !\n\n*Cliquez sur le bouton ci-dessous pour supprimer ou rouvrir ce ticket !*",
"createdTitle":"Ticket créé !",
"closedDescription":"Seuls les administrateurs peuvent parler dans ce ticket maintenant !\n\n*Cliquez sur le bouton ci-dessous pour supprimer ou réouvrir ce ticket !*",
"createdTitle":"Ticket créé !",
"createdDescription":"Votre ticket est créé, vous pouvez le détecter par un ping !",
"newTicketDmTitle":"Nouveau billet!",
"closedTicketDmTitle":"Billet fermé!",
"deletedTicketDmTitle":"Billet supprimé !",
"closedTicketDmDescription":"Votre billet est fermé !",
"deletedTicketDmDescription":"Votre billet est supprimé !",
"reopenTicketDmTitle":"Billet rouvert!",
"reopenTicketDmDescription":"Votre billet est rouvert !",
"newTicketDmTitle":"Nouveau ticket !",
"closedTicketDmTitle":"Ticket fermé !",
"deletedTicketDmTitle":"Ticket supprimé !",
"closedTicketDmDescription":"Votre ticket est fermé !",
"deletedTicketDmDescription":"Votre ticket est supprimé !",
"reopenTicketDmTitle":"Ticket réouvert !",
"reopenTicketDmDescription":"Votre ticket est réouvert !",
"chooseCategory":"choisissez une catégorie:",
"chooseCategory":"Choisissez une catégorie:",
"gettingdeleted":"Le ticket est en cours de suppression...",
"none":"rien",
"reason":"raison",
"none":"Rien",
"reason":"Raison",
"createdat":"Créé à",
"openedby":"Ouvert par",
"deletedby":"supprimé par",
"closedby":"fermé par",
"deletedby":"Supprimé par",
"closedby":"Fermé par",
"modalreason":"Qu’elle est la raison pour fermer ce ticket?",
"modalreason":"Qu'elle est la raison pour fermer ce ticket ?",
"chooseATicket": "Choisir un ticket"
},
"transcripts":{
"title":"Transcript",
"processed":"Cette transcript est en cours de traitement",
"wait":"S'il vous plait, attendez...",
"estimated":"Temps estime:",
"estimated":"Temps estimé:",
"available":"La transcript est disponible ici"
},
"stats":{
"globalTitle":"Statistiques mondiales",
"globalTitle":"Statistiques du serveur",
"ticketTitle":"Statistiques des tickets pour {0}",
"userTitle":"Statistiques utilisateur pour {0}",
"userTitle":"Statistiques des utilisateurs pour {0}",
"systemTitle":"Statistiques du système",
"versionTitle":"Version du bot",
"ticketsCreated":"Tickets créés",
"ticketsClosed":"Tickets fermés",
"ticketsDeleted":"Tickets supprimés",
"ticketsReopened":"Tickets rouverts",
"ticketsReopened":"Tickets réouverts",
"ticketsAutoclosed":"Tickets fermés automatiquement",
"transcriptsCreated":"Transcriptions créées",
"startupDate":"Date de démarrage du bot",
@@ -122,14 +122,14 @@
"switches":{
"globalAdmin":"Administrateur global",
"ticketAdmin":"Administrateur des Tickets",
"ticketAdmin":"Administrateur des tickets",
"member":"Membre",
"open":"Ouvrir",
"reopened":"Rouvert",
"closed":"Fermée",
"autoclosed":"fermeture automatique"
"reopened":"Réouvert",
"closed":"Fermé",
"autoclosed":"Fermé automatiquement"
},
"errorUserNotFound":"Cet utilisateur est introuvable dans la base de données de statistiques!"
"errorUserNotFound":"Cet utilisateur est introuvable dans la base de données de statistiques !"
}
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"david.#8276 ",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Ungültiges Argument!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"ꙅoᴎɒᎸɘƚꙅ#3744",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Invalid Arguments!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Snowy",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Hibás paraméterek!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"erxg",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Argumen tidak valid!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Maurizio#0268",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Argomenti non validi!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"NoOneNook#0266",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Ugyldige argumenter!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"MKevas#8311",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Nieprawidłowe argumenty!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"QuirAddon#9778",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Argumentos inválidos!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Sanke#6086",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Argumente Invalide",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Apexo#0723",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Неверные аргументы!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"n1kkec#5341",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Napačen argument!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Redactado#1673 & josuens14#5267",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"¡Argumentos inválidos!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Mods HD#0661",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"อาร์กิวเมนต์ไม่ถูกต้อง!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Hydrâelčhâvø#1575",
"_INFO":"This file is a translation for open ticket 3.5.0",
"_INFO":"This file is a translation for open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Geçersiz argümanlar!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Anderskiy#4093",
"_INFO":"Цей файл є перекладом для open ticket 3.5.0",
"_INFO":"Цей файл є перекладом для open ticket 3.5.2",
"errors":{
"missingArgsTitle":"Невірні аргументи!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "open-ticket",
"version": "3.5.0",
"version": "3.5.2",
"description": "This is an open-source discord ticket bot, you can configure it and it comes with cool features like a transcript.",
"main": "index.js",
"scripts": {