diff --git a/src/commands/rename.js b/src/commands/rename.js new file mode 100644 index 0000000..e7de0a4 --- /dev/null +++ b/src/commands/rename.js @@ -0,0 +1,64 @@ +/** + * + * @name DiscordTickets + * @author eartharoid + * @license GNU-GPLv3 + * + */ + +const { MessageEmbed } = require('discord.js'); + +module.exports = { + name: 'rename', + description: 'Rename a ticket channel', + usage: '', + aliases: ['none'], + example: '', + args: true, + async execute(client, message, args, {config, Ticket}) { + const guild = client.guilds.cache.get(config.guild); + + let ticket = await Ticket.findOne({ + where: { + channel: message.channel.id + } + }); + + if (!ticket) { + return message.channel.send( + new MessageEmbed() + .setColor(config.err_colour) + .setAuthor(message.author.username, message.author.displayAvatarURL()) + .setTitle(':x: **This isn\'t a ticket channel**') + .setDescription('Use this command in the ticket channel you want to close, or mention the channel.') + .addField('Usage', `\`${config.prefix}${this.name} ${this.usage}\`\n`) + .addField('Help', `Type \`${config.prefix}help ${this.name}\` for more information`) + .setFooter(guild.name, guild.iconURL()) + ); + } + + if (!message.member.roles.cache.has(config.staff_role)) + return message.channel.send( + new MessageEmbed() + .setColor(config.err_colour) + .setAuthor(message.author.username, message.author.displayAvatarURL()) + .setTitle(':x: **No permission**') + .setDescription(`You don't have permission to rename this channel as you are not staff.`) + .addField('Usage', `\`${config.prefix}${this.name} ${this.usage}\`\n`) + .addField('Help', `Type \`${config.prefix}help ${this.name}\` for more information`) + .setFooter(guild.name, guild.iconURL()) + ); + + let newname = args.join(' '); + message.channel.setName(newname); + + message.channel.send( + new MessageEmbed() + .setColor(config.colour) + .setAuthor(message.author.username, message.author.displayAvatarURL()) + .setTitle(':white_check_mark: **Ticket updated**') + .setDescription('The name has been changed.') + .setFooter(client.user.username, client.user.displayAvatarURL()) + ); + } +}; \ No newline at end of file