odin/src/commands/guilds/register.ts
2024-12-23 23:34:14 +01:00

38 lines
1.4 KiB
TypeScript

import { SlashCommandBuilder, CommandInteraction, PermissionsBitField } from "npm:discord.js";
import { connectToDb, getGuild, addGuild } from "../../libs/mysql.ts"
import { errorEmbed, successEmbed } from "../../libs/discord.ts";
export default {
data: new SlashCommandBuilder()
.setName("register")
.setDescription("Register the guild to the bot.")
.setDMPermission(false),
async execute(interaction: CommandInteraction) {
const guild_id: string = interaction.guildId ? interaction.guildId : "";
const member = interaction.guild?.members.cache.get(interaction.user.id);
if (!member?.permissions.has(PermissionsBitField.Flags.ManageGuild)) {
const embed = errorEmbed("You are not allowed to use that command.", interaction.client.user.displayAvatarURL());
return await interaction.reply({embeds: [embed]});
}
const connection = await connectToDb();
const guild: any[] = await getGuild(connection, guild_id);
if (guild[0]) {
const embed = await errorEmbed("Your server is already registered.", interaction.client.user.displayAvatarURL());
return await interaction.reply({embeds: [embed]});
}
await addGuild(connection, guild_id);
connection.end();
const embed = await successEmbed("your server has been added to the bot.", interaction.client.user.displayAvatarURL());
await interaction.reply({embeds: [embed]});
},
};