refactor: typescript migration #24
4 changed files with 18 additions and 14 deletions
|
@ -4,7 +4,7 @@ import { Client } from 'discord.js';
|
||||||
import { readdir } from 'fs/promises';
|
import { readdir } from 'fs/promises';
|
||||||
|
|
||||||
export default async (client: Client) => {
|
export default async (client: Client) => {
|
||||||
const rest = new REST({ version: '9' }).setToken(client.token!);
|
const rest = new REST({ version: '9' }).setToken(client.token ?? '');
|
||||||
|
|
||||||
const command_categories = (await readdir('./src/commands'))
|
const command_categories = (await readdir('./src/commands'))
|
||||||
.filter(element => !element.endsWith('.js'));
|
.filter(element => !element.endsWith('.js'));
|
||||||
|
@ -32,7 +32,7 @@ export default async (client: Client) => {
|
||||||
)
|
)
|
||||||
).flat(2);
|
).flat(2);
|
||||||
|
|
||||||
return await rest.put(Routes.applicationCommands(client.user!.id), {
|
return await rest.put(Routes.applicationCommands(client.user?.id ?? ''), {
|
||||||
body: commands,
|
body: commands,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -17,7 +17,7 @@ export default async (client: Client) => {
|
||||||
);
|
);
|
||||||
|
|
||||||
// Remove .js
|
// Remove .js
|
||||||
let event_type_ext = event_file.split('.');
|
const event_type_ext = event_file.split('.');
|
||||||
if (event_type_ext.pop() !== 'js') {
|
if (event_type_ext.pop() !== 'js') {
|
||||||
throw `Unknown file in ${event_category}: ${event_file}`;
|
throw `Unknown file in ${event_category}: ${event_file}`;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ const run = async () => {
|
||||||
.then(async client => {
|
.then(async client => {
|
||||||
console.log('Client ✅');
|
console.log('Client ✅');
|
||||||
await loadEvents(client)
|
await loadEvents(client)
|
||||||
.then(_ => console.log('Events ✅'))
|
.then(() => console.log('Events ✅'))
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
throw 'Events ❌';
|
throw 'Events ❌';
|
||||||
});
|
});
|
||||||
|
@ -23,14 +23,14 @@ const run = async () => {
|
||||||
await client.login(client.config.token_discord);
|
await client.login(client.config.token_discord);
|
||||||
|
|
||||||
await loadCommands(client)
|
await loadCommands(client)
|
||||||
.then(_ => console.log('Commands ✅'))
|
.then(() => console.log('Commands ✅'))
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
throw 'Commands ❌';
|
throw 'Commands ❌';
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log(`Botanique "${client.user!.username}" ${client.config.version} started!`);
|
console.log(`Botanique "${client.user?.username}" ${client.config.version} started!`);
|
||||||
})
|
})
|
||||||
.catch(_ => {
|
.catch(() => {
|
||||||
throw 'Client ❌';
|
throw 'Client ❌';
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,16 +4,20 @@ import { SlashCommandBuilder } from '@discordjs/builders';
|
||||||
|
|
||||||
const { version } = JSON.parse(readFileSync('./package.json').toString());
|
const { version } = JSON.parse(readFileSync('./package.json').toString());
|
||||||
|
|
||||||
declare module "discord.js" {
|
declare module 'discord.js' {
|
||||||
|
// eslint-disable-next-line no-shadow
|
||||||
export interface Client {
|
export interface Client {
|
||||||
config: {
|
config: {
|
||||||
version: any,
|
version: string,
|
||||||
token_discord: any
|
token_discord: string | undefined
|
||||||
},
|
},
|
||||||
commands: Collection<string, {
|
commands: Collection<
|
||||||
data: SlashCommandBuilder,
|
string,
|
||||||
interaction: (interaction: CommandInteraction, client: Client) => any
|
{
|
||||||
}>
|
data: SlashCommandBuilder,
|
||||||
|
interaction: (interaction: CommandInteraction, client: Client) => unknown
|
||||||
|
}
|
||||||
|
>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue