39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { Events } from "discord.js";
|
|
import { KyokoClient } from "@lib/KyokoClient";
|
|
import { env } from "@lib/env";
|
|
|
|
// Load commands
|
|
await KyokoClient.loadCommands();
|
|
await KyokoClient.deployCommands();
|
|
|
|
KyokoClient.once(Events.ClientReady, async c => {
|
|
console.log(`Ready! Logged in as ${c.user.tag}`);
|
|
});
|
|
|
|
KyokoClient.on(Events.InteractionCreate, async interaction => {
|
|
if (!interaction.isChatInputCommand()) return;
|
|
|
|
const command = KyokoClient.commands.get(interaction.commandName);
|
|
|
|
if (!command) {
|
|
console.error(`No command matching ${interaction.commandName} was found.`);
|
|
return;
|
|
}
|
|
|
|
try {
|
|
await command.execute(interaction);
|
|
} catch (error) {
|
|
console.error(error);
|
|
if (interaction.replied || interaction.deferred) {
|
|
await interaction.followUp({ content: 'There was an error while executing this command!', ephemeral: true });
|
|
} else {
|
|
await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true });
|
|
}
|
|
}
|
|
});
|
|
|
|
// login with the token from .env
|
|
if (!env.DISCORD_BOT_TOKEN) {
|
|
throw new Error("❌ DISCORD_BOT_TOKEN is not set in environment variables.");
|
|
}
|
|
KyokoClient.login(env.DISCORD_BOT_TOKEN); |