owner command

This commit is contained in:
supositware 2022-06-20 11:42:20 +02:00
parent b435d1a72b
commit 98ea70d35b
3 changed files with 44 additions and 3 deletions

22
commands/owner/die.js Normal file
View file

@ -0,0 +1,22 @@
import { SlashCommandBuilder } from '@discordjs/builders';
import dotenv from 'dotenv';
import process from 'node:process';
dotenv.config();
const { ownerId } = process.env;
export default {
data: new SlashCommandBuilder()
.setName('die')
.setDescription('Kill the bot'),
async execute(interaction) {
if (interaction.user.id !== ownerId) {
return interaction.reply({ content: '❌ This command is reserved for the owner!', ephemeral: true });
}
console.log('\x1b[31m\x1b[47m\x1b[5mSHUTING DOWN!!!!!\x1b[0m');
await interaction.reply({ content: 'Good bye', ephemeral: true })
.then(() => {
console.log('\x1b[31m\x1b[47m\x1b[5mSHUTING DOWN!!!!!\x1b[0m');
process.exit(1);
});
},
};

18
deploy-owner-commands.cjs Normal file
View file

@ -0,0 +1,18 @@
const { SlashCommandBuilder } = require('@discordjs/builders');
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v9');
require('dotenv').config();
const { clientId, guildId, token } = process.env;
const commands = [
new SlashCommandBuilder()
.setName('die')
.setDescription('Kill the bot'),
]
.map(command => command.toJSON());
const rest = new REST({ version: '9' }).setToken(token);
rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commands })
.then(() => console.log(`Successfully registered application commands for the guild ${guildId}.`))
.catch(console.error);

View file

@ -9,16 +9,17 @@ const { token } = process.env;
const __filename = fileURLToPath(import.meta.url); const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename); const __dirname = path.dirname(__filename);
const client = new Client({ intents: [Intents.FLAGS.GUILDS] }); const client = new Client({ intents: [Intents.FLAGS.GUILDS], shards: 'auto' });
// Load commands // Load commands
client.commands = new Collection(); client.commands = new Collection();
await loadCommandFromDir('fun'); await loadCommandFromDir('fun');
await loadCommandFromDir('utility'); await loadCommandFromDir('utility');
await loadCommandFromDir('owner');
// Load events // Load events
loadEventFromDir('client', client); await loadEventFromDir('client', client);
loadEventFromDir('process', process); await loadEventFromDir('process', process);
client.login(token); client.login(token);