* removes string repetition
* translations * trim newlines * comments
This commit is contained in:
parent
a9ef97daa6
commit
b4176318ef
7 changed files with 35 additions and 10 deletions
|
@ -3,6 +3,7 @@ import { Routes } from 'discord-api-types/v9';
|
|||
import { Client } from 'discord.js';
|
||||
import { readdir } from 'fs/promises';
|
||||
|
||||
/** Load all the commands */
|
||||
export default async (client: Client) => {
|
||||
const rest = new REST({ version: '9' }).setToken(client.token ?? '');
|
||||
|
||||
|
@ -23,6 +24,7 @@ export default async (client: Client) => {
|
|||
await import(`../commands/${command_category}/${command_file}`)
|
||||
).default;
|
||||
|
||||
// Add it to the collection so the interaction will work
|
||||
client.commands.set(command.data.name, command);
|
||||
|
||||
return command.data.toJSON();
|
||||
|
@ -32,6 +34,7 @@ export default async (client: Client) => {
|
|||
)
|
||||
).flat(2);
|
||||
|
||||
// Send commands to Discord
|
||||
return await rest.put(Routes.applicationCommands(client.user?.id ?? ''), {
|
||||
body: commands,
|
||||
});
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
export const once = true;
|
||||
|
||||
/** https://discord.js.org/#/docs/discord.js/main/class/Client?scrollTo=e-ready */
|
||||
export default async () => {
|
||||
console.log('Connecté à Discord !');
|
||||
console.log('Connected to Discord!');
|
||||
};
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
import { Client, Interaction } from 'discord.js';
|
||||
|
||||
/** https://discord.js.org/#/docs/discord.js/main/class/Client?scrollTo=e-interactionCreate */
|
||||
export default (interaction: Interaction, client: Client) => {
|
||||
if (interaction.isCommand()) {
|
||||
const command = client.commands.get(interaction.commandName);
|
||||
if (!command) {
|
||||
return interaction.reply({
|
||||
content: 'Désolé la commande n\'existe probablement plus...',
|
||||
content: 'Sorry, the command probably no longer exists...',
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { Client } from 'discord.js';
|
||||
import { readdir } from 'fs/promises';
|
||||
|
||||
/** Load all the events */
|
||||
export default async (client: Client) => {
|
||||
const events_categories = (await readdir(__dirname))
|
||||
.filter(element => !element.endsWith('.js') && !element.endsWith('.ts'));
|
||||
|
|
24
src/index.ts
24
src/index.ts
|
@ -2,6 +2,9 @@ import loadClient from './utils/client';
|
|||
import loadEvents from './events/loader';
|
||||
import loadCommands from './commands/loader';
|
||||
|
||||
import { logStart } from './utils/misc';
|
||||
|
||||
/** Run the bot */
|
||||
const run = async () => {
|
||||
console.log('Starting Botanique...');
|
||||
|
||||
|
@ -13,27 +16,34 @@ const run = async () => {
|
|||
}
|
||||
|
||||
// Client Discord.JS
|
||||
const client_name = 'Client';
|
||||
await loadClient()
|
||||
.then(async client => {
|
||||
console.log('Client ✅');
|
||||
console.log(logStart(client_name, true));
|
||||
|
||||
// Events Discord.JS
|
||||
const events_name = 'Events';
|
||||
await loadEvents(client)
|
||||
.then(() => console.log('Events ✅'))
|
||||
.then(() => console.log(logStart(events_name, true)))
|
||||
.catch(() => {
|
||||
throw 'Events ❌';
|
||||
throw logStart(events_name, false);
|
||||
});
|
||||
|
||||
// Connect the bot to Discord.com
|
||||
await client.login(client.config.token_discord);
|
||||
|
||||
// Commands Slash Discord.JS
|
||||
const commands_name = 'Commands';
|
||||
await loadCommands(client)
|
||||
.then(() => console.log('Commands ✅'))
|
||||
.then(() => console.log(logStart(commands_name, true)))
|
||||
.catch(() => {
|
||||
throw 'Commands ❌';
|
||||
throw logStart(commands_name, false);
|
||||
});
|
||||
|
||||
console.log(`Botanique "${client.user?.username}" ${client.config.version} started!`);
|
||||
console.log(`Botanique "${client.user?.username}" v${client.config.version} started!`);
|
||||
})
|
||||
.catch(() => {
|
||||
throw 'Client ❌';
|
||||
throw logStart(client_name, false);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ declare module 'discord.js' {
|
|||
}
|
||||
}
|
||||
|
||||
// Création du client et de ses propriétés
|
||||
/** Creation of the client and definition of its properties */
|
||||
export default async () => {
|
||||
const client: Client = new Client({
|
||||
intents: [
|
||||
|
|
9
src/utils/misc.ts
Normal file
9
src/utils/misc.ts
Normal file
|
@ -0,0 +1,9 @@
|
|||
/**
|
||||
* Log module status
|
||||
* @param {string} name Module name
|
||||
* @param {boolean} status Module status
|
||||
* @returns String
|
||||
*/
|
||||
export const logStart = (name: string, status: boolean) => {
|
||||
return `> ${name} ${status === true ? '✅' : '❌'}`;
|
||||
};
|
Loading…
Reference in a new issue