Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1bb70745ea | ||
|
|
589bbe5cd5 | ||
|
|
447fddea56 | ||
|
|
bf7a003799 | ||
|
|
6115ab1cc8 | ||
|
|
c2307fd1ed | ||
|
|
2a3850c3cc | ||
|
|
688c40ce7b | ||
|
|
dee2a21be9 |
+6
-6
@@ -8,12 +8,12 @@ Support for Open Ticket is only available for the versions specified below!
|
|||||||
🟧 Partially Supported
|
🟧 Partially Supported
|
||||||
❌ Not Supported
|
❌ Not Supported
|
||||||
|
|
||||||
| Version | Supported |
|
| Version | Supported |
|
||||||
| ------- | ------------------ |
|
|-----------|-------------------|
|
||||||
| 3.4.0 | :white_check_mark: |
|
| 3.4.2 | ✅ |
|
||||||
| 3.3.0 | 🟧 |
|
| 3.4.0 | ✅ |
|
||||||
| 3.2.2 | 🟧 |
|
| 3.3.3 | 🟧 |
|
||||||
| < 3.2.2 | :x: |
|
| < 3.3.3 | ❌ |
|
||||||
|
|
||||||
## Reporting a Vulnerability
|
## Reporting a Vulnerability
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
<img src="https://www.dj-dj.be/wp-content/uploads/2023/02/open-ticket-cropped.png" alt="Open Ticket" width="600px">
|
<img src="https://www.dj-dj.be/wp-content/uploads/2023/02/open-ticket-cropped.png" alt="Open Ticket" width="600px">
|
||||||
|
|
||||||
[](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.2) []() [](https://github.com/DJj123dj/open-ticket/blob/main/LICENSE) [](https://docs.openticket.dj-dj.be)
|
||||||
|
|
||||||
### Open Ticket
|
### Open Ticket
|
||||||
Open Ticket is of the most customisable discord ticket bots of all time!
|
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!
|
||||||
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!
|
|
||||||
|
|
||||||
Take a look at all the features and discover the possibilities!
|
Take a look at all the features and discover the possibilities!
|
||||||
### [Documentation](https://docs.openticket.dj-dj.be/quick-start)
|
### [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
|
## Features
|
||||||
- **🎉 NEW! html transcripts V2!**
|
- **🎉 NEW! html transcripts V2!**
|
||||||
- 🔒 close, ❌ delete & ✅ re-open tickets
|
- 🔒 close, ❌ delete & ✅ re-open tickets
|
||||||
- 🇬🇧 translation in 18 different languages
|
- 🇬🇧 translation in 19 different languages
|
||||||
- 📄 very advanced customisation
|
- 📄 very advanced customisation
|
||||||
- 🆗 buttons or 🔽 dropdowns!
|
- 🆗 buttons or 🔽 dropdowns!
|
||||||
- 🆒 plugins
|
- 🆒 plugins
|
||||||
@@ -39,33 +37,34 @@ You can already see some images at our [documentation!](https://docs.openticket.
|
|||||||
|
|
||||||
## credits
|
## credits
|
||||||
DJdj Development Team
|
DJdj Development Team
|
||||||
|Main Developer|Developer|Support Team|Designer|
|
|Main Developer|Developer |Support Team|Designer|
|
||||||
|--------------|---------|-----------|---------|
|
|--------------|------------|-----------|---------|
|
||||||
|DJj123dj |Sanke |DJ-Lite |vuur_draak|
|
|djj123dj |sankedev |DJ-Lite |vuur_draak|
|
||||||
|
|
||||||
Translators
|
Translators
|
||||||
|Language |Translator |
|
|Language |Translator |
|
||||||
|--------------|-------------------------|
|
|--------------|-------------------------|
|
||||||
|Dutch |DJj123dj#1706 |
|
|Dutch |djj123dj |
|
||||||
|Romanian |Sanke#6086 |
|
|Romanian |sankedev |
|
||||||
|French |Sanke#6086 |
|
|French |sankedev |
|
||||||
|Spanish |Redactado#1673 & josuens14#5267|
|
|Spanish |redactado & josuens |
|
||||||
|German |david.#8276 |
|
|German |david.3 |
|
||||||
|Italian |Maurizio#0268 |
|
|Italian |maurizio26 |
|
||||||
|Czech |t0miiis#3022 |
|
|Czech |t0miiis#3022 |
|
||||||
|Arabic |ChilledBroke#9986 & M4#5882|
|
|Arabic |Sarcastic#9318 |
|
||||||
|Danish |the_gamer#5095 |
|
|Danish |.the_gamer |
|
||||||
|Portuguese |QuirAddon#9778 |
|
|Portuguese |quiradon |
|
||||||
|Russian |Apexo#0723 |
|
|Russian |apexo |
|
||||||
|Turkish |Hydrâelčhâvø#1575 |
|
|Turkish |Hydra#0009 |
|
||||||
|Polish |MKevas#8311 |
|
|Polish |mkevas |
|
||||||
|Slovenian |n1kkec#5341 |
|
|Slovenian |n1kkec |
|
||||||
|Thai |Mods HD#0661 |
|
|Thai |modshd |
|
||||||
|Norwegian |NoOneNook#0266 |
|
|Norwegian |noonenook |
|
||||||
|Greek |ꙅoᴎɒᎸɘƚꙅ#3744 |
|
|Greek |stefanos#5739 |
|
||||||
|
|Ukrainian |anderskiy |
|
||||||
|
|
||||||
## links
|
## links
|
||||||
current version: _v3.4.0_
|
current version: _v3.4.2_
|
||||||
</br>changelog: [click here](https://docs.openticket.dj-dj.be/other/changelog)
|
</br>changelog: [click here](https://docs.openticket.dj-dj.be/other/changelog)
|
||||||
</br>documentation: [click here](https://docs.openticket.dj-dj.be/quick-start)
|
</br>documentation: [click here](https://docs.openticket.dj-dj.be/quick-start)
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -31,8 +31,8 @@ module.exports = () => {
|
|||||||
msg.channel.send({embeds:[bot.embeds.commands.addEmbed(user,msg.author)]})
|
msg.channel.send({embeds:[bot.embeds.commands.addEmbed(user,msg.author)]})
|
||||||
|
|
||||||
var loguser = msg.mentions.users.first()
|
var loguser = msg.mentions.users.first()
|
||||||
log("command","someone used the 'add' command",[{key:"user",value:msg.author.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.tag},{key:"ticket",value:msg.channel.name},{key:"added_user",value:loguser.tag}])
|
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)
|
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})
|
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)]})
|
interaction.editReply({embeds:[bot.embeds.commands.addEmbed(user,interaction.user)]})
|
||||||
|
|
||||||
var loguser = user
|
var loguser = user
|
||||||
log("command","someone used the 'add' command",[{key:"user",value:interaction.user.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.tag},{key:"ticket",value:interaction.channel.name},{key:"added_user",value:loguser.tag}])
|
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)
|
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})
|
APIEvents.onTicketAdd(interaction.user,loguser,interaction.channel,interaction.guild,new Date(),{status:"open",name:interaction.channel.name,ticketOptions:ticketData})
|
||||||
|
|||||||
+4
-4
@@ -48,8 +48,8 @@ module.exports = () => {
|
|||||||
msg.channel.setName(newTicket.channelprefix+name)
|
msg.channel.setName(newTicket.channelprefix+name)
|
||||||
msg.channel.send({embeds:[bot.embeds.commands.changeEmbed(msg.author,newtype)]})
|
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("command","someone used the 'change' command",[{key:"user",value:msg.author.username}])
|
||||||
log("system","ticket type changed",[{key:"user",value:msg.author.tag},{key:"ticket",value:name},{key:"newtype",value:newtype}])
|
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())
|
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)]})
|
interaction.editReply({embeds:[bot.embeds.commands.changeEmbed(interaction.user,newtype)]})
|
||||||
|
|
||||||
log("command","someone used the 'change' command",[{key:"user",value:interaction.user.tag}])
|
log("command","someone used the 'change' command",[{key:"user",value:interaction.user.username}])
|
||||||
log("system","ticket type changed",[{key:"user",value:interaction.user.tag},{key:"ticket",value:name},{key:"newtype",value:newtype}])
|
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())
|
APIEvents.onCommand("change",permsChecker.command(interaction.user.id,interaction.guild.id),interaction.user,interaction.channel,interaction.guild,new Date())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
+6
-6
@@ -35,7 +35,7 @@ module.exports = () => {
|
|||||||
storage.set("claimData",msg.channel.id,claimingUser.id)
|
storage.set("claimData",msg.channel.id,claimingUser.id)
|
||||||
|
|
||||||
const newEmbed = new embed(firstmsg.embeds[0].data)
|
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){
|
if (firstmsg.components[0].components[1] && firstmsg.components[0].components[1].disabled){
|
||||||
firstmsg.edit({components:[bot.buttons.firstmsg.firstmsgRowDisabledNoClaim],embeds:[newEmbed]})
|
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)]})
|
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("command","someone used the 'claim' command",[{key:"user",value:msg.author.username}])
|
||||||
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("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)
|
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})
|
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]})
|
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)
|
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){
|
if (firstmsg.components[0].components[1] && firstmsg.components[0].components[1].disabled){
|
||||||
firstmsg.edit({components:[bot.buttons.firstmsg.firstmsgRowDisabledNoClaim],embeds:[newEmbed]})
|
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)]})
|
interaction.editReply({embeds:[bot.embeds.commands.claimEmbed(user,interaction.user)]})
|
||||||
|
|
||||||
log("command","someone used the 'claim' command",[{key:"user",value:interaction.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.tag},{key:"ticket",value:interaction.channel.name},{key:"claimed_user",value:user.tag}])
|
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)
|
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})
|
APIEvents.onTicketClaim(interaction.user,user,interaction.channel,interaction.guild,new Date(),{status:"open",name:interaction.channel.name,ticketOptions:ticketData})
|
||||||
|
|||||||
+2
-2
@@ -44,7 +44,7 @@ module.exports = () => {
|
|||||||
|
|
||||||
require("../core/ticketActions/ticketCloser").closeManager(msg.member,msg.channel,prefix,"close",reason,true)
|
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())
|
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)
|
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())
|
APIEvents.onCommand("close",true,interaction.user,interaction.channel,interaction.guild,new Date())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
+2
-2
@@ -38,7 +38,7 @@ module.exports = () => {
|
|||||||
|
|
||||||
require("../core/ticketActions/ticketCloser").closeManager(msg.member,msg.channel,prefix,"delete",false,true)
|
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())
|
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)
|
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())
|
APIEvents.onCommand("delete",permsChecker.command(interaction.user.id,interaction.guild.id),interaction.user,interaction.channel,interaction.guild,new Date())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
+3
-3
@@ -32,7 +32,7 @@ module.exports = () => {
|
|||||||
|
|
||||||
if (msg.content == config.prefix || msg.content == config.prefix+" " || msg.content == otherprefix){
|
if (msg.content == config.prefix || msg.content == config.prefix+" " || msg.content == otherprefix){
|
||||||
msg.channel.send({embeds:[helpEmbed]})
|
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())
|
APIEvents.onCommand("help",true,msg.author,msg.channel,msg.guild,new Date())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ module.exports = () => {
|
|||||||
if (args[1]){
|
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")){
|
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]})
|
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())
|
APIEvents.onCommand("help",true,msg.author,msg.channel,msg.guild,new Date())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -51,7 +51,7 @@ module.exports = () => {
|
|||||||
if (interaction.commandName != "help") return
|
if (interaction.commandName != "help") return
|
||||||
|
|
||||||
interaction.reply({embeds:[helpEmbed]})
|
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())
|
APIEvents.onCommand("help",true,interaction.user,interaction.channel,interaction.guild,new Date())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
+4
-4
@@ -32,8 +32,8 @@ module.exports = () => {
|
|||||||
|
|
||||||
var loguser = msg.mentions.users.first()
|
var loguser = msg.mentions.users.first()
|
||||||
|
|
||||||
log("command","someone used the 'remove' command",[{key:"user",value:msg.author.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.tag},{key:"ticket",value:msg.channel.name},{key:"removed_user",value:loguser.tag}])
|
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)
|
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})
|
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
|
var loguser = user
|
||||||
|
|
||||||
log("command","someone used the 'remove' command",[{key:"user",value:interaction.user.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.tag},{key:"ticket",value:interaction.channel.name},{key:"removed_user",value:loguser.tag}])
|
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)
|
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})
|
APIEvents.onTicketRemove(interaction.user,loguser,interaction.channel,interaction.guild,new Date(),{status:"open",name:interaction.channel.name,ticketOptions:ticketData})
|
||||||
|
|||||||
+4
-5
@@ -39,12 +39,11 @@ module.exports = () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
if (!prefix) prefix = "noprefix-"
|
if (!prefix) prefix = "noprefix-"
|
||||||
|
|
||||||
msg.channel.setName(prefix+newname)
|
msg.channel.setName(prefix+newname)
|
||||||
msg.channel.send({embeds:[bot.embeds.commands.renameEmbed(msg.author,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("command","someone used the 'rename' command",[{key:"user",value:msg.author.username}])
|
||||||
log("system","ticket renamed",[{key:"user",value:msg.author.tag},{key:"ticket",value:name},{key:"newname",value:newname}])
|
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())
|
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.channel.setName(prefix+newname)
|
||||||
interaction.editReply({embeds:[bot.embeds.commands.renameEmbed(interaction.user,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("command","someone used the 'rename' command",[{key:"user",value:interaction.user.username}])
|
||||||
log("system","ticket renamed",[{key:"user",value:interaction.user.tag},{key:"ticket",value:name},{key:"newname",value:newname}])
|
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())
|
APIEvents.onCommand("rename",permsChecker.command(interaction.user.id,interaction.guild.id),interaction.user,interaction.channel,interaction.guild,new Date())
|
||||||
})
|
})
|
||||||
|
|||||||
+4
-4
@@ -25,7 +25,7 @@ module.exports = () => {
|
|||||||
|
|
||||||
require("../core/ticketActions/ticketReopener").reopenTicket(msg.guild,msg.channel,msg.author)
|
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())
|
APIEvents.onCommand("reopen",true,msg.author,msg.channel,msg.guild,new Date())
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -39,13 +39,13 @@ module.exports = () => {
|
|||||||
if (hiddendata.length < 1) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
|
if (hiddendata.length < 1) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
|
||||||
const ticketId = hiddendata.find(d => d.key == "type").value
|
const ticketId = hiddendata.find(d => d.key == "type").value
|
||||||
|
|
||||||
if (hiddendata.data.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.editReply({embeds:[bot.errorLog.warning("Warning!","You can't re-open a ticket while it's being deleted!")]})
|
||||||
|
|
||||||
await interaction.editReply({embeds:[bot.embeds.commands.reopenEmbed(interaction.user)],components:[bot.buttons.close.openRowNormal]})
|
await interaction.editReply({embeds:[bot.embeds.commands.reopenEmbed(interaction.user)],components:[bot.buttons.close.openRowNormal]})
|
||||||
|
|
||||||
require("../core/ticketActions/ticketReopener").reopenTicket(interaction.guild,interaction.channel,interaction.user)
|
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())
|
APIEvents.onCommand("reopen",true,interaction.user,interaction.channel,interaction.guild,new Date())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -38,7 +38,7 @@ module.exports = () => {
|
|||||||
|
|
||||||
msg.channel.send({embeds:[embed],components:componentRows})
|
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())
|
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.reply({content:l.commands.ticketWarning})
|
||||||
interaction.channel.send({embeds:[embed],components:componentRows})
|
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())
|
APIEvents.onCommand("message",permsChecker.command(interaction.user.id,interaction.guild.id),interaction.user,interaction.channel,interaction.guild,new Date())
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -57,8 +57,8 @@ module.exports = () => {
|
|||||||
|
|
||||||
msg.channel.send({embeds:[bot.embeds.commands.unclaimEmbed(msg.author)]})
|
msg.channel.send({embeds:[bot.embeds.commands.unclaimEmbed(msg.author)]})
|
||||||
|
|
||||||
log("command","someone used the 'unclaim' command",[{key:"user",value:msg.author.tag}])
|
log("command","someone used the 'unclaim' command",[{key:"user",value:msg.author.username}])
|
||||||
log("system","user unclaimed from ticket",[{key:"user",value:msg.author.tag},{key:"ticket",value:msg.channel.name},{key:"unclaimed_user",value:unclaimuser}])
|
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})
|
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)]})
|
interaction.editReply({embeds:[bot.embeds.commands.unclaimEmbed(interaction.user)]})
|
||||||
|
|
||||||
log("command","someone used the 'unclaim' command",[{key:"user",value:interaction.user.tag}])
|
log("command","someone used the 'unclaim' command",[{key:"user",value:interaction.user.username}])
|
||||||
log("system","user unclaimed from ticket",[{key:"user",value:interaction.user.tag},{key:"ticket",value:interaction.channel.name},{key:"unclaimed_user",value:unclaimuser}])
|
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.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())
|
APIEvents.onCommand("unclaim",permsChecker.command(interaction.user.id,interaction.guild.id),interaction.user,interaction.channel,interaction.guild,new Date())
|
||||||
|
|||||||
+1
-1
@@ -111,7 +111,7 @@
|
|||||||
"dropdown":false,
|
"dropdown":false,
|
||||||
|
|
||||||
"enableFooter":false,
|
"enableFooter":false,
|
||||||
"footer":"Open Ticket v3.4.0 - I'm a footer!",
|
"footer":"Open Ticket v3.4.2 - I'm a footer!",
|
||||||
|
|
||||||
"enableFooterImage":false,
|
"enableFooterImage":false,
|
||||||
"footerImage":"https://www.example.com/catmemes/cat.png",
|
"footerImage":"https://www.example.com/catmemes/cat.png",
|
||||||
|
|||||||
+16
-10
@@ -3,6 +3,9 @@ const bot = require("../../index")
|
|||||||
const log = bot.errorLog.log
|
const log = bot.errorLog.log
|
||||||
|
|
||||||
module.exports = () => {
|
module.exports = () => {
|
||||||
|
const args = process.argv
|
||||||
|
const debugMode = args.includes("--debug")
|
||||||
|
|
||||||
const files = fs.readdirSync("./plugins")
|
const files = fs.readdirSync("./plugins")
|
||||||
const api = require("./api.json")
|
const api = require("./api.json")
|
||||||
var totalcount = 0
|
var totalcount = 0
|
||||||
@@ -11,27 +14,30 @@ module.exports = () => {
|
|||||||
files.forEach((file) => {
|
files.forEach((file) => {
|
||||||
if (file.endsWith(".plugin.js")){
|
if (file.endsWith(".plugin.js")){
|
||||||
try {
|
try {
|
||||||
require("../../plugins/"+file)()
|
require("../../plugins/" + file)()
|
||||||
|
|
||||||
successcount++
|
successcount++
|
||||||
totalcount++
|
totalcount++
|
||||||
}catch(err){
|
}catch(err){
|
||||||
/**@type {Error} */
|
/**@type {Error} */
|
||||||
const theError = err
|
const theError = err
|
||||||
if (api.enableAPIdebug){
|
if (api.enableAPIdebug || debugMode) {
|
||||||
try {
|
console.error(theError)
|
||||||
const data = fs.readFileSync("./apiDebug.txt")
|
|
||||||
const newData = data ? data.toString() : ""
|
|
||||||
fs.writeFileSync("./apiDebug.txt",newData+"ERROR: "+theError.name+": "+theError.message+"\n"+theError.stack+"\n\n")
|
|
||||||
}catch{
|
|
||||||
fs.writeFileSync("./apiDebug.txt","ERROR: "+theError.name+": "+theError.message+"\n"+theError.stack+"\n\n")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const data = fs.readFileSync("./openticketdebug.txt")
|
||||||
|
const newData = data ? data.toString() : ""
|
||||||
|
fs.writeFileSync("./openticketdebug.txt", newData + "\nPLUGIN "+file+" ERROR: " + theError.name + ": " + theError.message + "\n" + theError.stack + "\n\n")
|
||||||
|
} catch {
|
||||||
|
fs.writeFileSync("./openticketdebug.txt", "\nPLUGIN "+file+" ERROR: " + theError.name + ": " + theError.message + "\n" + theError.stack + "\n\n")
|
||||||
|
}
|
||||||
|
|
||||||
failcount++
|
failcount++
|
||||||
totalcount++
|
totalcount++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
require("../startscreen").headerDataPlugins({total:totalcount,success:successcount,error:failcount})
|
require("../startscreen").headerDataPlugins({ total: totalcount, success: successcount, error: failcount })
|
||||||
}
|
}
|
||||||
+2
-2
@@ -179,7 +179,7 @@ exports.checker = async () => {
|
|||||||
checkType(option.description,"string",path+"/description")
|
checkType(option.description,"string",path+"/description")
|
||||||
|
|
||||||
//icon
|
//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])|(?:<a?:[^:]*:[0-9]+>)/gi
|
||||||
if (option.icon.length > 0){
|
if (option.icon.length > 0){
|
||||||
|
|
||||||
const isEmoji = emojiRegex.test(option.icon)
|
const isEmoji = emojiRegex.test(option.icon)
|
||||||
@@ -427,7 +427,7 @@ exports.checker = async () => {
|
|||||||
checkType(config.languageFile,"string","languagefile")
|
checkType(config.languageFile,"string","languagefile")
|
||||||
const lf = config.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") && !lf.startsWith("hungarian")){
|
||||||
createError("'languagefile' | invalid language, more info in the wiki")
|
createError("'languagefile' | invalid language, more info in the wiki")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ exports.noPermsMessage = (user) => {
|
|||||||
.setColor(c.Red)
|
.setColor(c.Red)
|
||||||
.setTitle(":x: "+l.errors.noPermsTitle)
|
.setTitle(":x: "+l.errors.noPermsTitle)
|
||||||
.setDescription(l.errors.noPermsDescription)
|
.setDescription(l.errors.noPermsDescription)
|
||||||
.setFooter({iconURL:user.displayAvatarURL(),text:user.tag})
|
.setFooter({iconURL:user.displayAvatarURL(),text:user.username})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**@param {discord.User} user*/
|
/**@param {discord.User} user*/
|
||||||
@@ -25,7 +25,7 @@ exports.noPermsDelete = (user) => {
|
|||||||
.setColor(c.Red)
|
.setColor(c.Red)
|
||||||
.setTitle(":x: "+l.errors.noPermsTitle)
|
.setTitle(":x: "+l.errors.noPermsTitle)
|
||||||
.setDescription(l.errors.noPermsDelete)
|
.setDescription(l.errors.noPermsDelete)
|
||||||
.setFooter({iconURL:user.displayAvatarURL(),text:user.tag})
|
.setFooter({iconURL:user.displayAvatarURL(),text:user.username})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**@param {String} message */
|
/**@param {String} message */
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ exports.addEmbed = (addedUser,adder) => {
|
|||||||
return new embed()
|
return new embed()
|
||||||
.setTitle("⬆️ "+l.commands.userAddedTitle.replace("{0}",addedUser.username))
|
.setTitle("⬆️ "+l.commands.userAddedTitle.replace("{0}",addedUser.username))
|
||||||
.setColor(mc)
|
.setColor(mc)
|
||||||
.setFooter({text:adder.tag,iconURL:adder.displayAvatarURL()})
|
.setFooter({text:adder.username,iconURL:adder.displayAvatarURL()})
|
||||||
.setThumbnail(addedUser.displayAvatarURL({extension:"png"}))
|
.setThumbnail(addedUser.displayAvatarURL({extension:"png"}))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ exports.removeEmbed = (removedUser,remover) => {
|
|||||||
return new embed()
|
return new embed()
|
||||||
.setTitle("⬇️ "+l.commands.userRemovedTitle.replace("{0}",removedUser.username))
|
.setTitle("⬇️ "+l.commands.userRemovedTitle.replace("{0}",removedUser.username))
|
||||||
.setColor(mc)
|
.setColor(mc)
|
||||||
.setFooter({text:remover.tag,iconURL:remover.displayAvatarURL()})
|
.setFooter({text:remover.username,iconURL:remover.displayAvatarURL()})
|
||||||
.setThumbnail(removedUser.displayAvatarURL({extension:"png"}))
|
.setThumbnail(removedUser.displayAvatarURL({extension:"png"}))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ exports.closeEmbed = (closer,description) => {
|
|||||||
const embd = new embed()
|
const embd = new embed()
|
||||||
.setTitle("🔒 "+l.commands.closeTitle)
|
.setTitle("🔒 "+l.commands.closeTitle)
|
||||||
.setColor(mc)
|
.setColor(mc)
|
||||||
.setFooter({text:closer.tag,iconURL:closer.displayAvatarURL()})
|
.setFooter({text:closer.username,iconURL:closer.displayAvatarURL()})
|
||||||
|
|
||||||
if (description) embd.setDescription(description)
|
if (description) embd.setDescription(description)
|
||||||
return embd
|
return embd
|
||||||
@@ -63,7 +63,7 @@ exports.autocloseSignalEmbed = (closer,time) => {
|
|||||||
const embd = new embed()
|
const embd = new embed()
|
||||||
.setTitle("⏰ This ticket got closed by Autoclose!")
|
.setTitle("⏰ This ticket got closed by Autoclose!")
|
||||||
.setColor(mc)
|
.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`!")
|
.setDescription("This ticket has been inactive for `"+time+"h`!")
|
||||||
return embd
|
return embd
|
||||||
}
|
}
|
||||||
@@ -77,7 +77,7 @@ exports.deleteEmbed = (deleter) => {
|
|||||||
return new embed()
|
return new embed()
|
||||||
.setTitle("❌ "+l.commands.deleteTitle)
|
.setTitle("❌ "+l.commands.deleteTitle)
|
||||||
.setColor(mc)
|
.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()
|
return new embed()
|
||||||
.setTitle("🔄 "+l.commands.renameTitle.replace("{0}",newname))
|
.setTitle("🔄 "+l.commands.renameTitle.replace("{0}",newname))
|
||||||
.setColor(mc)
|
.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()
|
return new embed()
|
||||||
.setTitle("🔓 "+l.commands.reopenTitle)
|
.setTitle("🔓 "+l.commands.reopenTitle)
|
||||||
.setColor(mc)
|
.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()
|
return new embed()
|
||||||
.setTitle("📌 "+l.commands.claimTitle.replace("{0}",claimer.username))
|
.setTitle("📌 "+l.commands.claimTitle.replace("{0}",claimer.username))
|
||||||
.setColor(mc)
|
.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()
|
return new embed()
|
||||||
.setTitle("🆓 "+l.commands.unclaimTitle)
|
.setTitle("🆓 "+l.commands.unclaimTitle)
|
||||||
.setColor(mc)
|
.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()
|
return new embed()
|
||||||
.setTitle("🔄 "+l.commands.changeTitle.replace("{0}",newtype))
|
.setTitle("🔄 "+l.commands.changeTitle.replace("{0}",newtype))
|
||||||
.setColor(mc)
|
.setColor(mc)
|
||||||
.setFooter({text:changer.tag,iconURL:changer.displayAvatarURL()})
|
.setFooter({text:changer.username,iconURL:changer.displayAvatarURL()})
|
||||||
}
|
}
|
||||||
@@ -45,7 +45,7 @@ module.exports = () => {
|
|||||||
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
|
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]})
|
||||||
|
|
||||||
const newEmbed = new embed(firstmsg.embeds[0].data)
|
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){
|
if (firstmsg.components[0].components[1] && firstmsg.components[0].components[1].disabled){
|
||||||
firstmsg.edit({components:[bot.buttons.firstmsg.firstmsgRowDisabledNoClaim],embeds:[newEmbed]})
|
firstmsg.edit({components:[bot.buttons.firstmsg.firstmsgRowDisabledNoClaim],embeds:[newEmbed]})
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ module.exports = async () => {
|
|||||||
option.roles.forEach((role) => {
|
option.roles.forEach((role) => {
|
||||||
interaction.guild.members.cache.find(u => u.id == user.id).roles.add(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)
|
const apirole = interaction.guild.roles.cache.find(r => r.id == role)
|
||||||
APIEvents.onReactionRole("add","add",apirole,interaction.user,interaction.channel,interaction.guild,new Date())
|
APIEvents.onReactionRole("add","add",apirole,interaction.user,interaction.channel,interaction.guild,new Date())
|
||||||
})
|
})
|
||||||
@@ -68,7 +68,7 @@ module.exports = async () => {
|
|||||||
option.roles.forEach((role) => {
|
option.roles.forEach((role) => {
|
||||||
interaction.guild.members.cache.find(u => u.id == user.id).roles.remove(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)
|
const apirole = interaction.guild.roles.cache.find(r => r.id == role)
|
||||||
APIEvents.onReactionRole("remove","remove",apirole,interaction.user,interaction.channel,interaction.guild,new Date())
|
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)){
|
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)
|
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)
|
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())
|
APIEvents.onReactionRole("add","add&remove",apirole,interaction.user,interaction.channel,interaction.guild,new Date())
|
||||||
}else {
|
}else {
|
||||||
interaction.guild.members.cache.find(u => u.id == user.id).roles.remove(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)
|
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())
|
APIEvents.onReactionRole("remove","add&remove",apirole,interaction.user,interaction.channel,interaction.guild,new Date())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)")
|
//process.stdout.write("[status] there are "+chalk.blue("0 out of 10")+" commands ready! (this can take up to 40 seconds)")
|
||||||
if (!invisible){
|
if (!invisible){
|
||||||
setInterval(() => {
|
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)")
|
process.stdout.write("[status] there are "+chalk.blue(readystats+" out of 13")+" commands ready! (this can take up to 40 seconds)")
|
||||||
if (readystats >= 13){
|
if (readystats >= 13){
|
||||||
console.log(chalk.green("\nready!"))
|
console.log(chalk.green("\nready!"))
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ exports.closeManager = async (member,channel,prefix,mode,reason,nomessage) => {
|
|||||||
if (!nomessage){
|
if (!nomessage){
|
||||||
await channel.send({content:"**"+l.messages.gettingdeleted+"**"})
|
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)
|
pendingDelete.push(channel.id)
|
||||||
|
|
||||||
if (!isDatabaseError) storage.set("amountOfUserTickets",getuserID,Number(storage.get("amountOfUserTickets",getuserID)) - 1)
|
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]})
|
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
|
//send api event
|
||||||
|
|||||||
@@ -54,7 +54,9 @@ module.exports = () => {
|
|||||||
await interaction.deferReply({ephemeral:config.system.answerInEphemeralOnOpen})
|
await interaction.deferReply({ephemeral:config.system.answerInEphemeralOnOpen})
|
||||||
} catch{}
|
} catch{}
|
||||||
}else if (interaction.isChatInputCommand()){
|
}else if (interaction.isChatInputCommand()){
|
||||||
await interaction.deferReply({ephemeral:config.system.answerInEphemeralOnOpen})
|
try {
|
||||||
|
await interaction.deferReply({ephemeral:config.system.answerInEphemeralOnOpen})
|
||||||
|
} catch{}
|
||||||
}else if (interaction.isStringSelectMenu()){
|
}else if (interaction.isStringSelectMenu()){
|
||||||
try {
|
try {
|
||||||
await interaction.deferUpdate()
|
await interaction.deferUpdate()
|
||||||
@@ -209,7 +211,7 @@ module.exports = () => {
|
|||||||
firstmsg.pin()
|
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})
|
require("../api/modules/events").onTicketOpen(interaction.user,ticketChannel,interaction.guild,new Date(),{name:ticketName,status:"open",ticketOptions:currentTicketOptions})
|
||||||
|
|
||||||
const channelbutton = new discord.ActionRowBuilder()
|
const channelbutton = new discord.ActionRowBuilder()
|
||||||
@@ -227,7 +229,13 @@ module.exports = () => {
|
|||||||
}
|
}
|
||||||
catch{log("system","failed to send DM")}
|
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{
|
}else{
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ const pfb = discord.PermissionFlagsBits
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
const reopenTicket = (guild,channel,user) => {
|
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 = []
|
var permissionsArray = []
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ exports.compile = (guild,channel,user,messagesInv,data) => {
|
|||||||
const memberColor = msg.member ? msg.member.displayHexColor : "#ffffff"
|
const memberColor = msg.member ? msg.member.displayHexColor : "#ffffff"
|
||||||
messagesArray.push({
|
messagesArray.push({
|
||||||
author:{
|
author:{
|
||||||
name:msg.author.tag,
|
name:msg.author.username,
|
||||||
id:Number(msg.author.id),
|
id:Number(msg.author.id),
|
||||||
color:memberColor,
|
color:memberColor,
|
||||||
pfp:msg.author.displayAvatarURL()
|
pfp:msg.author.displayAvatarURL()
|
||||||
@@ -106,7 +106,7 @@ exports.compile = (guild,channel,user,messagesInv,data) => {
|
|||||||
|
|
||||||
creatorname:data.ticket.creatorname,
|
creatorname:data.ticket.creatorname,
|
||||||
creatorid:Number(data.ticket.creatorid),
|
creatorid:Number(data.ticket.creatorid),
|
||||||
closedbyname:user.tag,
|
closedbyname:user.username,
|
||||||
closedbyid:Number(user.id),
|
closedbyid:Number(user.id),
|
||||||
|
|
||||||
closedtime:data.ticket.closedtime,
|
closedtime:data.ticket.closedtime,
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ exports.compile = (guild,channel,user,messagesInv,data) => {
|
|||||||
const authorColor = msg.member ? msg.member.displayHexColor.replace("#000000","#ffffff") : "#ffffff"
|
const authorColor = msg.member ? msg.member.displayHexColor.replace("#000000","#ffffff") : "#ffffff"
|
||||||
messagesArray.push({
|
messagesArray.push({
|
||||||
author:{
|
author:{
|
||||||
name:msg.author.tag,
|
name:msg.author.username,
|
||||||
id:msg.author.id,
|
id:msg.author.id,
|
||||||
color:authorColor,
|
color:authorColor,
|
||||||
pfp:msg.author.displayAvatarURL(),
|
pfp:msg.author.displayAvatarURL(),
|
||||||
@@ -331,7 +331,7 @@ exports.compile = (guild,channel,user,messagesInv,data) => {
|
|||||||
creatorid:data.ticket.creatorid,
|
creatorid:data.ticket.creatorid,
|
||||||
creatorpfp:data.ticket.creatorpfp,
|
creatorpfp:data.ticket.creatorpfp,
|
||||||
|
|
||||||
closedbyname:user.tag,
|
closedbyname:user.username,
|
||||||
closedbyid:user.id,
|
closedbyid:user.id,
|
||||||
closedbypfp:user.displayAvatarURL(),
|
closedbypfp:user.displayAvatarURL(),
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ exports.beingprocessed = (name,id,rawprocesstime,user) => {
|
|||||||
const embed = new discord.EmbedBuilder()
|
const embed = new discord.EmbedBuilder()
|
||||||
.setTitle("🧾 "+l.transcripts.title)
|
.setTitle("🧾 "+l.transcripts.title)
|
||||||
.setColor(config.color)
|
.setColor(config.color)
|
||||||
.setAuthor({name:user.tag,iconURL:user.displayAvatarURL()})
|
.setAuthor({name:user.username,iconURL:user.displayAvatarURL()})
|
||||||
.setFooter({text:name})
|
.setFooter({text:name})
|
||||||
|
|
||||||
.setDescription("`"+l.transcripts.processed+"...`\n"+l.transcripts.wait+"\n\n"+l.transcripts.estimated+": "+processtime)
|
.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()
|
const embed = new discord.EmbedBuilder()
|
||||||
.setTitle("🧾 "+l.transcripts.title)
|
.setTitle("🧾 "+l.transcripts.title)
|
||||||
.setColor(config.color)
|
.setColor(config.color)
|
||||||
.setAuthor({name:user.tag,iconURL:user.displayAvatarURL()})
|
.setAuthor({name:user.username,iconURL:user.displayAvatarURL()})
|
||||||
.setFooter({text:name})
|
.setFooter({text:name})
|
||||||
|
|
||||||
if (url){
|
if (url){
|
||||||
@@ -67,7 +67,7 @@ exports.tserror = (name,id,user,err) => {
|
|||||||
const embed = new discord.EmbedBuilder()
|
const embed = new discord.EmbedBuilder()
|
||||||
.setTitle("❌ "+l.transcripts.title)
|
.setTitle("❌ "+l.transcripts.title)
|
||||||
.setColor(discord.Colors.Red)
|
.setColor(discord.Colors.Red)
|
||||||
.setAuthor({name:user.tag,iconURL:user.displayAvatarURL()})
|
.setAuthor({name:user.username,iconURL:user.displayAvatarURL()})
|
||||||
.setFooter({text:name})
|
.setFooter({text:name})
|
||||||
|
|
||||||
const errDesc = (typeof err == "string") ? "\n"+err : ""
|
const errDesc = (typeof err == "string") ? "\n"+err : ""
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ module.exports = async (messages,guild,channel,user,reason) => {
|
|||||||
},
|
},
|
||||||
ticket:{
|
ticket:{
|
||||||
creatorid:ticketopener.id,
|
creatorid:ticketopener.id,
|
||||||
creatorname:ticketopener.tag,
|
creatorname:ticketopener.username,
|
||||||
creatorpfp:ticketopener.displayAvatarURL(),
|
creatorpfp:ticketopener.displayAvatarURL(),
|
||||||
|
|
||||||
openedtime:opentime.getTime(),
|
openedtime:opentime.getTime(),
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ exports.createTranscript = async (messagecollection,channel,backup) => {
|
|||||||
})
|
})
|
||||||
const filestring = fileurls.length > 0 ? fileurls.join("\n")+"\n" : ""
|
const filestring = fileurls.length > 0 ? fileurls.join("\n")+"\n" : ""
|
||||||
const msgstats = "files: "+msg.attachments.size+", embeds: "+msg.embeds.length
|
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")
|
if (filearray.length < 2) filearray.push("transcript is empty")
|
||||||
|
|||||||
@@ -176,28 +176,30 @@ exports.liveStatusUploadManager = async (err) => {
|
|||||||
const result = await uploadLiveStatus({
|
const result = await uploadLiveStatus({
|
||||||
bot:{
|
bot:{
|
||||||
id:client.user.id,
|
id:client.user.id,
|
||||||
name:client.user.tag,
|
name:client.user.username,
|
||||||
pfp:client.user.displayAvatarURL()
|
pfp:client.user.displayAvatarURL()
|
||||||
},
|
},
|
||||||
error:err,
|
error:err,
|
||||||
openticket:{
|
openticket:{
|
||||||
config:{
|
config:{
|
||||||
messages:config.messages,
|
//TEMPORARY SOLUTION => AXIOS 414 ERROR!
|
||||||
options:config.options,
|
//messages:config.messages,
|
||||||
transcripts:bot.tsconfig,
|
//options:config.options,
|
||||||
system:config.system
|
//transcripts:bot.tsconfig,
|
||||||
|
//system:config.system
|
||||||
},
|
},
|
||||||
language:config.languageFile,
|
language:config.languageFile,
|
||||||
version:"3.4.0",
|
version:"3.4.2",
|
||||||
slashcmds:slashMode,
|
slashcmds:slashMode,
|
||||||
transcripts:transcriptMode,
|
transcripts:transcriptMode,
|
||||||
plugins:fs.readdirSync("./plugins"),
|
plugins:fs.readdirSync("./plugins"),
|
||||||
pluginload:globalPluginData
|
pluginload:globalPluginData
|
||||||
},
|
},
|
||||||
details:{
|
details:{
|
||||||
errortime:new Date().getTime(),
|
errortime:new Date().getTime()
|
||||||
actions:this.actionRecorder,
|
//TEMPORARY SOLUTION => AXIOS 414 ERROR!
|
||||||
database:fs.readFileSync("./storage/database.json").toString()
|
//actions:this.actionRecorder,
|
||||||
|
//database:fs.readFileSync("./storage/database.json").toString()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
if (!result){
|
if (!result){
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
INFORMATION:
|
INFORMATION:
|
||||||
============
|
============
|
||||||
Open Ticket v3.4.0 - © DJdj Development
|
Open Ticket v3.4.2 - © DJdj Development
|
||||||
|
|
||||||
discord: https://discord.dj-dj.be
|
discord: https://discord.dj-dj.be
|
||||||
website: https://www.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())
|
APIEvents.onError(error.name+": "+error.message,new Date())
|
||||||
|
|
||||||
//TEMPORARY INTEGRATION FOR LIVESTATUS ERROR UPLOADER:
|
//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({
|
this.actionRecorder.push({
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"ChilledBroke#9986 & M4#5882",
|
"_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.2",
|
||||||
|
|
||||||
"errors": {
|
"errors": {
|
||||||
"missingArgsTitle": "قيمة غير صالحة!",
|
"missingArgsTitle": "قيمة غير صالحة!",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"DJdj Development",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Invalid Arguments!",
|
"missingArgsTitle":"Invalid Arguments!",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"t0miiis#3022",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Neplatny Argument!",
|
"missingArgsTitle":"Neplatny Argument!",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"the_gamer#5095",
|
"_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.2",
|
||||||
|
|
||||||
"errors": {
|
"errors": {
|
||||||
"missingArgsTitle": "Ugyldigt Argument!",
|
"missingArgsTitle": "Ugyldigt Argument!",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"DJj123dj#1706",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Onjuiste parameters!",
|
"missingArgsTitle":"Onjuiste parameters!",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"DJdj Development",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Invalid Arguments!",
|
"missingArgsTitle":"Invalid Arguments!",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"Sanke#6086",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Arguments invalides!",
|
"missingArgsTitle":"Arguments invalides!",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"david.#8276 ",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Ungültiges Argument!",
|
"missingArgsTitle":"Ungültiges Argument!",
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"ꙅoᴎɒᎸɘƚꙅ#3744",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Invalid Arguments!",
|
"missingArgsTitle":"Invalid Arguments!",
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
"deletedby":"Διεγράφη απο",
|
"deletedby":"Διεγράφη απο",
|
||||||
"closedby":"Έκλεισε από",
|
"closedby":"Έκλεισε από",
|
||||||
|
|
||||||
"modalreason":"Ποιός είναι ο λόγος για να κλείσει το εισιτήριο?",
|
"modalreason":"Γιατι να κλείσει το εισιτήριο?",
|
||||||
"chooseATicket": "Δίαλεξε ενα εισιτήριο"
|
"chooseATicket": "Δίαλεξε ενα εισιτήριο"
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
|
|||||||
@@ -0,0 +1,101 @@
|
|||||||
|
{
|
||||||
|
"_CREDITS":"Snowy",
|
||||||
|
"_INFO":"This file is a translation for open ticket 3.4.2",
|
||||||
|
|
||||||
|
"errors":{
|
||||||
|
"missingArgsTitle":"Hibás paraméterek!",
|
||||||
|
"missingArgsDescription":"Hiányzó paraméterek",
|
||||||
|
"noPermsTitle":"Nincs jogosultságod!",
|
||||||
|
"noPermsDescription":"Szükséged van az `Adminisztrátor` jogra, vagy rajta kell lenned az engedélyezett rangok listáján!",
|
||||||
|
"noPermsDelete":"Csak adminok törölhetik a ticketet!",
|
||||||
|
"chooseFromListTitle":"Ismeretlen ID",
|
||||||
|
"chooseFromListDescription":"Válassz egy ID-t az alábbi listából:",
|
||||||
|
"boterror":"Bot Hiba!",
|
||||||
|
"notInTicketTitle":"Nem vagy egy ticketben!",
|
||||||
|
"notInTicketDescription":"Ez a parancs nem működik a ticketeken kívűl!",
|
||||||
|
"ticketDoesntExist":"Ez a ticket már nem létezik!",
|
||||||
|
"roleDoesntExist":"Ez a rang már nem létezik!",
|
||||||
|
"anotherOption":"Ez a választás nem egy ticket, hanem más!",
|
||||||
|
"maxAmountTitle":"Maximum limit elérve!",
|
||||||
|
"maxAmountDescription":"Elérted a maximum engedélyezett ticketek számát!\nSzóval nem tudsz újat csinálni!",
|
||||||
|
"somethingWentWrong":"**Valami balul sült el!**\nKérlek próbáld újra később!"
|
||||||
|
},
|
||||||
|
"commands":{
|
||||||
|
"userAddedTitle":"{0} hozzáadva a tickethez!",
|
||||||
|
"userRemovedTitle":"{0} elvéve a ticketből!",
|
||||||
|
"renameTitle":"Ticket neve megváltoztatva erre: {0}!",
|
||||||
|
"closeTitle":"Ticket bezárva!",
|
||||||
|
"deleteTitle":"Ticket törlése...",
|
||||||
|
"reopenTitle":"Ticket újranyitva!",
|
||||||
|
|
||||||
|
"claimTitle":"A ticketet igényelte: {0}",
|
||||||
|
"unclaimTitle":"Már senki nem ingényeli a ticketet!",
|
||||||
|
"changeTitle":"Ticket típus megváltoztatva erre: {0}!",
|
||||||
|
|
||||||
|
"statsTitle":"Ticket statisztikák erre: {0}!",
|
||||||
|
"autocloseTitle":"Ez a ticket automatikusan be lesz zárva ennyi idő múlva: {0}!",
|
||||||
|
"autocloseRejectTitle":"Ez a ticket nem lesz automatikusan bezárva!",
|
||||||
|
"autocloseWarn":"Ez csak az inaktív hibajegyeket érinti!",
|
||||||
|
|
||||||
|
"goToTicket":"A tickethez",
|
||||||
|
"ticketWarning":"Az embed az alábbi üzenetben van!",
|
||||||
|
"maxTicketWarning":"**Warning:** _Csak {0} ticketet készíthetsz egy időben!_"
|
||||||
|
},
|
||||||
|
"helpMenu":{
|
||||||
|
"title":"Elérhető parancsok:",
|
||||||
|
"header1":"**Hogy elkészíts egy ticketet, menj ide: {0}!**\n\n",
|
||||||
|
"header2":"**Futtasd a `/new` vagy `/ticket` parancsot a ticket készítéséhez!**\n\n",
|
||||||
|
|
||||||
|
"msgCmd":"Embed küldése gombokkal. (csak adminok)",
|
||||||
|
"renameCmd":"Ticket átnevezése. (szóköz nélkül)",
|
||||||
|
"closeCmd":"Ticket bezárása.",
|
||||||
|
"deleteCmd":"Ticket törlése.",
|
||||||
|
"addCmd":"Felhasználó hozzáadása a tickethez.",
|
||||||
|
"removeCmd":"Felhasználó elvétele a tickettől.",
|
||||||
|
"reopenCmd":"Ticket újranyitása miután már be lett zárva.",
|
||||||
|
"changeCmd":"Ticket típusának megváltoztatása.",
|
||||||
|
"claimCmd":"Ticket igénylése.",
|
||||||
|
"unclaimCmd":"Ticket igénylésének törlése.",
|
||||||
|
"statsCmd":"Ticket statisztikák megtekintése.",
|
||||||
|
"autocloseCmd":"Ticketek automatikus bezárási idejének beállítása"
|
||||||
|
},
|
||||||
|
"buttons":{
|
||||||
|
"close":"Ticket bezárása",
|
||||||
|
"delete":"Ticket törlése",
|
||||||
|
"reopen":"Ticket újranyitása",
|
||||||
|
"closeWithReason":"Bezárás indokkal"
|
||||||
|
},
|
||||||
|
"messages":{
|
||||||
|
"closedDescription":"Csak adminok tudnak ebben a ticketben beszélni!\n\n*Kattints az alábbi gombokkal hogy töröld vagy újranyisd a ticketet!*",
|
||||||
|
"createdTitle":"Ticket Elkészítve!",
|
||||||
|
"createdDescription":"A ticketet elkészítve, meg tudod találni egy pingel!",
|
||||||
|
|
||||||
|
"newTicketDmTitle":"Új ticket!",
|
||||||
|
"closedTicketDmTitle":"Ticket bezárva!",
|
||||||
|
"deletedTicketDmTitle":"Ticket törölve!",
|
||||||
|
"closedTicketDmDescription":"A ticketed bezárták!",
|
||||||
|
"deletedTicketDmDescription":"A ticketed törölték!",
|
||||||
|
"reopenTicketDmTitle":"Ticket újranyitva!",
|
||||||
|
"reopenTicketDmDescription":"A ticketed újranyitották!",
|
||||||
|
|
||||||
|
"chooseCategory":"válassz egy kategóriát:",
|
||||||
|
"gettingdeleted":"A ticket törölve lesz...",
|
||||||
|
|
||||||
|
"none":"nincs",
|
||||||
|
"reason":"indok",
|
||||||
|
"createdat":"elkészítve ekkor:",
|
||||||
|
"openedby":"nyitotta:",
|
||||||
|
"deletedby":"törölve általa:",
|
||||||
|
"closedby":"bezárva általa:",
|
||||||
|
|
||||||
|
"modalreason":"Mi az indokod a ticket bezárására?",
|
||||||
|
"chooseATicket": "Válassz egy ticketet"
|
||||||
|
},
|
||||||
|
"transcripts":{
|
||||||
|
"title":"Átirat",
|
||||||
|
"processed":"Ez az átirat jelenleg feldolgozás alatt van",
|
||||||
|
"wait":"Kérlek várj!",
|
||||||
|
"estimated":"Becsült idő",
|
||||||
|
"available":"Az átirat itt érhető el"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"Maurizio#0268",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Argomenti non validi!",
|
"missingArgsTitle":"Argomenti non validi!",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"NoOneNook#0266",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Ugyldige argumenter!",
|
"missingArgsTitle":"Ugyldige argumenter!",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"MKevas#8311",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Nieprawidłowe argumenty!",
|
"missingArgsTitle":"Nieprawidłowe argumenty!",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"QuirAddon#9778",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Argumentos inválidos!",
|
"missingArgsTitle":"Argumentos inválidos!",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"Sanke#6086",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Argumente Invalide",
|
"missingArgsTitle":"Argumente Invalide",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"Apexo#0723",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Неверные аргументы!",
|
"missingArgsTitle":"Неверные аргументы!",
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
"examples":{
|
"examples":{
|
||||||
"en-GB":"english",
|
"en-GB":"english",
|
||||||
"en-US":"english",
|
"en-US":"english",
|
||||||
|
"no": "Norwegian",
|
||||||
"nl":"dutch",
|
"nl":"dutch",
|
||||||
"ro":"romanian",
|
"ro":"romanian",
|
||||||
"de":"german",
|
"de":"german",
|
||||||
@@ -19,6 +20,7 @@
|
|||||||
"help":{
|
"help":{
|
||||||
"en-GB":"A list of the available commands.",
|
"en-GB":"A list of the available commands.",
|
||||||
"en-US":"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.",
|
"nl":"Een lijst met de beschikbare commands.",
|
||||||
"ro":"O lista a comenzilor disponibile.",
|
"ro":"O lista a comenzilor disponibile.",
|
||||||
"de":"Eine Liste der verfügbaren Befehle.",
|
"de":"Eine Liste der verfügbaren Befehle.",
|
||||||
@@ -32,6 +34,7 @@
|
|||||||
"message":{
|
"message":{
|
||||||
"en-GB":"Spawn an embed with buttons.",
|
"en-GB":"Spawn an embed with buttons.",
|
||||||
"en-US":"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.",
|
"nl":"Spawn een embed met knoppen.",
|
||||||
"ro":"Deschide un embed cu butoane.",
|
"ro":"Deschide un embed cu butoane.",
|
||||||
"de":"Sendet ein Embed mit Knöpfen.",
|
"de":"Sendet ein Embed mit Knöpfen.",
|
||||||
@@ -45,6 +48,7 @@
|
|||||||
"close":{
|
"close":{
|
||||||
"en-GB":"Close a ticket.",
|
"en-GB":"Close a ticket.",
|
||||||
"en-US":"Close a ticket.",
|
"en-US":"Close a ticket.",
|
||||||
|
"no":"Lukk ticket.",
|
||||||
"nl":"Sluit een ticket",
|
"nl":"Sluit een ticket",
|
||||||
"ro":"Inchide un ticket.",
|
"ro":"Inchide un ticket.",
|
||||||
"de":"Schließe ein Ticket.",
|
"de":"Schließe ein Ticket.",
|
||||||
@@ -58,6 +62,7 @@
|
|||||||
"delete":{
|
"delete":{
|
||||||
"en-GB":"Delete a ticket.",
|
"en-GB":"Delete a ticket.",
|
||||||
"en-US":"Delete a ticket.",
|
"en-US":"Delete a ticket.",
|
||||||
|
"no":"Slett ticket.",
|
||||||
"nl":"Verwijder een ticket",
|
"nl":"Verwijder een ticket",
|
||||||
"ro":"Sterge un ticket.",
|
"ro":"Sterge un ticket.",
|
||||||
"de":"Lösche ein Ticket.",
|
"de":"Lösche ein Ticket.",
|
||||||
@@ -71,6 +76,7 @@
|
|||||||
"reopen":{
|
"reopen":{
|
||||||
"en-GB":"Re-Open a ticket.",
|
"en-GB":"Re-Open a ticket.",
|
||||||
"en-US":"Re-Open a ticket.",
|
"en-US":"Re-Open a ticket.",
|
||||||
|
"no":"Gjenåpne ticket.",
|
||||||
"nl":"Heropen een ticket.",
|
"nl":"Heropen een ticket.",
|
||||||
"ro":"Re-deschide un ticket.",
|
"ro":"Re-deschide un ticket.",
|
||||||
"de":"Wiedereröffnung eines Tickets.",
|
"de":"Wiedereröffnung eines Tickets.",
|
||||||
@@ -84,6 +90,7 @@
|
|||||||
"add":{
|
"add":{
|
||||||
"en-GB":"Add another user to a ticket.",
|
"en-GB":"Add another user to a ticket.",
|
||||||
"en-US":"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.",
|
"nl":"Voeg een andere user toe aan een ticket.",
|
||||||
"ro":"Adauga un utilizator la acest ticket.",
|
"ro":"Adauga un utilizator la acest ticket.",
|
||||||
"de":"Füge einen anderen Nutzer zum Ticket hinzu.",
|
"de":"Füge einen anderen Nutzer zum Ticket hinzu.",
|
||||||
@@ -97,6 +104,7 @@
|
|||||||
"remove":{
|
"remove":{
|
||||||
"en-GB":"Remove a user from a ticket.",
|
"en-GB":"Remove a user from a ticket.",
|
||||||
"en-US":"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.",
|
"nl":"Verwijder een user van een ticket.",
|
||||||
"ro":"Sterge un utilizator dintr-un ticket.",
|
"ro":"Sterge un utilizator dintr-un ticket.",
|
||||||
"de":"Entferne einen Nutzer von dem Ticket.",
|
"de":"Entferne einen Nutzer von dem Ticket.",
|
||||||
@@ -110,6 +118,7 @@
|
|||||||
"newticket":{
|
"newticket":{
|
||||||
"en-GB":"Create a ticket",
|
"en-GB":"Create a ticket",
|
||||||
"en-US":"Create a ticket",
|
"en-US":"Create a ticket",
|
||||||
|
"no":"Lag en ny ticket",
|
||||||
"nl":"Maak een ticket aan",
|
"nl":"Maak een ticket aan",
|
||||||
"ro":"Creeaza un ticket.",
|
"ro":"Creeaza un ticket.",
|
||||||
"de":"Erstelle ein Ticket.",
|
"de":"Erstelle ein Ticket.",
|
||||||
@@ -123,6 +132,7 @@
|
|||||||
"rename":{
|
"rename":{
|
||||||
"en-GB":"Rename a ticket channel.",
|
"en-GB":"Rename a ticket channel.",
|
||||||
"en-US":"Rename a ticket channel.",
|
"en-US":"Rename a ticket channel.",
|
||||||
|
"no":"Gi nytt navn til ticket kanalen.",
|
||||||
"nl":"Hernoem een ticket channel.",
|
"nl":"Hernoem een ticket channel.",
|
||||||
"ro":"Redenumeste un ticket.",
|
"ro":"Redenumeste un ticket.",
|
||||||
"de":"Benenne einen Ticket Channel.",
|
"de":"Benenne einen Ticket Channel.",
|
||||||
@@ -136,6 +146,7 @@
|
|||||||
"claim":{
|
"claim":{
|
||||||
"en-GB":"Claim a ticket.",
|
"en-GB":"Claim a ticket.",
|
||||||
"en-US":"Claim a ticket.",
|
"en-US":"Claim a ticket.",
|
||||||
|
"no":"Overta ticket.",
|
||||||
"nl":"Claim een ticket.",
|
"nl":"Claim een ticket.",
|
||||||
"ro":" ",
|
"ro":" ",
|
||||||
"de":" ",
|
"de":" ",
|
||||||
@@ -149,6 +160,7 @@
|
|||||||
"unclaim":{
|
"unclaim":{
|
||||||
"en-GB":"Un-claim a ticket.",
|
"en-GB":"Un-claim a ticket.",
|
||||||
"en-US":"Un-claim a ticket.",
|
"en-US":"Un-claim a ticket.",
|
||||||
|
"no":"Frigjør ticket.",
|
||||||
"nl":"Ontclaim een ticket.",
|
"nl":"Ontclaim een ticket.",
|
||||||
"ro":" ",
|
"ro":" ",
|
||||||
"de":" ",
|
"de":" ",
|
||||||
@@ -162,6 +174,7 @@
|
|||||||
"category":{
|
"category":{
|
||||||
"en-GB":"Change ticket type.",
|
"en-GB":"Change ticket type.",
|
||||||
"en-US":"Change ticket type.",
|
"en-US":"Change ticket type.",
|
||||||
|
"no":"Endre ticket type.",
|
||||||
"nl":"Verander ticket type.",
|
"nl":"Verander ticket type.",
|
||||||
"ro":" ",
|
"ro":" ",
|
||||||
"de":" ",
|
"de":" ",
|
||||||
@@ -173,4 +186,4 @@
|
|||||||
"tr":"Bilet türünü değiştir."
|
"tr":"Bilet türünü değiştir."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"n1kkec#5341",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Napačen argument!",
|
"missingArgsTitle":"Napačen argument!",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"Redactado#1673 & josuens14#5267",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"¡Argumentos inválidos!",
|
"missingArgsTitle":"¡Argumentos inválidos!",
|
||||||
|
|||||||
+53
-53
@@ -1,101 +1,101 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"Mods HD#0661",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"อาร์กิวเมนต์ไม่ถูกต้อง!",
|
"missingArgsTitle":"อาร์กิวเมนต์ไม่ถูกต้อง!",
|
||||||
"missingArgsDescription":"อาร์กิวเมนต์ไม่ครบ",
|
"missingArgsDescription":"ขาดอาร์กิวเมนต์",
|
||||||
"noPermsTitle":"ไม่มีสิทธิ์!",
|
"noPermsTitle":"ไม่มีสิทธิ์!",
|
||||||
"noPermsDescription":"คุณต้องมีสิทธิ์ ADMINISTRATOR หรืออยู่ในรายชื่อบทบาทที่อนุญาต!",
|
"noPermsDescription":"คุณต้องมีสิทธิ์ `ADMINISTRATOR` หรืออยู่ในรายการบทบาทที่ได้รับอนุญาต!",
|
||||||
"noPermsDelete":"เฉพาะผู้ดูแลระบบเท่านั้นที่สามารถลบตั๋วได้!",
|
"noPermsDelete":"เฉพาะผู้ดูแลระบบเท่านั้นที่สามารถลบตั๋วได้!",
|
||||||
"chooseFromListTitle":"ID ไม่ถูกต้อง",
|
"chooseFromListTitle":"ID ไม่ถูกต้อง",
|
||||||
"chooseFromListDescription":"เลือกหนึ่งใน ID ด้านล่าง:",
|
"chooseFromListDescription":"เลือกหนึ่งใน ID ด้านล่าง:",
|
||||||
"boterror":"ข้อผิดพลาดของบอท!",
|
"boterror":"ข้อผิดพลาดของบอท!",
|
||||||
"notInTicketTitle":"คุณไม่ได้อยู่ในตั๋ว!",
|
"notInTicketTitle":"คุณไม่ได้อยู่ในตั๋ว!",
|
||||||
"notInTicketDescription":"คำสั่งนี้ไม่สามารถทำงานนอกตั๋วได้!",
|
"notInTicketDescription":"คำสั่งนี้ไม่ทำงานนอกตั๋ว!",
|
||||||
"ticketDoesntExist":"ตั๋วนี้ไม่มีอยู่แล้ว!",
|
"ticketDoesntExist":"ตั๋วนี้ไม่มีอีกแล้ว!",
|
||||||
"roleDoesntExist":"บทบาทนี้ไม่มีอยู่แล้ว!",
|
"roleDoesntExist":"บทบาทนี้ไม่มีอีกแล้ว!",
|
||||||
"anotherOption":"ตัวเลือกนี้ไม่ใช่ตั๋วแต่เป็นประเภทอื่น!",
|
"anotherOption":"ตัวเลือกนี้ไม่ใช่ตั๋ว แต่เป็นประเภทอื่น!",
|
||||||
"maxAmountTitle":"จำนวนสูงสุดแล้ว!",
|
"maxAmountTitle":"ถึงจำนวนสูงสุดแล้ว!",
|
||||||
"maxAmountDescription":"คุณได้สร้างตั๋วครบจำนวนที่เราให้สร้างไว้แล้ว\nดังนั้นคุณไม่สามารถสร้างตั๋วใหม่ได้!",
|
"maxAmountDescription":"คุณได้ถึงจำนวนสูงสุดของตั๋วที่อนุญาต!\nดังนั้นคุณไม่สามารถสร้างใหม่ได้!",
|
||||||
"somethingWentWrong":"เกิดข้อผิดพลาดบางอย่าง!\nโปรดลองอีกครั้งในครั้งถัดไป!"
|
"somethingWentWrong":"**มีบางอย่างผิดพลาด!**\nกรุณาลองอีกครั้งในภายหลัง!"
|
||||||
},
|
},
|
||||||
"commands":{
|
"commands":{
|
||||||
"userAddedTitle":"เพิ่ม {0} เข้าสู่ตั๋วนี้แล้ว!",
|
"userAddedTitle":"เพิ่ม {0} ในตั๋วนี้!",
|
||||||
"userRemovedTitle":"นำ {0} ออกจากตั๋วนี้แล้ว!",
|
"userRemovedTitle":"ลบ {0} ออกจากตั๋วนี้!",
|
||||||
"renameTitle":"เปลี่ยนชื่อเป็น {0}!",
|
"renameTitle":"เปลี่ยนชื่อเป็น {0}!",
|
||||||
"closeTitle":"ปิดตั๋วนี้!",
|
"closeTitle":"ปิดตั๋วนี้!",
|
||||||
"deleteTitle":"กำลังลบตั๋วนี้...",
|
"deleteTitle":"กำลังลบตั๋วนี้...",
|
||||||
"reopenTitle":"เปิดตั๋วนี้ใหม่!",
|
"reopenTitle":"เปิดตั๋วนี้อีกครั้ง!",
|
||||||
|
|
||||||
"claimTitle":"ตั๋วนี้ถูกเรียกเก็บโดย {0}",
|
"claimTitle":"ตั๋วนี้ถูกเรียกขึ้นโดย {0}",
|
||||||
"unclaimTitle":"ไม่มีการเรียกเก็บตั๋วนี้อีกต่อไป!",
|
"unclaimTitle":"ตั๋วนี้ไม่ได้ถูกเรียกขึ้นแล้ว!",
|
||||||
"changeTitle":"เปลี่ยนประเภทตั๋วเป็น {0}!",
|
"changeTitle":"เปลี่ยนประเภทตั๋วเป็น {0}!",
|
||||||
|
|
||||||
"statsTitle":"นี่คือสถิติสำหรับ {0}!",
|
"statsTitle":"นี่คือสถิติสำหรับ {0}!",
|
||||||
"autocloseTitle":"ตั๋วนี้จะถูกปิดอัตโนมัติหลังจาก {0}!",
|
"autocloseTitle":"ตั๋วนี้จะถูกปิดอัตโนมัติหลังจาก {0}!",
|
||||||
"autocloseRejectTitle":"ตั๋วนี้จะไม่ถูกปิดอัตโนมัติอีกต่อไป!",
|
"autocloseRejectTitle":"ตั๋วนี้จะไม่ถูกปิดอัตโนมัติอีกต่อไป!",
|
||||||
"autocloseWarn":"สิ่งนี้มีผลต่อตั๋วที่ไม่มีการเคลื่อนไหว!",
|
"autocloseWarn":"ส่วนนี้มีผลกับตั๋วที่ไม่ได้ใช้งาน!",
|
||||||
|
|
||||||
"goToTicket":"ไปยังตั๋ว",
|
"goToTicket":"ไปที่ตั๋ว",
|
||||||
"ticketWarning":"Embed อยู่ในข้อความข้างล่าง",
|
"ticketWarning":"Embed อยู่ในข้อความด้านล่าง!",
|
||||||
"maxTicketWarning":"**คำเตือน:** _คุณสามารถสร้างตั๋วได้สูงสุด {0} ตั๋วต่อครั้ง!_"
|
"maxTicketWarning":"**คำเตือน:** _คุณสามารถสร้างได้ {0} ตั๋วในครั้งเดียว!_"
|
||||||
},
|
},
|
||||||
"helpMenu":{
|
"helpMenu":{
|
||||||
"title":"คำสั่งที่มีอยู่:",
|
"title":"คำสั่งที่ใช้ได้:",
|
||||||
"header1":"**ไปที่ {0} เพื่อสร้างตั๋ว!**\n\n",
|
"header1":"**ไปที่ {0} เพื่อสร้างตั๋ว!**\n\n",
|
||||||
"header2":"**ใช้คำสั่ง `/new` หรือ `/ticket` เพื่อสร้างตั๋ว!**\n\n",
|
"header2":"**ใช้คำสั่ง `/new` หรือ `/ticket` เพื่อสร้างตั๋ว!**\n\n",
|
||||||
|
|
||||||
"msgCmd":"แสดง Embed พร้อมปุ่ม (สำหรับแอดมินเท่านั้น)",
|
"msgCmd":"สร้าง embed พร้อมปุ่ม (เฉพาะผู้ดูแลระบบ)",
|
||||||
"renameCmd":"เปลี่ยนชื่อตั๋ว (ห้ามมีช่องว่าง)",
|
"renameCmd":"เปลี่ยนชื่อตั๋ว (ไม่มีช่องว่าง)",
|
||||||
"closeCmd":"ปิดตั๋ว",
|
"closeCmd":"ปิดตั๋ว",
|
||||||
"deleteCmd":"ลบตั๋ว",
|
"deleteCmd":"ลบตั๋ว",
|
||||||
"addCmd":"เพิ่มผู้ใช้เข้าสู่ตั๋ว",
|
"addCmd":"เพิ่มผู้ใช้ในตั๋ว",
|
||||||
"removeCmd":"นำผู้ใช้ออกจากตั๋ว",
|
"removeCmd":"ลบผู้ใช้ออกจากตั๋ว",
|
||||||
"reopenCmd":"เปิดตั๋วใหม่หลังจากถูกปิด",
|
"reopenCmd":"เปิดตั๋วอีกครั้งหลังจากถูกปิด",
|
||||||
"changeCmd":"เปลี่ยนประเภทตั๋ว",
|
"changeCmd":"เปลี่ยนประเภทตั๋ว",
|
||||||
"claimCmd":"เรียกเก็บตั๋ว",
|
"claimCmd":"เรียกขึ้นตั๋ว",
|
||||||
"unclaimCmd":"ยกเลิกการเรียกเก็บตั๋ว",
|
"unclaimCmd":"ยกเลิกการเรียกขึ้นตั๋ว",
|
||||||
"statsCmd":"ดูสถิติของตั๋ว",
|
"statsCmd":"ดูสถิติตั๋ว",
|
||||||
"autocloseCmd":"ตั้งเวลาปิดตั๋วโดยอัตโนมัติ"
|
"autocloseCmd":"ตั้งค่าการปิดตั๋วอัตโนมัติ"
|
||||||
},
|
},
|
||||||
"buttons":{
|
"buttons":{
|
||||||
"close":"ปิดตั๋ว",
|
"close":"ปิดตั๋ว",
|
||||||
"delete":"ลบตั๋ว",
|
"delete":"ลบตั๋ว",
|
||||||
"reopen":"เปิดตั๋วใหม่",
|
"reopen":"เปิดตั๋วอีกครั้ง",
|
||||||
"closeWithReason":"ปิดตั๋วพร้อมเหตุผล"
|
"closeWithReason":"ปิดด้วยเหตุผล"
|
||||||
},
|
},
|
||||||
"messages":{
|
"messages":{
|
||||||
"closedDescription":"ตอนนี้เฉพาะผู้ดูแลเท่านั้นที่สามารถพูดได้ในตั๋วนี้!\n\n*คลิกที่ปุ่มด้านล่างเพื่อลบหรือเปิดตั๋วใหม่!*",
|
"closedDescription":"เฉพาะผู้ดูแลระบบเท่านั้นที่สามารถพูดคุยในตั๋วนี้ได้!\n\n*คลิกที่ปุ่มด้านล่างเพื่อลบหรือเปิดตั๋วนี้อีกครั้ง!*",
|
||||||
"createdTitle":"สร้างตั๋วแล้ว!",
|
"createdTitle":"สร้างตั๋วแล้ว!",
|
||||||
"createdDescription":"ตั๋วของคุณถูกสร้างเรียบร้อยแล้ว คุณจะได้รับการแจ้งเตือนด้วยการพิมพ์ข้อความด้วย @ ตามตั๋วของคุณ!",
|
"createdDescription":"ตั๋วของคุณถูกสร้างแล้ว คุณสามารถตรวจสอบได้จากการแจ้งเตือน!",
|
||||||
|
|
||||||
"newTicketDmTitle":"ตั๋วใหม่!",
|
"newTicketDmTitle":"ตั๋วใหม่!",
|
||||||
"closedTicketDmTitle":"ตั๋วถูกปิด!",
|
"closedTicketDmTitle":"ปิดตั๋ว!",
|
||||||
"deletedTicketDmTitle":"ตั๋วถูกลบ!",
|
"deletedTicketDmTitle":"ลบตั๋ว!",
|
||||||
"closedTicketDmDescription":"ตั๋วของคุณถูกปิด!",
|
"closedTicketDmDescription":"ตั๋วของคุณถูกปิด!",
|
||||||
"deletedTicketDmDescription":"ตั๋วของคุณถูกลบ!",
|
"deletedTicketDmDescription":"ตั๋วของคุณถูกลบ!",
|
||||||
"reopenTicketDmTitle":"ตั๋วถูกเปิดใหม่!",
|
"reopenTicketDmTitle":"เปิดตั๋วอีกครั้ง!",
|
||||||
"reopenTicketDmDescription":"ตั๋วของคุณถูกเปิดใหม่!",
|
"reopenTicketDmDescription":"ตั๋วของคุณถูกเปิดอีกครั้ง!",
|
||||||
|
|
||||||
"chooseCategory":"เลือกหมวดหมู่:",
|
"chooseCategory":"เลือกหมวดหมู่:",
|
||||||
"gettingdeleted":"กำลังลบตั๋ว...",
|
"gettingdeleted":"กำลังลบตั๋ว...",
|
||||||
|
|
||||||
"none":"ไม่มี",
|
"none":"ไม่มี",
|
||||||
"reason":"เหตุผล",
|
"reason":"เหตุผล",
|
||||||
"createdat":"สร้างเมื่อ",
|
"createdat":"สร้างเมื่อ",
|
||||||
"openedby":"เปิดโดย",
|
"openedby":"เปิดโดย",
|
||||||
"deletedby":"ลบโดย",
|
"deletedby":"ถูกลบโดย",
|
||||||
"closedby":"ปิดโดย",
|
"closedby":"ถูกปิดโดย",
|
||||||
|
|
||||||
"modalreason":"เหตุผลที่ต้องการปิดตั๋ว?",
|
"modalreason":"เหตุผลในการปิดตั๋วนี้คืออะไร?",
|
||||||
"chooseATicket": "เลือกตั๋ว"
|
"chooseATicket": "เลือกตั๋ว"
|
||||||
},
|
},
|
||||||
"transcripts":{
|
"transcripts":{
|
||||||
"title":"บันทึกข้อความ",
|
"title":"บันทึกการสนทนา",
|
||||||
"processed":"กำลังประมวลผลบันทึกข้อความ",
|
"processed":"บันทึกการสนทนากำลังดำเนินการ",
|
||||||
"wait":"โปรดรอสักครู่!",
|
"wait":"กรุณารอ!",
|
||||||
"estimated":"เวลาโดยประมาณ",
|
"estimated":"เวลาโดยประมาณ",
|
||||||
"available":"บันทึกข้อความพร้อมใช้งานที่นี่"
|
"available":"บันทึกการสนทนาสามารถใช้งานได้ที่นี่"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"_CREDITS":"Hydrâelčhâvø#1575",
|
"_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.2",
|
||||||
|
|
||||||
"errors":{
|
"errors":{
|
||||||
"missingArgsTitle":"Geçersiz argümanlar!",
|
"missingArgsTitle":"Geçersiz argümanlar!",
|
||||||
|
|||||||
@@ -0,0 +1,101 @@
|
|||||||
|
{
|
||||||
|
"_CREDITS":"Anderskiy#4093",
|
||||||
|
"_INFO":"Цей файл є перекладом для open ticket 3.4.2",
|
||||||
|
|
||||||
|
"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":"Транскрипція доступна тут"
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 65 KiB |
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "open-ticket",
|
"name": "open-ticket",
|
||||||
"version": "3.4.0",
|
"version": "3.4.2",
|
||||||
"description": "This is an open-source discord ticket bot, you can configure it and it comes with cool features like a transcript.",
|
"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",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user