Compare commits
2 commits
d118b3cd1f
...
98ea70d35b
Author | SHA1 | Date | |
---|---|---|---|
98ea70d35b | |||
b435d1a72b |
5 changed files with 61 additions and 3 deletions
13
commands/fun/inspirobot.js
Normal file
13
commands/fun/inspirobot.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
import { SlashCommandBuilder } from '@discordjs/builders';
|
||||
import fetch from 'node-fetch';
|
||||
|
||||
export default {
|
||||
data: new SlashCommandBuilder()
|
||||
.setName('inspirobot')
|
||||
.setDescription('Get an image from inspirobot'),
|
||||
async execute(interaction) {
|
||||
fetch('http://inspirobot.me/api?generate=true')
|
||||
.then(res => res.text())
|
||||
.then(body => interaction.reply({ files: [body] }));
|
||||
},
|
||||
};
|
22
commands/owner/die.js
Normal file
22
commands/owner/die.js
Normal 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);
|
||||
});
|
||||
},
|
||||
};
|
|
@ -45,6 +45,10 @@ const commands = [
|
|||
option.setName('feedback')
|
||||
.setDescription('The message you want to send me.')
|
||||
.setRequired(true)),
|
||||
|
||||
new SlashCommandBuilder()
|
||||
.setName('inspirobot')
|
||||
.setDescription('Get an image from inspirobot'),
|
||||
]
|
||||
.map(command => command.toJSON());
|
||||
|
||||
|
|
18
deploy-owner-commands.cjs
Normal file
18
deploy-owner-commands.cjs
Normal 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);
|
7
index.js
7
index.js
|
@ -9,16 +9,17 @@ const { token } = process.env;
|
|||
const __filename = fileURLToPath(import.meta.url);
|
||||
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
|
||||
client.commands = new Collection();
|
||||
await loadCommandFromDir('fun');
|
||||
await loadCommandFromDir('utility');
|
||||
await loadCommandFromDir('owner');
|
||||
|
||||
// Load events
|
||||
loadEventFromDir('client', client);
|
||||
loadEventFromDir('process', process);
|
||||
await loadEventFromDir('client', client);
|
||||
await loadEventFromDir('process', process);
|
||||
|
||||
client.login(token);
|
||||
|
||||
|
|
Loading…
Reference in a new issue