From d11a4a9257582132b8ed92c63cede2cdc6f4ea8b Mon Sep 17 00:00:00 2001 From: JonnyBro Date: Wed, 3 Aug 2022 21:13:22 +0500 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=89=D1=91=20=3D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TO REWRITE/Moderation/setwarns.js | 68 ------------------------ commands/Moderation/warns.js | 27 +++++----- commands/Owner/debug.js | 8 +-- helpers/logger.js | 3 -- languages/ru-RU/misc.json | 2 +- languages/ru-RU/moderation/setwarns.json | 12 ----- languages/ru-RU/moderation/warns.json | 6 +-- languages/ru-RU/owner/debug.json | 2 - languages/uk-UA/moderation/ban.json | 13 ----- languages/uk-UA/moderation/kick.json | 11 ---- languages/uk-UA/moderation/mute.json | 10 ---- languages/uk-UA/moderation/setwarns.json | 12 ----- languages/uk-UA/moderation/unmute.json | 9 ---- 13 files changed, 23 insertions(+), 160 deletions(-) delete mode 100644 TO REWRITE/Moderation/setwarns.js delete mode 100644 languages/ru-RU/moderation/setwarns.json delete mode 100644 languages/uk-UA/moderation/ban.json delete mode 100644 languages/uk-UA/moderation/kick.json delete mode 100644 languages/uk-UA/moderation/mute.json delete mode 100644 languages/uk-UA/moderation/setwarns.json delete mode 100644 languages/uk-UA/moderation/unmute.json diff --git a/TO REWRITE/Moderation/setwarns.js b/TO REWRITE/Moderation/setwarns.js deleted file mode 100644 index 8aebfdee..00000000 --- a/TO REWRITE/Moderation/setwarns.js +++ /dev/null @@ -1,68 +0,0 @@ -const Command = require("../../base/Command"); - -class Setwarns extends Command { - constructor(client) { - super(client, { - name: "setwarns", - dirname: __dirname, - enabled: true, - guildOnly: true, - aliases: ["setw"], - memberPermissions: ["MANAGE_GUILD"], - botPermissions: ["SEND_MESSAGES", "EMBED_LINKS", "BAN_MEMBERS", "KICK_MEMBERS"], - nsfw: false, - ownerOnly: false, - cooldown: 1000 - }); - } - - async run(message, args, data) { - const sanction = args[0]; - if (!sanction || (sanction !== "kick" && sanction !== "ban")) return message.error("moderation/setwarns:MISSING_TYPE"); - - const number = args[1]; - - if (number === "reset") { - if (sanction === "kick") { - data.guild.plugins.warnsSanctions.kick = false; - data.guild.markModified("plugins.warnsSanctions"); - data.guild.save(); - return message.success("moderation/setwarns:SUCCESS_KICK_RESET", { - prefix: data.guild.prefix, - count: `${number} ${message.getNoun(number, message.translate("misc:NOUNS:WARNS:1"), message.translate("misc:NOUNS:WARNS:2"), message.translate("misc:NOUNS:WARNS:5"))}` - }); - } else if (sanction === "ban") { - data.guild.plugins.warnsSanctions.ban = false; - data.guild.markModified("plugins.warnsSanctions"); - data.guild.save(); - return message.success("moderation/setwarns:SUCCESS_BAN_RESET", { - prefix: data.guild.prefix, - count: `${number} ${message.getNoun(number, message.translate("misc:NOUNS:WARNS:1"), message.translate("misc:NOUNS:WARNS:2"), message.translate("misc:NOUNS:WARNS:5"))}` - }); - } - } - - if (!number || isNaN(number)) return message.error("misc:INVALID_NUMBER"); - if (number < 1 || number > 10) return message.error("misc:INVALID_NUMBER_RANGE", 1, 10); - - if (sanction === "kick") { - data.guild.plugins.warnsSanctions.kick = number; - data.guild.markModified("plugins.warnsSanctions"); - data.guild.save(); - return message.success("moderation/setwarns:SUCCESS_KICK", { - prefix: data.guild.prefix, - count: `${number} ${message.getNoun(number, message.translate("misc:NOUNS:WARNS:1"), message.translate("misc:NOUNS:WARNS:2"), message.translate("misc:NOUNS:WARNS:5"))}` - }); - } else if (sanction === "ban") { - data.guild.plugins.warnsSanctions.ban = number; - data.guild.markModified("plugins.warnsSanctions"); - data.guild.save(); - return message.success("moderation/setwarns:SUCCESS_BAN", { - prefix: data.guild.prefix, - count: `${number} ${message.getNoun(number, message.translate("misc:NOUNS:WARNS:1"), message.translate("misc:NOUNS:WARNS:2"), message.translate("misc:NOUNS:WARNS:5"))}` - }); - } - } -} - -module.exports = Setwarns; \ No newline at end of file diff --git a/commands/Moderation/warns.js b/commands/Moderation/warns.js index d6981180..20a68a00 100644 --- a/commands/Moderation/warns.js +++ b/commands/Moderation/warns.js @@ -1,4 +1,4 @@ -const { ApplicationCommandType, PermissionFlagsBits, EmbedBuilder, ContextMenuCommandBuilder } = require("discord.js"); +const { SlashCommandBuilder, PermissionFlagsBits, EmbedBuilder } = require("discord.js"); const BaseCommand = require("../../base/BaseCommand"); class Warns extends BaseCommand { @@ -6,12 +6,15 @@ class Warns extends BaseCommand { * * @param {import("../../base/JaBa")} client */ - constructor() { + constructor(client) { super({ - command: new ContextMenuCommandBuilder() + command: new SlashCommandBuilder() .setName("warns") - .setType(ApplicationCommandType.User) - .setDefaultMemberPermissions(PermissionFlagsBits.ModerateMembers && PermissionFlagsBits.ManageMessages), + .setDescription(client.translate("moderation/warns:DESCRIPTION")) + .setDefaultMemberPermissions(PermissionFlagsBits.ModerateMembers && PermissionFlagsBits.ManageMessages) + .addUserOption(option => option.setName("user") + .setDescription(client.translate("common:USER")) + .setRequired(true)), aliases: [], dirname: __dirname, guildOnly: true @@ -31,8 +34,8 @@ class Warns extends BaseCommand { * @param {Array} data */ async execute(client, interaction) { - const member = interaction.targetMember; - if (member.user.bot) return; + const member = interaction.options.getMember("user"); + if (member.user.bot) return interaction.error("misc:BOT_USER"); const memberData = await client.findOrCreateMember({ id: member.id, @@ -54,19 +57,19 @@ class Warns extends BaseCommand { text: client.config.embed.footer }); - if (memberData.sanctions.length < 1) { - embed.setDescription(interaction.translate("moderation/warns:NO_SANCTION", { + if (memberData.sanctions.length === 0) { + embed.setDescription(interaction.translate("moderation/warns:NO_SANCTIONS", { member: member.nickname || member.user.username })); return interaction.reply({ embeds: [embed] }); } else { - memberData.sanctions.forEach((s) => { + memberData.sanctions.forEach(sanction => { embed.addFields([ { - name: s.type + " | #" + s.case, - value: `${interaction.translate("common:MODERATOR")}: <@${s.moderator}>\n${interaction.translate("common:REASON")}: ${s.reason}`, + name: sanction.type + " | #" + sanction.case, + value: `${interaction.translate("common:MODERATOR")}: <@${sanction.moderator}>\n${interaction.translate("common:REASON")}: ${sanction.reason}`, inline: true } ]); diff --git a/commands/Owner/debug.js b/commands/Owner/debug.js index 21482301..5704340b 100644 --- a/commands/Owner/debug.js +++ b/commands/Owner/debug.js @@ -49,8 +49,8 @@ class Debug extends BaseCommand { { name: client.translate("common:REP"), value: "rep" }, )) .addUserOption(option => - option.setName("target") - .setDescription(client.translate("owner/debug:TARGET")) + option.setName("user") + .setDescription(client.translate("common:USER")) .setRequired(true)) .addIntegerOption(option => option.setName("int") @@ -81,9 +81,9 @@ class Debug extends BaseCommand { if (action === "set") { const type = interaction.options.getString("type"); - const member = interaction.options.getMember("target"); + const member = interaction.options.getMember("user"); const int = interaction.options.getInteger("int"); - if (member.user.bot) return interaction.error("owner/debug:BOT"); + if (member.user.bot) return interaction.error("misc:BOT_USER"); switch (type) { case "level": { diff --git a/helpers/logger.js b/helpers/logger.js index 1844a21a..a9fb810e 100644 --- a/helpers/logger.js +++ b/helpers/logger.js @@ -1,6 +1,3 @@ -/* -Logger class for easy and aesthetically pleasing console logging -*/ const { bgBlue, black, green } = require("chalk"); function dateTimePad(value, digits) { diff --git a/languages/ru-RU/misc.json b/languages/ru-RU/misc.json index cc3a54ce..301b4dff 100644 --- a/languages/ru-RU/misc.json +++ b/languages/ru-RU/misc.json @@ -10,7 +10,7 @@ "INVALID_NUMBER_RANGE": "Укажите число от **{{min}}** до **{{max}}**!", "FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил!", "STATS_FOOTER": "● [Панель управления]({{dashboardLink}})\n● [Документация]({{docsLink}})\n● [Пригласить JaBa на свой сервер]({{inviteLink}})\n● [Поддержать]({{donateLink}}) (укажите ваш Discord тэг для выдачи ачивки, для других способов поддержки пишите в ЛС <@{{owner}}>)", - "BOT_USER": "Это бот!", + "BOT_USER": "Вы не можете сделать это с ботом!", "NO_PERMS": "Недостаточно прав для выполнения данного действия!", "NO_REASON_PROVIDED": "Причина не указана", "NO_USER_FOUND_ID": "Пользователя с ID `{{id}}` не существует!", diff --git a/languages/ru-RU/moderation/setwarns.json b/languages/ru-RU/moderation/setwarns.json deleted file mode 100644 index 0b8a00cd..00000000 --- a/languages/ru-RU/moderation/setwarns.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "DESCRIPTION": "Настроить наказание которое пользователь будет получать после данного кол-ва предупреждений!", - "USAGE": "setwarns [kick/ban] [число/reset]", - "EXAMPLES": "setwarns kick 5\nsetwarns ban 10\nsetwarns ban reset", - "MISSING_TYPE": "Выберите действие: `kick` или `ban`!", - "SUCCESS_KICK": "`{{count}}` приведут к кику!\n\n:arrow_right_hook: *Используйте `configuration`, чтобы увидеть обновлённые настройки!*", - "SUCCESS_BAN": "`{{count}}` приведут к бану!\n\n:arrow_right_hook: *Используйте `configuration`, чтобы увидеть обновлённые настройки!*", - "SUCCESS_KICK_RESET": "**Автокик пользователей отключён!**\n\n:arrow_right_hook: *Используйте `configuration`, чтобы увидеть обновлённые настройки!*", - "SUCCESS_BAN_RESET": "**Автобан пользователей отключён!**\n\n:arrow_right_hook: *Используйте `configuration`, чтобы увидеть обновлённые настройки!*", - "AUTO_BAN": "**{{username}}** был автоматически забанен за достижение {{count}}!", - "AUTO_KICK": "**{{username}}** был автоматически кикнут за достижение {{count}}!" -} \ No newline at end of file diff --git a/languages/ru-RU/moderation/warns.json b/languages/ru-RU/moderation/warns.json index 4d7e0c1b..7dd84743 100644 --- a/languages/ru-RU/moderation/warns.json +++ b/languages/ru-RU/moderation/warns.json @@ -1,7 +1,7 @@ { "DESCRIPTION": "Показать список нарушений пользователя!", - "USAGE": "ПКМ на пользователя - Приложения - warns", - "EXAMPLES": "", + "USAGE": "warns [@пользователь]", + "EXAMPLES": "warns @Jonny_Bro#4226", "SANCTIONS_OF": "Нарушения {{member}}", - "NO_SANCTION": "У **{{member}}** нет нарушений." + "NO_SANCTIONS": "У **{{member}}** нет нарушений." } \ No newline at end of file diff --git a/languages/ru-RU/owner/debug.json b/languages/ru-RU/owner/debug.json index 06b88eea..3d19e106 100644 --- a/languages/ru-RU/owner/debug.json +++ b/languages/ru-RU/owner/debug.json @@ -5,9 +5,7 @@ "TYPE": "Тип данных", "SET": "Установить значение", "ADD": "Добавить к значению", - "TARGET": "Пользователь", "INT": "Целое число", - "BOT": "Вы не можете изменить статистику бота!", "SUCCESS_LEVEL": "Уровень пользователя **{{username}}** изменён на **{{amount}}**!", "SUCCESS_XP": "XP пользователя **{{username}}** изменён на **{{amount}}**!", "SUCCESS_CREDITS": "Кредиты пользователя **{{username}}** изменены на **{{amount}}**!", diff --git a/languages/uk-UA/moderation/ban.json b/languages/uk-UA/moderation/ban.json deleted file mode 100644 index 06d7b03d..00000000 --- a/languages/uk-UA/moderation/ban.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "DESCRIPTION": "Забанити користувача на сервері!", - "USAGE": "ban [@користувач] (причина)", - "EXAMPLES": "ban @Jonny_Bro#4226 Спам", - "MISSING_MEMBER": "Ви повинні згадати користувача!", - "YOURSELF": "Ви не можете забанити себе!", - "SUPERIOR": "Ви не можете зробити це, тому що користувач стоїть вище за вас по ролі!", - "ALREADY_BANNED": "**{{username}}** вже в лазні!", - "MISSING_PERM": "Сталася помилка... Перевірте, чи є у вас право банити користувачів і спробуйте знову!", - "BANNED_DM": "Привіт {{username}},\nви були забанені на сервері **{{server}}** користувачем **{{moderator}}** через **{{reason}}**!" , - "BANNED": "**{{username}}** був забанений на сервері **{{server}}** користувачем **{{moderator}}** через **{{reason}}**!" , - "CASE": "Бан | Номер #{{count}}" - } \ No newline at end of file diff --git a/languages/uk-UA/moderation/kick.json b/languages/uk-UA/moderation/kick.json deleted file mode 100644 index 4ab4406e..00000000 --- a/languages/uk-UA/moderation/kick.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "DESCRIPTION": "Кікнути користувача!", - "USAGE": "kick [@користувач] (причина)", - "EXAMPLES": "kick @Jonny_Bro#4226 Спам", - "MISSING_MEMBER": "Ви повинні згадати користувача!", - "YOURSELF": "Ви не можете кікнути себе!", - "MISSING_PERM": "Сталася помилка... Перевірте, чи є у вас право кікати користувачів і спробуйте знову!", - "KICKED_DM": "Привіт {{username}},\nви були кікнуті з сервера **{{server}}** користувачем **{{moderator}}** через **{{reason}}**!" , - "KICKED": "**{{username}}** був кікнутий з сервера **{{server}}** користувачем **{{moderator}}** через **{{reason}}**!" , - "CASE": "Кік | Номер #{{count}}" - } \ No newline at end of file diff --git a/languages/uk-UA/moderation/mute.json b/languages/uk-UA/moderation/mute.json deleted file mode 100644 index b296e8fc..00000000 --- a/languages/uk-UA/moderation/mute.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "DESCRIPTION": "Заборонити користувачеві писати повідомлення та входити в голосові канали!", - "USAGE": "mute [@користувач] [час] (причина)", - "EXAMPLES": "mute @Jonny_Bro#4226 24h Спам", - "MISSING_MEMBER": "Ви повинні згадати користувача!", - "YOURSELF": "Ви не можете замутить себе!", - "MUTED_DM": "Привіт {{username}},\nви були замучені на сервері **{{server}}** користувачем **{{moderator}}** на **{{time}}** через * *{{reason}}**!", - "MUTED": "**{{username}}** замучений на **{{time}}** через **{{reason}}**!", - "CASE": "Мут | Номер #{{count}}" -} \ No newline at end of file diff --git a/languages/uk-UA/moderation/setwarns.json b/languages/uk-UA/moderation/setwarns.json deleted file mode 100644 index 1a393b0a..00000000 --- a/languages/uk-UA/moderation/setwarns.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "DESCRIPTION": "Налаштувати покарання, яке користувач буде отримувати після даної кількості попереджень!", - "USAGE": "setwarns [kick/ban] [число/reset]", - "EXAMPLES": "setwarns kick 5\nsetwarns ban 10\nsetwarns ban reset", - "MISSING_TYPE": "Виберіть дію: `kick` або `ban`!", - "SUCCESS_KICK": "`{{count}}` призведуть до кіку!\n\n:arrow_right_hook: *Використовуйте `configuration`, щоб побачити оновлені налаштування!*", - "SUCCESS_BAN": "`{{count}}` приведуть до бана!\n\n:arrow_right_hook: *Використовуйте `configuration`, щоб побачити оновлені налаштування!*", - "SUCCESS_KICK_RESET": "**Автокік користувачів вимкнено!**\n\n:arrow_right_hook: *Використовуйте `configuration`, щоб побачити оновлені налаштування!*", - "SUCCESS_BAN_RESET": "**Автобан користувачів вимкнено!**\n\n:arrow_right_hook: *Використовуйте `configuration`, щоб побачити оновлені налаштування!*", - "AUTO_BAN": "**{{username}}** був автоматично забанений за досягнення {{count}}!", - "AUTO_KICK": "**{{username}}** був автоматично кікнутий за досягнення {{count}}!" - } \ No newline at end of file diff --git a/languages/uk-UA/moderation/unmute.json b/languages/uk-UA/moderation/unmute.json deleted file mode 100644 index 4e735ba6..00000000 --- a/languages/uk-UA/moderation/unmute.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "DESCRIPTION": "Розмутити користувача!", - "USAGE": "unmute [@user]", - "EXAMPLES": "unmute @Jonny_Bro#4226", - "MISSING_MEMBER": "Ви повинні згадати користувача!", - "NOT_MUTED": "**{{username}}** не замучений на даному сервері!", - "SUCCESS": "**{{username}}** був розмучений на даному сервері!", - "SUCCESS_CASE": "{{user}} (`{{usertag}}`) розмучений! (Номер #{{count}})" -} \ No newline at end of file