dashboard-core/theme/dbd-soft-ui/utils/cmdHandler.js
Jonny_Bro (Nikita) 5651744445
update
2024-02-06 21:51:49 +05:00

44 lines
1.2 KiB
JavaScript

module.exports = (commands, prefix) => {
if (!commands) throw new Error("No commands were provided to the Soft UI cmdHandler.");
if (!prefix) prefix = "/";
const finalCategories = [];
const categories = [];
commands.map(cmd => {
if (!categories.includes(cmd.category)) categories.push(cmd.category);
});
for (const category of categories) {
if (category.toLowerCase().includes("admin") || category.toLowerCase().includes("owner") || category.toLowerCase().includes("development") || category.toLowerCase().includes("iat")) continue;
const commandsArr = [];
commands
.filter(cmd => cmd.category === category)
.map(cmd => {
const obj = {
commandName: cmd.name,
commandUsage: `${cmd.usage ? cmd.usage : `${prefix}${cmd.name}`}`,
commandDescription: cmd.description,
commandAlias: cmd.aliases?.join(", ") || "None",
};
commandsArr.push(obj);
});
const categoryObj = {
categoryId: category,
category: `${capitalizeFirstLetter(category)}`,
subTitle: `${capitalizeFirstLetter(category)} commands`,
list: commandsArr,
};
finalCategories.push(categoryObj);
}
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
return finalCategories;
};