diff --git a/.github/SECURITY.md b/.github/SECURITY.md
index 03ec5d0..0052cb9 100644
--- a/.github/SECURITY.md
+++ b/.github/SECURITY.md
@@ -8,12 +8,12 @@ Support for Open Ticket is only available for the versions specified below!
🟧 Partially Supported
❌ Not Supported
-| Version | Supported |
-| ------- | ------------------ |
-| 3.4.0 | :white_check_mark: |
-| 3.3.0 | 🟧 |
-| 3.2.2 | 🟧 |
-| < 3.2.2 | :x: |
+| Version | Supported |
+|-----------|-------------------|
+| 3.4.1 | ✅ |
+| 3.4.0 | ✅ |
+| 3.3.3 | 🟧 |
+| < 3.3.3 | ❌ |
## Reporting a Vulnerability
diff --git a/README.md b/README.md
index dd28156..6a9b299 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,9 @@
-[](https://discord.com/invite/26vT9wt3n3) [](https://github.com/DJj123dj/open-ticket/releases/tag/v3.4.0) []() [](https://github.com/DJj123dj/open-ticket/blob/main/LICENSE) [](https://docs.openticket.dj-dj.be)
+[](https://discord.com/invite/26vT9wt3n3) [](https://github.com/DJj123dj/open-ticket/releases/tag/v3.4.1) []() [](https://github.com/DJj123dj/open-ticket/blob/main/LICENSE) [](https://docs.openticket.dj-dj.be)
### Open Ticket
-Open Ticket is of the most customisable discord ticket bots of all time!
-You have more than +100 options to customise in the config! This includes html transcripts, unlimited tickets, custom embeds & more!
-We also have a great support service, we can solve every question you have about open ticket! We even provide free 24/7 hosting if you want!
+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!
Take a look at all the features and discover the possibilities!
### [Documentation](https://docs.openticket.dj-dj.be/quick-start)
@@ -13,7 +11,7 @@ Take a look at all the features and discover the possibilities!
## Features
- **🎉 NEW! html transcripts V2!**
- 🔒 close, ❌ delete & ✅ re-open tickets
-- 🇬🇧 translation in 18 different languages
+- 🇬🇧 translation in 19 different languages
- 📄 very advanced customisation
- 🆗 buttons or 🔽 dropdowns!
- 🆒 plugins
@@ -39,33 +37,34 @@ You can already see some images at our [documentation!](https://docs.openticket.
## credits
DJdj Development Team
-|Main Developer|Developer|Support Team|Designer|
-|--------------|---------|-----------|---------|
-|DJj123dj |Sanke |DJ-Lite |vuur_draak|
+|Main Developer|Developer |Support Team|Designer|
+|--------------|------------|-----------|---------|
+|djj123dj |sankedev |DJ-Lite |vuur_draak|
Translators
|Language |Translator |
|--------------|-------------------------|
-|Dutch |DJj123dj#1706 |
-|Romanian |Sanke#6086 |
-|French |Sanke#6086 |
-|Spanish |Redactado#1673 & josuens14#5267|
-|German |david.#8276 |
-|Italian |Maurizio#0268 |
+|Dutch |djj123dj |
+|Romanian |sankedev |
+|French |sankedev |
+|Spanish |redactado & josuens |
+|German |david.3 |
+|Italian |maurizio26 |
|Czech |t0miiis#3022 |
-|Arabic |ChilledBroke#9986 & M4#5882|
-|Danish |the_gamer#5095 |
-|Portuguese |QuirAddon#9778 |
-|Russian |Apexo#0723 |
-|Turkish |Hydrâelčhâvø#1575 |
-|Polish |MKevas#8311 |
-|Slovenian |n1kkec#5341 |
-|Thai |Mods HD#0661 |
-|Norwegian |NoOneNook#0266 |
-|Greek |ꙅoᴎɒᎸɘƚꙅ#3744 |
+|Arabic |Sarcastic#9318 |
+|Danish |.the_gamer |
+|Portuguese |quiradon |
+|Russian |apexo |
+|Turkish |Hydra#0009 |
+|Polish |mkevas |
+|Slovenian |n1kkec |
+|Thai |modshd |
+|Norwegian |noonenook |
+|Greek |stefanos#5739 |
+|Ukrainian |anderskiy |
## links
-current version: _v3.4.0_
+current version: _v3.4.1_
changelog: [click here](https://docs.openticket.dj-dj.be/other/changelog)
documentation: [click here](https://docs.openticket.dj-dj.be/quick-start)
diff --git a/commands/add.js b/commands/add.js
index f69e223..643ccb3 100644
--- a/commands/add.js
+++ b/commands/add.js
@@ -31,8 +31,8 @@ module.exports = () => {
msg.channel.send({embeds:[bot.embeds.commands.addEmbed(user,msg.author)]})
var loguser = msg.mentions.users.first()
- log("command","someone used the 'add' command",[{key:"user",value:msg.author.tag}])
- log("system","user added to ticket",[{key:"user",value:msg.author.tag},{key:"ticket",value:msg.channel.name},{key:"added_user",value:loguser.tag}])
+ log("command","someone used the 'add' command",[{key:"user",value:msg.author.username}])
+ log("system","user added to ticket",[{key:"user",value:msg.author.username},{key:"ticket",value:msg.channel.name},{key:"added_user",value:loguser.username}])
const ticketData = require("../core/utils/configParser").getTicketById(ticketId,true)
APIEvents.onTicketAdd(msg.author,loguser,msg.channel,msg.guild,new Date(),{status:"open",name:msg.channel.name,ticketOptions:ticketData})
@@ -61,8 +61,8 @@ module.exports = () => {
interaction.editReply({embeds:[bot.embeds.commands.addEmbed(user,interaction.user)]})
var loguser = user
- log("command","someone used the 'add' command",[{key:"user",value:interaction.user.tag}])
- log("system","user added to ticket",[{key:"user",value:interaction.user.tag},{key:"ticket",value:interaction.channel.name},{key:"added_user",value:loguser.tag}])
+ log("command","someone used the 'add' command",[{key:"user",value:interaction.user.username}])
+ log("system","user added to ticket",[{key:"user",value:interaction.user.username},{key:"ticket",value:interaction.channel.name},{key:"added_user",value:loguser.username}])
const ticketData = require("../core/utils/configParser").getTicketById(ticketId,true)
APIEvents.onTicketAdd(interaction.user,loguser,interaction.channel,interaction.guild,new Date(),{status:"open",name:interaction.channel.name,ticketOptions:ticketData})
diff --git a/commands/change.js b/commands/change.js
index a4619e8..e85f586 100644
--- a/commands/change.js
+++ b/commands/change.js
@@ -48,8 +48,8 @@ module.exports = () => {
msg.channel.setName(newTicket.channelprefix+name)
msg.channel.send({embeds:[bot.embeds.commands.changeEmbed(msg.author,newtype)]})
- log("command","someone used the 'change' command",[{key:"user",value:msg.author.tag}])
- log("system","ticket type changed",[{key:"user",value:msg.author.tag},{key:"ticket",value:name},{key:"newtype",value:newtype}])
+ log("command","someone used the 'change' command",[{key:"user",value:msg.author.username}])
+ log("system","ticket type changed",[{key:"user",value:msg.author.username},{key:"ticket",value:name},{key:"newtype",value:newtype}])
APIEvents.onCommand("change",permsChecker.command(msg.author.id,msg.guild.id),msg.author,msg.channel,msg.guild,new Date())
})
@@ -111,8 +111,8 @@ module.exports = () => {
interaction.editReply({embeds:[bot.embeds.commands.changeEmbed(interaction.user,newtype)]})
- log("command","someone used the 'change' command",[{key:"user",value:interaction.user.tag}])
- log("system","ticket type changed",[{key:"user",value:interaction.user.tag},{key:"ticket",value:name},{key:"newtype",value:newtype}])
+ log("command","someone used the 'change' command",[{key:"user",value:interaction.user.username}])
+ log("system","ticket type changed",[{key:"user",value:interaction.user.username},{key:"ticket",value:name},{key:"newtype",value:newtype}])
APIEvents.onCommand("change",permsChecker.command(interaction.user.id,interaction.guild.id),interaction.user,interaction.channel,interaction.guild,new Date())
})
}
\ No newline at end of file
diff --git a/commands/claim.js b/commands/claim.js
index f7984f8..21c35dd 100644
--- a/commands/claim.js
+++ b/commands/claim.js
@@ -35,7 +35,7 @@ module.exports = () => {
storage.set("claimData",msg.channel.id,claimingUser.id)
const newEmbed = new embed(firstmsg.embeds[0].data)
- .setFooter({text:"claimed by: "+msg.author.tag,iconURL:msg.author.displayAvatarURL()})
+ .setFooter({text:"claimed by: "+msg.author.username,iconURL:msg.author.displayAvatarURL()})
if (firstmsg.components[0].components[1] && firstmsg.components[0].components[1].disabled){
firstmsg.edit({components:[bot.buttons.firstmsg.firstmsgRowDisabledNoClaim],embeds:[newEmbed]})
@@ -45,8 +45,8 @@ module.exports = () => {
msg.channel.send({embeds:[bot.embeds.commands.claimEmbed(claimingUser,msg.author)]})
- log("command","someone used the 'claim' command",[{key:"user",value:msg.author.tag}])
- log("system","user claimed to ticket",[{key:"user",value:msg.author.tag},{key:"ticket",value:msg.channel.name},{key:"claimed_user",value:claimingUser.tag}])
+ log("command","someone used the 'claim' command",[{key:"user",value:msg.author.username}])
+ log("system","user claimed to ticket",[{key:"user",value:msg.author.username},{key:"ticket",value:msg.channel.name},{key:"claimed_user",value:claimingUser.username}])
const ticketData = require("../core/utils/configParser").getTicketById(ticketId,true)
APIEvents.onTicketClaim(msg.author,loguser,msg.channel,msg.guild,new Date(),{status:"open",name:msg.channel.name,ticketOptions:ticketData})
@@ -79,7 +79,7 @@ module.exports = () => {
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return msg.channel.send({embeds:[bot.errorLog.notInATicket]})
const newEmbed = new embed(firstmsg.embeds[0].data)
- .setFooter({text:"claimed by: "+user.tag,iconURL:user.displayAvatarURL()})
+ .setFooter({text:"claimed by: "+user.username,iconURL:user.displayAvatarURL()})
if (firstmsg.components[0].components[1] && firstmsg.components[0].components[1].disabled){
firstmsg.edit({components:[bot.buttons.firstmsg.firstmsgRowDisabledNoClaim],embeds:[newEmbed]})
@@ -90,8 +90,8 @@ module.exports = () => {
interaction.editReply({embeds:[bot.embeds.commands.claimEmbed(user,interaction.user)]})
- log("command","someone used the 'claim' command",[{key:"user",value:interaction.user.tag}])
- log("system","user claimed to ticket",[{key:"user",value:interaction.user.tag},{key:"ticket",value:interaction.channel.name},{key:"claimed_user",value:user.tag}])
+ log("command","someone used the 'claim' command",[{key:"user",value:interaction.user.username}])
+ log("system","user claimed to ticket",[{key:"user",value:interaction.user.username},{key:"ticket",value:interaction.channel.name},{key:"claimed_user",value:user.username}])
const ticketData = require("../core/utils/configParser").getTicketById(ticketId,true)
APIEvents.onTicketClaim(interaction.user,user,interaction.channel,interaction.guild,new Date(),{status:"open",name:interaction.channel.name,ticketOptions:ticketData})
diff --git a/commands/close.js b/commands/close.js
index 5c13fe3..d4a5750 100644
--- a/commands/close.js
+++ b/commands/close.js
@@ -44,7 +44,7 @@ module.exports = () => {
require("../core/ticketActions/ticketCloser").closeManager(msg.member,msg.channel,prefix,"close",reason,true)
- log("command","someone used the 'close' command",[{key:"user",value:msg.author.tag}])
+ log("command","someone used the 'close' command",[{key:"user",value:msg.author.username}])
APIEvents.onCommand("close",true,msg.author,msg.channel,msg.guild,new Date())
})
@@ -79,7 +79,7 @@ module.exports = () => {
require("../core/ticketActions/ticketCloser").closeManager(interaction.member,interaction.channel,prefix,"close",false,true)
- log("command","someone used the 'close' command",[{key:"user",value:interaction.user.tag}])
+ log("command","someone used the 'close' command",[{key:"user",value:interaction.user.username}])
APIEvents.onCommand("close",true,interaction.user,interaction.channel,interaction.guild,new Date())
})
}
\ No newline at end of file
diff --git a/commands/delete.js b/commands/delete.js
index 00dbe8b..6606317 100644
--- a/commands/delete.js
+++ b/commands/delete.js
@@ -38,7 +38,7 @@ module.exports = () => {
require("../core/ticketActions/ticketCloser").closeManager(msg.member,msg.channel,prefix,"delete",false,true)
- log("command","someone used the 'delete' command",[{key:"user",value:msg.author.tag}])
+ log("command","someone used the 'delete' command",[{key:"user",value:msg.author.username}])
APIEvents.onCommand("delete",permsChecker.command(msg.author.id,msg.guild.id),msg.author,msg.channel,msg.guild,new Date())
})
@@ -72,7 +72,7 @@ module.exports = () => {
require("../core/ticketActions/ticketCloser").closeManager(interaction.member,interaction.channel,prefix,"delete",false,true)
- log("command","someone used the 'delete' command",[{key:"user",value:interaction.user.tag}])
+ log("command","someone used the 'delete' command",[{key:"user",value:interaction.user.username}])
APIEvents.onCommand("delete",permsChecker.command(interaction.user.id,interaction.guild.id),interaction.user,interaction.channel,interaction.guild,new Date())
})
}
\ No newline at end of file
diff --git a/commands/help.js b/commands/help.js
index cf31a32..e0ac3b8 100644
--- a/commands/help.js
+++ b/commands/help.js
@@ -32,7 +32,7 @@ module.exports = () => {
if (msg.content == config.prefix || msg.content == config.prefix+" " || msg.content == otherprefix){
msg.channel.send({embeds:[helpEmbed]})
- log("command","someone used the 'help' command",[{key:"user",value:msg.author.tag}])
+ log("command","someone used the 'help' command",[{key:"user",value:msg.author.username}])
APIEvents.onCommand("help",true,msg.author,msg.channel,msg.guild,new Date())
return
}
@@ -40,7 +40,7 @@ module.exports = () => {
if (args[1]){
if (!args[1].startsWith("close") && !args[1].startsWith("delete") && !args[1].startsWith("remove") && !args[1].startsWith("add") && !args[1].startsWith("msg") && !args[1].startsWith("remove") && !args[1].startsWith("rename") && !args[1].startsWith("reopen")){
msg.channel.send({embeds:[helpEmbed]})
- log("command","someone used the 'help' command",[{key:"user",value:msg.author.tag}])
+ log("command","someone used the 'help' command",[{key:"user",value:msg.author.username}])
APIEvents.onCommand("help",true,msg.author,msg.channel,msg.guild,new Date())
}
}
@@ -51,7 +51,7 @@ module.exports = () => {
if (interaction.commandName != "help") return
interaction.reply({embeds:[helpEmbed]})
- log("command","someone used the 'help' command",[{key:"user",value:interaction.user.tag}])
+ log("command","someone used the 'help' command",[{key:"user",value:interaction.user.username}])
APIEvents.onCommand("help",true,interaction.user,interaction.channel,interaction.guild,new Date())
})
}
\ No newline at end of file
diff --git a/commands/remove.js b/commands/remove.js
index 7fc6ef2..357ea25 100644
--- a/commands/remove.js
+++ b/commands/remove.js
@@ -32,8 +32,8 @@ module.exports = () => {
var loguser = msg.mentions.users.first()
- log("command","someone used the 'remove' command",[{key:"user",value:msg.author.tag}])
- log("system","user removed from ticket",[{key:"user",value:msg.author.tag},{key:"ticket",value:msg.channel.name},{key:"removed_user",value:loguser.tag}])
+ log("command","someone used the 'remove' command",[{key:"user",value:msg.author.username}])
+ log("system","user removed from ticket",[{key:"user",value:msg.author.username},{key:"ticket",value:msg.channel.name},{key:"removed_user",value:loguser.username}])
const ticketData = require("../core/utils/configParser").getTicketById(ticketId,true)
APIEvents.onTicketRemove(msg.author,loguser,msg.channel,msg.guild,new Date(),{status:"open",name:msg.channel.name,ticketOptions:ticketData})
@@ -62,8 +62,8 @@ module.exports = () => {
var loguser = user
- log("command","someone used the 'remove' command",[{key:"user",value:interaction.user.tag}])
- log("system","user removed from ticket",[{key:"user",value:interaction.user.tag},{key:"ticket",value:interaction.channel.name},{key:"removed_user",value:loguser.tag}])
+ log("command","someone used the 'remove' command",[{key:"user",value:interaction.user.username}])
+ log("system","user removed from ticket",[{key:"user",value:interaction.user.username},{key:"ticket",value:interaction.channel.name},{key:"removed_user",value:loguser.username}])
const ticketData = require("../core/utils/configParser").getTicketById(ticketId,true)
APIEvents.onTicketRemove(interaction.user,loguser,interaction.channel,interaction.guild,new Date(),{status:"open",name:interaction.channel.name,ticketOptions:ticketData})
diff --git a/commands/rename.js b/commands/rename.js
index db14eb8..516644b 100644
--- a/commands/rename.js
+++ b/commands/rename.js
@@ -39,12 +39,11 @@ module.exports = () => {
})
if (!prefix) prefix = "noprefix-"
-
msg.channel.setName(prefix+newname)
msg.channel.send({embeds:[bot.embeds.commands.renameEmbed(msg.author,prefix+newname)]})
- log("command","someone used the 'rename' command",[{key:"user",value:msg.author.tag}])
- log("system","ticket renamed",[{key:"user",value:msg.author.tag},{key:"ticket",value:name},{key:"newname",value:newname}])
+ log("command","someone used the 'rename' command",[{key:"user",value:msg.author.username}])
+ log("system","ticket renamed",[{key:"user",value:msg.author.username},{key:"ticket",value:name},{key:"newname",value:newname}])
APIEvents.onCommand("rename",permsChecker.command(msg.author.id,msg.guild.id),msg.author,msg.channel,msg.guild,new Date())
})
@@ -79,8 +78,8 @@ module.exports = () => {
interaction.channel.setName(prefix+newname)
interaction.editReply({embeds:[bot.embeds.commands.renameEmbed(interaction.user,prefix+newname)]})
- log("command","someone used the 'rename' command",[{key:"user",value:interaction.user.tag}])
- log("system","ticket renamed",[{key:"user",value:interaction.user.tag},{key:"ticket",value:name},{key:"newname",value:newname}])
+ log("command","someone used the 'rename' command",[{key:"user",value:interaction.user.username}])
+ log("system","ticket renamed",[{key:"user",value:interaction.user.username},{key:"ticket",value:name},{key:"newname",value:newname}])
APIEvents.onCommand("rename",permsChecker.command(interaction.user.id,interaction.guild.id),interaction.user,interaction.channel,interaction.guild,new Date())
})
diff --git a/commands/reopen.js b/commands/reopen.js
index ce63a1e..29b50f7 100644
--- a/commands/reopen.js
+++ b/commands/reopen.js
@@ -25,7 +25,7 @@ module.exports = () => {
require("../core/ticketActions/ticketReopener").reopenTicket(msg.guild,msg.channel,msg.author)
- log("command","someone used the 'reopen' command",[{key:"user",value:msg.author.tag}])
+ log("command","someone used the 'reopen' command",[{key:"user",value:msg.author.username}])
APIEvents.onCommand("reopen",true,msg.author,msg.channel,msg.guild,new Date())
})
@@ -45,7 +45,7 @@ module.exports = () => {
require("../core/ticketActions/ticketReopener").reopenTicket(interaction.guild,interaction.channel,interaction.user)
- log("command","someone used the 'reopen' command",[{key:"user",value:interaction.user.tag}])
+ log("command","someone used the 'reopen' command",[{key:"user",value:interaction.user.username}])
APIEvents.onCommand("reopen",true,interaction.user,interaction.channel,interaction.guild,new Date())
})
}
diff --git a/commands/ticket.js b/commands/ticket.js
index dc9b57b..2809c4c 100644
--- a/commands/ticket.js
+++ b/commands/ticket.js
@@ -38,7 +38,7 @@ module.exports = () => {
msg.channel.send({embeds:[embed],components:componentRows})
- log("command","someone used the 'message' command",[{key:"user",value:msg.author.tag},{key:"id",value:id}])
+ log("command","someone used the 'message' command",[{key:"user",value:msg.author.username},{key:"id",value:id}])
APIEvents.onCommand("message",permsChecker.command(msg.author.id,msg.guild.id),msg.author,msg.channel,msg.guild,new Date())
}
})
@@ -62,7 +62,7 @@ module.exports = () => {
interaction.reply({content:l.commands.ticketWarning})
interaction.channel.send({embeds:[embed],components:componentRows})
- log("command","someone used the 'message' command",[{key:"user",value:interaction.user.tag},{key:"id",value:id}])
+ log("command","someone used the 'message' command",[{key:"user",value:interaction.user.username},{key:"id",value:id}])
APIEvents.onCommand("message",permsChecker.command(interaction.user.id,interaction.guild.id),interaction.user,interaction.channel,interaction.guild,new Date())
diff --git a/commands/unclaim.js b/commands/unclaim.js
index f591b35..c254238 100644
--- a/commands/unclaim.js
+++ b/commands/unclaim.js
@@ -57,8 +57,8 @@ module.exports = () => {
msg.channel.send({embeds:[bot.embeds.commands.unclaimEmbed(msg.author)]})
- log("command","someone used the 'unclaim' command",[{key:"user",value:msg.author.tag}])
- log("system","user unclaimed from ticket",[{key:"user",value:msg.author.tag},{key:"ticket",value:msg.channel.name},{key:"unclaimed_user",value:unclaimuser}])
+ log("command","someone used the 'unclaim' command",[{key:"user",value:msg.author.username}])
+ log("system","user unclaimed from ticket",[{key:"user",value:msg.author.username},{key:"ticket",value:msg.channel.name},{key:"unclaimed_user",value:unclaimuser}])
APIEvents.onTicketUnclaim(msg.author,msg.channel,msg.guild,new Date(),{status:"open",name:msg.channel.name,ticketOptions:ticketData})
@@ -113,8 +113,8 @@ module.exports = () => {
interaction.editReply({embeds:[bot.embeds.commands.unclaimEmbed(interaction.user)]})
- log("command","someone used the 'unclaim' command",[{key:"user",value:interaction.user.tag}])
- log("system","user unclaimed from ticket",[{key:"user",value:interaction.user.tag},{key:"ticket",value:interaction.channel.name},{key:"unclaimed_user",value:unclaimuser}])
+ log("command","someone used the 'unclaim' command",[{key:"user",value:interaction.user.username}])
+ log("system","user unclaimed from ticket",[{key:"user",value:interaction.user.username},{key:"ticket",value:interaction.channel.name},{key:"unclaimed_user",value:unclaimuser}])
APIEvents.onTicketUnclaim(interaction.user,interaction.channel,interaction.guild,new Date(),{status:"open",name:interaction.channel.name,ticketOptions:ticketData})
APIEvents.onCommand("unclaim",permsChecker.command(interaction.user.id,interaction.guild.id),interaction.user,interaction.channel,interaction.guild,new Date())
diff --git a/config.json b/config.json
index 9b69ccb..9bd9b82 100644
--- a/config.json
+++ b/config.json
@@ -111,7 +111,7 @@
"dropdown":false,
"enableFooter":false,
- "footer":"Open Ticket v3.4.0 - I'm a footer!",
+ "footer":"Open Ticket v3.4.1 - I'm a footer!",
"enableFooterImage":false,
"footerImage":"https://www.example.com/catmemes/cat.png",
diff --git a/core/checker.js b/core/checker.js
index e44198c..cffeb44 100644
--- a/core/checker.js
+++ b/core/checker.js
@@ -179,7 +179,7 @@ exports.checker = async () => {
checkType(option.description,"string",path+"/description")
//icon
- const emojiRegex = /(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/gi;
+ const emojiRegex = /(?:\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])|(?:)/gi
if (option.icon.length > 0){
const isEmoji = emojiRegex.test(option.icon)
@@ -427,7 +427,7 @@ exports.checker = async () => {
checkType(config.languageFile,"string","languagefile")
const lf = config.languageFile
- if (!lf.startsWith("custom") && !lf.startsWith("english") && !lf.startsWith("dutch") && !lf.startsWith("romanian") && !lf.startsWith("german") && !lf.startsWith("arabic") && !lf.startsWith("spanish") && !lf.startsWith("portuguese") && !lf.startsWith("french") && !lf.startsWith("italian") && !lf.startsWith("czech") && !lf.startsWith("danish") && !lf.startsWith("russian") && !lf.startsWith("turkish") && !lf.startsWith("polish") && !lf.startsWith("slovenian") && !lf.startsWith("thai") && !lf.startsWith("norwegian") && !lf.startsWith("greek")){
+ if (!lf.startsWith("custom") && !lf.startsWith("english") && !lf.startsWith("dutch") && !lf.startsWith("romanian") && !lf.startsWith("german") && !lf.startsWith("arabic") && !lf.startsWith("spanish") && !lf.startsWith("portuguese") && !lf.startsWith("french") && !lf.startsWith("italian") && !lf.startsWith("czech") && !lf.startsWith("danish") && !lf.startsWith("russian") && !lf.startsWith("turkish") && !lf.startsWith("polish") && !lf.startsWith("slovenian") && !lf.startsWith("thai") && !lf.startsWith("norwegian") && !lf.startsWith("greek") && !lf.startsWith("ukrainian")){
createError("'languagefile' | invalid language, more info in the wiki")
}
diff --git a/core/errorLogSystem.js b/core/errorLogSystem.js
index d224156..f36b159 100644
--- a/core/errorLogSystem.js
+++ b/core/errorLogSystem.js
@@ -16,7 +16,7 @@ exports.noPermsMessage = (user) => {
.setColor(c.Red)
.setTitle(":x: "+l.errors.noPermsTitle)
.setDescription(l.errors.noPermsDescription)
- .setFooter({iconURL:user.displayAvatarURL(),text:user.tag})
+ .setFooter({iconURL:user.displayAvatarURL(),text:user.username})
}
/**@param {discord.User} user*/
@@ -25,7 +25,7 @@ exports.noPermsDelete = (user) => {
.setColor(c.Red)
.setTitle(":x: "+l.errors.noPermsTitle)
.setDescription(l.errors.noPermsDelete)
- .setFooter({iconURL:user.displayAvatarURL(),text:user.tag})
+ .setFooter({iconURL:user.displayAvatarURL(),text:user.username})
}
/**@param {String} message */
diff --git a/core/interactionHandlers/embeds/commands.js b/core/interactionHandlers/embeds/commands.js
index 9b8c5ec..01985b8 100644
--- a/core/interactionHandlers/embeds/commands.js
+++ b/core/interactionHandlers/embeds/commands.js
@@ -19,7 +19,7 @@ exports.addEmbed = (addedUser,adder) => {
return new embed()
.setTitle("⬆️ "+l.commands.userAddedTitle.replace("{0}",addedUser.username))
.setColor(mc)
- .setFooter({text:adder.tag,iconURL:adder.displayAvatarURL()})
+ .setFooter({text:adder.username,iconURL:adder.displayAvatarURL()})
.setThumbnail(addedUser.displayAvatarURL({extension:"png"}))
}
@@ -33,7 +33,7 @@ exports.removeEmbed = (removedUser,remover) => {
return new embed()
.setTitle("⬇️ "+l.commands.userRemovedTitle.replace("{0}",removedUser.username))
.setColor(mc)
- .setFooter({text:remover.tag,iconURL:remover.displayAvatarURL()})
+ .setFooter({text:remover.username,iconURL:remover.displayAvatarURL()})
.setThumbnail(removedUser.displayAvatarURL({extension:"png"}))
}
@@ -47,7 +47,7 @@ exports.closeEmbed = (closer,description) => {
const embd = new embed()
.setTitle("🔒 "+l.commands.closeTitle)
.setColor(mc)
- .setFooter({text:closer.tag,iconURL:closer.displayAvatarURL()})
+ .setFooter({text:closer.username,iconURL:closer.displayAvatarURL()})
if (description) embd.setDescription(description)
return embd
@@ -63,7 +63,7 @@ exports.autocloseSignalEmbed = (closer,time) => {
const embd = new embed()
.setTitle("⏰ This ticket got closed by Autoclose!")
.setColor(mc)
- .setFooter({text:closer.tag,iconURL:closer.displayAvatarURL()})
+ .setFooter({text:closer.username,iconURL:closer.displayAvatarURL()})
.setDescription("This ticket has been inactive for `"+time+"h`!")
return embd
}
@@ -77,7 +77,7 @@ exports.deleteEmbed = (deleter) => {
return new embed()
.setTitle("❌ "+l.commands.deleteTitle)
.setColor(mc)
- .setFooter({text:deleter.tag,iconURL:deleter.displayAvatarURL()})
+ .setFooter({text:deleter.username,iconURL:deleter.displayAvatarURL()})
}
/**
@@ -90,7 +90,7 @@ exports.renameEmbed = (renamer,newname) => {
return new embed()
.setTitle("🔄 "+l.commands.renameTitle.replace("{0}",newname))
.setColor(mc)
- .setFooter({text:renamer.tag,iconURL:renamer.displayAvatarURL()})
+ .setFooter({text:renamer.username,iconURL:renamer.displayAvatarURL()})
}
/**
@@ -102,7 +102,7 @@ exports.renameEmbed = (renamer,newname) => {
return new embed()
.setTitle("🔓 "+l.commands.reopenTitle)
.setColor(mc)
- .setFooter({text:reopener.tag,iconURL:reopener.displayAvatarURL()})
+ .setFooter({text:reopener.username,iconURL:reopener.displayAvatarURL()})
}
/**
@@ -115,7 +115,7 @@ exports.renameEmbed = (renamer,newname) => {
return new embed()
.setTitle("📌 "+l.commands.claimTitle.replace("{0}",claimer.username))
.setColor(mc)
- .setFooter({text:user.tag,iconURL:user.displayAvatarURL()})
+ .setFooter({text:user.username,iconURL:user.displayAvatarURL()})
}
/**
@@ -127,7 +127,7 @@ exports.renameEmbed = (renamer,newname) => {
return new embed()
.setTitle("🆓 "+l.commands.unclaimTitle)
.setColor(mc)
- .setFooter({text:unclaimer.tag,iconURL:unclaimer.displayAvatarURL()})
+ .setFooter({text:unclaimer.username,iconURL:unclaimer.displayAvatarURL()})
}
/**
@@ -140,5 +140,5 @@ exports.changeEmbed = (changer,newtype) => {
return new embed()
.setTitle("🔄 "+l.commands.changeTitle.replace("{0}",newtype))
.setColor(mc)
- .setFooter({text:changer.tag,iconURL:changer.displayAvatarURL()})
+ .setFooter({text:changer.username,iconURL:changer.displayAvatarURL()})
}
\ No newline at end of file
diff --git a/core/interactionHandlers/handlers/accepted/claiming.js b/core/interactionHandlers/handlers/accepted/claiming.js
index 0f9bcb1..e8fe982 100644
--- a/core/interactionHandlers/handlers/accepted/claiming.js
+++ b/core/interactionHandlers/handlers/accepted/claiming.js
@@ -45,7 +45,7 @@ module.exports = () => {
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
const newEmbed = new embed(firstmsg.embeds[0].data)
- .setFooter({text:"claimed by: "+interaction.user.tag,iconURL:interaction.user.displayAvatarURL()})
+ .setFooter({text:"claimed by: "+interaction.user.username,iconURL:interaction.user.displayAvatarURL()})
if (firstmsg.components[0].components[1] && firstmsg.components[0].components[1].disabled){
firstmsg.edit({components:[bot.buttons.firstmsg.firstmsgRowDisabledNoClaim],embeds:[newEmbed]})
diff --git a/core/reactionRoles.js b/core/reactionRoles.js
index c901154..56864bf 100644
--- a/core/reactionRoles.js
+++ b/core/reactionRoles.js
@@ -53,7 +53,7 @@ module.exports = async () => {
option.roles.forEach((role) => {
interaction.guild.members.cache.find(u => u.id == user.id).roles.add(role)
- log("system","added role (reaction roles)",[{key:"user",value:interaction.user.tag},{key:"role",value:role}])
+ log("system","added role (reaction roles)",[{key:"user",value:interaction.user.username},{key:"role",value:role}])
const apirole = interaction.guild.roles.cache.find(r => r.id == role)
APIEvents.onReactionRole("add","add",apirole,interaction.user,interaction.channel,interaction.guild,new Date())
})
@@ -68,7 +68,7 @@ module.exports = async () => {
option.roles.forEach((role) => {
interaction.guild.members.cache.find(u => u.id == user.id).roles.remove(role)
- log("system","removed role (reaction roles)",[{key:"user",value:interaction.user.tag},{key:"role",value:role}])
+ log("system","removed role (reaction roles)",[{key:"user",value:interaction.user.username},{key:"role",value:role}])
const apirole = interaction.guild.roles.cache.find(r => r.id == role)
APIEvents.onReactionRole("remove","remove",apirole,interaction.user,interaction.channel,interaction.guild,new Date())
})
@@ -84,13 +84,13 @@ module.exports = async () => {
if (!interaction.guild.members.cache.find(u => u.id == user.id).roles.cache.has(role)){
interaction.guild.members.cache.find(u => u.id == user.id).roles.add(role)
- log("system","added role (reaction roles)",[{key:"user",value:interaction.user.tag},{key:"role",value:role}])
+ log("system","added role (reaction roles)",[{key:"user",value:interaction.user.username},{key:"role",value:role}])
const apirole = interaction.guild.roles.cache.find(r => r.id == role)
APIEvents.onReactionRole("add","add&remove",apirole,interaction.user,interaction.channel,interaction.guild,new Date())
}else {
interaction.guild.members.cache.find(u => u.id == user.id).roles.remove(role)
- log("system","removed role (reaction roles)",[{key:"user",value:interaction.user.tag},{key:"role",value:role}])
+ log("system","removed role (reaction roles)",[{key:"user",value:interaction.user.username},{key:"role",value:role}])
const apirole = interaction.guild.roles.cache.find(r => r.id == role)
APIEvents.onReactionRole("remove","add&remove",apirole,interaction.user,interaction.channel,interaction.guild,new Date())
}
diff --git a/core/slashSystem/slashEnable.js b/core/slashSystem/slashEnable.js
index 85ab3c4..20e6f7d 100644
--- a/core/slashSystem/slashEnable.js
+++ b/core/slashSystem/slashEnable.js
@@ -33,7 +33,7 @@ module.exports = async (invisible) => {
//process.stdout.write("[status] there are "+chalk.blue("0 out of 10")+" commands ready! (this can take up to 40 seconds)")
if (!invisible){
setInterval(() => {
- process.stdout.cursorTo(0)
+ if (process.stdout && process.stdout.cursorTo) process.stdout.cursorTo(0)
process.stdout.write("[status] there are "+chalk.blue(readystats+" out of 13")+" commands ready! (this can take up to 40 seconds)")
if (readystats >= 13){
console.log(chalk.green("\nready!"))
diff --git a/core/ticketActions/ticketCloser.js b/core/ticketActions/ticketCloser.js
index de4cbc0..8780c7b 100755
--- a/core/ticketActions/ticketCloser.js
+++ b/core/ticketActions/ticketCloser.js
@@ -63,7 +63,7 @@ exports.closeManager = async (member,channel,prefix,mode,reason,nomessage) => {
if (!nomessage){
await channel.send({content:"**"+l.messages.gettingdeleted+"**"})
}
- log("system","deleted a ticket",[{key:"user",value:user.tag},{key:"ticket",value:channel.name}])
+ log("system","deleted a ticket",[{key:"user",value:user.username},{key:"ticket",value:channel.name}])
pendingDelete.push(channel.id)
if (!isDatabaseError) storage.set("amountOfUserTickets",getuserID,Number(storage.get("amountOfUserTickets",getuserID)) - 1)
@@ -179,7 +179,7 @@ exports.closeManager = async (member,channel,prefix,mode,reason,nomessage) => {
channel.send({embeds:[embed],components:[bot.buttons.close.closeCommandRow]})
}
- log("system","closed a ticket",[{key:"user",value:user.tag},{key:"ticket",value:channel.name}])
+ log("system","closed a ticket",[{key:"user",value:user.username},{key:"ticket",value:channel.name}])
//send api event
diff --git a/core/ticketActions/ticketOpener.js b/core/ticketActions/ticketOpener.js
index 0d38bef..4be69e6 100755
--- a/core/ticketActions/ticketOpener.js
+++ b/core/ticketActions/ticketOpener.js
@@ -54,7 +54,9 @@ module.exports = () => {
await interaction.deferReply({ephemeral:config.system.answerInEphemeralOnOpen})
} catch{}
}else if (interaction.isChatInputCommand()){
- await interaction.deferReply({ephemeral:config.system.answerInEphemeralOnOpen})
+ try {
+ await interaction.deferReply({ephemeral:config.system.answerInEphemeralOnOpen})
+ } catch{}
}else if (interaction.isStringSelectMenu()){
try {
await interaction.deferUpdate()
@@ -209,7 +211,7 @@ module.exports = () => {
firstmsg.pin()
})
- log("system","created new ticket",[{key:"ticket",value:ticketName},{key:"user",value:interaction.user.tag}])
+ log("system","created new ticket",[{key:"ticket",value:ticketName},{key:"user",value:interaction.user.username}])
require("../api/modules/events").onTicketOpen(interaction.user,ticketChannel,interaction.guild,new Date(),{name:ticketName,status:"open",ticketOptions:currentTicketOptions})
const channelbutton = new discord.ActionRowBuilder()
@@ -227,7 +229,13 @@ module.exports = () => {
}
catch{log("system","failed to send DM")}
- if ((interaction.isButton() && config.system.answerInEphemeralOnOpen) || interaction.isChatInputCommand()) interaction.editReply({embeds:[bot.errorLog.success(l.messages.createdTitle,l.messages.createdDescription)],components:[channelbutton]})
+ if ((interaction.isButton() && config.system.answerInEphemeralOnOpen) || interaction.isChatInputCommand()){
+ if (interaction.deferred){
+ interaction.editReply({embeds:[bot.errorLog.success(l.messages.createdTitle,l.messages.createdDescription)],components:[channelbutton]})
+ }else{
+ interaction.reply({embeds:[bot.errorLog.success(l.messages.createdTitle,l.messages.createdDescription)],components:[channelbutton]})
+ }
+ }
})
}else{
diff --git a/core/ticketActions/ticketReopener.js b/core/ticketActions/ticketReopener.js
index ee552f2..4e809fa 100755
--- a/core/ticketActions/ticketReopener.js
+++ b/core/ticketActions/ticketReopener.js
@@ -15,7 +15,7 @@ const pfb = discord.PermissionFlagsBits
* @returns
*/
const reopenTicket = (guild,channel,user) => {
- log("system","re-opened a ticket",[{key:"ticket",value:channel.name},{key:"user",value:user.tag}])
+ log("system","re-opened a ticket",[{key:"ticket",value:channel.name},{key:"user",value:user.username}])
var permissionsArray = []
diff --git a/core/transcriptSystem/communication/compileJsonV1.js b/core/transcriptSystem/communication/compileJsonV1.js
index d2be2cd..5d27012 100644
--- a/core/transcriptSystem/communication/compileJsonV1.js
+++ b/core/transcriptSystem/communication/compileJsonV1.js
@@ -71,7 +71,7 @@ exports.compile = (guild,channel,user,messagesInv,data) => {
const memberColor = msg.member ? msg.member.displayHexColor : "#ffffff"
messagesArray.push({
author:{
- name:msg.author.tag,
+ name:msg.author.username,
id:Number(msg.author.id),
color:memberColor,
pfp:msg.author.displayAvatarURL()
@@ -106,7 +106,7 @@ exports.compile = (guild,channel,user,messagesInv,data) => {
creatorname:data.ticket.creatorname,
creatorid:Number(data.ticket.creatorid),
- closedbyname:user.tag,
+ closedbyname:user.username,
closedbyid:Number(user.id),
closedtime:data.ticket.closedtime,
diff --git a/core/transcriptSystem/communication/compileJsonV2.js b/core/transcriptSystem/communication/compileJsonV2.js
index 2a2acff..950b035 100644
--- a/core/transcriptSystem/communication/compileJsonV2.js
+++ b/core/transcriptSystem/communication/compileJsonV2.js
@@ -264,7 +264,7 @@ exports.compile = (guild,channel,user,messagesInv,data) => {
const authorColor = msg.member ? msg.member.displayHexColor.replace("#000000","#ffffff") : "#ffffff"
messagesArray.push({
author:{
- name:msg.author.tag,
+ name:msg.author.username,
id:msg.author.id,
color:authorColor,
pfp:msg.author.displayAvatarURL(),
@@ -331,7 +331,7 @@ exports.compile = (guild,channel,user,messagesInv,data) => {
creatorid:data.ticket.creatorid,
creatorpfp:data.ticket.creatorpfp,
- closedbyname:user.tag,
+ closedbyname:user.username,
closedbyid:user.id,
closedbypfp:user.displayAvatarURL(),
diff --git a/core/transcriptSystem/embeds.js b/core/transcriptSystem/embeds.js
index 02e15ec..48f0b54 100644
--- a/core/transcriptSystem/embeds.js
+++ b/core/transcriptSystem/embeds.js
@@ -23,7 +23,7 @@ exports.beingprocessed = (name,id,rawprocesstime,user) => {
const embed = new discord.EmbedBuilder()
.setTitle("🧾 "+l.transcripts.title)
.setColor(config.color)
- .setAuthor({name:user.tag,iconURL:user.displayAvatarURL()})
+ .setAuthor({name:user.username,iconURL:user.displayAvatarURL()})
.setFooter({text:name})
.setDescription("`"+l.transcripts.processed+"...`\n"+l.transcripts.wait+"\n\n"+l.transcripts.estimated+": "+processtime)
@@ -43,7 +43,7 @@ exports.tsready = (name,id,url,user) => {
const embed = new discord.EmbedBuilder()
.setTitle("🧾 "+l.transcripts.title)
.setColor(config.color)
- .setAuthor({name:user.tag,iconURL:user.displayAvatarURL()})
+ .setAuthor({name:user.username,iconURL:user.displayAvatarURL()})
.setFooter({text:name})
if (url){
@@ -67,7 +67,7 @@ exports.tserror = (name,id,user,err) => {
const embed = new discord.EmbedBuilder()
.setTitle("❌ "+l.transcripts.title)
.setColor(discord.Colors.Red)
- .setAuthor({name:user.tag,iconURL:user.displayAvatarURL()})
+ .setAuthor({name:user.username,iconURL:user.displayAvatarURL()})
.setFooter({text:name})
const errDesc = (typeof err == "string") ? "\n"+err : ""
diff --git a/core/transcriptSystem/manager.js b/core/transcriptSystem/manager.js
index 10cc01a..386b3cf 100644
--- a/core/transcriptSystem/manager.js
+++ b/core/transcriptSystem/manager.js
@@ -85,7 +85,7 @@ module.exports = async (messages,guild,channel,user,reason) => {
},
ticket:{
creatorid:ticketopener.id,
- creatorname:ticketopener.tag,
+ creatorname:ticketopener.username,
creatorpfp:ticketopener.displayAvatarURL(),
openedtime:opentime.getTime(),
diff --git a/core/transcriptSystem/oldTranscript.js b/core/transcriptSystem/oldTranscript.js
index 1d1861e..a6b02a2 100755
--- a/core/transcriptSystem/oldTranscript.js
+++ b/core/transcriptSystem/oldTranscript.js
@@ -47,7 +47,7 @@ exports.createTranscript = async (messagecollection,channel,backup) => {
})
const filestring = fileurls.length > 0 ? fileurls.join("\n")+"\n" : ""
const msgstats = "files: "+msg.attachments.size+", embeds: "+msg.embeds.length
- filearray.push("["+timestamp.getDate()+"/"+timestamp.getMonth()+"/"+timestamp.getFullYear()+", "+timestamp.getHours()+":"+timestamp.getMinutes()+":"+timestamp.getSeconds()+"|"+msg.author.tag+"] ["+msgstats+"]\n"+content+"\n"+filestring)
+ filearray.push("["+timestamp.getDate()+"/"+timestamp.getMonth()+"/"+timestamp.getFullYear()+", "+timestamp.getHours()+":"+timestamp.getMinutes()+":"+timestamp.getSeconds()+"|"+msg.author.username+"] ["+msgstats+"]\n"+content+"\n"+filestring)
})
if (filearray.length < 2) filearray.push("transcript is empty")
diff --git a/core/utils/liveStatus.js b/core/utils/liveStatus.js
index 472ab98..5bf3d4a 100644
--- a/core/utils/liveStatus.js
+++ b/core/utils/liveStatus.js
@@ -176,28 +176,30 @@ exports.liveStatusUploadManager = async (err) => {
const result = await uploadLiveStatus({
bot:{
id:client.user.id,
- name:client.user.tag,
+ name:client.user.username,
pfp:client.user.displayAvatarURL()
},
error:err,
openticket:{
config:{
- messages:config.messages,
- options:config.options,
- transcripts:bot.tsconfig,
- system:config.system
+ //TEMPORARY SOLUTION => AXIOS 414 ERROR!
+ //messages:config.messages,
+ //options:config.options,
+ //transcripts:bot.tsconfig,
+ //system:config.system
},
language:config.languageFile,
- version:"3.4.0",
+ version:"3.4.1",
slashcmds:slashMode,
transcripts:transcriptMode,
plugins:fs.readdirSync("./plugins"),
pluginload:globalPluginData
},
details:{
- errortime:new Date().getTime(),
- actions:this.actionRecorder,
- database:fs.readFileSync("./storage/database.json").toString()
+ errortime:new Date().getTime()
+ //TEMPORARY SOLUTION => AXIOS 414 ERROR!
+ //actions:this.actionRecorder,
+ //database:fs.readFileSync("./storage/database.json").toString()
}
})
if (!result){
diff --git a/index.js b/index.js
index fffbb54..0906a58 100644
--- a/index.js
+++ b/index.js
@@ -28,7 +28,7 @@
INFORMATION:
============
- Open Ticket v3.4.0 - © DJdj Development
+ Open Ticket v3.4.1 - © DJdj Development
discord: https://discord.dj-dj.be
website: https://www.dj-dj.be
@@ -370,7 +370,9 @@ process.on("uncaughtException",async (error,origin) => {
APIEvents.onError(error.name+": "+error.message,new Date())
//TEMPORARY INTEGRATION FOR LIVESTATUS ERROR UPLOADER:
- await require("./core/utils/liveStatus").liveStatusUploadManager(error.name+": "+error.message+" | origin: "+origin+"\n"+error.stack)
+ try {
+ await require("./core/utils/liveStatus").liveStatusUploadManager(error.name+": "+error.message+" | origin: "+origin+"\n"+error.stack)
+ } catch {this.errorLog.log("info","FAILED TO AUTO-REPORT ERROR! (you can ignore this error)")}
})
this.actionRecorder.push({
diff --git a/language/arabic.json b/language/arabic.json
index 8b90660..558fa49 100644
--- a/language/arabic.json
+++ b/language/arabic.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"ChilledBroke#9986 & M4#5882",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors": {
"missingArgsTitle": "قيمة غير صالحة!",
diff --git a/language/custom.json b/language/custom.json
index 9fcaf16..3e57402 100644
--- a/language/custom.json
+++ b/language/custom.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"DJdj Development",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Invalid Arguments!",
diff --git a/language/czech.json b/language/czech.json
index d9978ff..d3dea15 100644
--- a/language/czech.json
+++ b/language/czech.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"t0miiis#3022",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Neplatny Argument!",
diff --git a/language/danish.json b/language/danish.json
index 820bfb9..b4edef5 100644
--- a/language/danish.json
+++ b/language/danish.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"the_gamer#5095",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors": {
"missingArgsTitle": "Ugyldigt Argument!",
diff --git a/language/dutch.json b/language/dutch.json
index decf929..8e7d98d 100644
--- a/language/dutch.json
+++ b/language/dutch.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"DJj123dj#1706",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Onjuiste parameters!",
diff --git a/language/english.json b/language/english.json
index de9eebc..16ff621 100644
--- a/language/english.json
+++ b/language/english.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"DJdj Development",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Invalid Arguments!",
diff --git a/language/french.json b/language/french.json
index 177a69f..cfa0a98 100644
--- a/language/french.json
+++ b/language/french.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"Sanke#6086",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Arguments invalides!",
diff --git a/language/german.json b/language/german.json
index 3f61a12..a43045e 100644
--- a/language/german.json
+++ b/language/german.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"david.#8276 ",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Ungültiges Argument!",
diff --git a/language/greek.json b/language/greek.json
index f21ef18..4cf2b4e 100644
--- a/language/greek.json
+++ b/language/greek.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"ꙅoᴎɒᎸɘƚꙅ#3744",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Invalid Arguments!",
@@ -88,7 +88,7 @@
"deletedby":"Διεγράφη απο",
"closedby":"Έκλεισε από",
- "modalreason":"Ποιός είναι ο λόγος για να κλείσει το εισιτήριο?",
+ "modalreason":"Γιατι να κλείσει το εισιτήριο?",
"chooseATicket": "Δίαλεξε ενα εισιτήριο"
},
"transcripts":{
diff --git a/language/italian.json b/language/italian.json
index 4e4e9cf..acf89ec 100644
--- a/language/italian.json
+++ b/language/italian.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"Maurizio#0268",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Argomenti non validi!",
diff --git a/language/norwegian.json b/language/norwegian.json
index 410e2d5..dfbb52c 100644
--- a/language/norwegian.json
+++ b/language/norwegian.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"NoOneNook#0266",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Ugyldige argumenter!",
diff --git a/language/polish.json b/language/polish.json
index 8d76c99..e9853c8 100644
--- a/language/polish.json
+++ b/language/polish.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"MKevas#8311",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Nieprawidłowe argumenty!",
diff --git a/language/portuguese.json b/language/portuguese.json
index 6168019..c906a64 100644
--- a/language/portuguese.json
+++ b/language/portuguese.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"QuirAddon#9778",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Argumentos inválidos!",
diff --git a/language/romanian.json b/language/romanian.json
index 20734b6..5d2e799 100644
--- a/language/romanian.json
+++ b/language/romanian.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"Sanke#6086",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Argumente Invalide",
diff --git a/language/russian.json b/language/russian.json
index e123f4b..884853a 100644
--- a/language/russian.json
+++ b/language/russian.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"Apexo#0723",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Неверные аргументы!",
diff --git a/language/slashcmds/slash.json b/language/slashcmds/slash.json
index 88186c4..b7103cb 100644
--- a/language/slashcmds/slash.json
+++ b/language/slashcmds/slash.json
@@ -2,6 +2,7 @@
"examples":{
"en-GB":"english",
"en-US":"english",
+ "no": "Norwegian",
"nl":"dutch",
"ro":"romanian",
"de":"german",
@@ -19,6 +20,7 @@
"help":{
"en-GB":"A list of the available commands.",
"en-US":"A list of the available commands.",
+ "no":"En liste over commands.",
"nl":"Een lijst met de beschikbare commands.",
"ro":"O lista a comenzilor disponibile.",
"de":"Eine Liste der verfügbaren Befehle.",
@@ -32,6 +34,7 @@
"message":{
"en-GB":"Spawn an embed with buttons.",
"en-US":"Spawn an embed with buttons.",
+ "no":"Legg inn en melding i denne kanalen",
"nl":"Spawn een embed met knoppen.",
"ro":"Deschide un embed cu butoane.",
"de":"Sendet ein Embed mit Knöpfen.",
@@ -45,6 +48,7 @@
"close":{
"en-GB":"Close a ticket.",
"en-US":"Close a ticket.",
+ "no":"Lukk ticket.",
"nl":"Sluit een ticket",
"ro":"Inchide un ticket.",
"de":"Schließe ein Ticket.",
@@ -58,6 +62,7 @@
"delete":{
"en-GB":"Delete a ticket.",
"en-US":"Delete a ticket.",
+ "no":"Slett ticket.",
"nl":"Verwijder een ticket",
"ro":"Sterge un ticket.",
"de":"Lösche ein Ticket.",
@@ -71,6 +76,7 @@
"reopen":{
"en-GB":"Re-Open a ticket.",
"en-US":"Re-Open a ticket.",
+ "no":"Gjenåpne ticket.",
"nl":"Heropen een ticket.",
"ro":"Re-deschide un ticket.",
"de":"Wiedereröffnung eines Tickets.",
@@ -84,6 +90,7 @@
"add":{
"en-GB":"Add another user to a ticket.",
"en-US":"Add another user to a ticket.",
+ "no":"Legg til en annen bruker til ticket.",
"nl":"Voeg een andere user toe aan een ticket.",
"ro":"Adauga un utilizator la acest ticket.",
"de":"Füge einen anderen Nutzer zum Ticket hinzu.",
@@ -97,6 +104,7 @@
"remove":{
"en-GB":"Remove a user from a ticket.",
"en-US":"Remove a user from a ticket.",
+ "no":"Fjern en bruker fra ticket.",
"nl":"Verwijder een user van een ticket.",
"ro":"Sterge un utilizator dintr-un ticket.",
"de":"Entferne einen Nutzer von dem Ticket.",
@@ -110,6 +118,7 @@
"newticket":{
"en-GB":"Create a ticket",
"en-US":"Create a ticket",
+ "no":"Lag en ny ticket",
"nl":"Maak een ticket aan",
"ro":"Creeaza un ticket.",
"de":"Erstelle ein Ticket.",
@@ -123,6 +132,7 @@
"rename":{
"en-GB":"Rename a ticket channel.",
"en-US":"Rename a ticket channel.",
+ "no":"Gi nytt navn til ticket kanalen.",
"nl":"Hernoem een ticket channel.",
"ro":"Redenumeste un ticket.",
"de":"Benenne einen Ticket Channel.",
@@ -136,6 +146,7 @@
"claim":{
"en-GB":"Claim a ticket.",
"en-US":"Claim a ticket.",
+ "no":"Overta ticket.",
"nl":"Claim een ticket.",
"ro":" ",
"de":" ",
@@ -149,6 +160,7 @@
"unclaim":{
"en-GB":"Un-claim a ticket.",
"en-US":"Un-claim a ticket.",
+ "no":"Frigjør ticket.",
"nl":"Ontclaim een ticket.",
"ro":" ",
"de":" ",
@@ -162,6 +174,7 @@
"category":{
"en-GB":"Change ticket type.",
"en-US":"Change ticket type.",
+ "no":"Endre ticket type.",
"nl":"Verander ticket type.",
"ro":" ",
"de":" ",
@@ -173,4 +186,4 @@
"tr":"Bilet türünü değiştir."
}
}
-}
\ No newline at end of file
+}
diff --git a/language/slovenian.json b/language/slovenian.json
index 9fae12a..3dcb218 100644
--- a/language/slovenian.json
+++ b/language/slovenian.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"n1kkec#5341",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Napačen argument!",
diff --git a/language/spanish.json b/language/spanish.json
index 6bc1357..baa51f5 100644
--- a/language/spanish.json
+++ b/language/spanish.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"Redactado#1673 & josuens14#5267",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"¡Argumentos inválidos!",
diff --git a/language/thai.json b/language/thai.json
index 0c11f54..9985af3 100644
--- a/language/thai.json
+++ b/language/thai.json
@@ -1,101 +1,101 @@
{
"_CREDITS":"Mods HD#0661",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"อาร์กิวเมนต์ไม่ถูกต้อง!",
- "missingArgsDescription":"อาร์กิวเมนต์ไม่ครบ",
+ "missingArgsDescription":"ขาดอาร์กิวเมนต์",
"noPermsTitle":"ไม่มีสิทธิ์!",
- "noPermsDescription":"คุณต้องมีสิทธิ์ ADMINISTRATOR หรืออยู่ในรายชื่อบทบาทที่อนุญาต!",
+ "noPermsDescription":"คุณต้องมีสิทธิ์ `ADMINISTRATOR` หรืออยู่ในรายการบทบาทที่ได้รับอนุญาต!",
"noPermsDelete":"เฉพาะผู้ดูแลระบบเท่านั้นที่สามารถลบตั๋วได้!",
"chooseFromListTitle":"ID ไม่ถูกต้อง",
"chooseFromListDescription":"เลือกหนึ่งใน ID ด้านล่าง:",
"boterror":"ข้อผิดพลาดของบอท!",
"notInTicketTitle":"คุณไม่ได้อยู่ในตั๋ว!",
- "notInTicketDescription":"คำสั่งนี้ไม่สามารถทำงานนอกตั๋วได้!",
- "ticketDoesntExist":"ตั๋วนี้ไม่มีอยู่แล้ว!",
- "roleDoesntExist":"บทบาทนี้ไม่มีอยู่แล้ว!",
- "anotherOption":"ตัวเลือกนี้ไม่ใช่ตั๋วแต่เป็นประเภทอื่น!",
- "maxAmountTitle":"จำนวนสูงสุดแล้ว!",
- "maxAmountDescription":"คุณได้สร้างตั๋วครบจำนวนที่เราให้สร้างไว้แล้ว\nดังนั้นคุณไม่สามารถสร้างตั๋วใหม่ได้!",
- "somethingWentWrong":"เกิดข้อผิดพลาดบางอย่าง!\nโปรดลองอีกครั้งในครั้งถัดไป!"
+ "notInTicketDescription":"คำสั่งนี้ไม่ทำงานนอกตั๋ว!",
+ "ticketDoesntExist":"ตั๋วนี้ไม่มีอีกแล้ว!",
+ "roleDoesntExist":"บทบาทนี้ไม่มีอีกแล้ว!",
+ "anotherOption":"ตัวเลือกนี้ไม่ใช่ตั๋ว แต่เป็นประเภทอื่น!",
+ "maxAmountTitle":"ถึงจำนวนสูงสุดแล้ว!",
+ "maxAmountDescription":"คุณได้ถึงจำนวนสูงสุดของตั๋วที่อนุญาต!\nดังนั้นคุณไม่สามารถสร้างใหม่ได้!",
+ "somethingWentWrong":"**มีบางอย่างผิดพลาด!**\nกรุณาลองอีกครั้งในภายหลัง!"
},
"commands":{
- "userAddedTitle":"เพิ่ม {0} เข้าสู่ตั๋วนี้แล้ว!",
- "userRemovedTitle":"นำ {0} ออกจากตั๋วนี้แล้ว!",
+ "userAddedTitle":"เพิ่ม {0} ในตั๋วนี้!",
+ "userRemovedTitle":"ลบ {0} ออกจากตั๋วนี้!",
"renameTitle":"เปลี่ยนชื่อเป็น {0}!",
"closeTitle":"ปิดตั๋วนี้!",
"deleteTitle":"กำลังลบตั๋วนี้...",
- "reopenTitle":"เปิดตั๋วนี้ใหม่!",
-
- "claimTitle":"ตั๋วนี้ถูกเรียกเก็บโดย {0}",
- "unclaimTitle":"ไม่มีการเรียกเก็บตั๋วนี้อีกต่อไป!",
+ "reopenTitle":"เปิดตั๋วนี้อีกครั้ง!",
+
+ "claimTitle":"ตั๋วนี้ถูกเรียกขึ้นโดย {0}",
+ "unclaimTitle":"ตั๋วนี้ไม่ได้ถูกเรียกขึ้นแล้ว!",
"changeTitle":"เปลี่ยนประเภทตั๋วเป็น {0}!",
-
+
"statsTitle":"นี่คือสถิติสำหรับ {0}!",
"autocloseTitle":"ตั๋วนี้จะถูกปิดอัตโนมัติหลังจาก {0}!",
"autocloseRejectTitle":"ตั๋วนี้จะไม่ถูกปิดอัตโนมัติอีกต่อไป!",
- "autocloseWarn":"สิ่งนี้มีผลต่อตั๋วที่ไม่มีการเคลื่อนไหว!",
-
- "goToTicket":"ไปยังตั๋ว",
- "ticketWarning":"Embed อยู่ในข้อความข้างล่าง",
- "maxTicketWarning":"**คำเตือน:** _คุณสามารถสร้างตั๋วได้สูงสุด {0} ตั๋วต่อครั้ง!_"
+ "autocloseWarn":"ส่วนนี้มีผลกับตั๋วที่ไม่ได้ใช้งาน!",
+
+ "goToTicket":"ไปที่ตั๋ว",
+ "ticketWarning":"Embed อยู่ในข้อความด้านล่าง!",
+ "maxTicketWarning":"**คำเตือน:** _คุณสามารถสร้างได้ {0} ตั๋วในครั้งเดียว!_"
},
"helpMenu":{
- "title":"คำสั่งที่มีอยู่:",
+ "title":"คำสั่งที่ใช้ได้:",
"header1":"**ไปที่ {0} เพื่อสร้างตั๋ว!**\n\n",
"header2":"**ใช้คำสั่ง `/new` หรือ `/ticket` เพื่อสร้างตั๋ว!**\n\n",
-
- "msgCmd":"แสดง Embed พร้อมปุ่ม (สำหรับแอดมินเท่านั้น)",
- "renameCmd":"เปลี่ยนชื่อตั๋ว (ห้ามมีช่องว่าง)",
+
+ "msgCmd":"สร้าง embed พร้อมปุ่ม (เฉพาะผู้ดูแลระบบ)",
+ "renameCmd":"เปลี่ยนชื่อตั๋ว (ไม่มีช่องว่าง)",
"closeCmd":"ปิดตั๋ว",
"deleteCmd":"ลบตั๋ว",
- "addCmd":"เพิ่มผู้ใช้เข้าสู่ตั๋ว",
- "removeCmd":"นำผู้ใช้ออกจากตั๋ว",
- "reopenCmd":"เปิดตั๋วใหม่หลังจากถูกปิด",
+ "addCmd":"เพิ่มผู้ใช้ในตั๋ว",
+ "removeCmd":"ลบผู้ใช้ออกจากตั๋ว",
+ "reopenCmd":"เปิดตั๋วอีกครั้งหลังจากถูกปิด",
"changeCmd":"เปลี่ยนประเภทตั๋ว",
- "claimCmd":"เรียกเก็บตั๋ว",
- "unclaimCmd":"ยกเลิกการเรียกเก็บตั๋ว",
- "statsCmd":"ดูสถิติของตั๋ว",
- "autocloseCmd":"ตั้งเวลาปิดตั๋วโดยอัตโนมัติ"
+ "claimCmd":"เรียกขึ้นตั๋ว",
+ "unclaimCmd":"ยกเลิกการเรียกขึ้นตั๋ว",
+ "statsCmd":"ดูสถิติตั๋ว",
+ "autocloseCmd":"ตั้งค่าการปิดตั๋วอัตโนมัติ"
},
"buttons":{
"close":"ปิดตั๋ว",
"delete":"ลบตั๋ว",
- "reopen":"เปิดตั๋วใหม่",
- "closeWithReason":"ปิดตั๋วพร้อมเหตุผล"
+ "reopen":"เปิดตั๋วอีกครั้ง",
+ "closeWithReason":"ปิดด้วยเหตุผล"
},
"messages":{
- "closedDescription":"ตอนนี้เฉพาะผู้ดูแลเท่านั้นที่สามารถพูดได้ในตั๋วนี้!\n\n*คลิกที่ปุ่มด้านล่างเพื่อลบหรือเปิดตั๋วใหม่!*",
+ "closedDescription":"เฉพาะผู้ดูแลระบบเท่านั้นที่สามารถพูดคุยในตั๋วนี้ได้!\n\n*คลิกที่ปุ่มด้านล่างเพื่อลบหรือเปิดตั๋วนี้อีกครั้ง!*",
"createdTitle":"สร้างตั๋วแล้ว!",
- "createdDescription":"ตั๋วของคุณถูกสร้างเรียบร้อยแล้ว คุณจะได้รับการแจ้งเตือนด้วยการพิมพ์ข้อความด้วย @ ตามตั๋วของคุณ!",
-
+ "createdDescription":"ตั๋วของคุณถูกสร้างแล้ว คุณสามารถตรวจสอบได้จากการแจ้งเตือน!",
+
"newTicketDmTitle":"ตั๋วใหม่!",
- "closedTicketDmTitle":"ตั๋วถูกปิด!",
- "deletedTicketDmTitle":"ตั๋วถูกลบ!",
+ "closedTicketDmTitle":"ปิดตั๋ว!",
+ "deletedTicketDmTitle":"ลบตั๋ว!",
"closedTicketDmDescription":"ตั๋วของคุณถูกปิด!",
"deletedTicketDmDescription":"ตั๋วของคุณถูกลบ!",
- "reopenTicketDmTitle":"ตั๋วถูกเปิดใหม่!",
- "reopenTicketDmDescription":"ตั๋วของคุณถูกเปิดใหม่!",
-
+ "reopenTicketDmTitle":"เปิดตั๋วอีกครั้ง!",
+ "reopenTicketDmDescription":"ตั๋วของคุณถูกเปิดอีกครั้ง!",
+
"chooseCategory":"เลือกหมวดหมู่:",
"gettingdeleted":"กำลังลบตั๋ว...",
-
+
"none":"ไม่มี",
"reason":"เหตุผล",
"createdat":"สร้างเมื่อ",
"openedby":"เปิดโดย",
- "deletedby":"ลบโดย",
- "closedby":"ปิดโดย",
-
- "modalreason":"เหตุผลที่ต้องการปิดตั๋ว?",
- "chooseATicket": "เลือกตั๋ว"
+ "deletedby":"ถูกลบโดย",
+ "closedby":"ถูกปิดโดย",
+
+ "modalreason":"เหตุผลในการปิดตั๋วนี้คืออะไร?",
+ "chooseATicket": "เลือกตั๋ว"
},
"transcripts":{
- "title":"บันทึกข้อความ",
- "processed":"กำลังประมวลผลบันทึกข้อความ",
- "wait":"โปรดรอสักครู่!",
+ "title":"บันทึกการสนทนา",
+ "processed":"บันทึกการสนทนากำลังดำเนินการ",
+ "wait":"กรุณารอ!",
"estimated":"เวลาโดยประมาณ",
- "available":"บันทึกข้อความพร้อมใช้งานที่นี่"
+ "available":"บันทึกการสนทนาสามารถใช้งานได้ที่นี่"
}
}
\ No newline at end of file
diff --git a/language/turkish.json b/language/turkish.json
index 459b42f..27718bf 100644
--- a/language/turkish.json
+++ b/language/turkish.json
@@ -1,6 +1,6 @@
{
"_CREDITS":"Hydrâelčhâvø#1575",
- "_INFO":"This file is a translation for open ticket 3.4.0",
+ "_INFO":"This file is a translation for open ticket 3.4.1",
"errors":{
"missingArgsTitle":"Geçersiz argümanlar!",
diff --git a/language/ukrainian.json b/language/ukrainian.json
new file mode 100644
index 0000000..1ff55c2
--- /dev/null
+++ b/language/ukrainian.json
@@ -0,0 +1,101 @@
+{
+ "_CREDITS":"Anderskiy#4093",
+ "_INFO":"Цей файл є перекладом для open ticket 3.4.1",
+
+ "errors":{
+ "missingArgsTitle":"Невірні аргументи!",
+ "missingArgsDescription":"Відсутні аргументи!",
+ "noPermsTitle":"Відсутні права!",
+ "noPermsDescription":"Вам потрібно право `ADMINISTRATOR` або бути в списку дозволених ролей!",
+ "noPermsDelete":"Тільки адміни можуть видаляти тікети!",
+ "chooseFromListTitle":"Недійсний ID",
+ "chooseFromListDescription":"Виберіть один із наведених нижче id:",
+ "boterror":"Помилка боту!",
+ "notInTicketTitle":"Вас немає в тікеті!",
+ "notInTicketDescription":"Ця команда не працює поза тікетами!",
+ "ticketDoesntExist":"Цей тікет більше не існує!",
+ "roleDoesntExist":"Ця роль більше не існує!",
+ "anotherOption":"Це не є тікетом, а є іншим типом!",
+ "maxAmountTitle":"Досягнуто максимальної кількості!",
+ "maxAmountDescription":"Ви досягли максимально дозволеної кількості тікетів!\nТож ви не можете створити новий!",
+ "somethingWentWrong":"**Щось пішло не так!**\nБудь ласка, спробуйте ще раз!"
+ },
+ "commands":{
+ "userAddedTitle":"Додано {0} до цього тікету!",
+ "userRemovedTitle":"Видалено {0} з цього тікету!",
+ "renameTitle":"Змінено ім'я на {0}!",
+ "closeTitle":"Тікет закритий!",
+ "deleteTitle":"Видаляємо тікет",
+ "reopenTitle":"Знову відкриваємо тікет!",
+
+ "claimTitle":"Цей тікет узяв {0}",
+ "unclaimTitle":"Цей тікет ніким не зайнятий!",
+ "changeTitle":"Тип тікету змінено на {0}!",
+
+ "statsTitle":"Ось статистика для {0}!",
+ "autocloseTitle":"Цей тікет буде автоматично закрито після {0}!",
+ "autocloseRejectTitle":"Цей тікет більше не закриватиметься автоматично!",
+ "autocloseWarn":"Це стосується лише неактивних тікетів!",
+
+ "goToTicket":"перейти до тікету",
+ "ticketWarning":"Ембед знаходиться в повідомленні нижче!",
+ "maxTicketWarning":"**Попередження:** _Ви можете створити лише стільки квитків за раз: {0}!_"
+ },
+ "helpMenu":{
+ "title":"Доступні команди:",
+ "header1":"**Перейдіть до {0}, щоб створити тікет!**\n\n",
+ "header2":"**Виконайте команду `/new` або `/ticket`, щоб створити тікет!**\n\n",
+
+ "msgCmd":"Створити ембед з кнопками. (тільки адміністратори)",
+ "renameCmd":"Перейменувати тікет. (без пробілів)",
+ "closeCmd":"Закрити тікет.",
+ "deleteCmd":"Видалити тікет.",
+ "addCmd":"Додати користувача до тікету.",
+ "removeCmd":"Видалити користувача з тікету.",
+ "reopenCmd":"Повторне відкриття тікету після його закриття.",
+ "changeCmd":"Змінити тіп тикету.",
+ "claimCmd":"Узяти тікет.",
+ "unclaimCmd":"Відмовитися від тікету.",
+ "statsCmd":"Переглянути статистику тікету.",
+ "autocloseCmd":"Встановіть таймер для автоматичного закриття квитка"
+ },
+ "buttons":{
+ "close":"Закрити тікет",
+ "delete":"Видалити тікет",
+ "reopen":"Відкрити тікет",
+ "closeWithReason":"Закрити з причиною"
+ },
+ "messages":{
+ "closedDescription":"Зараз лише адміністратори можуть говорити в цьому тікеті!\n\n*Натисніть кнопку нижче, щоб видалити або повторно відкрити цей тікет!*",
+ "createdTitle":"Тікет створено!",
+ "createdDescription":"Ваш тікет створено, ви можете визначити його за допомогою пінгу!",
+
+ "newTicketDmTitle":"Новий тікет!",
+ "closedTicketDmTitle":"Тікет закрито!",
+ "deletedTicketDmTitle":"Тікет видалено!",
+ "closedTicketDmDescription":"Твій тікет закрито!",
+ "deletedTicketDmDescription":"Твій тікет видалено!",
+ "reopenTicketDmTitle":"Тікет відкритий!",
+ "reopenTicketDmDescription":"Твій тікет відкритий!",
+
+ "chooseCategory":"виберіть категорію:",
+ "gettingdeleted":"Тікет видаляється...",
+
+ "none":"пусто",
+ "reason":"причина",
+ "createdat":"створений",
+ "openedby":"відкритий",
+ "deletedby":"видалений",
+ "closedby":"закритий",
+
+ "modalreason":"Яка причина закриття цього тікету?",
+ "chooseATicket": "Виберіть тікет"
+ },
+ "transcripts":{
+ "title":"Транскрипція",
+ "processed":"Ця транскрипція обробляється",
+ "wait":"Будь-ласка почекайте!",
+ "estimated":"Розрахунковий час",
+ "available":"Транскрипція доступна тут"
+ }
+}
\ No newline at end of file
diff --git a/otWIKI.png b/otWIKI.png
deleted file mode 100644
index eb0815a..0000000
Binary files a/otWIKI.png and /dev/null differ
diff --git a/package.json b/package.json
index 43ff6f9..ff238b9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "open-ticket",
- "version": "3.4.0",
+ "version": "3.4.1",
"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": {