Compare commits

...

3 commits

Author SHA1 Message Date
1349ad52bb
time utils 2022-07-26 23:54:11 +02:00
5e17b7e351
update translations 2022-07-26 23:53:57 +02:00
b31aef9999
move client to module folder 2022-07-26 23:41:29 +02:00
4 changed files with 61 additions and 39 deletions

View file

@ -12,5 +12,7 @@
"c_help_opt1_desc": "Commande voulu en détail.",
"c_help1": "Liste des catégories et des commandes associées",
"c_help2": "`/help <commande>` pour obtenir plus d'informations sur une commande.",
"c_help3": "Impossible de trouver :"
"c_help3": "Impossible de trouver :",
"u_time_at": "à"
}

41
src/modules/client.ts Normal file
View file

@ -0,0 +1,41 @@
import { Collection } from 'discord.js';
import { SlashCommandBuilder } from '@discordjs/builders';
export {};
declare module 'discord.js' {
// eslint-disable-next-line no-shadow
export interface Client {
/** Store the configuration */
config: {
/** Bot version */
version: string,
/** Bot token from env variable */
token_discord: string | undefined,
/** Default lang used */
default_lang: string
},
/** Store all the slash commands */
commands: {
categories: Collection<
/** Category name */
string,
/** Name of the commands in the category */
string[]
>,
list: Collection<
/** Command name */
string,
/** Command itself */
{
/** Data about the command */
data: SlashCommandBuilder,
/** How the command interact */
interaction: (interaction: CommandInteraction, client: Client) => unknown
}
>,
}
/** Store all the localizations */
locales: Map<string, Map<string, string>>
}
}

View file

@ -1,44 +1,7 @@
import { Client, Collection, Intents } from 'discord.js';
import { readFileSync } from 'fs';
import { SlashCommandBuilder } from '@discordjs/builders';
import { loadLocales } from './locales';
declare module 'discord.js' {
// eslint-disable-next-line no-shadow
export interface Client {
/** Store the configuration */
config: {
/** Bot version */
version: string,
/** Bot token from env variable */
token_discord: string | undefined,
/** Default lang used */
default_lang: string
},
/** Store all the slash commands */
commands: {
categories: Collection<
/** Category name */
string,
/** Name of the commands in the category */
string[]
>,
list: Collection<
/** Command name */
string,
/** Command itself */
{
/** Data about the command */
data: SlashCommandBuilder,
/** How the command interact */
interaction: (interaction: CommandInteraction, client: Client) => unknown
}
>,
}
/** Store all the localizations */
locales: Map<string, Map<string, string>>
}
}
import '../modules/client';
/** Creation of the client and definition of its properties. */
export default async () => {

16
src/utils/time.ts Normal file
View file

@ -0,0 +1,16 @@
/**
* Parsed string adapted with TZ (locales) and format for the specified lang.
* @param lang Lang
* @param locale Locales
* @param date Date
* @returns String
*/
export const showDate = (
lang: string,
locale: Map<string, unknown>,
date: Date
) => {
return date.toLocaleString(lang).replace(' ', ` ${
locale.get('u_time_at')
} `);
};