diff --git a/README.md b/README.md index 0b2f840..cbff836 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ Open Ticket -[![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.3.0-brightgreen.svg?style=flat-square)](https://github.com/DJj123dj/open-ticket/releases/tag/v3.3.0) [![discord.js](https://img.shields.io/badge/discord.js-v14-CB3837.svg?style=flat-square&logo=npm)]() [![license](https://img.shields.io/badge/license-GPL%203.0-important.svg?style=flat-square)](https://github.com/DJj123dj/open-ticket/blob/main/LICENSE) [![stars](https://img.shields.io/github/stars/djj123dj/open-ticket?color=yellow&label=stars&logo=github&style=flat-square)](https://docs.openticket.dj-dj.be) +[![discord](https://img.shields.io/badge/discord-join%20our%20server-5865F2.svg?style=flat-square&logo=discord)](https://discord.com/invite/26vT9wt3n3) [![version](https://img.shields.io/badge/version-3.3.1-brightgreen.svg?style=flat-square)](https://github.com/DJj123dj/open-ticket/releases/tag/v3.3.1) [![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 of the most customisable discord ticket bots of all time! @@ -62,7 +62,7 @@ Translators |Slovenian |n1kkec#5341 | ## links -current version: _v3.3.0_ +current version: _v3.3.1_
changelog: [click here](https://docs.openticket.dj-dj.be/other/changelog)
documentation: [click here](https://docs.openticket.dj-dj.be/quick-start) diff --git a/config.json b/config.json index a2ec616..429077e 100644 --- a/config.json +++ b/config.json @@ -101,7 +101,7 @@ "dropdown":false, "enableFooter":false, - "footer":"Open Ticket v3.3.0 - I'm a footer!", + "footer":"Open Ticket v3.3.1 - I'm a footer!", "enableThumbnail":false, "thumbnail":"https://www.example.com/catmemes/cat.png", diff --git a/core/ticketActions/ticketAutoclose.js b/core/ticketActions/ticketAutoclose.js index 62e6e4f..9cd66f6 100644 --- a/core/ticketActions/ticketAutoclose.js +++ b/core/ticketActions/ticketAutoclose.js @@ -8,41 +8,48 @@ const storage = bot.storage module.exports = () => { setInterval(async () => { - const tickets = storage.getCategory("autocloseTickets") - if (!tickets) return - tickets.forEach(async (t) => { - if (t.value == "false" || t.value == 0 || typeof t.value != "number") return - const channel = await client.channels.fetch(t.key,{cache:true}) - if (!channel || !channel.isTextBased()) return + try{ + const tickets = storage.getCategory("autocloseTickets") + if (!tickets) return + tickets.forEach(async (t) => { + if (t.value == "false" || t.value == 0 || typeof t.value != "number") return + try{ + + const channel = await client.channels.fetch(t.key,{cache:true}) + if (!channel || !channel.isTextBased()) return - const message = (await channel.messages.fetch({limit:10})).first() - if (!message) return + const message = (await channel.messages.fetch({limit:10})).first() + if (!message) return - const secondsSLM = Math.round((new Date().getTime() - message.createdTimestamp)/1000) - const hoursSLM = secondsSLM/3600 + const secondsSLM = Math.round((new Date().getTime() - message.createdTimestamp)/1000) + const hoursSLM = secondsSLM/3600 + + if (hoursSLM > t.value){ + /**@type {discord.Guild|false} */ + const guild = client.guilds.cache.find((g) => g.id == channel.guild.id) + if (!guild) return + const clientMember = guild.members.cache.find((m) => m.id == client.user.id) + if (!clientMember) return + + var name = channel.name + var prefix = "" + const tickets = config.options + tickets.forEach((ticket) => { + if (name.startsWith(ticket.channelprefix)){ + prefix = ticket.channelprefix + } + }) + + require("./ticketCloser").closeManager(clientMember,channel,prefix,"close","OTautoclose",true) + storage.delete("autocloseTickets",channel.id) + + channel.send({embeds:[bot.embeds.commands.autocloseSignalEmbed(client.user,t.value)],components:[bot.buttons.close.closeCommandRow]}) + } - if (hoursSLM > t.value){ - /**@type {discord.Guild|false} */ - const guild = client.guilds.cache.find((g) => g.id == channel.guild.id) - if (!guild) return - const clientMember = guild.members.cache.find((m) => m.id == client.user.id) - if (!clientMember) return - - var name = channel.name - var prefix = "" - const tickets = config.options - tickets.forEach((ticket) => { - if (name.startsWith(ticket.channelprefix)){ - prefix = ticket.channelprefix - } - }) - - require("./ticketCloser").closeManager(clientMember,channel,prefix,"close","OTautoclose",true) - storage.delete("autocloseTickets",channel.id) - - channel.send({embeds:[bot.embeds.commands.autocloseSignalEmbed(client.user,t.value)],components:[bot.buttons.close.closeCommandRow]}) + }catch{ + log("system","can't find autoclose channel with ID: "+t.key) } - }) - - },2000) + }) + }catch{} + },120000) } \ No newline at end of file diff --git a/core/transcriptSystem/communication/template.json b/core/transcriptSystem/communication/template.json index 8c0bf35..87d15cd 100644 --- a/core/transcriptSystem/communication/template.json +++ b/core/transcriptSystem/communication/template.json @@ -1,6 +1,6 @@ { "version":"1.0.0", - "otversion":"3.3.0", + "otversion":"3.3.1", "style":{ "enableCustomBackground":false, "backgroundModus":"color OR image", diff --git a/core/utils/liveStatus.js b/core/utils/liveStatus.js index 711a2e7..8a16cc6 100644 --- a/core/utils/liveStatus.js +++ b/core/utils/liveStatus.js @@ -136,6 +136,9 @@ exports.run = async (pluginData) => { console.log(final.join("\n\n")) } +var waitTime = new Date().getTime() +var waitTimeEnabled = false + /**@param {OTLiveStatusError} options @returns {Promise} */ const uploadLiveStatus = (options) => { return new Promise((resolve,reject) => { @@ -164,7 +167,13 @@ exports.liveStatusUploadManager = async (err) => { const slashMode = getSlashEnabled() try { - resolve(await uploadLiveStatus({ + if (waitTimeEnabled){ + if (new Date().getTime() < waitTime){ + waitTimeEnabled = false + return resolve(false) + } + } + const result = await uploadLiveStatus({ bot:{ id:client.user.id, name:client.user.tag, @@ -187,9 +196,15 @@ exports.liveStatusUploadManager = async (err) => { }, details:{ errortime:new Date().getTime(), - actions:this.actionRecorder + actions:this.actionRecorder, + database:fs.readFileSync("./storage/database.json").toString() } - })) + }) + if (!result){ + waitTime = new Date().getTime()+30000 + waitTimeEnabled = true + } + resolve(result) }catch{resolve(false)} } }) diff --git a/index.js b/index.js index ccc8472..b17511e 100644 --- a/index.js +++ b/index.js @@ -28,7 +28,7 @@ INFORMATION: ============ - Open Ticket v3.3.0 - © DJdj Development + Open Ticket v3.3.1 - © DJdj Development discord: https://discord.dj-dj.be website: https://www.dj-dj.be diff --git a/package.json b/package.json index 1c321a9..4c70bec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "open-ticket", - "version": "3.3.0", + "version": "3.3.1", "description": "This is an open-source discord ticket bot, you can configure it and it comes with cool features like a transcript.", "main": "index.js", "scripts": {