🌐 now loading from json files

This commit is contained in:
Axel Olausson Holtenäs 2022-04-30 15:12:40 +02:00
parent a8af4582ad
commit be6518524c
No known key found for this signature in database
GPG key ID: 7BF6826B76382CBA
12 changed files with 17 additions and 27 deletions

View file

@ -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",

View file

@ -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}`);
},
};

View file

@ -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}`);
},
};

View file

@ -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;

View file

@ -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;

View file

@ -7,7 +7,6 @@ import logger from "@logger";
import audits from "./audits";
export default {
name: "interactionCreate",
async execute(interaction: CommandInteraction) {
const { guild, id } = interaction;

View file

@ -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);

View file

@ -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);

View file

@ -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;

View file

@ -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`);

View file

@ -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)
);
})

View file

@ -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);
};