mirror of
https://github.com/JonnyBro/JaBa.git
synced 2024-11-25 22:55:00 +05:00
Ищё =)
This commit is contained in:
parent
b546036abc
commit
d11a4a9257
13 changed files with 23 additions and 160 deletions
|
@ -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;
|
|
|
@ -1,4 +1,4 @@
|
||||||
const { ApplicationCommandType, PermissionFlagsBits, EmbedBuilder, ContextMenuCommandBuilder } = require("discord.js");
|
const { SlashCommandBuilder, PermissionFlagsBits, EmbedBuilder } = require("discord.js");
|
||||||
const BaseCommand = require("../../base/BaseCommand");
|
const BaseCommand = require("../../base/BaseCommand");
|
||||||
|
|
||||||
class Warns extends BaseCommand {
|
class Warns extends BaseCommand {
|
||||||
|
@ -6,12 +6,15 @@ class Warns extends BaseCommand {
|
||||||
*
|
*
|
||||||
* @param {import("../../base/JaBa")} client
|
* @param {import("../../base/JaBa")} client
|
||||||
*/
|
*/
|
||||||
constructor() {
|
constructor(client) {
|
||||||
super({
|
super({
|
||||||
command: new ContextMenuCommandBuilder()
|
command: new SlashCommandBuilder()
|
||||||
.setName("warns")
|
.setName("warns")
|
||||||
.setType(ApplicationCommandType.User)
|
.setDescription(client.translate("moderation/warns:DESCRIPTION"))
|
||||||
.setDefaultMemberPermissions(PermissionFlagsBits.ModerateMembers && PermissionFlagsBits.ManageMessages),
|
.setDefaultMemberPermissions(PermissionFlagsBits.ModerateMembers && PermissionFlagsBits.ManageMessages)
|
||||||
|
.addUserOption(option => option.setName("user")
|
||||||
|
.setDescription(client.translate("common:USER"))
|
||||||
|
.setRequired(true)),
|
||||||
aliases: [],
|
aliases: [],
|
||||||
dirname: __dirname,
|
dirname: __dirname,
|
||||||
guildOnly: true
|
guildOnly: true
|
||||||
|
@ -31,8 +34,8 @@ class Warns extends BaseCommand {
|
||||||
* @param {Array} data
|
* @param {Array} data
|
||||||
*/
|
*/
|
||||||
async execute(client, interaction) {
|
async execute(client, interaction) {
|
||||||
const member = interaction.targetMember;
|
const member = interaction.options.getMember("user");
|
||||||
if (member.user.bot) return;
|
if (member.user.bot) return interaction.error("misc:BOT_USER");
|
||||||
|
|
||||||
const memberData = await client.findOrCreateMember({
|
const memberData = await client.findOrCreateMember({
|
||||||
id: member.id,
|
id: member.id,
|
||||||
|
@ -54,19 +57,19 @@ class Warns extends BaseCommand {
|
||||||
text: client.config.embed.footer
|
text: client.config.embed.footer
|
||||||
});
|
});
|
||||||
|
|
||||||
if (memberData.sanctions.length < 1) {
|
if (memberData.sanctions.length === 0) {
|
||||||
embed.setDescription(interaction.translate("moderation/warns:NO_SANCTION", {
|
embed.setDescription(interaction.translate("moderation/warns:NO_SANCTIONS", {
|
||||||
member: member.nickname || member.user.username
|
member: member.nickname || member.user.username
|
||||||
}));
|
}));
|
||||||
return interaction.reply({
|
return interaction.reply({
|
||||||
embeds: [embed]
|
embeds: [embed]
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
memberData.sanctions.forEach((s) => {
|
memberData.sanctions.forEach(sanction => {
|
||||||
embed.addFields([
|
embed.addFields([
|
||||||
{
|
{
|
||||||
name: s.type + " | #" + s.case,
|
name: sanction.type + " | #" + sanction.case,
|
||||||
value: `${interaction.translate("common:MODERATOR")}: <@${s.moderator}>\n${interaction.translate("common:REASON")}: ${s.reason}`,
|
value: `${interaction.translate("common:MODERATOR")}: <@${sanction.moderator}>\n${interaction.translate("common:REASON")}: ${sanction.reason}`,
|
||||||
inline: true
|
inline: true
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -49,8 +49,8 @@ class Debug extends BaseCommand {
|
||||||
{ name: client.translate("common:REP"), value: "rep" },
|
{ name: client.translate("common:REP"), value: "rep" },
|
||||||
))
|
))
|
||||||
.addUserOption(option =>
|
.addUserOption(option =>
|
||||||
option.setName("target")
|
option.setName("user")
|
||||||
.setDescription(client.translate("owner/debug:TARGET"))
|
.setDescription(client.translate("common:USER"))
|
||||||
.setRequired(true))
|
.setRequired(true))
|
||||||
.addIntegerOption(option =>
|
.addIntegerOption(option =>
|
||||||
option.setName("int")
|
option.setName("int")
|
||||||
|
@ -81,9 +81,9 @@ class Debug extends BaseCommand {
|
||||||
|
|
||||||
if (action === "set") {
|
if (action === "set") {
|
||||||
const type = interaction.options.getString("type");
|
const type = interaction.options.getString("type");
|
||||||
const member = interaction.options.getMember("target");
|
const member = interaction.options.getMember("user");
|
||||||
const int = interaction.options.getInteger("int");
|
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) {
|
switch (type) {
|
||||||
case "level": {
|
case "level": {
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
/*
|
|
||||||
Logger class for easy and aesthetically pleasing console logging
|
|
||||||
*/
|
|
||||||
const { bgBlue, black, green } = require("chalk");
|
const { bgBlue, black, green } = require("chalk");
|
||||||
|
|
||||||
function dateTimePad(value, digits) {
|
function dateTimePad(value, digits) {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
"INVALID_NUMBER_RANGE": "Укажите число от **{{min}}** до **{{max}}**!",
|
"INVALID_NUMBER_RANGE": "Укажите число от **{{min}}** до **{{max}}**!",
|
||||||
"FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил!",
|
"FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил!",
|
||||||
"STATS_FOOTER": "● [Панель управления]({{dashboardLink}})\n● [Документация]({{docsLink}})\n● [Пригласить JaBa на свой сервер]({{inviteLink}})\n● [Поддержать]({{donateLink}}) (укажите ваш Discord тэг для выдачи ачивки, для других способов поддержки пишите в ЛС <@{{owner}}>)",
|
"STATS_FOOTER": "● [Панель управления]({{dashboardLink}})\n● [Документация]({{docsLink}})\n● [Пригласить JaBa на свой сервер]({{inviteLink}})\n● [Поддержать]({{donateLink}}) (укажите ваш Discord тэг для выдачи ачивки, для других способов поддержки пишите в ЛС <@{{owner}}>)",
|
||||||
"BOT_USER": "Это бот!",
|
"BOT_USER": "Вы не можете сделать это с ботом!",
|
||||||
"NO_PERMS": "Недостаточно прав для выполнения данного действия!",
|
"NO_PERMS": "Недостаточно прав для выполнения данного действия!",
|
||||||
"NO_REASON_PROVIDED": "Причина не указана",
|
"NO_REASON_PROVIDED": "Причина не указана",
|
||||||
"NO_USER_FOUND_ID": "Пользователя с ID `{{id}}` не существует!",
|
"NO_USER_FOUND_ID": "Пользователя с ID `{{id}}` не существует!",
|
||||||
|
|
|
@ -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}}!"
|
|
||||||
}
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Показать список нарушений пользователя!",
|
"DESCRIPTION": "Показать список нарушений пользователя!",
|
||||||
"USAGE": "ПКМ на пользователя - Приложения - warns",
|
"USAGE": "warns [@пользователь]",
|
||||||
"EXAMPLES": "",
|
"EXAMPLES": "warns @Jonny_Bro#4226",
|
||||||
"SANCTIONS_OF": "Нарушения {{member}}",
|
"SANCTIONS_OF": "Нарушения {{member}}",
|
||||||
"NO_SANCTION": "У **{{member}}** нет нарушений."
|
"NO_SANCTIONS": "У **{{member}}** нет нарушений."
|
||||||
}
|
}
|
|
@ -5,9 +5,7 @@
|
||||||
"TYPE": "Тип данных",
|
"TYPE": "Тип данных",
|
||||||
"SET": "Установить значение",
|
"SET": "Установить значение",
|
||||||
"ADD": "Добавить к значению",
|
"ADD": "Добавить к значению",
|
||||||
"TARGET": "Пользователь",
|
|
||||||
"INT": "Целое число",
|
"INT": "Целое число",
|
||||||
"BOT": "Вы не можете изменить статистику бота!",
|
|
||||||
"SUCCESS_LEVEL": "Уровень пользователя **{{username}}** изменён на **{{amount}}**!",
|
"SUCCESS_LEVEL": "Уровень пользователя **{{username}}** изменён на **{{amount}}**!",
|
||||||
"SUCCESS_XP": "XP пользователя **{{username}}** изменён на **{{amount}}**!",
|
"SUCCESS_XP": "XP пользователя **{{username}}** изменён на **{{amount}}**!",
|
||||||
"SUCCESS_CREDITS": "Кредиты пользователя **{{username}}** изменены на **{{amount}}**!",
|
"SUCCESS_CREDITS": "Кредиты пользователя **{{username}}** изменены на **{{amount}}**!",
|
||||||
|
|
|
@ -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}}"
|
|
||||||
}
|
|
|
@ -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}}"
|
|
||||||
}
|
|
|
@ -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}}"
|
|
||||||
}
|
|
|
@ -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}}!"
|
|
||||||
}
|
|
|
@ -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}})"
|
|
||||||
}
|
|
Loading…
Reference in a new issue