🌐 now loading from json files
This commit is contained in:
parent
a8af4582ad
commit
be6518524c
12 changed files with 17 additions and 27 deletions
|
@ -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",
|
||||
|
|
|
@ -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}`);
|
||||
},
|
||||
};
|
||||
|
|
|
@ -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}`);
|
||||
},
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ import logger from "@logger";
|
|||
import audits from "./audits";
|
||||
|
||||
export default {
|
||||
name: "interactionCreate",
|
||||
async execute(interaction: CommandInteraction) {
|
||||
const { guild, id } = interaction;
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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`);
|
||||
|
|
|
@ -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)
|
||||
);
|
||||
})
|
||||
|
|
|
@ -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);
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue