Compare commits

...

4 commits

Author SHA1 Message Date
Slincnik
60ecbd38f1
Merge be5722bb01 into 5a30a64230 2024-12-08 20:11:58 +05:00
Slincnik
be5722bb01
refactor: change default console to logger 2024-12-08 18:11:30 +03:00
Slincnik
024822d1f3
fix: doesnt commands registered, when client doesnt ready 2024-12-08 18:09:44 +03:00
Slincnik
cfee30528d
refactor: logger 2024-12-08 18:00:26 +03:00
5 changed files with 42 additions and 41 deletions

View file

@ -1,8 +1,9 @@
import logger from "../../../helpers/logger.js";
import differentCommands from "../utils/differentcommands.js"; import differentCommands from "../utils/differentcommands.js";
export default async function registerCommands(props) { export default async function registerCommands(props) {
const globalCommands = props.commands.filter(cmd => !cmd.options?.devOnly); const globalCommands = props.commands.filter(cmd => !cmd.options?.devOnly);
await registerGlobalCommands(props.client, globalCommands); props.client.once("ready", () => registerGlobalCommands(props.client, globalCommands));
} }
const registerGlobalCommands = async (client, commands) => { const registerGlobalCommands = async (client, commands) => {
@ -14,12 +15,14 @@ const registerGlobalCommands = async (client, commands) => {
const targetCommand = appCommandsManager.cache.find(cmd => cmd.name === data.name); const targetCommand = appCommandsManager.cache.find(cmd => cmd.name === data.name);
if (targetCommand && differentCommands(targetCommand, data)) { if (targetCommand && differentCommands(targetCommand, data)) {
await targetCommand.edit(data).catch(() => console.log(`Failed to update command: ${data.name} globally`)); await targetCommand.edit(data).catch(() => logger.error(`Failed to update command: ${data.name} globally`));
console.log(`Edited command globally: ${data.name}`); logger.log(`Edited command globally: ${data.name}`);
} else if (!targetCommand) { } else if (!targetCommand) {
await appCommandsManager.create(data).catch(() => console.log(`Failed to register command: ${data.name}`)); await appCommandsManager.create(data).catch(() => logger.error(`Failed to register command: ${data.name}`));
} }
}), }),
); );
logger.log("Registered global commands");
}; };

View file

