refactor(commands/administration): linting the collector of join's command
This commit is contained in:
parent
fdc78a69dd
commit
e6498ac804
1 changed files with 102 additions and 103 deletions
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue