diff --git a/commands/new.js b/commands/new.js index f023ac7..2a5cdb3 100644 --- a/commands/new.js +++ b/commands/new.js @@ -11,108 +11,114 @@ module.exports = { args: true, cooldown: config.cooldown, guildOnly: true, - execute(message, args) { + execute(message, args) { const client = message.client; - // command starts here - message.delete(); + // command starts here + message.delete(); let topic = args.join(" "); - // let num = randomString({ - // length: 4, - // numeric: true, - // letters: false, - // special: false, - // }); - let id = message.author.id.toString().substr(0,4) + message.author.discriminator; - let chan = `ticket-${id}`; + // let num = randomString({ + // length: 4, + // numeric: true, + // letters: false, + // special: false, + // }); + let id = message.author.id.toString().substr(0, 4) + message.author.discriminator; + let chan = `ticket-${id}`; - if(message.guild.channels.some(channel => chan.includes(channel.name))) { - if(config.useEmbeds){ - const err1 = new Discord.RichEmbed() - .setColor("#E74C3C") - .setDescription(`:x: You already have an open ticket.`) - return message.channel.send(err1) - } else { - message.channel.send(`:x: You already have an open ticket.`) - } + if (message.guild.channels.some(channel => chan.includes(channel.name))) { + if (config.useEmbeds) { + const err1 = new Discord.RichEmbed() + .setColor("#E74C3C") + .setDescription(`:x: You already have an open ticket.`) + return message.channel.send(err1) + } else { + message.channel.send(`:x: You already have an open ticket.`) + } - }; + }; - message.guild.createChannel(`ticket-${id}`).then(async c => { - c.setParent(config.ticketsCat); - // let supportRole = message.guild.roles.find(`id`, config.supportRole) + message.guild.createChannel(`ticket-${id}`, { + type: 'text' + }).then(async c => { + c.setParent(config.ticketsCat); + // let supportRole = message.guild.roles.find(`id`, config.supportRole) let supportRole = message.guild.roles.get(config.supportRole) - if(!supportRole) return message.channel.send(":x: No **Support Team** role found."); + if (!supportRole) return message.channel.send(":x: No **Support Team** role found."); - c.overwritePermissions(message.guild.defaultRole, { - VIEW_CHANNEL: false, - SEND_MESSAGES: false - }) - c.overwritePermissions(message.member, { - VIEW_CHANNEL: true, - SEND_MESSAGES: true - }) - c.overwritePermissions(supportRole, { - VIEW_CHANNEL: true, - SEND_MESSAGES: true - }) - c.setTopic(`${message.author} | ${topic}`); - if(config.tagHereOnly){ + c.overwritePermissions(message.guild.defaultRole, { + VIEW_CHANNEL: false, + SEND_MESSAGES: false + }) + c.overwritePermissions(message.member, { + VIEW_CHANNEL: true, + SEND_MESSAGES: true + }) + c.overwritePermissions(supportRole, { + VIEW_CHANNEL: true, + SEND_MESSAGES: true + }) + c.setTopic(`${message.author} | ${topic}`); + if (config.tagHereOnly) { await c.send(`@here, a user has created a new ticket.\n`); } else { await c.send(`<@&${config.supportRole}>, a user has created a new ticket.\n`); }; - if(config.ticketImage) { - await c.send(`__**Here's your ticket channel, ${message.author}**__`,{files: [`./image.png`]}) + if (config.ticketImage) { + await c.send(`__**Here's your ticket channel, ${message.author}**__`, { + files: [`./image.png`] + }) } else { await c.send(`__**Here's your ticket channel, ${message.author}**__`) } - const created = new Discord.RichEmbed() - .setColor(config.colour) - .setDescription(`Your ticket (${c}) has been created.\nPlease read the information sent and follow any instructions given.`) - .setTimestamp(); + const created = new Discord.RichEmbed() + .setColor(config.colour) + .setDescription(`Your ticket (${c}) has been created.\nPlease read the information sent and follow any instructions given.`) + .setTimestamp(); const welcome = new Discord.RichEmbed() - .setColor(config.colour) - .setDescription(`**Ticket topic:** \`${topic}\`\n\n${config.ticketText}`) + .setColor(config.colour) + .setDescription(`**Ticket topic:** \`${topic}\`\n\n${config.ticketText}`) - if(config.useEmbeds) { - message.channel.send(created) - let w = await c.send(welcome) - await w.pin(); - // c.fetchMessage(c.lastMessageID).delete() + if (config.useEmbeds) { + message.channel.send(created) + let w = await c.send(welcome) + await w.pin(); + // c.fetchMessage(c.lastMessageID).delete() } else { message.channel.send(`Your ticket (${c}) has been created.\nPlease read the information sent and follow any instructions given.`) let w = await c.send(`**Ticket topic:** \`${topic}\`\n\n${config.ticketText}`) await w.pin() - // c.fetchMessage(c.lastMessageID).delete() + // c.fetchMessage(c.lastMessageID).delete() } // log - if(config.useEmbeds) { - const embed = new Discord.RichEmbed() - .setAuthor(`${client.user.username} / Ticket Log`, client.user.avatarURL) - .setTitle("New Ticket") + if (config.useEmbeds) { + const embed = new Discord.RichEmbed() + .setAuthor(`${client.user.username} / Ticket Log`, client.user.avatarURL) + .setTitle("New Ticket") .setColor(config.colour) .setDescription(`\`${topic}\``) - .addField("Username", message.author, true) - .addField("Channel", c, true) - .setFooter(`DiscordTickets`) + .addField("Username", message.author, true) + .addField("Channel", c, true) + .setFooter(`DiscordTickets`) .setTimestamp(); - client.channels.get(config.logChannel).send({embed}) - } else { - client.channels.get(config.logChannel).send(`New ticket created by **${message.author.tag} (${message.author.id})**`); - } + client.channels.get(config.logChannel).send({ + embed + }) + } else { + client.channels.get(config.logChannel).send(`New ticket created by **${message.author.tag} (${message.author.id})**`); + } log.info(`${message.author.tag} created a new ticket (#ticket-${id})`) - }) + }) - // command ends here + // command ends here }, -}; +}; \ No newline at end of file diff --git a/package.json b/package.json index 7e8a120..4e22a69 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "description": "A Discord ticket/support - an open-source & self-hosted bot", "main": "index.js", "dependencies": { - "discord.js": "^11.4.2", - "leekslazylogger": "^1.1.3" + "discord.js": "^11.5.1", + "leekslazylogger": "^1.1.7" }, "devDependencies": {}, "scripts": {