v3.3.1 push 3 (autoclose spam fix)

This commit is contained in:
DJj123dj
2023-03-21 19:49:12 +01:00
parent 4287c11bf1
commit 0ead037fa8
7 changed files with 64 additions and 42 deletions
+40 -33
View File
@@ -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)
}
@@ -1,6 +1,6 @@
{
"version":"1.0.0",
"otversion":"3.3.0",
"otversion":"3.3.1",
"style":{
"enableCustomBackground":false,
"backgroundModus":"color OR image",
+18 -3
View File
@@ -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<Boolean>} */
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)}
}
})