Carter Penterman
3a167cf686
Some checks failed
continuous-integration/drone/push Build is failing
The enhancements: - Added map validation that checks for some common errors that maps have - /take: Does map validation but will still take the map even if there are problems - /take: Improved the help text and added links to the maptest places - /submit: Does map validation and will not let you submit if there are problems - /submissions: Now shows the map's display name and creator - Added an ESLint config and tidied some things up - Updated some of the packages Reviewed-on: #13 Co-authored-by: Carter Penterman <carterpenterman@gmail.com> Co-committed-by: Carter Penterman <carterpenterman@gmail.com>
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
const fs = require('node:fs');
|
|
const { Client, Collection } = require("discord.js");
|
|
const {token} = require("./config/config.json");
|
|
|
|
const client = new Client({intents: ["Guilds"]});
|
|
|
|
client.commands = new Collection();
|
|
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
|
|
|
|
for (const file of commandFiles) {
|
|
const command = require(`./commands/${file}`);
|
|
// Set a new item in the Collection
|
|
// With the key as the command name and the value as the exported module
|
|
client.commands.set(command.data.name, command);
|
|
}
|
|
|
|
client.on('interactionCreate', async interaction => {
|
|
if (!interaction.isCommand()) return;
|
|
|
|
const command = client.commands.get(interaction.commandName);
|
|
|
|
if (!command) return;
|
|
|
|
try {
|
|
await command.execute(interaction);
|
|
} catch (error) {
|
|
console.error(error);
|
|
await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true });
|
|
}
|
|
});
|
|
|
|
client.on("error", async _error => {
|
|
|
|
});
|
|
|
|
client.once("ready", () => {
|
|
console.log("Ready");
|
|
client.user.setActivity({
|
|
name: "use /take and /submit",
|
|
type: 0
|
|
});
|
|
});
|
|
|
|
client.login(token); |