(maint) Formatted files with prettier.

Signed-off-by: Louis Hollingworth <louis@hollingworth.ch>
This commit is contained in:
Louis Hollingworth 2023-06-15 18:38:05 +01:00
parent 715d04ef9b
commit 6e1e54da1b
Signed by: lucxjo
GPG key ID: A11415CB3DC7809B
3 changed files with 96 additions and 74 deletions

View file

@ -1,5 +1,18 @@
import { ApplicationCommandOptionType, Channel, CommandInteraction, GuildMember, PermissionsBitField } from "discord.js";
import { Discord, Guard, GuardFunction, Slash, SlashGroup, SlashOption } from "discordx";
import {
ApplicationCommandOptionType,
Channel,
CommandInteraction,
GuildMember,
PermissionsBitField,
} from "discord.js";
import {
Discord,
Guard,
GuardFunction,
Slash,
SlashGroup,
SlashOption,
} from "discordx";
import { prisma } from "../main.js";
const AdminOnly: GuardFunction<CommandInteraction> = async (
@ -8,68 +21,75 @@ const AdminOnly: GuardFunction<CommandInteraction> = async (
next
) => {
const argObj = arg instanceof Array ? arg[0] : arg;
const user = argObj.user as GuildMember
const user = argObj.user as GuildMember;
if (user.permissions.has(PermissionsBitField.Flags.Administrator)) await next();
}
if (user.permissions.has(PermissionsBitField.Flags.Administrator))
await next();
};
@Discord()
@SlashGroup({ name: "admin", description: "Admin commands" })
@SlashGroup("admin")
@Guard(AdminOnly)
class AdminCmds {
@Slash({description: "Set or get the configured channel for reports"})
@Slash({ description: "Set or get the configured channel for reports" })
async reports(
@SlashOption({
description: "Set where the reports should be sent",
name: "reports_channel",
required: false,
type: ApplicationCommandOptionType.Channel
type: ApplicationCommandOptionType.Channel,
})
channel: Channel,
interaction: CommandInteraction
) {
if (channel) {
await prisma.guild.findUnique({
where: {
id: interaction.guildId!
}
}).then(async (data) => {
if (data) {
await prisma.guild.update({
where: {
id: data.id
},
data: {
reports_channel_id: channel.id,
}
})
} else {
await prisma.guild.create({
data: {
id: interaction.guildId!,
name: interaction.guild!.name,
reports_channel_id: channel.id
}
})
}
await prisma.guild
.findUnique({
where: {
id: interaction.guildId!,
},
})
.then(async (data) => {
if (data) {
await prisma.guild.update({
where: {
id: data.id,
},
data: {
reports_channel_id: channel.id,
},
});
} else {
await prisma.guild.create({
data: {
id: interaction.guildId!,
name: interaction.guild!.name,
reports_channel_id: channel.id,
},
});
}
interaction.reply(`<#${channel.id}> is now setup to receive reports.`)
})
interaction.reply(
`<#${channel.id}> is now setup to receive reports.`
);
});
} else {
await prisma.guild.findUnique({
where: {
id: interaction.guildId!
}
}).then((data) => {
if (data) {
interaction.reply(`<#${data.reports_channel_id}> is currently receiving reports for this guild.`)
} else {
interaction.reply("Reports are currently disabled for this guild")
}
})
await prisma.guild
.findUnique({
where: {
id: interaction.guildId!,
},
})
.then((data) => {
if (data) {
interaction.reply(
`<#${data.reports_channel_id}> is currently receiving reports for this guild.`
);
} else {
interaction.reply("Reports are currently disabled for this guild");
}
});
}
}
}