@ -1,3 +1,4 @@
import logger from "../../helpers/logger.js";
import { client } from "../../index.js"; import { client } from "../../index.js";
import { getFilePaths } from "../../utils/get-path.js"; import { getFilePaths } from "../../utils/get-path.js";
import { toFileURL } from "../../utils/resolve-file.js"; import { toFileURL } from "../../utils/resolve-file.js";
@ -21,12 +22,12 @@ const buildCommands = async () => {
const { data, run } = await import(toFileURL(cmdFilePath)); const { data, run } = await import(toFileURL(cmdFilePath));
if (!data || !data.name) { if (!data || !data.name) {
console.warn(`Command ${cmdFilePath} does not have a data object or name`); logger.warn(`Command ${cmdFilePath} does not have a data object or name`);
continue; continue;
} }
if (typeof run !== "function") { if (typeof run !== "function") {
console.warn(`Command ${cmdFilePath} does not have a run function or it is not a function`); logger.warn(`Command ${cmdFilePath} does not have a run function or it is not a function`);
continue; continue;
} }

View file

@ -1,3 +1,4 @@
import logger from "../../helpers/logger.js";
import { client } from "../../index.js"; import { client } from "../../index.js";
import { getFilePaths } from "../../utils/get-path.js"; import { getFilePaths } from "../../utils/get-path.js";
import { toFileURL } from "../../utils/resolve-file.js"; import { toFileURL } from "../../utils/resolve-file.js";
@ -6,7 +7,6 @@ export const events = [];
export const init = async () => { export const init = async () => {
await buildEvents(); await buildEvents();
registerEvents(); registerEvents();
}; };
@ -18,23 +18,23 @@ const buildEvents = async () => {
const { data, run } = await import(toFileURL(eventFilePath)); const { data, run } = await import(toFileURL(eventFilePath));
if (!data || !data.name) { if (!data || !data.name) {
console.warn(`Event ${eventFilePath} does not have a data object or name`); logger.warn(`Event ${eventFilePath} does not have a data object or name`);
continue; continue;
} }
if (typeof run !== "function") { if (typeof run !== "function") {
console.warn(`Event ${eventFilePath} does not have a run function or it is not a function`); logger.warn(`Event ${eventFilePath} does not have a run function or it is not a function`);
continue; continue;
} }
events.push({ data, run }); events.push({ data, run });
} }
} catch (error) { } catch (error) {
console.error("Error build events: ", error); logger.error("Error build events: ", error);
} }
}; };
const registerEvents = () => { const registerEvents = async () => {
for (const { data, run } of events) { for (const { data, run } of events) {
if (data.once) client.once(data.name, run); if (data.once) client.once(data.name, run);
else client.on(data.name, run); else client.on(data.name, run);

View file

@ -1,52 +1,47 @@
import { bgBlue, black, green } from "chalk"; import chalk from "chalk";
function dateTimePad(value, digits) {
let number = value;
while (number.toString().length < digits) number = "0" + number;
return number;
}
function format(tDate) { function format(tDate) {
return ( return new Intl.DateTimeFormat("ru-RU", {
dateTimePad(tDate.getDate(), 2) + year: "numeric",
"-" + month: "2-digit",
dateTimePad(tDate.getMonth() + 1, 2) + day: "2-digit",
"-" + hour: "2-digit",
dateTimePad(tDate.getFullYear(), 2) + minute: "2-digit",
" " + second: "2-digit",
dateTimePad(tDate.getHours(), 2) + }).format(tDate);
":" +
dateTimePad(tDate.getMinutes(), 2) +
":" +
dateTimePad(tDate.getSeconds(), 2) +
"." +
dateTimePad(tDate.getMilliseconds(), 3)
);
} }
const logLevels = {
LOG: chalk.bgBlue("LOG"),
WARN: chalk.black.bgYellow("WARN"),
ERROR: chalk.black.bgRed("ERROR"),
DEBUG: chalk.green("DEBUG"),
CMD: chalk.black.bgWhite("CMD"),
READY: chalk.black.bgGreen("READY"),
};
export default { export default {
log(content) { log(content) {
return console.log(`[${format(new Date(Date.now()))}]: ${bgBlue("LOG")} ${content}`); return console.log(`[${format(Date.now())}]: ${logLevels.LOG} ${content}`);
}, },
warn(content) { warn(content) {
return console.log(`[${format(new Date(Date.now()))}]: ${black.bgYellow("WARN")} ${content}`); return console.log(`[${format(Date.now())}]: ${logLevels.WARN} ${content}`);
}, },
error(content) { error(content) {
return console.log(`[${format(new Date(Date.now()))}]: ${black.bgRed("ERROR")} ${content}`); return console.log(`[${format(Date.now())}]: ${logLevels.ERROR} ${content}`);
}, },
debug(content) { debug(content) {
return console.log(`[${format(new Date(Date.now()))}]: ${green("DEBUG")} ${content}`); return console.log(`[${format(Date.now())}]: ${logLevels.DEBUG} ${content}`);
}, },
cmd(content) { cmd(content) {
return console.log(`[${format(new Date(Date.now()))}]: ${black.bgWhite("CMD")} ${content}`); return console.log(`[${format(Date.now())}]: ${logLevels.CMD} ${content}`);
}, },
ready(content) { ready(content) {
return console.log(`[${format(new Date(Date.now()))}]: ${black.bgGreen("READY")} ${content}`); return console.log(`[${format(Date.now())}]: ${logLevels.READY} ${content}`);
}, },
}; };

View file

@ -1,3 +1,5 @@
import logger from "../helpers/logger.js";
export const data = { export const data = {
name: "ready", name: "ready",
once: true, once: true,
@ -8,5 +10,5 @@ export const data = {
* @param {import("../base/Client.JaBaClient")} client * @param {import("../base/Client.JaBaClient")} client
*/ */
export async function run(client) { export async function run(client) {
console.log(client.user.tag + " is online!"); logger.log(client.user.tag + " is online!");
} }