diff --git a/commands/add.js b/commands/add.js index f88c28a..0092579 100644 --- a/commands/add.js +++ b/commands/add.js @@ -44,7 +44,7 @@ module.exports = () => { }) - if (!DISABLE.commands.slash.add) client.on("interactionCreate",(interaction) => { + if (!DISABLE.commands.slash.add) client.on("interactionCreate",async (interaction) => { if (!interaction.isChatInputCommand()) return if (interaction.commandName != "add") return const user = interaction.options.getUser("user") @@ -55,14 +55,16 @@ module.exports = () => { return } + await interaction.deferReply() + interaction.channel.messages.fetchPinned().then(msglist => { var firstmsg = msglist.last() - if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.reply({embeds:[bot.errorLog.notInATicket]}) + if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]}) const hiddendata = bot.hiddenData.readHiddenData(firstmsg.embeds[0].description) const ticketId = hiddendata.data.find(d => d.key == "type").value interaction.channel.permissionOverwrites.create(user.id, { ViewChannel:true, AddReactions:true,AttachFiles:true, EmbedLinks:true, SendMessages:true}) - interaction.reply({embeds:[bot.embeds.commands.addEmbed(user,interaction.user)]}) + interaction.editReply({embeds:[bot.embeds.commands.addEmbed(user,interaction.user)]}) var loguser = user log("command","someone used the 'add' command",[{key:"user",value:interaction.user.tag}]) diff --git a/commands/change.js b/commands/change.js index 5400e05..2ce1f36 100644 --- a/commands/change.js +++ b/commands/change.js @@ -27,13 +27,14 @@ module.exports = () => { const hiddendata = bot.hiddenData.readHiddenData(firstmsg.embeds[0].description) const ticketId = hiddendata.data.find(d => d.key == "type").value - var newtype = msg.content.split(config.prefix+"change")[1].substring(1) - if (!newtype) return msg.channel.send({embeds:[bot.errorLog.invalidArgsMessage(l.errors.missingArgsDescription+" ``:\n`"+config.prefix+"change `")]}) - - const newTicket = require("../core/utils/configParser").getTicketById(newtype) const list = [] config.options.forEach((o) => list.push(o.id)) - if (!newTicket) return bot.errorLog.invalidIdChooseFromList(list) + + 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+" ``:\n`"+config.prefix+"change `")]}) + + const newTicket = require("../core/utils/configParser").getTicketById(newtype) + if (!newTicket) return msg.channel.send({embeds:[bot.errorLog.invalidIdChooseFromList(list,l.errors.missingArgsDescription+" ``:\n`"+config.prefix+"change `")]}) /**@type {String} */ var chName = msg.channel.name @@ -55,7 +56,7 @@ module.exports = () => { }) }) - if (!DISABLE.commands.slash.change) client.on("interactionCreate",(interaction) => { + if (!DISABLE.commands.slash.change) client.on("interactionCreate",async (interaction) => { if (!interaction.isChatInputCommand()) return if (interaction.commandName != "change") return @@ -65,21 +66,26 @@ module.exports = () => { return } - //interaction.deferReply() - interaction.channel.messages.fetchPinned().then(async msglist => { + await interaction.deferReply() + interaction.channel.messages.fetchPinned().then(async (msglist) => { + /**@type {discord.Message} */ var firstmsg = msglist.last() - if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.reply({embeds:[bot.errorLog.notInATicket]}) + if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]}) const hiddendata = bot.hiddenData.readHiddenData(firstmsg.embeds[0].description) const ticketId = hiddendata.data.find(d => d.key == "type").value - var newtype = interaction.options.getString("type",true) - if (!newtype) return interaction.reply({embeds:[bot.errorLog.invalidArgsMessage(l.errors.missingArgsDescription+" ``:\n`"+config.prefix+"change `")]}) - - const newTicket = require("../core/utils/configParser").getTicketById(newtype,true) const list = [] config.options.forEach((o) => list.push(o.id)) - if (!newTicket) return bot.errorLog.invalidIdChooseFromList(list) + var newtype = interaction.options.getString("type",true) + const newTicket = require("../core/utils/configParser").getTicketById(newtype,true) + + if (!newTicket) return interaction.editReply({embeds:[bot.errorLog.invalidIdChooseFromList(list,l.errors.missingArgsDescription+" ``:\n`"+config.prefix+"change `")]}) + + /**@type {discord.PermissionOverwriteManager} */ + const prePermsManager = interaction.channel.permissionOverwrites + const prePerms = prePermsManager.cache + /**@type {String} */ var chName = interaction.channel.name const splitted = chName.split("-") @@ -91,8 +97,25 @@ module.exports = () => { if (parent && parent.type == discord.ChannelType.GuildCategory) interaction.channel.setParent(parent) } + await prePermsManager.set(prePerms) interaction.channel.setName(newTicket.channelprefix+name) - interaction.reply({embeds:[bot.embeds.commands.changeEmbed(interaction.user,newtype)]}) + + var newHiddendata = hiddendata.data + newHiddendata.find((value,index) => { + if (value.key == "type"){ + newHiddendata[index] = {key:"type",value:newtype} + } + }) + + 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]}) + + interaction.editReply({embeds:[bot.embeds.commands.changeEmbed(interaction.user,newtype)]}) log("command","someone used the 'change' command",[{key:"user",value:interaction.user.tag}]) log("system","ticket type changed",[{key:"user",value:interaction.user.tag},{key:"ticket",value:name},{key:"newtype",value:newtype}]) diff --git a/commands/claim.js b/commands/claim.js index ff17fc2..408de47 100644 --- a/commands/claim.js +++ b/commands/claim.js @@ -45,7 +45,7 @@ module.exports = () => { }) - if (!DISABLE.commands.slash.claim) client.on("interactionCreate",(interaction) => { + if (!DISABLE.commands.slash.claim) client.on("interactionCreate",async (interaction) => { if (!interaction.isChatInputCommand()) return if (interaction.commandName != "claim") return const user = interaction.options.getUser("user",false) ? interaction.options.getUser("user",true) : interaction.user @@ -56,14 +56,16 @@ module.exports = () => { return } + await interaction.deferReply() + interaction.channel.messages.fetchPinned().then(msglist => { var firstmsg = msglist.last() - if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.reply({embeds:[bot.errorLog.notInATicket]}) + if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]}) const hiddendata = bot.hiddenData.readHiddenData(firstmsg.embeds[0].description) const ticketId = hiddendata.data.find(d => d.key == "type").value - //interaction.reply({embeds:[bot.embeds.commands.claimEmbed(user,interaction.user)]}) - interaction.reply({embeds:[bot.errorLog.warning("Coming soon!","This feature isn't ready yet!\nIt will become active in the next update!")]}) + //interaction.editReply({embeds:[bot.embeds.commands.claimEmbed(user,interaction.user)]}) + interaction.editReply({embeds:[bot.errorLog.warning("Coming soon!","This feature isn't ready yet!\nIt will become active in the next update!")]}) var loguser = user log("command","someone used the 'claim' command",[{key:"user",value:interaction.user.tag}]) diff --git a/commands/close.js b/commands/close.js index 15d36f9..419bf59 100644 --- a/commands/close.js +++ b/commands/close.js @@ -54,7 +54,7 @@ module.exports = () => { }) - if (!DISABLE.commands.slash.close) client.on("interactionCreate",(interaction) => { + if (!DISABLE.commands.slash.close) client.on("interactionCreate",async(interaction) => { if (!interaction.isChatInputCommand()) return if (interaction.commandName != "close") return @@ -62,16 +62,18 @@ module.exports = () => { const reason = interaction.options.getString("reason") ? interaction.options.getString("reason") : false + await interaction.deferReply() + interaction.channel.messages.fetchPinned().then(msglist => { var firstmsg = msglist.last() - if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.reply({embeds:[bot.errorLog.notInATicket]}) + if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]}) const hiddendata = bot.hiddenData.readHiddenData(firstmsg.embeds[0].description) const ticketId = hiddendata.data.find(d => d.key == "type").value - if (hiddendata.data.find(h => h.key == "pendingdelete")) return interaction.reply({embeds:[bot.errorLog.warning("Warning!","You can't close a ticket while it's being deleted!")]}) + if (hiddendata.data.find(h => h.key == "pendingdelete")) return interaction.editReply({embeds:[bot.errorLog.warning("Warning!","You can't close a ticket while it's being deleted!")]}) const descriptionReason = reason ? "**"+l.messages.reason+":** "+reason : false - interaction.reply({embeds:[bot.embeds.commands.closeEmbed(interaction.user,descriptionReason)],components:[bot.buttons.close.closeCommandRow]}) + interaction.editReply({embeds:[bot.embeds.commands.closeEmbed(interaction.user,descriptionReason)],components:[bot.buttons.close.closeCommandRow]}) var name = interaction.channel.name var prefix = "" diff --git a/commands/delete.js b/commands/delete.js index 4b5f5b1..47debfd 100644 --- a/commands/delete.js +++ b/commands/delete.js @@ -47,25 +47,25 @@ module.exports = () => { }) - if (!DISABLE.commands.slash.delete) client.on("interactionCreate",(interaction) => { + if (!DISABLE.commands.slash.delete) client.on("interactionCreate",async (interaction) => { if (!interaction.isChatInputCommand()) return if (interaction.commandName != "delete") return - //interaction.deferReply() - if (!interaction.guild) return if (!permsChecker.command(interaction.user.id,interaction.guild.id)){ permsChecker.sendUserNoPerms(interaction.user) return interaction.reply({embeds:[bot.errorLog.noPermsDelete(interaction.user)]}) } + await interaction.deferReply() + interaction.channel.messages.fetchPinned().then(msglist => { var firstmsg = msglist.last() - if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.reply({embeds:[bot.errorLog.notInATicket]}) + if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]}) const hiddendata = bot.hiddenData.readHiddenData(firstmsg.embeds[0].description) const ticketId = hiddendata.data.find(d => d.key == "type").value - interaction.reply({embeds:[bot.embeds.commands.deleteEmbed(interaction.user)]}) + interaction.editReply({embeds:[bot.embeds.commands.deleteEmbed(interaction.user)]}) var name = interaction.channel.name var prefix = "" diff --git a/commands/remove.js b/commands/remove.js index e5f8a4a..8ef5667 100644 --- a/commands/remove.js +++ b/commands/remove.js @@ -55,14 +55,16 @@ module.exports = () => { return } + await interaction.deferReply() + await interaction.channel.messages.fetchPinned().then(msglist => { var firstmsg = msglist.last() - if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.reply({embeds:[bot.errorLog.notInATicket]}) + if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]}) const hiddendata = bot.hiddenData.readHiddenData(firstmsg.embeds[0].description) const ticketId = hiddendata.data.find(d => d.key == "type").value interaction.channel.permissionOverwrites.delete(user.id) - interaction.reply({embeds:[bot.embeds.commands.removeEmbed(user,interaction.user)]}) + interaction.editReply({embeds:[bot.embeds.commands.removeEmbed(user,interaction.user)]}) var loguser = user diff --git a/commands/rename.js b/commands/rename.js index 6741658..4d35f36 100644 --- a/commands/rename.js +++ b/commands/rename.js @@ -53,7 +53,7 @@ module.exports = () => { }) - if (!DISABLE.commands.slash.rename) client.on("interactionCreate",(interaction) => { + if (!DISABLE.commands.slash.rename) client.on("interactionCreate",async (interaction) => { if (!interaction.isChatInputCommand()) return if (interaction.commandName != "rename") return @@ -63,11 +63,11 @@ module.exports = () => { return } - //interaction.deferReply() + await interaction.deferReply() interaction.channel.messages.fetchPinned().then(msglist => { var firstmsg = msglist.last() - if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.reply({embeds:[bot.errorLog.notInATicket]}) + if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]}) const hiddendata = bot.hiddenData.readHiddenData(firstmsg.embeds[0].description) const ticketId = hiddendata.data.find(d => d.key == "type").value @@ -84,7 +84,7 @@ module.exports = () => { if (!prefix) prefix = "noprefix-" interaction.channel.setName(prefix+newname) - interaction.reply({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("system","ticket renamed",[{key:"user",value:interaction.user.tag},{key:"ticket",value:name},{key:"newname",value:newname}]) diff --git a/commands/reopen.js b/commands/reopen.js index 3c86a0f..52793fd 100644 --- a/commands/reopen.js +++ b/commands/reopen.js @@ -37,17 +37,17 @@ module.exports = () => { if (!interaction.isChatInputCommand()) return if (interaction.commandName != "reopen") return - //interaction.deferReply() + await interaction.deferReply() interaction.channel.messages.fetchPinned().then(async msglist => { var firstmsg = msglist.last() - if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.reply({embeds:[bot.errorLog.notInATicket]}) + if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]}) const hiddendata = bot.hiddenData.readHiddenData(firstmsg.embeds[0].description) const ticketId = hiddendata.data.find(d => d.key == "type").value - if (hiddendata.data.find(h => h.key == "pendingdelete")) return interaction.reply({embeds:[bot.errorLog.warning("Warning!","You can't re-open a ticket while it's being deleted!")]}) + 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!")]}) - await interaction.reply({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) diff --git a/commands/ticket.js b/commands/ticket.js index 5f8e2bc..dc9b57b 100644 --- a/commands/ticket.js +++ b/commands/ticket.js @@ -30,8 +30,8 @@ module.exports = () => { const id = msg.content.split(config.prefix+"msg")[1].substring(1) ? msg.content.split(config.prefix+"msg")[1].substring(1) : false - if (!id) return msg.channel.send({embeds:[bot.errorLog.invalidArgsMessage(l.errors.missingArgsDescription+" ``:\n`"+config.prefix+"msg `")]}) - if (!msgIds.includes(id)) return msg.channel.send({embeds:[bot.errorLog.invalidIdChooseFromList(msgIds)]}) + if (!id) return msg.channel.send({embeds:[bot.errorLog.invalidIdChooseFromList(msgIds,l.errors.missingArgsDescription+" ``:\n`"+config.prefix+"msg `")]}) + if (!msgIds.includes(id)) return msg.channel.send({embeds:[bot.errorLog.invalidIdChooseFromList(msgIds,l.errors.missingArgsDescription+" ``:\n`"+config.prefix+"msg `")]}) const {embed,componentRows} = require("../core/utils/getEmbed").createEmbed(id) diff --git a/commands/unclaim.js b/commands/unclaim.js index be01a4d..61ac194 100644 --- a/commands/unclaim.js +++ b/commands/unclaim.js @@ -42,7 +42,7 @@ module.exports = () => { }) - if (!DISABLE.commands.slash.unclaim) client.on("interactionCreate",(interaction) => { + if (!DISABLE.commands.slash.unclaim) client.on("interactionCreate",async (interaction) => { if (!interaction.isChatInputCommand()) return if (interaction.commandName != "unclaim") return const user = interaction.user @@ -53,14 +53,16 @@ module.exports = () => { return } + await interaction.deferReply() + interaction.channel.messages.fetchPinned().then(msglist => { var firstmsg = msglist.last() - if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.reply({embeds:[bot.errorLog.notInATicket]}) + if (firstmsg == undefined || firstmsg.author.id != client.user.id) return interaction.editReply({embeds:[bot.errorLog.notInATicket]}) const hiddendata = bot.hiddenData.readHiddenData(firstmsg.embeds[0].description) const ticketId = hiddendata.data.find(d => d.key == "type").value - //interaction.reply({embeds:[bot.embeds.commands.unclaimEmbed(interaction.user)]}) - interaction.reply({embeds:[bot.errorLog.warning("Coming soon!","This feature isn't ready yet!\nIt will become active in the next update!")]}) + //interaction.editReply({embeds:[bot.embeds.commands.unclaimEmbed(interaction.user)]}) + interaction.editReply({embeds:[bot.errorLog.warning("Coming soon!","This feature isn't ready yet!\nIt will become active in the next update!")]}) var loguser = user log("command","someone used the 'unclaim' command",[{key:"user",value:interaction.user.tag}]) diff --git a/config.json b/config.json index 083ca07..a1c69ac 100644 --- a/config.json +++ b/config.json @@ -15,7 +15,7 @@ "system":{ "ticket_channel":"channel id", "max_allowed_tickets":3, - "enable_DM_Messages":true, + "enable_DM_Messages":false, "has@everyoneaccess":false, "member_role":"member role (this role doesn't have access to tickets)", diff --git a/core/errorLogSystem.js b/core/errorLogSystem.js index 71755ae..2e0774e 100644 --- a/core/errorLogSystem.js +++ b/core/errorLogSystem.js @@ -48,12 +48,13 @@ exports.serverError = (message) => { return x } -/**@param {String[]} list */ -exports.invalidIdChooseFromList = (list) => { +/**@param {String[]} list @param {String|undefined} message */ +exports.invalidIdChooseFromList = (list,message) => { + const beforemsg = message ? message+"\n\n" : "" var x = new embed() .setColor(c.Red) .setTitle(":x: "+l.errors.chooseFromListTitle) - .setDescription(l.errors.chooseFromListDescription+"\n`"+list.join("`\n`")+"`") + .setDescription(beforemsg+l.errors.chooseFromListDescription+"\n`"+list.join("`\n`")+"`") return x } diff --git a/core/slashSystem/slashEnable.js b/core/slashSystem/slashEnable.js index b587f7b..c291879 100644 --- a/core/slashSystem/slashEnable.js +++ b/core/slashSystem/slashEnable.js @@ -7,7 +7,8 @@ const configParser = require("../utils/configParser") const act = discord.ApplicationCommandType const acot = discord.ApplicationCommandOptionType -module.exports = async () => { +/**@param {Boolean|undefined} invisible*/ +module.exports = async (invisible) => { const chalk = (await import("chalk")).default const sid = config.server_id @@ -30,17 +31,19 @@ module.exports = async () => { var readystats = 0 //process.stdout.write("[status] there are "+chalk.blue("0 out of 10")+" commands ready! (this can take up to 40 seconds)") - setInterval(() => { - process.stdout.cursorTo(0) - process.stdout.write("[status] there are "+chalk.blue(readystats+" out of 13")+" commands ready! (this can take up to 40 seconds)") - if (readystats >= 13){ - const fs = require("fs") - fs.writeFileSync("./storage/slashcmdEnabled.txt","true") - console.log(chalk.green("\nready!")) - console.log(chalk.blue("you can now start the bot with "+chalk.bgBlue("'npm start'")+"!")) - process.exit(1) - } - },100) + if (!invisible){ + setInterval(() => { + process.stdout.cursorTo(0) + process.stdout.write("[status] there are "+chalk.blue(readystats+" out of 13")+" commands ready! (this can take up to 40 seconds)") + if (readystats >= 13){ + const fs = require("fs") + fs.writeFileSync("./storage/slashcmdEnabled.txt","true") + console.log(chalk.green("\nready!")) + console.log(chalk.blue("you can now start the bot with "+chalk.bgBlue("'npm start'")+"!")) + process.exit(1) + } + },100) + } //slashtranslation const ST = require("../../language/slashcmds/slash.json").data diff --git a/core/startscreen.js b/core/startscreen.js index 7c8159b..5d70557 100644 --- a/core/startscreen.js +++ b/core/startscreen.js @@ -14,6 +14,7 @@ const showFlags = async (chalk) => { if (process.argv.some((v) => v == "--nochecker")) console.log(chalk.blue("[FLAGS] => disabled checker.js")); isFlag = true if (process.argv.some((v) => v == "--tsoffline")) console.log(chalk.blue("[FLAGS] => offline check for html transcripts disabled!")); isFlag = true if (process.argv.some((v) => v == "--debug")) console.log(chalk.blue("[FLAGS] => enabled DEBUG mode")); isFlag = true + if (process.argv.some((v) => v == "--noslash")) console.log(chalk.blue("[FLAGS] => slash commands disabled")); isFlag = true if (!isFlag) console.log(chalk.blue("no flags!")) } @@ -48,7 +49,7 @@ exports.headerDataReady = (chalk,status,updatingslash,slashmode) => { console.log("\n\n"+chalk.red(chalk.underline("STARTING IN SLASH CMD CONFIGURATION MODE!"))) return } - console.log(chalk.hex("f8ba00")("updating slash cmds: ")+chalk.bold(slashmode)) + console.log(chalk.hex("f8ba00")("updating slash cmds: ")+chalk.bold(updatingslash)) } var languageMSG = "" diff --git a/core/ticketActions/ticketCloser.js b/core/ticketActions/ticketCloser.js index 9dab369..6f51cb5 100755 --- a/core/ticketActions/ticketCloser.js +++ b/core/ticketActions/ticketCloser.js @@ -212,7 +212,7 @@ exports.NEWcloseTicket = async (member,channel,prefix,mode,reason,nomessage) => const embed = new discord.EmbedBuilder() .setColor(config.main_color) - .setTitle(":lock: "+l.messages.closedTitle+" :lock:") + .setTitle(":lock: "+l.commands.closeTitle+" :lock:") .setDescription(l.messages.closedDescription) channel.send({embeds:[embed],components:[closeButtonRow]}) } diff --git a/core/utils/getDropdown.js b/core/utils/getDropdown.js index 5b21d00..130204b 100644 --- a/core/utils/getDropdown.js +++ b/core/utils/getDropdown.js @@ -37,6 +37,7 @@ exports.getDropdown = (ids,placeholder) => { }else{ if (option.label) selectComponent.setLabel(option.label) if (option.icon) selectComponent.setEmoji(option.icon) + if (option.description) selectComponent.setDescription(option.description) } dropdown.addOptions(selectComponent) diff --git a/core/utils/getEmbed.js b/core/utils/getEmbed.js index 2b22e7f..4deb263 100644 --- a/core/utils/getEmbed.js +++ b/core/utils/getEmbed.js @@ -50,7 +50,7 @@ exports.createEmbed = (id) => { var description = data.description if (data.other.enableTicketExplaination){ - const chooseCategoryMSG = data.other.customCategoryText.enable ? data.other.customCategoryText.text : l.messages.chooseCategory + const chooseCategoryMSG = data.other.customCategoryText.enable ? data.other.customCategoryText.text : l.messages.chooseATicket description = description+"\n\n__"+chooseCategoryMSG+"__\n" var ticketExplainations = [] diff --git a/index.js b/index.js index be382d3..d77c1d0 100644 --- a/index.js +++ b/index.js @@ -135,7 +135,9 @@ client.on('ready',async () => { const chalk = await (await import("chalk")).default require("./core/startscreen").run() + if (!process.argv[2] || (process.argv[2] && !process.argv[2].startsWith("slash"))){ + //normal start this.errorLog.log("debug","loaded console interface") require("./core/utils/liveStatus")() @@ -149,15 +151,27 @@ client.on('ready',async () => { /**@type {"true"|"false"} */ const data = fs.readFileSync("./storage/slashcmdEnabled.txt").toString() if (data === "true"){require("./core/slashSystem/autoSlashUpdate")(); updatingSlash = true} - }else{fs.writeFileSync("./storage/slashcmdEnabled.txt","false")} + }else{ + if (process.argv.some((v) => v == "--noslash")){ + fs.writeFileSync("./storage/slashcmdEnabled.txt","false") + }else{ + fs.writeFileSync("./storage/slashcmdEnabled.txt","true") + require("./core/slashSystem/slashEnable")(true) + updatingSlash = true + console.log("LEEEETSSS GOOO!") + } + } try { await client.guilds.cache.find((g) => g.id == config.server_id).members.fetch() }catch{ this.errorLog.log("info","tried to cache user information, failed!") } + console.log("updatingslash",updatingSlash) require("./core/startscreen").headerDataReady(chalk,config.status,updatingSlash,false) + }else{ + //slash command activation using node index.js slash (enable|disable) require("./core/startscreen").headerDataReady(chalk,config.status,updatingSlash,true) this.errorLog.log("debug","slashmode activated") if (process.argv[3] == "enable"){ diff --git a/language/arabic.json b/language/arabic.json index fdc8443..cf269e9 100644 --- a/language/arabic.json +++ b/language/arabic.json @@ -23,7 +23,7 @@ "renameTitle": "تم تغيير أسم التكت الى {0}!", "closeTitle": "تم أغلاق التكت!", "deleteTitle": " جاري حذف التكت...", - "reopenTitle": "إعادة فتح التكت!", + "claimTitle":"This ticket is now claimed to {0}", "unclaimTitle":"This ticket isn't claimed anymore!", "changeTitle":"Changed ticket type to {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"close with reason" }, "messages": { - "reopenTitle": "تم إعادة فتح التكت بنجاح!", - "reopenDescription": "لا تتردد في فتح التكت مرة أخرى , حظاً موفقاً!", - "closedTitle": "تم إغلاق التكت!", "closedDescription": "فقط الأداريين يمكنهم التحدث في هذا التكت الأن!\n\n*أضغط على الزر بالأسفل لحذف التكت او إعادة فتحة مجدداً!*", "createdTitle": "تم إنشاء تكت!", "createdDescription": "تم أنشاء تكت , قم بأنتظار الدعم في الطريق!", diff --git a/language/custom.json b/language/custom.json index b2020fe..7bbbe9e 100644 --- a/language/custom.json +++ b/language/custom.json @@ -23,7 +23,7 @@ "renameTitle":"Changed the name to {0}!", "closeTitle":"Closed this ticket!", "deleteTitle":"Deleting this ticket...", - "reopenTitle":"Re-Opened this ticket!", + "claimTitle":"This ticket is now claimed to {0}", "unclaimTitle":"This ticket isn't claimed anymore!", "changeTitle":"Changed ticket type to {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"close with reason" }, "messages":{ - "reopenTitle":"Re-Opened this ticket!", - "reopenDescription":"Feel free to talk again!", - "closedTitle":"Closed this ticket!", "closedDescription":"Only admins can talk in this ticket now!\n\n*Click on the button below to delete or to re-open this ticket!*", "createdTitle":"Ticket Created!", "createdDescription":"Your ticket is created, you can detect it by a ping!", diff --git a/language/czech.json b/language/czech.json index 4965fb1..f8bff18 100644 --- a/language/czech.json +++ b/language/czech.json @@ -23,7 +23,7 @@ "renameTitle":"Změnit jmeno na {0}!", "closeTitle":"Zavři tenhle ticket!", "deleteTitle":"Mažu ticket...", - "reopenTitle":"Znovu otevíram ticket", + "claimTitle":"Nyní jsi převzal ticket {0}", "unclaimTitle":"Tento ticketu už je převzatý!", "changeTitle":"Změnil jsi typ ticketu na {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"zavřít s důvodem" }, "messages":{ - "reopenTitle":"Znovu otevřit ticket!", - "reopenDescription":"Klidně napiš znova!", - "closedTitle":"Zavřít tenhle ticket!", "closedDescription":"Pouze admini muzou zde psát ted!\n\n*Klikni na tlačítko níže pro smazání nebo pro znovu otevření tohohle ticketu!*", "createdTitle":"Ticket otevřen!", "createdDescription":"Tvůj ticket je vytvořem, můžeš si ho všimnout pomocí pingu!", diff --git a/language/danish.json b/language/danish.json index b0c448a..fd24656 100644 --- a/language/danish.json +++ b/language/danish.json @@ -23,7 +23,7 @@ "renameTitle": "Ændrede navnet til {0}!", "closeTitle": "Lukket denne ticket!", "deleteTitle": "Sletter denne ticket...", - "reopenTitle": "Genåbnede denne ticket!", + "claimTitle": "Denne ticket er nu krævet til {0}", "unclaimTitle": "Der gøres ikke krav på denne ticket længere!", "changeTitle": "Ændrede ticket type til {0}!", @@ -51,9 +51,6 @@ "closeWithReason": "Luk med grundlag" }, "messages": { - "reopenTitle": "Genåbnede denne ticket!", - "reopenDescription": "Snak gerne igen!", - "closedTitle": "Lukket denne ticket!", "closedDescription": "Kun administratorer kan tale i denne billet nu!\n\n*Klik på knappen nedenfor for at slette eller genåbne denne billet!", "createdTitle": "Ticket Oprettet!", "createdDescription": "Din ticket er oprettet, du kan registrere den ved et ping!", diff --git a/language/dutch.json b/language/dutch.json index d067cd5..d735a5c 100644 --- a/language/dutch.json +++ b/language/dutch.json @@ -23,7 +23,7 @@ "renameTitle":"De naam is veranderd naar {0}!", "closeTitle":"Ticket gesloten!", "deleteTitle":"Ticket aan het verwijderen...", - "reopenTitle":"Ticket heropend!", + "claimTitle":"Dit ticket is geclaimed door {0}", "unclaimTitle":"Dit ticket is niet meer geclaimed!", "changeTitle":"Ticket type veranderd naar {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"sluit met reden" }, "messages":{ - "reopenTitle":"Ticket heropend!", - "reopenDescription":"Voel vrij om weer te praten!", - "closedTitle":"Ticket gesloten!", "closedDescription":"Alleen admins kunnen nog praten.\n\n*Klik op de knoppen hieronder voor meer acties!*", "createdTitle":"Ticket Aangemaakt!", "createdDescription":"U ticket is gemaakt, je kan het detecteren bij een ping!", diff --git a/language/english.json b/language/english.json index b2020fe..7bbbe9e 100644 --- a/language/english.json +++ b/language/english.json @@ -23,7 +23,7 @@ "renameTitle":"Changed the name to {0}!", "closeTitle":"Closed this ticket!", "deleteTitle":"Deleting this ticket...", - "reopenTitle":"Re-Opened this ticket!", + "claimTitle":"This ticket is now claimed to {0}", "unclaimTitle":"This ticket isn't claimed anymore!", "changeTitle":"Changed ticket type to {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"close with reason" }, "messages":{ - "reopenTitle":"Re-Opened this ticket!", - "reopenDescription":"Feel free to talk again!", - "closedTitle":"Closed this ticket!", "closedDescription":"Only admins can talk in this ticket now!\n\n*Click on the button below to delete or to re-open this ticket!*", "createdTitle":"Ticket Created!", "createdDescription":"Your ticket is created, you can detect it by a ping!", diff --git a/language/french.json b/language/french.json index cbbd52b..16fbc70 100644 --- a/language/french.json +++ b/language/french.json @@ -23,7 +23,7 @@ "renameTitle":"Changement du nom en {0}!", "closeTitle":"Fermé ce ticket!", "deleteTitle":"Suppression de ce ticket...", - "reopenTitle":"A rouvert ce ticket!", + "claimTitle":"This ticket is now claimed to {0}", "unclaimTitle":"This ticket isn't claimed anymore!", "changeTitle":"Changed ticket type to {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"fermer avec une raison" }, "messages":{ - "reopenTitle":"A rouvert ce ticket!", - "reopenDescription":"N'hésitez pas à reparler!", - "closedTitle":"Fermé ce ticket!", "closedDescription":"Seuls les administrateurs peuvent parler dans ce ticket maintenant !\n\n*Cliquez sur le bouton ci-dessous pour supprimer ou rouvrir ce ticket !*", "createdTitle":"Ticket créé !", "createdDescription":"Votre ticket est créé, vous pouvez le détecter par un ping !", diff --git a/language/german.json b/language/german.json index 91e324f..f85b18b 100644 --- a/language/german.json +++ b/language/german.json @@ -23,7 +23,7 @@ "renameTitle":"Der Name wurde geändert!", "closeTitle":"Dieses Ticket schließen!", "deleteTitle":"Löschen Sie dieses Ticket!", - "reopenTitle":"Öffne dieses Ticket erneut!", + "claimTitle":"Das Ticket wurde beansprucht von {0}", "unclaimTitle":"Das Ticket wrid nicht mehr beansprucht", "changeTitle":"Ticket Typ wurde geändert auf {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"Geschlossen mit dem Grund" }, "messages":{ - "reopenTitle":"Dieses Ticket wiedereröffnet!", - "reopenDescription":"Sie können gerne weiterreden!", - "closedTitle":"Dieses Ticket geschlossen!", "closedDescription":"Nur Admins können jetzt in diesem Ticket sprechen!\n\n*Klicken Sie auf die Schaltfläche unten, um dieses Ticket zu löschen oder erneut zu öffnen!*", "createdTitle":"Ticket erstellt!", "createdDescription":"Ihr Ticket ist erstellt, Sie können es durch einen Ping erkennen!", diff --git a/language/italian.json b/language/italian.json index 243ba05..b79cba8 100644 --- a/language/italian.json +++ b/language/italian.json @@ -23,7 +23,7 @@ "renameTitle":"Cambiato il nome a {0}!", "closeTitle":"Ticket chiuso!", "deleteTitle":"Eliminando questo ticket...", - "reopenTitle":"Ri-aperto questo ticket!", + "claimTitle":"Questo ticket è ora gestito da {0}", "unclaimTitle":"Questo ticket non è più gestito!", "changeTitle":"Cambiato il tipo di ticket in {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"chiudi con motivo" }, "messages":{ - "reopenTitle":"Ticket ri-aperto!", - "reopenDescription":"Sentiti libero di parlare nuovamente!", - "closedTitle":"Ticket chiuso!", "closedDescription":"Solo gli amministratori possono parlare in questo ticket ora!\n\n*Clicca sul pulsante sotto per eliminare o ri-aprire questo ticket!*", "createdTitle":"Ticket creato!", "createdDescription":"Il tuo ticket è stato creato, puoi capirlo dal ping!", diff --git a/language/polish.json b/language/polish.json index ddd1ac3..33116c9 100644 --- a/language/polish.json +++ b/language/polish.json @@ -23,7 +23,7 @@ "renameTitle":"Zmieniono nazwę na {0}!", "closeTitle":"Zamknięto ten ticket!", "deleteTitle":"Usuwanie tego zgłoszenia..", - "reopenTitle":"Ponownie otwarto ten ticket!", + "claimTitle":"Tym ticketem zajmuje się {0}", "unclaimTitle":"Ten ticket nie jest już odbierany!", "changeTitle":"Zmieniono typ biletu na {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"Zamknij z powodem" }, "messages":{ - "reopenTitle":"Ponownie otworzyłem ten ticket!", - "reopenDescription":"Zapraszam do ponownej rozmowy!", - "closedTitle":"Zamknięto ten ticket!", "closedDescription":"Tylko admini mogą teraz rozmawiać w tym zgłoszeniu!\n\n*Kliknij przycisk poniżej, aby usunąć lub ponownie otworzyć ten ticket!*", "createdTitle":"Ticket Created!", "createdDescription":"Twój ticket został utworzony, możesz go wykryć za pomocą pingu!", diff --git a/language/portuguese.json b/language/portuguese.json index 8a696ff..2e9da59 100644 --- a/language/portuguese.json +++ b/language/portuguese.json @@ -23,7 +23,7 @@ "renameTitle":"Mudou o nome para {0}!", "closeTitle":"Fechado este ticket!", "deleteTitle":"Excluindo este ticket...", - "reopenTitle":"Reabriu este ticket!", + "claimTitle":"This ticket is now claimed to {0}", "unclaimTitle":"This ticket isn't claimed anymore!", "changeTitle":"Changed ticket type to {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"fechado com motivo" }, "messages":{ - "reopenTitle":"Reabriu este ticket!", - "reopenDescription":"Sinta-se à vontade para falar novamente!", - "closedTitle":"Fechado este ticket!", "closedDescription":"Somente administradores podem falar neste ticket agora!\n\n*Clique no botão abaixo para excluir ou reabrir este ticket!*", "createdTitle":"Ticket criado!", "createdDescription":"Seu ticket foi criado, você pode detectá-lo com um ping!", diff --git a/language/romanian.json b/language/romanian.json index a41b65d..800b3ee 100644 --- a/language/romanian.json +++ b/language/romanian.json @@ -23,7 +23,7 @@ "renameTitle":"Nume schimbat in {0}!", "closeTitle":"Ticket inchis!", "deleteTitle":"Se sterge ticket-ul...", - "reopenTitle":"Ticket Re-deschis!", + "claimTitle":"This ticket is now claimed to {0}", "unclaimTitle":"This ticket isn't claimed anymore!", "changeTitle":"Changed ticket type to {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"Inchide cu motiv" }, "messages":{ - "reopenTitle":"Ticket Re-deschis!", - "reopenDescription":"Poti vorbi din nou!", - "closedTitle":"Ticket inchis!", "closedDescription":"Doar adminii pot vorbi in acest ticket acum!\n\n*Apasa pe butonul de mai jos pentru a re-deschide ori sterge ticket-ul!*", "createdTitle":"Ticket Creat!", "createdDescription":"Ticket-ul tau a fost creat, poti sa il vezi in canalul pe care ai fost mentionat!", diff --git a/language/russian.json b/language/russian.json index 640ffcb..f996d3a 100644 --- a/language/russian.json +++ b/language/russian.json @@ -23,7 +23,7 @@ "renameTitle":"Изменено имя на {0}!", "closeTitle":"Закрыл этот тикет!", "deleteTitle":"Удаляем этот тикет...", - "reopenTitle":"Открываем заново этот тикет!", + "claimTitle":"Этот тикет теперь взят {0}", "unclaimTitle":"Этот тикет никем не взят!", "changeTitle":"Изменён тип тикета на {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"закрыть с причиной" }, "messages":{ - "reopenTitle":"Открыл заново этот тикет!", - "reopenDescription":"Не стесняйтесь обращаться снова!", - "closedTitle":"Закрыл этот тикет!", "closedDescription":"Только админы теперь могут писать в этом тикете!\n\n*Нажмите на кнопку ниже, чтобы удалить или заново окрыть тикет!*", "createdTitle":"Тикет создан!", "createdDescription":"Ваш тикет создан, вы можете обнаружить его по пингу!", diff --git a/language/spanish.json b/language/spanish.json index 3eb617f..82505bb 100644 --- a/language/spanish.json +++ b/language/spanish.json @@ -23,7 +23,7 @@ "renameTitle":"Cambió el nombre a {0}!", "closeTitle":"Cerró este ticket!", "deleteTitle":"Eliminando este ticket...", - "reopenTitle":"Re-abrió este boleto!", + "claimTitle":"Este ticket será atendido por {0}", "unclaimTitle":"¡Este ticket ya no está reservado!", "changeTitle":"¡Cambiando el tipo de ticket a {0}!", @@ -51,9 +51,6 @@ "closeWithReason":"cerrar con razón" }, "messages":{ - "reopenTitle":"¡Ticket Re-Abierto!", - "reopenDescription":"¡Siéntete libre de hablar de nuevo!", - "closedTitle":"¡Ticket cerrado!", "closedDescription":"¡Solo admins pueden hablar ahora en este ticket!\n\n*¡Presiona en el botón de abajo para eliminar o re-abrir el ticket!*", "createdTitle":"¡Ticket creado!", "createdDescription":"¡Ticket creado, también te he mencionado en él!", diff --git a/language/turkish.json b/language/turkish.json index 8767b7c..8b47274 100644 --- a/language/turkish.json +++ b/language/turkish.json @@ -17,73 +17,13 @@ "maxAmountDescription":"İzin verilen maksimum bilet sayısına ulaştınız!\nHhayır yeni bir tane oluşturamazsın!", "somethingWentWrong":"**Bir şeyler ters gitti!**\n lütfen başka bir zaman tekrar deneyin!" }, - "commands":{ - "userAddedTitle":"Bilete {0} adlı kullanıcı eklendi!", - "userRemovedTitle":"Biletten {0} adlı kullanıcı çıkarıldı !", - "renameTitle":"Bilet ismi {0} olarak değştirildi!", - "closeTitle":"Bilet Kapatıldı!", - "deleteTitle":"Bu Bilet Siliniyor...", - "reopenTitle":"Bilet Yeniden Açıldı!", - "claimTitle":"Bu bilet artık talep edildi. {0}", - "unclaimTitle":"Bu bilet artık talep edilmiyor!", - "changeTitle":"Bu bilet türü {0} olarak değiştirildi!", - - "ticketWarning":"Gömme aşağıdaki mesajda yer almaktadır!", - "maxTicketWarning":"**Uyarı:** _Süreç içerisinde sadece {0} bilet(ler) oluşturabilirsiniz!_" - }, - "helpMenu":{ - "title":"Kullanılabilir Komutlar:", - "header1":"**Bilet oluşturmak için {0} kanalını kullan!**\n\n", - "header2":"**Bilet oluşturmak için `/new` veya `/ticket' komutunu çalıştırın!**\n\n", - - "msgCmd":"Gömülü bilet mesajı gönderir. (sadece yöneticiler)", - "renameCmd":"Bilet adını değiştirir. (boşluk olmadan)", - "closeCmd":"Bileti kapatır.", - "deleteCmd":"Bileti siler.", - "addCmd":"Bilete kullanıcı ekler.", - "removeCmd":"Biletten kullanıcı çıkarır.", - "reopenCmd":"Bilet kapandıktan sonra tekrar açar." - }, - "buttons":{ - "close":"Bileti Kapat", - "delete":"Bileti Sil", - "reopen":"Bileti Yeniden Aç", - "closeWithReason":"Bu bileti neden kapatıyorsun ?" - }, - "messages":{ - "reopenTitle":"Bilet yeniden açıldı!", - "reopenDescription":"Tekrar konuşmaktan çekinmeyin!", - "closedTitle":"Bu bilet kapatıldı!", - "closedDescription":"Bu bilette artık sadece yöneticiler konuşabilir!\n\n* Bu bileti silmek veya yeniden açmak için aşağıdaki butona tıklayın!*", - "createdTitle":"Bilet Oluşturuldu!", - "createdDescription":"Biletiniz oluşturuldu, bir ping ile tespit edebilirsiniz!", - - "newTicketDmTitle":"Yeni Bilet!", - "closedTicketDmTitle":"Bilet Kapatıldı!", - "deletedTicketDmTitle":"Bilet Silindi!", - "closedTicketDmDescription":"Senin biletin kapatıldı!", - "deletedTicketDmDescription":"Senin biletin silindi!", - "reopenTicketDmTitle":"Bilet yeniden açıldı!", - "reopenTicketDmDescription":"Senin biletin yeniden açıldı!", - - "chooseCategory":"Bir kategori seç:", - "gettingdeleted":"Bilet siliniyor...", - - "none":"yok", - "reason":"sebep", - - "deletedby":"Silen kişi", - "closedby":"Kapatan kişi", - "modalreason":"Bileti kapatma sebebiniz nedir?", - "chooseATicket": "Bileti Kapat" - }, "commands":{ "userAddedTitle":"Bilete {0} adlı kullanıcı eklendi!", "userRemovedTitle":"Biletten {0} adlı kullanıcı çıkarıldı !", "renameTitle":"Bilet ismi {0} olarak değştirildi!", "closeTitle":"Bilet Kapatıldı!", "deleteTitle":"Bilet siliniyor...", - "reopenTitle":"Bilet Yeniden Açıldı!", + "claimTitle":"Bu bilet artık talep edildi. {0}", "unclaimTitle":"Tu bilet artık talep edilmiyor!", "changeTitle":"Bu bilet türü {0} olarak değiştirildi!", @@ -111,9 +51,6 @@ "closeWithReason":"Bu bileti neden kapatıyorsun ?" }, "messages":{ - "reopenTitle":"Bu bilet yeniden açıldı!", - "reopenDescription":"Konuşmaktan çekinme!", - "closedTitle":"Bu bilet kapatıldı!", "closedDescription":"Bu bilette artık sadece yöneticiler konuşabilir!\n\n* Bu bileti silmek veya yeniden açmak için aşağıdaki butona tıklayın!*", "createdTitle":"Talep Oluşturuldu!", "createdDescription":"Your ticket is created, you can detect it by a ping!", diff --git a/package.json b/package.json index b747273..3e4e88e 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "dependencies": { "axios": "^0.27.2", "chalk": "^5.0.1", - "discord.js": "^14.7.1", + "discord.js": "^14.8.0", "node": "^16.10.0" }, "repository": {