fix: keep priority when moving (closes #467)

This commit is contained in:
Isaac 2023-07-30 01:28:59 +01:00
parent 8a8bc2bebe
commit 34b5090575
No known key found for this signature in database
GPG Key ID: 0DE40AE37BBA5C33
2 changed files with 16 additions and 24 deletions

View File

@ -2,7 +2,7 @@ const { SlashCommand } = require('@eartharoid/dbf');
const { ApplicationCommandOptionType } = require('discord.js');
const ExtendedEmbedBuilder = require('../../lib/embed');
const { isStaff } = require('../../lib/users');
const { getEmoji } = require('./priority');
module.exports = class MoveSlashCommand extends SlashCommand {
constructor(client, options) {
const name = 'move';
@ -129,7 +129,7 @@ module.exports = class MoveSlashCommand extends SlashCommand {
.replace(/{+\s?num(ber)?\s?}+/gi, ticket.number === 1488 ? '1487b' : ticket.number);
await interaction.channel.edit({
lockPermissions: false,
name: channelName,
name: ticket.priority ? getEmoji(ticket.priority) + channelName : channelName,
parent: discordCategory,
permissionOverwrites: [
{

View File

@ -4,6 +4,15 @@ const ExtendedEmbedBuilder = require('../../lib/embed');
const { logTicketEvent } = require('../../lib/logging');
const { isStaff } = require('../../lib/users');
const getEmoji = priority => {
const emojis = {
'HIGH': '🔴',
'MEDIUM': '🟠',
'LOW': '🟢', // eslint-disable-line sort-keys
};
return emojis[priority];
};
module.exports = class PrioritySlashCommand extends SlashCommand {
constructor(client, options) {
const name = 'priority';
@ -37,25 +46,6 @@ module.exports = class PrioritySlashCommand extends SlashCommand {
});
}
getEmoji(priority) {
let emoji;
switch (priority) {
case 'HIGH': {
emoji = '🔴';
break;
}
case 'MEDIUM': {
emoji = '🟠';
break;
}
case 'LOW': {
emoji = '🟢';
break;
}
}
return emoji;
}
/**
*
* @param {import("discord.js").ChatInputCommandInteraction} interaction
@ -103,8 +93,8 @@ module.exports = class PrioritySlashCommand extends SlashCommand {
const priority = interaction.options.getString('priority', true);
let name = interaction.channel.name;
if (ticket.priority) name = name.replace(this.getEmoji(ticket.priority), this.getEmoji(priority));
else name = this.getEmoji(priority) + name;
if (ticket.priority) name = name.replace(getEmoji(ticket.priority), getEmoji(priority));
else name = getEmoji(priority) + name;
await interaction.channel.setName(name);
// don't reassign ticket because the original is used below
@ -139,4 +129,6 @@ module.exports = class PrioritySlashCommand extends SlashCommand {
});
}
};
};
module.exports.getEmoji = getEmoji;