From be6518524c9bbd0a2ca82d806a7ad68f6d963d36 Mon Sep 17 00:00:00 2001 From: Vermium Sifell Date: Sat, 30 Apr 2022 15:12:40 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=90=20now=20loading=20from=20json=20fi?= =?UTF-8?q?les?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/events/guildCreate/index.ts | 3 ++- src/events/guildDelete/index.ts | 3 ++- src/events/guildMemberAdd/index.ts | 1 - src/events/guildMemberRemove/index.ts | 1 - src/events/interactionCreate/index.ts | 1 - src/events/messageCreate/index.ts | 1 - src/events/messageDelete/index.ts | 1 - src/events/messageUpdate/index.ts | 1 - src/events/ready/index.ts | 1 - src/handlers/events.ts | 4 ++-- src/locale/index.ts | 26 ++++++++++---------------- 12 files changed, 17 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index 7dcc8e3..f81a6c7 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "discord-api-types": "^0.31.0", "discord.js": "^13.6.0", "i18next": "^21.6.13", + "i18next-async-backend": "^2.0.0", "i18next-resources-to-backend": "^1.0.0", "mongoose": "^6.2.3", "node-schedule": "^2.1.0", diff --git a/src/events/guildCreate/index.ts b/src/events/guildCreate/index.ts index a55d9d5..31e87b2 100644 --- a/src/events/guildCreate/index.ts +++ b/src/events/guildCreate/index.ts @@ -7,7 +7,6 @@ import fetchGuild from "@helpers/fetchGuild"; import logger from "@logger"; export default { - name: "guildCreate", async execute(guild: Guild) { const { client } = guild; @@ -15,5 +14,7 @@ export default { await fetchGuild(guild); await updatePresence(client); + + logger.silly(`guildCreate: ${guild}`); }, }; diff --git a/src/events/guildDelete/index.ts b/src/events/guildDelete/index.ts index 9a0ceec..6da6f4a 100644 --- a/src/events/guildDelete/index.ts +++ b/src/events/guildDelete/index.ts @@ -7,7 +7,6 @@ import dropGuild from "@helpers/dropGuild"; import logger from "@logger"; export default { - name: "guildDelete", async execute(guild: Guild) { const { client } = guild; @@ -15,5 +14,7 @@ export default { await dropGuild(guild); await updatePresence(client); + + logger.silly(`guildDelete: ${guild}`); }, }; diff --git a/src/events/guildMemberAdd/index.ts b/src/events/guildMemberAdd/index.ts index 4b2cbe0..b99d7ad 100644 --- a/src/events/guildMemberAdd/index.ts +++ b/src/events/guildMemberAdd/index.ts @@ -9,7 +9,6 @@ import joinMessage from "../guildMemberAdd/joinMessage"; import audits from "../guildMemberAdd/audits"; export default { - name: "guildMemberAdd", async execute(member: GuildMember) { const { client, user, guild } = member; diff --git a/src/events/guildMemberRemove/index.ts b/src/events/guildMemberRemove/index.ts index e2fe667..332f143 100644 --- a/src/events/guildMemberRemove/index.ts +++ b/src/events/guildMemberRemove/index.ts @@ -9,7 +9,6 @@ import leaveMessage from "./leaveMessage"; import audits from "./audits"; export default { - name: "guildMemberRemove", async execute(member: GuildMember) { const { client, user, guild } = member; diff --git a/src/events/interactionCreate/index.ts b/src/events/interactionCreate/index.ts index fb35bc9..befd29f 100644 --- a/src/events/interactionCreate/index.ts +++ b/src/events/interactionCreate/index.ts @@ -7,7 +7,6 @@ import logger from "@logger"; import audits from "./audits"; export default { - name: "interactionCreate", async execute(interaction: CommandInteraction) { const { guild, id } = interaction; diff --git a/src/events/messageCreate/index.ts b/src/events/messageCreate/index.ts index 029568a..004ca71 100644 --- a/src/events/messageCreate/index.ts +++ b/src/events/messageCreate/index.ts @@ -2,7 +2,6 @@ import { Message } from "discord.js"; import modules from "@events/messageCreate/modules"; export default { - name: "messageCreate", async execute(message: Message) { await modules.credits.execute(message); await modules.points.execute(message); diff --git a/src/events/messageDelete/index.ts b/src/events/messageDelete/index.ts index 286c99a..77223d2 100644 --- a/src/events/messageDelete/index.ts +++ b/src/events/messageDelete/index.ts @@ -3,7 +3,6 @@ import audits from "@events/messageDelete/audits"; import counter from "./modules/counter"; export default { - name: "messageDelete", async execute(message: Message) { await audits.execute(message); await counter(message); diff --git a/src/events/messageUpdate/index.ts b/src/events/messageUpdate/index.ts index 2ea1e42..0ff405e 100644 --- a/src/events/messageUpdate/index.ts +++ b/src/events/messageUpdate/index.ts @@ -8,7 +8,6 @@ import counter from "./modules/counter"; import audits from "./audits"; export default { - name: "messageUpdate", async execute(oldMessage: Message, newMessage: Message) { const { author, guild } = newMessage; diff --git a/src/events/ready/index.ts b/src/events/ready/index.ts index b840bb3..4e7684f 100644 --- a/src/events/ready/index.ts +++ b/src/events/ready/index.ts @@ -8,7 +8,6 @@ import deployCommands from "@handlers/deployCommands"; import devMode from "@handlers/devMode"; export default { - name: "ready", once: true, async execute(client: Client) { logger.info(`${client.user?.tag} (${client.user?.id}) is ready`); diff --git a/src/handlers/events.ts b/src/handlers/events.ts index 1428325..4c7d778 100644 --- a/src/handlers/events.ts +++ b/src/handlers/events.ts @@ -15,12 +15,12 @@ export default async (client: Client) => { logger.verbose(`Loaded event: ${eventName}`); if (event.once) { - return client.once(event.default.name, async (...args) => + return client.once(eventName, async (...args) => event.default.execute(...args) ); } - return client.on(event.default.name, async (...args) => + return client.on(eventName, async (...args) => event.default.execute(...args) ); }) diff --git a/src/locale/index.ts b/src/locale/index.ts index 82c76b6..e5e13bc 100644 --- a/src/locale/index.ts +++ b/src/locale/index.ts @@ -1,26 +1,20 @@ import i18next from "i18next"; -import otaClient, { LanguageStrings } from "@crowdin/ota-client"; +import AsyncBackend from "i18next-async-backend"; import logger from "@logger"; -const client = new otaClient("ffd2068395f215046cc01f8lfji"); +const resources = { + en: { + errors: () => import("@root/lang/en/errors.json"), + plugins: () => import("@root/lang/en/plugins.json"), + }, +}; export default async () => { - //load needed information from Crowdin distribution - const languages = await client.listLanguages(); - const translations = await client.getStrings(); - const resources = {} as LanguageStrings; - - // eslint-disable-next-line no-loops/no-loops - for (const lngCode in translations) { - resources[lngCode] = translations[lngCode]; - } - //initialize i18next - await i18next.init({ - lng: languages[0], - supportedLngs: languages, - resources, + await i18next.use(AsyncBackend).init({ + backend: { resources }, }); + //i18next now can be used to translate your application logger.silly(i18next.store.data); };