Compare commits

...
2 Commits
Author SHA1 Message Date
Jasper e2e1e19bc8 Open Ticket v3.4.3
Open Ticket v3.4.3
2023-08-30 17:23:21 +02:00
DJj123dj 5f19adf561 v3.4.3 2023-08-30 17:22:26 +02:00
32 changed files with 91 additions and 60 deletions
+4 -3
View File
@@ -10,10 +10,11 @@ Support for Open Ticket is only available for the versions specified below!
| Version | Supported |
|-----------|-------------------|
| 3.4.3 | ✅ |
| 3.4.2 | ✅ |
| 3.4.0 | ✅ |
| 3.3.3 | 🟧 |
| < 3.3.3 | ❌ |
| 3.4.1 | ✅ |
| 3.4.0 | 🟧 |
| < 3.4.0 | ❌ |
## Reporting a Vulnerability
+9 -2
View File
@@ -1,6 +1,13 @@
# Coming Soon: OPEN TICKET v4.0 🎉
Open Ticket v4 is open ticket, but writting from the ground up! For the first time ever!
There will be a massive improvement with the API that allows for plugins 30 times more advanced than the current ones! It will also be more stable and faster!
It is expected to have a public beta release somewhere around 30 September!
<hr>
<img src="https://www.dj-dj.be/wp-content/uploads/2023/02/open-ticket-cropped.png" alt="Open Ticket" width="600px">
[![discord](https://img.shields.io/badge/discord-join%20our%20server-5865F2.svg?style=flat-square&logo=discord)](https://discord.com/invite/26vT9wt3n3) [![version](https://img.shields.io/badge/version-3.4.2-brightgreen.svg?style=flat-square)](https://github.com/DJj123dj/open-ticket/releases/tag/v3.4.2) [![discord.js](https://img.shields.io/badge/discord.js-v14-CB3837.svg?style=flat-square&logo=npm)]() [![license](https://img.shields.io/badge/license-GPL%203.0-important.svg?style=flat-square)](https://github.com/DJj123dj/open-ticket/blob/main/LICENSE) [![stars](https://img.shields.io/github/stars/djj123dj/open-ticket?color=yellow&label=stars&logo=github&style=flat-square)](https://docs.openticket.dj-dj.be)
[![discord](https://img.shields.io/badge/discord-join%20our%20server-5865F2.svg?style=flat-square&logo=discord)](https://discord.com/invite/26vT9wt3n3) [![version](https://img.shields.io/badge/version-3.4.3-brightgreen.svg?style=flat-square)](https://github.com/DJj123dj/open-ticket/releases/tag/v3.4.3) [![discord.js](https://img.shields.io/badge/discord.js-v14-CB3837.svg?style=flat-square&logo=npm)]() [![license](https://img.shields.io/badge/license-GPL%203.0-important.svg?style=flat-square)](https://github.com/DJj123dj/open-ticket/blob/main/LICENSE) [![stars](https://img.shields.io/github/stars/djj123dj/open-ticket?color=yellow&label=stars&logo=github&style=flat-square)](https://docs.openticket.dj-dj.be)
### Open Ticket
Open Ticket is the most customisable discord ticket bot that you will ever find! There are more than 150 options to customise in the config! This includes html transcripts, unlimited amount of tickets, custom embeds & more! Did you know that even the html transcripts are highly customisable? Don't wait and check it out! If you're having trouble setting the bot up, feel free to join our support server and we will help you further!
@@ -64,7 +71,7 @@ Translators
|Ukrainian |anderskiy |
## links
current version: _v3.4.2_
current version: _v3.4.3_
</br>changelog: [click here](https://docs.openticket.dj-dj.be/other/changelog)
</br>documentation: [click here](https://docs.openticket.dj-dj.be/quick-start)
+32 -19
View File
@@ -14,6 +14,7 @@ module.exports = () => {
if (!DISABLE.commands.text.change) client.on("messageCreate", async msg => {
if (!msg.content.startsWith(config.prefix+"change")) return
if (!msg.channel.isTextBased()) return
if (!msg.guild) return
if (!permsChecker.command(msg.author.id,msg.guild.id)){
@@ -26,14 +27,20 @@ module.exports = () => {
const ticketId = hiddendata.find(d => d.key == "type").value
const list = []
config.options.forEach((o) => list.push(o.id))
config.options.forEach((o) => {
if (o.type == "ticket") list.push(o.id)
})
var newtype = msg.content.split(config.prefix+"change")[1].substring(1)
if (!newtype) return msg.channel.send({embeds:[bot.errorLog.invalidIdChooseFromList(list,l.errors.missingArgsDescription+" `<type>`:\n`"+config.prefix+"change <type>`")]})
const newTicket = require("../core/utils/configParser").getTicketById(newtype)
const newTicket = require("../core/utils/configParser").getTicketById(newtype,true)
if (!newTicket) return msg.channel.send({embeds:[bot.errorLog.invalidIdChooseFromList(list,l.errors.missingArgsDescription+" `<type>`:\n`"+config.prefix+"change <type>`")]})
/**@type {discord.PermissionOverwriteManager} */
const prePermsManager = msg.channel.permissionOverwrites
const prePerms = prePermsManager.cache
/**@type {String} */
var chName = msg.channel.name
const splitted = chName.split("-")
@@ -45,7 +52,17 @@ module.exports = () => {
if (parent && parent.type == discord.ChannelType.GuildCategory) msg.channel.setParent(parent)
}
msg.channel.setName(newTicket.channelprefix+name)
prePermsManager.set(prePerms)
msg.channel.setName(newTicket.channelprefix+name).catch(() => {
msg.channel.send({embeds:[bot.errorLog.failedRenameChannel]})
})
hiddendata.find((value,index) => {
if (value.key == "type"){
hiddendata[index] = {key:"type",value:newtype}
}
})
msg.channel.send({embeds:[bot.embeds.commands.changeEmbed(msg.author,newtype)]})
log("command","someone used the 'change' command",[{key:"user",value:msg.author.username}])
@@ -56,6 +73,7 @@ module.exports = () => {
if (!DISABLE.commands.slash.change) client.on("interactionCreate",async (interaction) => {
if (!interaction.isChatInputCommand()) return
if (interaction.commandName != "change") return
if (!interaction.channel.isTextBased()) return
if (!interaction.guild) return
if (!permsChecker.command(interaction.user.id,interaction.guild.id)){
@@ -69,7 +87,9 @@ module.exports = () => {
const ticketId = hiddendata.find(d => d.key == "type").value
const list = []
config.options.forEach((o) => list.push(o.id))
config.options.forEach((o) => {
if (o.type == "ticket") list.push(o.id)
})
var newtype = interaction.options.getString("type",true)
const newTicket = require("../core/utils/configParser").getTicketById(newtype,true)
@@ -91,23 +111,16 @@ module.exports = () => {
if (parent && parent.type == discord.ChannelType.GuildCategory) interaction.channel.setParent(parent)
}
await prePermsManager.set(prePerms)
interaction.channel.setName(newTicket.channelprefix+name)
var newHiddendata = hiddendata.data
newHiddendata.find((value,index) => {
if (value.key == "type"){
newHiddendata[index] = {key:"type",value:newtype}
}
prePermsManager.set(prePerms)
interaction.channel.setName(newTicket.channelprefix+name).catch(() => {
interaction.channel.send({embeds:[bot.errorLog.failedRenameChannel]})
})
const prevDescription = bot.hiddenData.removeHiddenData(firstmsg.embeds[0].description).description
const newData = bot.hiddenData.writeHiddenData("ticketdata",newHiddendata)
const newDescription = prevDescription+newData
const newEmbed = new discord.EmbedBuilder(firstmsg.embeds[0].data)
.setDescription(newDescription)
firstmsg.edit({embeds:[newEmbed]})
hiddendata.find((value,index) => {
if (value.key == "type"){
hiddendata[index] = {key:"type",value:newtype}
}
})
interaction.editReply({embeds:[bot.embeds.commands.changeEmbed(interaction.user,newtype)]})
+14 -9
View File
@@ -14,7 +14,7 @@ const DISABLE = require("../core/api/api.json").disable
module.exports = () => {
bot.errorLog.log("debug","COMMANDS: loaded claim.js")
if (!DISABLE.commands.text.claim) client.on("messageCreate",msg => {
if (!DISABLE.commands.text.claim) client.on("messageCreate", async msg => {
if (!msg.content.startsWith(config.prefix+"claim")) return
var user = msg.mentions.users.first()
@@ -34,14 +34,19 @@ module.exports = () => {
bot.hiddenData.writeHiddenData(msg.channel.id,hiddendata)
storage.set("claimData",msg.channel.id,claimingUser.id)
const newEmbed = new embed(firstmsg.embeds[0].data)
.setFooter({text:"claimed by: "+msg.author.username,iconURL:msg.author.displayAvatarURL()})
await msg.channel.messages.fetchPinned().then(msglist => {
var firstmsg = msglist.last()
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return msg.channel.send({embeds:[bot.errorLog.notInATicket]})
if (firstmsg.components[0].components[1] && firstmsg.components[0].components[1].disabled){
firstmsg.edit({components:[bot.buttons.firstmsg.firstmsgRowDisabledNoClaim],embeds:[newEmbed]})
}else{
firstmsg.edit({components:[bot.buttons.firstmsg.firstmsgRowNormalNoClaim],embeds:[newEmbed]})
}
const newEmbed = new embed(firstmsg.embeds[0].data)
.setFooter({text:"claimed by: "+msg.author.username,iconURL:msg.author.displayAvatarURL()})
if (firstmsg.components[0].components[1] && firstmsg.components[0].components[1].disabled){
firstmsg.edit({components:[bot.buttons.firstmsg.firstmsgRowDisabledNoClaim],embeds:[newEmbed]})
}else{
firstmsg.edit({components:[bot.buttons.firstmsg.firstmsgRowNormalNoClaim],embeds:[newEmbed]})
}
})
msg.channel.send({embeds:[bot.embeds.commands.claimEmbed(claimingUser,msg.author)]})
@@ -74,7 +79,7 @@ module.exports = () => {
bot.hiddenData.writeHiddenData(interaction.channel.id,hiddendata)
storage.set("claimData",interaction.channel.id,user.id)
interaction.channel.messages.fetchPinned().then(msglist => {
await interaction.channel.messages.fetchPinned().then(msglist => {
var firstmsg = msglist.last()
if (firstmsg == undefined || firstmsg.author.id != client.user.id) return msg.channel.send({embeds:[bot.errorLog.notInATicket]})
+1 -1
View File
@@ -38,7 +38,7 @@ module.exports = () => {
}
if (args[1]){
if (!args[1].startsWith("close") && !args[1].startsWith("delete") && !args[1].startsWith("remove") && !args[1].startsWith("add") && !args[1].startsWith("msg") && !args[1].startsWith("remove") && !args[1].startsWith("rename") && !args[1].startsWith("reopen")){
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") && !args[1].startsWith("change") && !args[1].startsWith("claim") && !args[1].startsWith("unclaim")){
msg.channel.send({embeds:[helpEmbed]})
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())
+1 -1
View File
@@ -111,7 +111,7 @@
"dropdown":false,
"enableFooter":false,
"footer":"Open Ticket v3.4.2 - I'm a footer!",
"footer":"Open Ticket v3.4.3 - I'm a footer!",
"enableFooterImage":false,
"footerImage":"https://www.example.com/catmemes/cat.png",
+5
View File
@@ -58,6 +58,11 @@ exports.invalidIdChooseFromList = (list,message) => {
return x
}
exports.failedRenameChannel = new embed()
.setColor(c.Red)
.setTitle(":x: Failed to rename channel")
.setDescription("Discord channels can only be renamed twice every 10 minutes! Open Ticket can't do anything about this error!")
exports.notInATicket = new embed()
.setColor(c.Red)
.setTitle(":x: "+l.errors.notInTicketTitle)
+1 -1
View File
@@ -10,7 +10,7 @@ const storage = require("../../index").storage
exports.readHiddenData = (channelid) => {
const content = storage.get("HIDDENDATA",channelid)
if (!content) return {type:"",data:[],status:false}
if (!content) return []
try {
return JSON.parse(content)
+1 -1
View File
@@ -189,7 +189,7 @@ exports.liveStatusUploadManager = async (err) => {
//system:config.system
},
language:config.languageFile,
version:"3.4.2",
version:"3.4.3",
slashcmds:slashMode,
transcripts:transcriptMode,
plugins:fs.readdirSync("./plugins"),
+1 -1
View File
@@ -28,7 +28,7 @@
INFORMATION:
============
Open Ticket v3.4.2 - © DJdj Development
Open Ticket v3.4.3 - © DJdj Development
discord: https://discord.dj-dj.be
website: https://www.dj-dj.be
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"ChilledBroke#9986 & M4#5882",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors": {
"missingArgsTitle": "قيمة غير صالحة!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"DJdj Development",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Invalid Arguments!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"t0miiis#3022",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Neplatny Argument!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"the_gamer#5095",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors": {
"missingArgsTitle": "Ugyldigt Argument!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"DJj123dj#1706",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Onjuiste parameters!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"DJdj Development",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Invalid Arguments!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Sanke#6086",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Arguments invalides!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"david.#8276 ",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Ungültiges Argument!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"ꙅoᴎɒᎸɘƚꙅ#3744",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Invalid Arguments!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Snowy",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Hibás paraméterek!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Maurizio#0268",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Argomenti non validi!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"NoOneNook#0266",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Ugyldige argumenter!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"MKevas#8311",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Nieprawidłowe argumenty!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"QuirAddon#9778",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Argumentos inválidos!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Sanke#6086",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Argumente Invalide",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Apexo#0723",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Неверные аргументы!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"n1kkec#5341",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Napačen argument!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Redactado#1673 & josuens14#5267",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"¡Argumentos inválidos!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Mods HD#0661",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"อาร์กิวเมนต์ไม่ถูกต้อง!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Hydrâelčhâvø#1575",
"_INFO":"This file is a translation for open ticket 3.4.2",
"_INFO":"This file is a translation for open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Geçersiz argümanlar!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"_CREDITS":"Anderskiy#4093",
"_INFO":"Цей файл є перекладом для open ticket 3.4.2",
"_INFO":"Цей файл є перекладом для open ticket 3.4.3",
"errors":{
"missingArgsTitle":"Невірні аргументи!",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "open-ticket",
"version": "3.4.2",
"version": "3.4.3",
"description": "This is an open-source discord ticket bot, you can configure it and it comes with cool features like a transcript.",
"main": "index.js",
"scripts": {