refactor(commands/administration): linting the collector of join's command

This commit is contained in:
Raphael 2025-11-23 13:04:08 +01:00 committed by Raphaël
parent fdc78a69dd
commit e6498ac804

View file

@ -209,112 +209,111 @@ export default {
}); });
collector.on( collector.on(
'collect', 'collect',
async (selectInteraction: StringSelectMenuInteraction) => { (selectInteraction: StringSelectMenuInteraction) => {
if (selectInteraction.user.id !== interaction.user.id) { void (async () => {
void selectInteraction.reply({ if (selectInteraction.user.id !== interaction.user.id) {
content: `${emoji.answer.no} | You cannot use this selector !`, void selectInteraction.reply({
ephemeral: true, content: `${emoji.answer.no} | You cannot use this selector !`,
ephemeral: true,
});
return;
}
const selectedRoles = selectInteraction.values;
const permissionOverwrites = [
{
id: interaction.guild.roles.everyone.id,
deny: [
PermissionsBitField.Flags.ViewChannel,
PermissionsBitField.Flags.SendMessages,
],
},
...selectedRoles.map((id) => ({
id,
allow: [PermissionsBitField.Flags.ViewChannel],
})),
];
const category = await interaction.guild.channels.create({
name: 'Logs',
type: ChannelType.GuildCategory,
permissionOverwrites,
}); });
return;
}
const selectedRoles = selectInteraction.values;
const permissionOverwrites = [
{
id: interaction.guild.roles.everyone.id,
deny: [
PermissionsBitField.Flags.ViewChannel,
PermissionsBitField.Flags.SendMessages,
],
},
...selectedRoles.map((id) => ({
id,
allow: [PermissionsBitField.Flags.ViewChannel],
})),
];
const category = await interaction.guild.channels.create({ const logBot = await interaction.guild.channels.create({
name: 'Logs', name: 'bot-logs',
type: ChannelType.GuildCategory, type: ChannelType.GuildText,
permissionOverwrites, parent: category,
}); permissionOverwrites,
const logBot = await interaction.guild.channels.create({
name: 'bot-logs',
type: ChannelType.GuildText,
parent: category,
permissionOverwrites,
});
const logChannels = await interaction.guild.channels.create({
name: 'channel-logs',
type: ChannelType.GuildText,
parent: category,
permissionOverwrites,
});
const logMember = await interaction.guild.channels.create({
name: 'member-logs',
type: ChannelType.GuildText,
parent: category,
permissionOverwrites,
});
const logMod = await interaction.guild.channels.create({
name: 'mod-logs',
type: ChannelType.GuildText,
parent: category,
permissionOverwrites,
});
const logMsg = await interaction.guild.channels.create({
name: 'message-logs',
type: ChannelType.GuildText,
parent: category,
permissionOverwrites,
});
const logServer = await interaction.guild.channels.create({
name: 'server-logs',
type: ChannelType.GuildText,
parent: category,
permissionOverwrites,
});
await prisma.guild.update({
where: {
id: interaction.guild.id,
},
data: {
logEnable: true,
logCategory: category.id,
logBot: logBot.id,
logChannels: logChannels.id,
logMember: logMember.id,
logMod: logMod.id,
logMsg: logMsg.id,
logServer: logServer.id,
},
});
const mentionList = selectedRoles
.map((id) => `- <@&${id}>`)
.join('\n');
const autoConfig = new EmbedBuilder()
.setTitle('The logs category is created')
.setDescription(
`
This following roles will have access to the logs.
${mentionList}
`,
)
.setColor(guildData.color)
.setFooter({
text: guildData.footer,
}); });
await selectInteraction.update({
embeds: [autoConfig], const logChannels = await interaction.guild.channels.create({
components: [], name: 'channel-logs',
}); type: ChannelType.GuildText,
return; parent: category,
permissionOverwrites,
});
const logMember = await interaction.guild.channels.create({
name: 'member-logs',
type: ChannelType.GuildText,
parent: category,
permissionOverwrites,
});
const logMod = await interaction.guild.channels.create({
name: 'mod-logs',
type: ChannelType.GuildText,
parent: category,
permissionOverwrites,
});
const logMsg = await interaction.guild.channels.create({
name: 'message-logs',
type: ChannelType.GuildText,
parent: category,
permissionOverwrites,
});
const logServer = await interaction.guild.channels.create({
name: 'server-logs',
type: ChannelType.GuildText,
parent: category,
permissionOverwrites,
});
await prisma.guild.update({
where: {
id: interaction.guild.id,
},
data: {
logEnable: true,
logCategory: category.id,
logBot: logBot.id,
logChannels: logChannels.id,
logMember: logMember.id,
logMod: logMod.id,
logMsg: logMsg.id,
logServer: logServer.id,
},
});
const mentionList = selectedRoles
.map((id) => `- <@&${id}>`)
.join('\n');
const autoConfig = new EmbedBuilder()
.setTitle('The logs category is created')
.setDescription(`
This following roles will have access to the logs.
${mentionList}
`)
.setColor(guildData.color)
.setFooter({
text: guildData.footer,
});
await selectInteraction.update({
embeds: [autoConfig],
components: [],
});
})();
}, },
); );
break; break;