mirror of
https://github.com/JonnyBro/JaBa.git
synced 2024-11-22 05:04:58 +05:00
This commit is contained in:
parent
60ec94558a
commit
40ac751f76
68 changed files with 380 additions and 413 deletions
|
@ -73,9 +73,8 @@ class Leaderboard extends BaseCommand {
|
||||||
let money = "";
|
let money = "";
|
||||||
for (let i = 0; i < membersLeaderboard.length; i++) {
|
for (let i = 0; i < membersLeaderboard.length; i++) {
|
||||||
const data = membersLeaderboard[i];
|
const data = membersLeaderboard[i];
|
||||||
const user = await client.users.fetch(data.id);
|
|
||||||
|
|
||||||
userNames += `**${i + 1}**. ${user}\n`;
|
userNames += `**${i + 1}**. <@${data.id}>\n`;
|
||||||
money += `${data.money}\n`;
|
money += `${data.money}\n`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +87,7 @@ class Leaderboard extends BaseCommand {
|
||||||
})
|
})
|
||||||
.setColor(client.config.embed.color)
|
.setColor(client.config.embed.color)
|
||||||
.addFields({
|
.addFields({
|
||||||
name: interaction.translate("economy/leaderboard:TOP"),
|
name: interaction.translate("common:USER"),
|
||||||
value: userNames,
|
value: userNames,
|
||||||
inline: true
|
inline: true
|
||||||
}, {
|
}, {
|
||||||
|
@ -119,9 +118,8 @@ class Leaderboard extends BaseCommand {
|
||||||
const xp = [];
|
const xp = [];
|
||||||
for (let i = 0; i < membersLeaderboard.length; i++) {
|
for (let i = 0; i < membersLeaderboard.length; i++) {
|
||||||
const data = membersLeaderboard[i];
|
const data = membersLeaderboard[i];
|
||||||
const user = await client.users.fetch(data.id);
|
|
||||||
|
|
||||||
userNames.push(`**${i + 1}**. ${user.tag}`);
|
userNames.push(`**${i + 1}**. <@${data.id}>`);
|
||||||
level.push(`${data.level}`);
|
level.push(`${data.level}`);
|
||||||
xp.push(`${data.xp} / ${5 * (data.level * data.level) + 80 * data.level + 100}`);
|
xp.push(`${data.xp} / ${5 * (data.level * data.level) + 80 * data.level + 100}`);
|
||||||
}
|
}
|
||||||
|
@ -136,7 +134,7 @@ class Leaderboard extends BaseCommand {
|
||||||
.setColor(client.config.embed.color)
|
.setColor(client.config.embed.color)
|
||||||
.addFields([
|
.addFields([
|
||||||
{
|
{
|
||||||
name: interaction.translate("economy/leaderboard:TOP"),
|
name: interaction.translate("common:USER"),
|
||||||
value: userNames.join("\n"),
|
value: userNames.join("\n"),
|
||||||
inline: true
|
inline: true
|
||||||
},
|
},
|
||||||
|
@ -172,9 +170,8 @@ class Leaderboard extends BaseCommand {
|
||||||
let rep = "";
|
let rep = "";
|
||||||
for (let i = 0; i < usersLeaderboard.length; i++) {
|
for (let i = 0; i < usersLeaderboard.length; i++) {
|
||||||
const data = usersLeaderboard[i];
|
const data = usersLeaderboard[i];
|
||||||
const user = await client.users.fetch(data.id);
|
|
||||||
|
|
||||||
userNames += `**${i + 1}**. ${user}\n`;
|
userNames += `**${i + 1}**. <@${data.id}>\n`;
|
||||||
rep += `${data.rep}\n`;
|
rep += `${data.rep}\n`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -187,7 +184,7 @@ class Leaderboard extends BaseCommand {
|
||||||
})
|
})
|
||||||
.setColor(client.config.embed.color)
|
.setColor(client.config.embed.color)
|
||||||
.addFields({
|
.addFields({
|
||||||
name: interaction.translate("economy/leaderboard:TOP"),
|
name: interaction.translate("common:USER"),
|
||||||
value: userNames,
|
value: userNames,
|
||||||
inline: true
|
inline: true
|
||||||
}, {
|
}, {
|
||||||
|
|
|
@ -11,10 +11,9 @@ class Eightball extends BaseCommand {
|
||||||
command: new SlashCommandBuilder()
|
command: new SlashCommandBuilder()
|
||||||
.setName("8ball")
|
.setName("8ball")
|
||||||
.setDescription(client.translate("fun/8ball:DESCRIPTION"))
|
.setDescription(client.translate("fun/8ball:DESCRIPTION"))
|
||||||
.addStringOption(option =>
|
.addStringOption(option => option.setName("question")
|
||||||
option.setName("question")
|
.setDescription(client.translate("fun/8ball:QUESTION"))
|
||||||
.setDescription(client.translate("fun/8ball:QUESTION"))
|
.setRequired(true)),
|
||||||
.setRequired(true)),
|
|
||||||
aliases: [],
|
aliases: [],
|
||||||
dirname: __dirname,
|
dirname: __dirname,
|
||||||
guildOnly: true,
|
guildOnly: true,
|
||||||
|
@ -36,17 +35,18 @@ class Eightball extends BaseCommand {
|
||||||
*/
|
*/
|
||||||
async execute(client, interaction) {
|
async execute(client, interaction) {
|
||||||
await interaction.deferReply();
|
await interaction.deferReply();
|
||||||
const question = interaction.options.getString("question");
|
|
||||||
|
|
||||||
if (!question.endsWith("?")) return interaction.replyT("fun/8ball:ERR_QUESTION", null, { ephemeral: true });
|
const question = interaction.options.getString("question");
|
||||||
|
if (!question.endsWith("?")) return interaction.error("fun/8ball:ERR_QUESTION", null, { ephemeral: true });
|
||||||
|
|
||||||
const answerN = client.functions.randomNum(1, 20);
|
const answerN = client.functions.randomNum(1, 20);
|
||||||
const answer = interaction.translate(`fun/8ball:RESPONSE_${answerN}`);
|
const answer = interaction.translate(`fun/8ball:RESPONSE_${answerN}`);
|
||||||
await client.wait(2000);
|
await client.wait(5000);
|
||||||
|
|
||||||
interaction.editReply({
|
interaction.replyT("fun/8ball:ANSWER", {
|
||||||
content: answer
|
question,
|
||||||
});
|
answer
|
||||||
|
}, { edit: true });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
const { SlashCommandBuilder } = require("discord.js");
|
const { SlashCommandBuilder } = require("discord.js");
|
||||||
const BaseCommand = require("../../base/BaseCommand");
|
const BaseCommand = require("../../base/BaseCommand"),
|
||||||
|
fetch = require("node-fetch");
|
||||||
|
|
||||||
class LMGTFY extends BaseCommand {
|
class LMGTFY extends BaseCommand {
|
||||||
/**
|
/**
|
||||||
|
@ -11,10 +12,12 @@ class LMGTFY extends BaseCommand {
|
||||||
command: new SlashCommandBuilder()
|
command: new SlashCommandBuilder()
|
||||||
.setName("lmgtfy")
|
.setName("lmgtfy")
|
||||||
.setDescription(client.translate("fun/lmgtfy:DESCRIPTION"))
|
.setDescription(client.translate("fun/lmgtfy:DESCRIPTION"))
|
||||||
.addStringOption(option =>
|
.addStringOption(option => option.setName("query")
|
||||||
option.setName("question")
|
.setDescription(client.translate("fun/lmgtfy:QUERY"))
|
||||||
.setDescription(client.translate("fun/8ball:QUESTION"))
|
.setRequired(true))
|
||||||
.setRequired(true)),
|
.addBooleanOption(option => option.setName("short")
|
||||||
|
.setDescription(client.translate("fun/lmgtfy:SHORT"))
|
||||||
|
.setRequired(true)),
|
||||||
aliases: [],
|
aliases: [],
|
||||||
dirname: __dirname,
|
dirname: __dirname,
|
||||||
guildOnly: true,
|
guildOnly: true,
|
||||||
|
@ -35,12 +38,23 @@ class LMGTFY extends BaseCommand {
|
||||||
* @param {Object} data
|
* @param {Object} data
|
||||||
*/
|
*/
|
||||||
async execute(client, interaction) {
|
async execute(client, interaction) {
|
||||||
const question = interaction.options.getString("question").replace(/[' '_]/g, "+");
|
const query = interaction.options.getString("query").replace(/[' '_]/g, "+"),
|
||||||
|
short = interaction.options.getBoolean("short"),
|
||||||
|
url = `https://letmegooglethat.com/?q=${query}`;
|
||||||
|
|
||||||
interaction.reply({
|
if (short) {
|
||||||
content: `<https://letmegooglethat.com/?q=${question}>`,
|
const res = await fetch(`https://is.gd/create.php?format=simple&url=${encodeURIComponent(url)}`).then(res => res.text());
|
||||||
ephemeral: true
|
|
||||||
});
|
interaction.reply({
|
||||||
|
content: `<${res}>`,
|
||||||
|
ephemeral: true
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
interaction.reply({
|
||||||
|
content: `<${url}>`,
|
||||||
|
ephemeral: true
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ class Shorturl extends BaseCommand {
|
||||||
*/
|
*/
|
||||||
async execute(client, interaction) {
|
async execute(client, interaction) {
|
||||||
const url = interaction.options.getString("url");
|
const url = interaction.options.getString("url");
|
||||||
const res = await fetch(`https://is.gd/create.php?format=simple&url=${encodeURI(url)}`).then(res => res.text());
|
const res = await fetch(`https://is.gd/create.php?format=simple&url=${encodeURIComponent(url)}`).then(res => res.text());
|
||||||
|
|
||||||
interaction.reply({
|
interaction.reply({
|
||||||
content: `<${res}>`,
|
content: `<${res}>`,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const { SlashCommandBuilder, ActionRowBuilder, SelectMenuBuilder, InteractionCollector, ComponentType, PermissionFlagsBits } = require("discord.js");
|
const { SlashCommandBuilder, PermissionFlagsBits } = require("discord.js");
|
||||||
const BaseCommand = require("../../base/BaseCommand"),
|
const BaseCommand = require("../../base/BaseCommand"),
|
||||||
ms = require("ms");
|
ms = require("ms");
|
||||||
|
|
||||||
|
@ -13,16 +13,39 @@ class Giveaway extends BaseCommand {
|
||||||
.setName("giveaway")
|
.setName("giveaway")
|
||||||
.setDescription(client.translate("moderation/giveaway:DESCRIPTION"))
|
.setDescription(client.translate("moderation/giveaway:DESCRIPTION"))
|
||||||
.setDefaultMemberPermissions(PermissionFlagsBits.ModerateMembers && PermissionFlagsBits.ManageMessages)
|
.setDefaultMemberPermissions(PermissionFlagsBits.ModerateMembers && PermissionFlagsBits.ManageMessages)
|
||||||
.addStringOption(option => option.setName("giveaway_id")
|
.addSubcommand(subcommand => subcommand.setName("create")
|
||||||
.setDescription(client.translate("moderation/giveaway:GIVEAWAY_ID")))
|
.setDescription(client.translate("moderation/giveaway:CREATE"))
|
||||||
.addStringOption(option => option.setName("duration")
|
.addStringOption(option => option.setName("duration")
|
||||||
.setDescription(client.translate("common:DURATION")))
|
.setDescription(client.translate("common:DURATION"))
|
||||||
.addIntegerOption(option => option.setName("winners_count")
|
.setRequired(true))
|
||||||
.setDescription(client.translate("moderation/giveaway:WINNERS_COUNT")))
|
.addIntegerOption(option => option.setName("winners_count")
|
||||||
.addStringOption(option => option.setName("prize")
|
.setDescription(client.translate("moderation/giveaway:WINNERS_COUNT"))
|
||||||
.setDescription(client.translate("moderation/giveaway:PRIZE")))
|
.setRequired(true))
|
||||||
.addBooleanOption(option => option.setName("isdrop")
|
.addStringOption(option => option.setName("prize")
|
||||||
.setDescription(client.translate("moderation/giveaway:ISDROP"))),
|
.setDescription(client.translate("moderation/giveaway:PRIZE"))
|
||||||
|
.setRequired(true))
|
||||||
|
.addBooleanOption(option => option.setName("isdrop")
|
||||||
|
.setDescription(client.translate("moderation/giveaway:ISDROP"))
|
||||||
|
.setRequired(true))
|
||||||
|
)
|
||||||
|
.addSubcommand(subcommand => subcommand.setName("reroll")
|
||||||
|
.setDescription(client.translate("moderation/giveaway:REROLL"))
|
||||||
|
.addStringOption(option => option.setName("giveaway_id")
|
||||||
|
.setDescription(client.translate("moderation/giveaway:GIVEAWAY_ID"))
|
||||||
|
.setRequired(true))
|
||||||
|
)
|
||||||
|
.addSubcommand(subcommand => subcommand.setName("end")
|
||||||
|
.setDescription(client.translate("moderation/giveaway:END"))
|
||||||
|
.addStringOption(option => option.setName("giveaway_id")
|
||||||
|
.setDescription(client.translate("moderation/giveaway:GIVEAWAY_ID"))
|
||||||
|
.setRequired(true))
|
||||||
|
)
|
||||||
|
.addSubcommand(subcommand => subcommand.setName("delete")
|
||||||
|
.setDescription(client.translate("moderation/giveaway:DELETE"))
|
||||||
|
.addStringOption(option => option.setName("giveaway_id")
|
||||||
|
.setDescription(client.translate("moderation/giveaway:GIVEAWAY_ID"))
|
||||||
|
.setRequired(true))
|
||||||
|
),
|
||||||
aliases: [],
|
aliases: [],
|
||||||
dirname: __dirname,
|
dirname: __dirname,
|
||||||
guildOnly: true
|
guildOnly: true
|
||||||
|
@ -42,164 +65,81 @@ class Giveaway extends BaseCommand {
|
||||||
* @param {Object} data
|
* @param {Object} data
|
||||||
*/
|
*/
|
||||||
async execute(client, interaction) {
|
async execute(client, interaction) {
|
||||||
const row = new ActionRowBuilder()
|
const command = interaction.options.getSubcommand();
|
||||||
.addComponents(
|
|
||||||
new SelectMenuBuilder()
|
|
||||||
.setCustomId("giveaway_select")
|
|
||||||
.setPlaceholder(client.translate("common:NOTHING_SELECTED"))
|
|
||||||
.addOptions([
|
|
||||||
{
|
|
||||||
label: interaction.translate("moderation/giveaway:CREATE"),
|
|
||||||
value: "create"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: interaction.translate("moderation/giveaway:REROLL"),
|
|
||||||
value: "reroll"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: interaction.translate("moderation/giveaway:DELETE"),
|
|
||||||
value: "delete"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: interaction.translate("moderation/giveaway:END"),
|
|
||||||
value: "end"
|
|
||||||
}
|
|
||||||
])
|
|
||||||
);
|
|
||||||
|
|
||||||
const msg = await interaction.reply({
|
if (command === "create") {
|
||||||
content: interaction.translate("common:AVAILABLE_OPTIONS"),
|
const currentGiveaways = client.giveawaysManager.giveaways.filter(g => g.guildId === interaction.guildId && !g.ended).length;
|
||||||
components: [row],
|
if (currentGiveaways > 5) return interaction.error("moderation/giveaway:MAX_COUNT");
|
||||||
ephemeral: true,
|
|
||||||
fetchReply: true
|
|
||||||
});
|
|
||||||
|
|
||||||
const filter = i => i.customId === "giveaway_select" && i.user.id === interaction.user.id;
|
const duration = interaction.options.getString("duration");
|
||||||
const collector = new InteractionCollector(client, {
|
if (ms(duration) > ms("10d")) return interaction.error("moderation/giveaway:MAX_DURATION");
|
||||||
filter,
|
|
||||||
componentType: ComponentType.SelectMenu,
|
|
||||||
message: msg,
|
|
||||||
idle: (30 * 1000)
|
|
||||||
});
|
|
||||||
|
|
||||||
collector.on("collect", async i => {
|
const winnersCount = interaction.options.getInteger("winners_count");
|
||||||
const option = i?.values[0];
|
if (winnersCount > 10 || winnersCount < 1) return interaction.error("misc:INVALID_NUMBER_RANGE", { min: 1, max: 10 });
|
||||||
|
|
||||||
if (option === "create") {
|
const prize = interaction.options.getString("prize");
|
||||||
const currentGiveaways = client.giveawaysManager.giveaways.filter(g => g.guildId === interaction.guild.id && !g.ended).length;
|
const isdrop = interaction.options.getBoolean("isdrop");
|
||||||
if (currentGiveaways > 5) return i.update({ content: interaction.translate("moderation/giveaway:MAX_COUNT") });
|
|
||||||
|
|
||||||
const duration = interaction.options.getString("duration");
|
client.giveawaysManager.start(interaction.channel, {
|
||||||
if (!duration) return i.update({ content: interaction.translate("moderation/giveaway:INVALID_CREATE") });
|
duration: ms(duration),
|
||||||
if (ms(duration) > ms("10d")) return i.update({ content: interaction.translate("moderation/giveaway:MAX_DURATION") });
|
winnerCount: winnersCount,
|
||||||
|
prize: prize,
|
||||||
const winnersCount = interaction.options.getInteger("winners_count");
|
hostedBy: interaction.user,
|
||||||
if (!winnersCount) return i.update({ content: interaction.translate("moderation/giveaway:INVALID_CREATE") });
|
isDrop: isdrop,
|
||||||
if (winnersCount > 10 || winnersCount < 1) return i.update({ content: interaction.translate("misc:INVALID_NUMBER_RANGE", { min: 1, max: 10 }) });
|
messages: {
|
||||||
|
giveaway: interaction.translate("moderation/giveaway:TITLE"),
|
||||||
const prize = interaction.options.getString("prize");
|
giveawayEnded: interaction.translate("moderation/giveaway:ENDED"),
|
||||||
if (!prize) return i.update({ content: interaction.translate("moderation/giveaway:INVALID_CREATE") });
|
timeRemaining: interaction.translate("moderation/giveaway:TIME_REMAINING"),
|
||||||
const isdrop = interaction.options.getBoolean("isdrop");
|
inviteToParticipate: interaction.translate("moderation/giveaway:INVITE_PARTICIPATE"),
|
||||||
|
winMessage: interaction.translate("moderation/giveaway:WIN_MESSAGE"),
|
||||||
client.giveawaysManager.start(interaction.channel, {
|
drawing: interaction.translate("moderation/giveaway:DRAWING"),
|
||||||
duration: ms(duration),
|
dropMessage: interaction.translate("moderation/giveaway:DROP"),
|
||||||
winnerCount: winnersCount,
|
embedFooter: interaction.translate("moderation/giveaway:FOOTER"),
|
||||||
prize: prize,
|
noWinner: interaction.translate("moderation/giveaway:NO_WINNER"),
|
||||||
hostedBy: interaction.user,
|
winners: interaction.translate("moderation/giveaway:WINNERS"),
|
||||||
isDrop: isdrop,
|
endedAt: interaction.translate("moderation/giveaway:END_AT"),
|
||||||
messages: {
|
hostedBy: interaction.translate("moderation/giveaway:HOSTED_BY")
|
||||||
giveaway: interaction.translate("moderation/giveaway:TITLE"),
|
|
||||||
giveawayEnded: interaction.translate("moderation/giveaway:ENDED"),
|
|
||||||
timeRemaining: interaction.translate("moderation/giveaway:TIME_REMAINING"),
|
|
||||||
inviteToParticipate: interaction.translate("moderation/giveaway:INVITE_PARTICIPATE"),
|
|
||||||
winMessage: interaction.translate("moderation/giveaway:WIN_MESSAGE"),
|
|
||||||
drawing: interaction.translate("moderation/giveaway:DRAWING"),
|
|
||||||
dropMessage: interaction.translate("moderation/giveaway:DROP"),
|
|
||||||
embedFooter: interaction.translate("moderation/giveaway:FOOTER"),
|
|
||||||
noWinner: interaction.translate("moderation/giveaway:NO_WINNER"),
|
|
||||||
winners: interaction.translate("moderation/giveaway:WINNERS"),
|
|
||||||
endedAt: interaction.translate("moderation/giveaway:END_AT"),
|
|
||||||
hostedBy: interaction.translate("moderation/giveaway:HOSTEDBY"),
|
|
||||||
// units: {
|
|
||||||
// seconds: interaction.translate("time:SECONDS", {
|
|
||||||
// amount: ""
|
|
||||||
// }).trim(),
|
|
||||||
// minutes: interaction.translate("time:MINUTES", {
|
|
||||||
// amount: ""
|
|
||||||
// }).trim(),
|
|
||||||
// hours: interaction.translate("time:HOURS", {
|
|
||||||
// amount: ""
|
|
||||||
// }).trim(),
|
|
||||||
// days: interaction.translate("time:DAYS", {
|
|
||||||
// amount: ""
|
|
||||||
// }).trim()
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
}).then(() => {
|
|
||||||
return i.update({
|
|
||||||
content: interaction.translate("moderation/giveaway:GIVEAWAY_CREATED"),
|
|
||||||
components: []
|
|
||||||
});
|
|
||||||
});
|
|
||||||
} else if (option === "reroll") {
|
|
||||||
const giveaway_id = interaction.options.getString("giveaway_id");
|
|
||||||
if (!giveaway_id) return i.update({ content: interaction.translate("moderation/giveaway:MISSING_ID"), components: [] });
|
|
||||||
|
|
||||||
client.giveawaysManager.reroll(giveaway_id, {
|
|
||||||
messages: {
|
|
||||||
congrat: interaction.translate("moderation/giveaway:REROLL_CONGRAT"),
|
|
||||||
error: interaction.translate("moderation/giveaway:REROLL_ERROR")
|
|
||||||
}
|
|
||||||
}).then(() => {
|
|
||||||
return i.update({
|
|
||||||
content: interaction.translate("moderation/giveaway:GIVEAWAY_REROLLED"),
|
|
||||||
components: []
|
|
||||||
});
|
|
||||||
}).catch(() => {
|
|
||||||
return i.update({
|
|
||||||
content: interaction.translate("moderation/giveaway:NOT_FOUND_ENDED", {
|
|
||||||
messageId: giveaway_id
|
|
||||||
}),
|
|
||||||
components: []
|
|
||||||
});
|
|
||||||
});
|
|
||||||
} else if (option === "delete") {
|
|
||||||
const giveaway_id = interaction.options.getString("giveaway_id");
|
|
||||||
if (!giveaway_id) return i.update({ content: interaction.translate("moderation/giveaway:MISSING_ID"), components: [] });
|
|
||||||
|
|
||||||
client.giveawaysManager.delete(giveaway_id).then(() => {
|
|
||||||
return i.update({
|
|
||||||
content: interaction.translate("moderation/giveaway:GIVEAWAY_DELETED"),
|
|
||||||
components: []
|
|
||||||
});
|
|
||||||
}).catch(() => {
|
|
||||||
return i.update({
|
|
||||||
content: interaction.translate("moderation/giveaway:NOT_FOUND", {
|
|
||||||
messageId: giveaway_id
|
|
||||||
}),
|
|
||||||
components: []
|
|
||||||
});
|
|
||||||
});
|
|
||||||
} else if (option === "end") {
|
|
||||||
const giveaway_id = interaction.options.getString("giveaway_id");
|
|
||||||
if (!giveaway_id) return i.update({ content: interaction.translate("moderation/giveaway:MISSING_ID"), components: [] });
|
|
||||||
|
|
||||||
try {
|
|
||||||
client.giveawaysManager.end(giveaway_id);
|
|
||||||
return i.update({
|
|
||||||
content: interaction.translate("moderation/giveaway:GIVEAWAY_ENDED"),
|
|
||||||
components: []
|
|
||||||
});
|
|
||||||
} catch (e) {
|
|
||||||
return i.update({
|
|
||||||
content: interaction.translate("moderation/giveaway:NOT_FOUND", {
|
|
||||||
messageId: giveaway_id
|
|
||||||
}),
|
|
||||||
components: []
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
}).then(() => {
|
||||||
|
return interaction.success("moderation/giveaway:GIVEAWAY_CREATED", null, { ephemeral: true });
|
||||||
|
});
|
||||||
|
} else if (command === "reroll") {
|
||||||
|
const giveaway_id = interaction.options.getString("giveaway_id");
|
||||||
|
|
||||||
|
client.giveawaysManager.reroll(giveaway_id, {
|
||||||
|
messages: {
|
||||||
|
congrat: interaction.translate("moderation/giveaway:REROLL_CONGRAT"),
|
||||||
|
error: interaction.translate("moderation/giveaway:REROLL_ERROR")
|
||||||
|
}
|
||||||
|
}).then(() => {
|
||||||
|
return interaction.success("moderation/giveaway:GIVEAWAY_REROLLED");
|
||||||
|
}).catch(() => {
|
||||||
|
return interaction.error("moderation/giveaway:NOT_FOUND_ENDED", {
|
||||||
|
messageId: giveaway_id
|
||||||
|
}, { ephemeral: true });
|
||||||
|
});
|
||||||
|
} else if (command === "end") {
|
||||||
|
const giveaway_id = interaction.options.getString("giveaway_id");
|
||||||
|
|
||||||
|
try {
|
||||||
|
client.giveawaysManager.end(giveaway_id);
|
||||||
|
return interaction.success("moderation/giveaway:GIVEAWAY_ENDED");
|
||||||
|
} catch (e) {
|
||||||
|
return interaction.error("moderation/giveaway:NOT_FOUND", {
|
||||||
|
messageId: giveaway_id
|
||||||
|
}, { ephemeral: true });
|
||||||
}
|
}
|
||||||
});
|
} else if (command === "delete") {
|
||||||
|
const giveaway_id = interaction.options.getString("giveaway_id");
|
||||||
|
|
||||||
|
client.giveawaysManager.delete(giveaway_id).then(() => {
|
||||||
|
return interaction.success("moderation/giveaway:GIVEAWAY_DELETED");
|
||||||
|
}).catch(() => {
|
||||||
|
return interaction.error("moderation/giveaway:NOT_FOUND", {
|
||||||
|
messageId: giveaway_id
|
||||||
|
}, { ephemeral: true });
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ class Debug extends BaseCommand {
|
||||||
* @param {import("discord.js").ChatInputCommandInteraction} interaction
|
* @param {import("discord.js").ChatInputCommandInteraction} interaction
|
||||||
* @param {Array} data
|
* @param {Array} data
|
||||||
*/
|
*/
|
||||||
async execute(client, interaction,) {
|
async execute(client, interaction) {
|
||||||
const command = interaction.options.getSubcommand();
|
const command = interaction.options.getSubcommand();
|
||||||
|
|
||||||
if (command === "set") {
|
if (command === "set") {
|
||||||
|
|
|
@ -1,3 +1,18 @@
|
||||||
|
### JaBa v4.1.8
|
||||||
|
* Добавлено
|
||||||
|
* Возможность сразу сократить ссылку в команде *lmgtfy*.
|
||||||
|
|
||||||
|
* Изменения
|
||||||
|
* Переписаны подсказки к командам.
|
||||||
|
* Переписана команда *giveaway*.
|
||||||
|
|
||||||
|
* Исправления
|
||||||
|
* Фикс ошибки *shorturl* с некотырыми ссылками.
|
||||||
|
|
||||||
|
### JaBa v4.1.7
|
||||||
|
* Добавлено
|
||||||
|
* Переписана команда *leaderboard*.
|
||||||
|
|
||||||
### JaBa v4.1.6
|
### JaBa v4.1.6
|
||||||
* Изменения
|
* Изменения
|
||||||
* Изменён способ указания типа повтора в *loop*. Теперь вы указываете тип аргументом (подсказки имеются), а не из выпадающего списка в отдельном сообщении. Это одновременно удобно, быстро и меньше кода =)
|
* Изменён способ указания типа повтора в *loop*. Теперь вы указываете тип аргументом (подсказки имеются), а не из выпадающего списка в отдельном сообщении. Это одновременно удобно, быстро и меньше кода =)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Включить или отключить автоудаление ссылок-приглашений",
|
"DESCRIPTION": "Включить или отключить автоудаление ссылок-приглашений",
|
||||||
"USAGE": "[true/false] (#канал)",
|
"USAGE": "[state] (#channel)",
|
||||||
"EXAMPLES": "automod true\nautomod false #general\nautomod false",
|
"EXAMPLES": "automod state:True\nautomod state:False channel:#general\nautomod state:False",
|
||||||
"ENABLED": "Ссылки-приглашения будут удаляться автоматически\nИспользуйте `automod false #channel` для игнорирования канала!",
|
"ENABLED": "Ссылки-приглашения будут удаляться автоматически\nИспользуйте `automod false #channel` для игнорирования канала!",
|
||||||
"DISABLED_CHANNEL": "Автомодерация не будет выполняться в {{channel}}!",
|
"DISABLED_CHANNEL": "Автомодерация не будет выполняться в {{channel}}!",
|
||||||
"DISABLED": "Автомодерация отключена!",
|
"DISABLED": "Автомодерация отключена!",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Включить или отключить автоназначение роли при входе на сервер",
|
"DESCRIPTION": "Включить или отключить автоназначение роли при входе на сервер",
|
||||||
"USAGE": "[true/false] (@роль)",
|
"USAGE": "[state] (@role)",
|
||||||
"EXAMPLES": "autorole true @новенький\nautorole false",
|
"EXAMPLES": "autorole state:True role:@новенький\nautorole state:False",
|
||||||
"MISSING_ROLE": "Укажите роль!",
|
"MISSING_ROLE": "Укажите роль!",
|
||||||
"SUCCESS_ENABLED": "Автоназначение роли включено!\nНовые пользователи будут автоматически получать {{role}} при входе на сервер.",
|
"SUCCESS_ENABLED": "Автоназначение роли включено!\nНовые пользователи будут автоматически получать {{role}} при входе на сервер.",
|
||||||
"SUCCESS_DISABLED": "Автоназначение роли отключено!"
|
"SUCCESS_DISABLED": "Автоназначение роли отключено!"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Включить или отключить автоудаление команд модерации",
|
"DESCRIPTION": "Включить или отключить автоудаление команд модерации",
|
||||||
"USAGE": "[true/false]",
|
"USAGE": "[state]",
|
||||||
"EXAMPLES": "deletemod true",
|
"EXAMPLES": "deletemod state:True\ndeletemod state:False",
|
||||||
"ENABLED": "Автоудаление команд модерации включено!",
|
"ENABLED": "Автоудаление команд модерации включено!",
|
||||||
"DISABLED": "Автоудаление команд модерации отключено!"
|
"DISABLED": "Автоудаление команд модерации отключено!"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Включить или отключить сообщения при выходе пользователя с сервера",
|
"DESCRIPTION": "Включить или отключить сообщения при выходе пользователя с сервера",
|
||||||
"USAGE": "(test)",
|
"USAGE": "config [state] [#channel] [message] [image] \nИли [test]",
|
||||||
"EXAMPLES": "goodbye\ngoodbye test",
|
"EXAMPLES": "goodbye state:True channel:#welcome Прощай! image:True\ngoodbye test",
|
||||||
"TEST": "Проверить",
|
"TEST": "Проверить",
|
||||||
"TEST_SUCCESS": "Тест выполнен...",
|
"TEST_SUCCESS": "Тест выполнен...",
|
||||||
"CONFIG": "Настроить",
|
"CONFIG": "Настроить",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Изменить пользователю опыт, уровень, кредиты или банк",
|
"DESCRIPTION": "Изменить пользователю опыт, уровень, кредиты или банк",
|
||||||
"USAGE": "[level/xp/credits/bank] [@пользователь] [значение]",
|
"USAGE": "[type] [@user] [int]",
|
||||||
"EXAMPLES": "set level @Jonny_Bro#4226 10",
|
"EXAMPLES": "set type:Уровень user:@Jonny_Bro#4226 int:10",
|
||||||
"INVALID_NUMBER": "Значение должно быть больше нуля"
|
"INVALID_NUMBER": "Значение должно быть больше нуля"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Установить канал для поздравлений с днём рождения",
|
"DESCRIPTION": "Установить канал для поздравлений с днём рождения",
|
||||||
"USAGE": "[true/false] (#канал)",
|
"USAGE": "[state] (#channel)",
|
||||||
"EXAMPLES": "setbirthdays true #birthdays\nsetbirthdays false",
|
"EXAMPLES": "setbirthdays state:True channel:#birthdays\nsetbirthdays state:False",
|
||||||
"ENABLED": "Поздравления включены в канале **{{channel}}**!",
|
"ENABLED": "Поздравления включены в канале **{{channel}}**!",
|
||||||
"DISABLED": "Поздравления отключены!"
|
"DISABLED": "Поздравления отключены!"
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Изменить язык бота на сервере",
|
"DESCRIPTION": "Изменить язык бота на сервере",
|
||||||
"USAGE": "[язык]",
|
"USAGE": "[languagee]",
|
||||||
"EXAMPLES": "setlang Русский",
|
"EXAMPLES": "setlang language:Русский",
|
||||||
"SUCCESS": ":flag_ru: Язык сервера изменён на **{{lang}}**!"
|
"SUCCESS": ":flag_ru: Язык сервера изменён на **{{lang}}**!"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Установить канал для логов модерации",
|
"DESCRIPTION": "Установить канал для логов модерации",
|
||||||
"USAGE": "[true/false] (#канал)",
|
"USAGE": "[state] (#channel)",
|
||||||
"EXAMPLES": "setmodlogs true #логи\nsetmodlogs false",
|
"EXAMPLES": "setmodlogs state:True channel:#логи\nsetmodlogs state:False",
|
||||||
"ENABLED": "Логи модерации включены в канале **{{channel}}**!",
|
"ENABLED": "Логи модерации включены в канале **{{channel}}**!",
|
||||||
"DISABLED": "Логи модерации отключены!"
|
"DISABLED": "Логи модерации отключены!"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Установить канал для новостей бота",
|
"DESCRIPTION": "Установить канал для новостей бота",
|
||||||
"USAGE": "[true/false] (#канал)",
|
"USAGE": "[state] (#channel)",
|
||||||
"EXAMPLES": "setnews true #bot-news\nsetnews false",
|
"EXAMPLES": "setnews state:True channel:#bot-news\nsetnews state:False",
|
||||||
"ENABLED": "Новости бота включены в канале **{{channel}}**!",
|
"ENABLED": "Новости бота включены в канале **{{channel}}**!",
|
||||||
"DISABLED": "Новости бота отключены!"
|
"DISABLED": "Новости бота отключены!"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Установить канал для жалоб",
|
"DESCRIPTION": "Установить канал для жалоб",
|
||||||
"USAGE": "[true/false] (#канал)",
|
"USAGE": "[state] (#channel)",
|
||||||
"EXAMPLES": "setreports true #жалобы\nsetreports false",
|
"EXAMPLES": "setreports state:True channel:#жалобы\nsetreports state:False",
|
||||||
"ENABLED": "Жалобы будут отправляться в **{{channel}}**!",
|
"ENABLED": "Жалобы будут отправляться в **{{channel}}**!",
|
||||||
"DISABLED": "Жалобы отключены!"
|
"DISABLED": "Жалобы отключены!"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Установить канал для предложений",
|
"DESCRIPTION": "Установить канал для предложений",
|
||||||
"USAGE": "[true/false] (#канал)",
|
"USAGE": "[state] (#channel)",
|
||||||
"EXAMPLES": "setsuggests true #предложения\nsetsuggests false",
|
"EXAMPLES": "setsuggests state:True channel:#предложения\nsetsuggests state:False",
|
||||||
"ENABLED": "Предложения будут отправляться в **{{channel}}**!",
|
"ENABLED": "Предложения будут отправляться в **{{channel}}**!",
|
||||||
"DISABLED": "Предложения отключены!"
|
"DISABLED": "Предложения отключены!"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Скопировать эмодзи на текущий сервер",
|
"DESCRIPTION": "Скопировать эмодзи на текущий сервер",
|
||||||
"USAGE": "[эмодзи]",
|
"USAGE": "[emoji]",
|
||||||
"EXAMPLES": "stealemoji :coolstorybob:",
|
"EXAMPLES": "stealemoji emoji::coolstorybob:",
|
||||||
"SUCCESS": "{{emoji}} добавлен!",
|
"SUCCESS": "{{emoji}} добавлен!",
|
||||||
"ERROR": "Произошла ошибка при добавлении {{emoji}}.\n{{e}}"
|
"ERROR": "Произошла ошибка при добавлении {{emoji}}.\n```{{e}}```"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Включить или отключить сообщения при входе пользователя на сервер",
|
"DESCRIPTION": "Включить или отключить сообщения при входе пользователя на сервер",
|
||||||
"USAGE": "(test)",
|
"USAGE": "config [state] [#channel] [message] [image] \nИли [test]",
|
||||||
"EXAMPLES": "welcome\nwelcome test",
|
"EXAMPLES": "welcome state:True channel:#welcome Добро пожаловать! image:True\nwelcome test",
|
||||||
"ENABLED": "Приветствующие сообщения включены в {{channel}}!\nИспользуйте `welcome test` для просмотра сообщения!",
|
"ENABLED": "Приветствующие сообщения включены в {{channel}}!\nИспользуйте `welcome test` для просмотра сообщения!",
|
||||||
"DISABLED": "Приветствующие сообщения отключены!",
|
"DISABLED": "Приветствующие сообщения отключены!",
|
||||||
"DEFAULT_MESSAGE": "Добро пожаловать {user}! Нас теперь {membercount}!",
|
"DEFAULT_MESSAGE": "Добро пожаловать {user}! Нас теперь {membercount}!",
|
||||||
|
|
|
@ -1,62 +1,64 @@
|
||||||
{
|
{
|
||||||
"YES": "Да",
|
|
||||||
"NO": "Нет",
|
|
||||||
"APPLY": "Применить",
|
|
||||||
"ACCEPT": "Принять",
|
"ACCEPT": "Принять",
|
||||||
"CANCEL": "Отменить",
|
|
||||||
"DECLINE": "Отказаться",
|
|
||||||
"ENABLE": "Включить",
|
|
||||||
"DISABLE": "Выключить",
|
|
||||||
"ENABLED": "Включено",
|
|
||||||
"DISABLED": "Отключено",
|
|
||||||
"NOT_DEFINED": "Не установлено",
|
|
||||||
"AUTHOR": "Автор",
|
|
||||||
"DATE": "Дата",
|
|
||||||
"MISSING": "Отсутствует",
|
|
||||||
"CONTENT": "Содержимое",
|
|
||||||
"REASON": "Причина",
|
|
||||||
"USER": "Пользователь",
|
|
||||||
"CREATION": "Создан",
|
|
||||||
"MEMBERS": "Участники",
|
|
||||||
"NAME": "Название",
|
|
||||||
"CHANNELS": "Каналы",
|
|
||||||
"ID": "ID сервера",
|
|
||||||
"OWNER": "Владелец",
|
|
||||||
"USERNAME": "Имя пользователя",
|
|
||||||
"STATS": "Статистика",
|
|
||||||
"STATE": "Состояние",
|
|
||||||
"ROBOT": "Бот",
|
|
||||||
"ACTIVITY": "Активность",
|
"ACTIVITY": "Активность",
|
||||||
"STATUS": "Статус",
|
"APPLY": "Применить",
|
||||||
"STATUS_ONLINE": "В сети",
|
"AUTHOR": "Автор",
|
||||||
"STATUS_OFFLINE": "Не в сети",
|
"AVAILABLE_OPTIONS": "Доступные параметры:",
|
||||||
"STATUS_IDLE": "Неактивен",
|
"CANCEL": "Отменить",
|
||||||
"STATUS_DND": "Не беспокоить",
|
"CHANNEL": "Канал",
|
||||||
|
"CHANNELS": "Каналы",
|
||||||
|
"COLOR": "Цвет",
|
||||||
|
"CONTENT": "Содержимое",
|
||||||
|
"CREATION": "Создан",
|
||||||
|
"CREDITS": "Кредиты",
|
||||||
|
"DATE": "Дата",
|
||||||
|
"DECLINE": "Отказаться",
|
||||||
|
"DEFEAT": "Поражение",
|
||||||
|
"DISABLE": "Выключить",
|
||||||
|
"DISABLED": "Отключено",
|
||||||
|
"DURATION": "Длительность (30s, 5m, 2h, 5d, 1w)",
|
||||||
|
"EMOJI": "Эмодзи",
|
||||||
|
"ENABLE": "Включить",
|
||||||
|
"ENABLED": "Включено",
|
||||||
|
"ID": "ID сервера",
|
||||||
|
"INT": "Целое число",
|
||||||
|
"IP": "IP адрес",
|
||||||
|
"JOINED": "Присоеденился",
|
||||||
|
"LANGUAGE": "Язык",
|
||||||
|
"LEVEL": "Уровень",
|
||||||
|
"MEMBER": "Участник",
|
||||||
|
"MEMBERS": "Участники",
|
||||||
|
"MESSAGE": "Сообщение",
|
||||||
|
"MISSING": "Отсутствует",
|
||||||
|
"MODERATOR": "Модератор",
|
||||||
|
"NAME": "Название",
|
||||||
|
"NICKNAME": "Ник на сервере",
|
||||||
|
"NO": "Нет",
|
||||||
|
"NOTHING_SELECTED": "Ничего не выбрано",
|
||||||
|
"NOT_DEFINED": "Не установлено",
|
||||||
|
"OWNER": "Владелец",
|
||||||
|
"PAGE": "Страница",
|
||||||
|
"PROFILE": "Профиль",
|
||||||
|
"REASON": "Причина",
|
||||||
|
"REP": "Очки репутации",
|
||||||
|
"ROBOT": "Бот",
|
||||||
"ROLE": "Роль",
|
"ROLE": "Роль",
|
||||||
"ROLES": "Роли",
|
"ROLES": "Роли",
|
||||||
"JOINED": "Присоеденился",
|
"SERVERS": "Сервера",
|
||||||
"COLOR": "Цвет",
|
"SETTINGS": "Настройки",
|
||||||
"NICKNAME": "Ник на сервере",
|
"STATE": "Состояние",
|
||||||
"CREDITS": "Кредиты",
|
"STATS": "Статистика",
|
||||||
"LEVEL": "Уровень",
|
"STATUS": "Статус",
|
||||||
"REP": "Очки репутации",
|
"STATUS_DND": "Не беспокоить",
|
||||||
"XP": "Опыт",
|
"STATUS_IDLE": "Неактивен",
|
||||||
|
"STATUS_OFFLINE": "Не в сети",
|
||||||
|
"STATUS_ONLINE": "В сети",
|
||||||
|
"UNKNOWN": "Неизвестно",
|
||||||
|
"USER": "Пользователь",
|
||||||
|
"USERNAME": "Имя пользователя",
|
||||||
|
"USERS": "Пользователи",
|
||||||
"VICTORY": "Победа",
|
"VICTORY": "Победа",
|
||||||
"VIEWS": "Просмотры",
|
"VIEWS": "Просмотры",
|
||||||
"DEFEAT": "Поражение",
|
"XP": "Опыт",
|
||||||
"MODERATOR": "Модератор",
|
"YES": "Да"
|
||||||
"DURATION": "Длительность (30s, 5m, 2h, 5d, 1w)",
|
|
||||||
"SERVERS": "Сервера",
|
|
||||||
"PAGE": "Страница",
|
|
||||||
"MESSAGE": "Сообщение",
|
|
||||||
"PROFILE": "Профиль",
|
|
||||||
"SETTINGS": "Настройки",
|
|
||||||
"EMOJI": "Эмодзи",
|
|
||||||
"IP": "IP адрес",
|
|
||||||
"INT": "Целое число",
|
|
||||||
"LANGUAGE": "Язык",
|
|
||||||
"CHANNEL": "Канал",
|
|
||||||
"UNKNOWN": "Неизвестно",
|
|
||||||
"NOTHING_SELECTED": "Ничего не выбрано",
|
|
||||||
"AVAILABLE_OPTIONS": "Доступные параметры:"
|
|
||||||
}
|
}
|
|
@ -1,35 +1,35 @@
|
||||||
{
|
{
|
||||||
"FIRST_LOGIN": "{{user}} авторизовался в панели управления в первый раз! :tada:",
|
"AUTOROLE_CONF": "🎖️ Автоматическое назначение роли",
|
||||||
"NOT_FOUND": "Упс! Страница не найдена.",
|
"BASIC_CONF": "📝 Основные настройки",
|
||||||
"NOT_FOUND_CONTENT": "Я не нашёл то, что вы искали. А пока вы можете вернуться в панель управления.",
|
"BIRTHDAYS": "Поздравления с днём рождения",
|
||||||
|
"CAN_USE": "Можно использовать",
|
||||||
|
"CHANNELS_CONF": "🌀 Специальные каналы",
|
||||||
|
"COOLDOWNS": "Откаты",
|
||||||
"ERR_OCCURRED": "Упс! Что-то пошло не так.",
|
"ERR_OCCURRED": "Упс! Что-то пошло не так.",
|
||||||
"ERR_OCCURRED_CONTENT": "Я постараюсь исправить это как можно скорее (можете сообщить владельцу о проблеме). А пока вы можете вернуться в панель управления.",
|
"ERR_OCCURRED_CONTENT": "Я постараюсь исправить это как можно скорее (можете сообщить владельцу о проблеме). А пока вы можете вернуться в панель управления.",
|
||||||
"SEARCH": "Поиск по серверам...",
|
"FIRST_LOGIN": "{{user}} авторизовался в панели управления в первый раз! :tada:",
|
||||||
"SERVERS_LIST": "Список серверов",
|
"GOODBYE_CONF": "😢 Сообщение при выходе пользователя с сервера",
|
||||||
"SERVERS_MANAGEMENT": "Управление серверами",
|
"GOODBYE_IMG": "😢 Добавлять карточку",
|
||||||
|
"MANAGE": "Управление",
|
||||||
|
"MODLOGS": "Логи модерации",
|
||||||
|
"NEWS": "Новости бота",
|
||||||
|
"NOT_FOUND": "Упс! Страница не найдена.",
|
||||||
|
"NOT_FOUND_CONTENT": "Я не нашёл то, что вы искали. А пока вы можете вернуться в панель управления.",
|
||||||
|
"NO_CHANNEL": "Канал не выбран",
|
||||||
|
"NO_DEFENCE": "Вы беспомощны",
|
||||||
"NO_SERVER": "Сервер не найден",
|
"NO_SERVER": "Сервер не найден",
|
||||||
"NO_SERVER_CONTENT": "Нечего отображать. Убедитесь, что вы вошли в систему с правильной учетной записью, и повторите попытку.",
|
"NO_SERVER_CONTENT": "Нечего отображать. Убедитесь, что вы вошли в систему с правильной учетной записью, и повторите попытку.",
|
||||||
"BASIC_CONF": "📝 Основные настройки",
|
|
||||||
"WELCOME_CONF": "👋 Сообщение при входе пользователя на сервер",
|
|
||||||
"GOODBYE_CONF": "😢 Сообщение при выходе пользователя с сервера",
|
|
||||||
"WELCOME_IMG": "👋 Добавлять карточку",
|
|
||||||
"GOODBYE_IMG": "😢 Добавлять карточку",
|
|
||||||
"CHANNELS_CONF": "🌀 Специальные каналы",
|
|
||||||
"AUTOROLE_CONF": "🎖️ Автоматическое назначение роли",
|
|
||||||
"NO_CHANNEL": "Канал не выбран",
|
|
||||||
"NEWS": "Новости бота",
|
|
||||||
"REPORTS": "Жалобы",
|
|
||||||
"MODLOGS": "Логи модерации",
|
|
||||||
"SUGGESTIONS": "Предложения",
|
|
||||||
"BIRTHDAYS": "Поздравления с днём рождения",
|
|
||||||
"SELECTOR": "Выбор серверов",
|
|
||||||
"MANAGE": "Управление",
|
|
||||||
"COOLDOWNS": "Откаты",
|
|
||||||
"REP": "Команда rep",
|
"REP": "Команда rep",
|
||||||
"WORK": "Зарплата в work",
|
"REPORTS": "Жалобы",
|
||||||
"ROB": "Защита от rob",
|
"ROB": "Защита от rob",
|
||||||
"CAN_USE": "Можно использовать",
|
"SEARCH": "Поиск по серверам...",
|
||||||
"NO_DEFENCE": "Вы беспомощны",
|
"SELECTOR": "Выбор серверов",
|
||||||
|
"SERVERS_LIST": "Список серверов",
|
||||||
|
"SERVERS_MANAGEMENT": "Управление серверами",
|
||||||
|
"SUGGESTIONS": "Предложения",
|
||||||
|
"TOP_CREDITS": "Первый по кредитам",
|
||||||
"TOP_LEVEL": "Первый по уровню",
|
"TOP_LEVEL": "Первый по уровню",
|
||||||
"TOP_CREDITS": "Первый по кредитам"
|
"WELCOME_CONF": "👋 Сообщение при входе пользователя на сервер",
|
||||||
|
"WELCOME_IMG": "👋 Добавлять карточку",
|
||||||
|
"WORK": "Зарплата в work"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Показать список достижений пользователя",
|
"DESCRIPTION": "Показать список достижений пользователя",
|
||||||
"USAGE": "(@пользователь)",
|
"USAGE": "(@user)",
|
||||||
"EXAMPLES": "achievements\nachievements @Jonny_Bro#4226",
|
"EXAMPLES": "achievements\nachievements user:@Jonny_Bro#4226",
|
||||||
"SEND_CMD": "Используйте свою первую команду!",
|
"SEND_CMD": "Используйте свою первую команду!",
|
||||||
"CLAIM_SALARY": "Получите зарплату 10 раз!",
|
"CLAIM_SALARY": "Получите зарплату 10 раз!",
|
||||||
"MARRY": "Найдите вторую половинку и женитесь!",
|
"MARRY": "Найдите вторую половинку и женитесь!",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Управление банковским счётом",
|
"DESCRIPTION": "Управление банковским счётом",
|
||||||
"USAGE": "[deposit/withdraw] [сумма/all]",
|
"USAGE": "[option] [credits/all]",
|
||||||
"EXAMPLES": "bank deposit 1000\nbank withdraw all",
|
"EXAMPLES": "bank option:deposit credits:1000\nbank option:withdraw credits:all",
|
||||||
"OPTION": "Действие",
|
"OPTION": "Действие",
|
||||||
"DEPOSIT": "Внести",
|
"DEPOSIT": "Внести",
|
||||||
"WITHDRAW": "Снять",
|
"WITHDRAW": "Снять",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Установить дату рождения",
|
"DESCRIPTION": "Установить дату рождения",
|
||||||
"USAGE": "[ДД] [ММ] [ГГГГ]",
|
"USAGE": "[day] [month] [year]",
|
||||||
"EXAMPLES": "birthdate 17 03 2002",
|
"EXAMPLES": "birthdate day:17 month:03 year:2000",
|
||||||
"DAY": "День",
|
"DAY": "День",
|
||||||
"MONTH": "Месяц",
|
"MONTH": "Месяц",
|
||||||
"YEAR": "Год",
|
"YEAR": "Год",
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Показать таблицу лидеров по кредитам, уровню или очкам репутации",
|
"DESCRIPTION": "Показать таблицу лидеров по кредитам, уровню или очкам репутации",
|
||||||
"USAGE": "[rep/level/credits]",
|
"USAGE": "[type]",
|
||||||
"EXAMPLES": "leaderboard credits",
|
"EXAMPLES": "leaderboard type:Уровень",
|
||||||
"LEVEL": "Уровень",
|
"LEVEL": "Уровень",
|
||||||
"MONEY": "Кредиты",
|
"MONEY": "Кредиты",
|
||||||
"REP": "Репутация",
|
"REP": "Репутация",
|
||||||
"MOBILE": ":confused: Я заметил, что вы онлайн с телефона... Таблица лидеров может отображаться некорректно на маленьких экранах. Попробуйте позже с другого устройства!",
|
"MOBILE": ":confused: Я заметил, что вы онлайн с телефона... Таблица лидеров может отображаться некорректно на маленьких экранах. Попробуйте позже с другого устройства!",
|
||||||
"TABLE": "Таблица лидеров {{name}}",
|
"TABLE": "Таблица лидеров {{name}}"
|
||||||
"TOP": "Топ 20"
|
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Женитесь на том, кого любите",
|
"DESCRIPTION": "Женитесь на том, кого любите",
|
||||||
"USAGE": "[@пользователь]",
|
"USAGE": "[@user]",
|
||||||
"EXAMPLES": "marry @Jonny_Bro#4226",
|
"EXAMPLES": "marry user:@Jonny_Bro#4226",
|
||||||
"ALREADY_MARRIED": "Вы уже состоите в браке! Вы можете развестить с помощью команды `divorce`.",
|
"ALREADY_MARRIED": "Вы уже состоите в браке! Вы можете развестить с помощью команды `divorce`.",
|
||||||
"ALREADY_MARRIED_USER": "Вы опоздали! {{user}} уже состоит в браке!",
|
"ALREADY_MARRIED_USER": "Вы опоздали! {{user}} уже состоит в браке!",
|
||||||
"YOURSELF": "Вы не можете жениться на себе!",
|
"YOURSELF": "Вы не можете жениться на себе!",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Показать количество кредитов у пользователя",
|
"DESCRIPTION": "Показать количество кредитов у пользователя",
|
||||||
"USAGE": "(@пользователь)",
|
"USAGE": "(@user)",
|
||||||
"EXAMPLES": "money\nmoney @Jonny_Bro#4226",
|
"EXAMPLES": "money\nmoney user:@Jonny_Bro#4226",
|
||||||
"BOT_USER": "Никто не знает сколько у ботов денег...",
|
"BOT_USER": "Никто не знает сколько у ботов денег...",
|
||||||
"TITLE": "Кредиты {{username}}"
|
"TITLE": "Кредиты {{username}}"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Отправить кредиты пользователю",
|
"DESCRIPTION": "Отправить кредиты пользователю",
|
||||||
"USAGE": "[@пользователь] [сумма]",
|
"USAGE": "[@user] [amount]",
|
||||||
"EXAMPLES": "pay @Jonny_Bro#4226 1000",
|
"EXAMPLES": "pay user:@Jonny_Bro#4226 amount:1000",
|
||||||
"BOT_USER": "Ботам не нужны деньги B)!",
|
"BOT_USER": "Ботам не нужны деньги B)!",
|
||||||
"YOURSELF": "Вы не можете перевести кредиты самому себе!",
|
"YOURSELF": "Вы не можете перевести кредиты самому себе!",
|
||||||
"INVALID_AMOUNT": "Укажите сумму",
|
"INVALID_AMOUNT": "Укажите сумму",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Показать профиль пользователя",
|
"DESCRIPTION": "Показать профиль пользователя",
|
||||||
"USAGE": "(@пользователь)",
|
"USAGE": "(@user)",
|
||||||
"EXAMPLES": "profile\nprofile @Jonny_Bro#4226",
|
"EXAMPLES": "profile\nprofile user:@Jonny_Bro#4226",
|
||||||
"BOT_USER": "У ботов нет профиля!",
|
"BOT_USER": "У ботов нет профиля!",
|
||||||
"TITLE": "Профиль {{user}}",
|
"TITLE": "Профиль {{user}}",
|
||||||
"LINK": "Профиль",
|
"LINK": "Профиль",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Дать репутацию пользователю",
|
"DESCRIPTION": "Дать репутацию пользователю",
|
||||||
"USAGE": "[@пользователь]",
|
"USAGE": "[@user]",
|
||||||
"EXAMPLES": "rep @Jonny_Bro#4226",
|
"EXAMPLES": "rep user:@Jonny_Bro#4226",
|
||||||
"COOLDOWN": "Вы должны подождать **{{time}}** до следующего использования!",
|
"COOLDOWN": "Вы должны подождать **{{time}}** до следующего использования!",
|
||||||
"BOT_USER": "Боты и так крутые B)",
|
"BOT_USER": "Боты и так крутые B)",
|
||||||
"YOURSELF": "Вы не можете дать очко репутации самому себе!",
|
"YOURSELF": "Вы не можете дать очко репутации самому себе!",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Попытаться ограбить пользователя",
|
"DESCRIPTION": "Попытаться ограбить пользователя",
|
||||||
"USAGE": "[@пользователь] [сумма]",
|
"USAGE": "[@user] [amount]",
|
||||||
"EXAMPLES": "rob @Jonny_Bro#4226 100",
|
"EXAMPLES": "rob user:@Jonny_Bro#4226 amount:100",
|
||||||
"BOT_USER": "Вы не можете ограбить бота!",
|
"BOT_USER": "Вы не можете ограбить бота!",
|
||||||
"YOURSELF": "Вы не можете ограбить себя!",
|
"YOURSELF": "Вы не можете ограбить себя!",
|
||||||
"NOT_ENOUGH_AUTHOR": "У вас должно быть хотя бы {{moneyMin}}, чтобы грабить данного пользователя (сейчас у вас {{moneyCurrent}})!",
|
"NOT_ENOUGH_AUTHOR": "У вас должно быть хотя бы {{moneyMin}}, чтобы грабить данного пользователя (сейчас у вас {{moneyCurrent}})!",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Установить биографию",
|
"DESCRIPTION": "Установить биографию",
|
||||||
"USAGE": "[текст]",
|
"USAGE": "[text]",
|
||||||
"EXAMPLES": "setbio Меня зовут Жоня :shock:",
|
"EXAMPLES": "setbio text:Меня зовут Жоня :shock:",
|
||||||
"MAX_CHARACTERS": "Ваша биография не должна превышать 150 символов!",
|
"MAX_CHARACTERS": "Ваша биография не должна превышать 150 символов!",
|
||||||
"SUCCESS": "Ваша биография изменена!"
|
"SUCCESS": "Ваша биография изменена!"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Казино \"Casino JaBa\"",
|
"DESCRIPTION": "Казино \"Casino JaBa\"",
|
||||||
"USAGE": "[сумма]",
|
"USAGE": "[amount]",
|
||||||
"EXAMPLES": "slots 100",
|
"EXAMPLES": "slots amount:100",
|
||||||
"DEFEAT": "{{user}} поставил {{money}} и всё проиграл.",
|
"DEFEAT": "{{user}} поставил {{money}} и всё проиграл.",
|
||||||
"VICTORY": "{{user}} поставил {{money}} и выиграл {{won}}!",
|
"VICTORY": "{{user}} поставил {{money}} и выиграл {{won}}!",
|
||||||
"NOT_ENOUGH": "У вас нет {{money}}."
|
"NOT_ENOUGH": "У вас нет {{money}}."
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Крестики-нолики",
|
"DESCRIPTION": "Крестики-нолики",
|
||||||
"USAGE": "[@пользователь]",
|
"USAGE": "[@user]",
|
||||||
"EXAMPLES": "tictactoe @Jonny_Bro#4226",
|
"EXAMPLES": "tictactoe user:@Jonny_Bro#4226",
|
||||||
"BOT_USER": "Вы не можете играть против бота!",
|
"BOT_USER": "Вы не можете играть против бота!",
|
||||||
"YOURSELF": "Вы не можете играть с самим собой!",
|
"YOURSELF": "Вы не можете играть с самим собой!",
|
||||||
"INVITE_USER": "<@{{opponent}}>, вам предложили сыграть в крестики-нолики!",
|
"INVITE_USER": "<@{{opponent}}>, вам предложили сыграть в крестики-нолики!",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Посмотреть историю транзакций",
|
"DESCRIPTION": "Посмотреть или очистить историю своих транзакций",
|
||||||
"USAGE": "",
|
"USAGE": "(clear)",
|
||||||
"EXAMPLES": "transactions",
|
"EXAMPLES": "transactions\n transactions clear:True",
|
||||||
"CLEAR": "Очистить список транзакций?",
|
"CLEAR": "Очистить список транзакций?",
|
||||||
"CLEARED": "Список транзакций очищен",
|
"CLEARED": "Список транзакций очищен",
|
||||||
"NO_TRANSACTIONS": "У вас нет транзакций",
|
"NO_TRANSACTIONS": "У вас нет транзакций",
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Я говорю правду",
|
"DESCRIPTION": "Я говорю правду",
|
||||||
"USAGE": "[вопрос]",
|
"USAGE": "[question]",
|
||||||
"QUESTION": "Вопрос",
|
"QUESTION": "Вопрос",
|
||||||
"EXAMPLES": "8ball JaBa крутой?",
|
"EXAMPLES": "8ball question:JaBa крутой?",
|
||||||
"ERR_QUESTION": "Вопрос должен оканчиваться на `?`.",
|
"ERR_QUESTION": "Вопрос должен оканчиваться на `?`",
|
||||||
|
"ANSWER": "**Вопрос:** {{question}}\n**Ответ:** {{answer}}",
|
||||||
"RESPONSE_1": "Бесспорно",
|
"RESPONSE_1": "Бесспорно",
|
||||||
"RESPONSE_2": "Предрешено",
|
"RESPONSE_2": "Предрешено",
|
||||||
"RESPONSE_3": "Никаких сомнений",
|
"RESPONSE_3": "Никаких сомнений",
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Создать LMGTFY (давай я загуглю это для тебя) ссылку",
|
"DESCRIPTION": "Создать LMGTFY (давай я загуглю это для тебя) ссылку",
|
||||||
"USAGE": "[запрос]",
|
"USAGE": "[query] [short]",
|
||||||
"EXAMPLES": "lmgtfy Как создать Discord бота?"
|
"QUERY": "Запрос",
|
||||||
|
"EXAMPLES": "lmgtfy query:Как создать Discord бота? short:False"
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Калькулятор любви",
|
"DESCRIPTION": "Калькулятор любви",
|
||||||
"USAGE": "[@пользователь1] (@пользователь2)",
|
"USAGE": "[@first_member] (@second_member)",
|
||||||
"EXAMPLES": "lovecalc @Jonny_Bro#4226\nlovecalc @Jonny_Bro#4226 @JaBa#9042",
|
"EXAMPLES": "lovecalc first_member:@Jonny_Bro#4226\nlovecalc first_member:@Jonny_Bro#4226 second_member:@JaBa#9042",
|
||||||
"CONTENT": "{{firstMember}} любит {{secondMember}} на **{{percent}}%**!"
|
"CONTENT": "{{firstMember}} любит {{secondMember}} на **{{percent}}%**!"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Установить AFK статус (пользователь который упомянет вас получит сообщение)",
|
"DESCRIPTION": "Установить AFK статус (пользователь который упомянет вас получит сообщение)",
|
||||||
"USAGE": "[причина]",
|
"USAGE": "[message]",
|
||||||
"EXAMPLES": "afk Сру =)",
|
"EXAMPLES": "afk message:Сру =)",
|
||||||
"SUCCESS": "Теперь вы AFK по причине: **{{reason}}**",
|
"SUCCESS": "Теперь вы AFK по причине: **{{reason}}**",
|
||||||
"DELETED": "**{{username}}**, ваш AFK статус удалён!",
|
"DELETED": "**{{username}}**, ваш AFK статус удалён!",
|
||||||
"IS_AFK": "**{{user}}** сейчас AFK, причина:\n```{{reason}}```"
|
"IS_AFK": "**{{user}}** сейчас AFK, причина:\n```{{reason}}```"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Возвращает аватар пользователя",
|
"DESCRIPTION": "Возвращает аватар пользователя",
|
||||||
"USAGE": "(@пользователь)",
|
"USAGE": "(@user)",
|
||||||
"EXAMPLES": "avatar\navatar @Jonny_Bro#4226"
|
"EXAMPLES": "avatar\navatar user:@Jonny_Bro#4226"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Показать информацию об эмодзи",
|
"DESCRIPTION": "Показать информацию об эмодзи",
|
||||||
"USAGE": "[эмодзи]",
|
"USAGE": "[emoji]",
|
||||||
"EXAMPLES": "emoji :tada:",
|
"EXAMPLES": "emoji emoji::tada:",
|
||||||
"TITLE": "Информация об {{emoji}}",
|
"TITLE": "Информация об {{emoji}}",
|
||||||
"ANIMATED": "Анимирован",
|
"ANIMATED": "Анимирован",
|
||||||
"ID": "ID",
|
"ID": "ID",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Показать список команд или помощь по данной команде",
|
"DESCRIPTION": "Показать список команд или помощь по данной команде",
|
||||||
"USAGE": "(команда)",
|
"USAGE": "(command)",
|
||||||
"EXAMPLES": "help\nhelp ping",
|
"EXAMPLES": "help\nhelp command:ping",
|
||||||
"NOT_FOUND": "Команда {{command}} не найдена",
|
"NOT_FOUND": "Команда {{command}} не найдена",
|
||||||
"COMMANDS_IN": "Доступные команды в категории `{{category}}`:",
|
"COMMANDS_IN": "Доступные команды в категории `{{category}}`:",
|
||||||
"FIELD_USAGE": "Использование",
|
"FIELD_USAGE": "Использование",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Показать информацию о Minecraft сервере",
|
"DESCRIPTION": "Показать информацию о Minecraft сервере",
|
||||||
"USAGE": "[IP]",
|
"USAGE": "[IP]",
|
||||||
"EXAMPLES": "minecraft mc.hypixel.net",
|
"EXAMPLES": "minecraft IP:mc.hypixel.net",
|
||||||
"FAILED": "Сервер недоступен или доступ запрещён!",
|
"FAILED": "Сервер недоступен или доступ запрещён!",
|
||||||
"ONLINE": "Онлайн",
|
"ONLINE": "Онлайн",
|
||||||
"OFFLINE": "Оффлайн",
|
"OFFLINE": "Оффлайн",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Создать напоминание",
|
"DESCRIPTION": "Создать напоминание",
|
||||||
"USAGE": "[время] [сообщение]",
|
"USAGE": "[time] [message]",
|
||||||
"EXAMPLES": "remindme 12h Использовать команду work\nremindme 5m Достать курицу из морозилки!",
|
"EXAMPLES": "remindme time:12h message:Использовать команду work\nremindme time:5m message:Достать курицу из морозилки!",
|
||||||
"TIME": "Время (Например: 10s, 5m, 2h, 1d, 3w)",
|
"TIME": "Время (Например: 10s, 5m, 2h, 1d, 3w)",
|
||||||
"SAVED": "Напоминание `{{message}}` сохранено **{{time}}**",
|
"SAVED": "Напоминание `{{message}}` сохранено **{{time}}**",
|
||||||
"TITLE": "Напоминание от JaBa",
|
"TITLE": "Напоминание от JaBa",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Отправить жалобу в специальный канал",
|
"DESCRIPTION": "Отправить жалобу в специальный канал",
|
||||||
"USAGE": "[@пользователь] (причина)",
|
"USAGE": "[@user] (message)",
|
||||||
"EXAMPLES": "report @Jonny_Bro#4226 Нарушение правил",
|
"EXAMPLES": "report user:@Jonny_Bro#4226 message:Нарушение правил",
|
||||||
"MISSING_CHANNEL": "Канал для жалоб не настроен!",
|
"MISSING_CHANNEL": "Канал для жалоб не настроен!",
|
||||||
"INVALID_USER": "Вы не можете пожаловаться на себя",
|
"INVALID_USER": "Вы не можете пожаловаться на себя",
|
||||||
"SUCCESS": "Ваша жалоба отправлена в {{channel}}!",
|
"SUCCESS": "Ваша жалоба отправлена в {{channel}}!",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Укоротить ссылку",
|
"DESCRIPTION": "Укоротить ссылку",
|
||||||
"USAGE": "[URL]",
|
"USAGE": "[url]",
|
||||||
"EXAMPLES": "shorturl https://google.com",
|
"EXAMPLES": "shorturl url:https://google.com",
|
||||||
"URL": "Ссылка"
|
"URL": "Ссылка"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Отправить предложение в специальный канал",
|
"DESCRIPTION": "Отправить предложение в специальный канал",
|
||||||
"USAGE": "[предложение]",
|
"USAGE": "[message]",
|
||||||
"EXAMPLES": "suggest Новый канал #nsfw :smiling_imp:",
|
"EXAMPLES": "suggest message:Новый канал #nsfw :smiling_imp:",
|
||||||
"MISSING_CHANNEL": "Канал для предложений не настроен!",
|
"MISSING_CHANNEL": "Канал для предложений не настроен!",
|
||||||
"MISSING_CONTENT": "Введите предложение!",
|
"MISSING_CONTENT": "Введите предложение!",
|
||||||
"TITLE": "Предложение - {{user}}",
|
"TITLE": "Предложение - {{user}}",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Показать информацию о пользователе",
|
"DESCRIPTION": "Показать информацию о пользователе",
|
||||||
"USAGE": "(@пользователь)",
|
"USAGE": "(@user)",
|
||||||
"EXAMPLES": "userinfo\nuserinfo @Jonny_Bro#4226",
|
"EXAMPLES": "userinfo\nuserinfo user:@Jonny_Bro#4226",
|
||||||
"CUSTOM": "Пользовательский статус",
|
"CUSTOM": "Пользовательский статус",
|
||||||
"NO_ACTIVITY": "Не играет",
|
"NO_ACTIVITY": "Не играет",
|
||||||
"NO_ROLE": "Нет роли",
|
"NO_ROLE": "Нет роли",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Получить информацию об IP адресе",
|
"DESCRIPTION": "Получить информацию об IP адресе",
|
||||||
"USAGE": "[IP]",
|
"USAGE": "[IP]",
|
||||||
"EXAMPLES": "whois 8.8.8.8",
|
"EXAMPLES": "whois IP:8.8.8.8",
|
||||||
"ERROR": "Произошла ошибка при получении данных об {{ip}}",
|
"ERROR": "Произошла ошибка при получении данных об {{ip}}",
|
||||||
"INFO_ABOUT": "Информация об {{ip}}",
|
"INFO_ABOUT": "Информация об {{ip}}",
|
||||||
"COUNTRY": "Страна",
|
"COUNTRY": "Страна",
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
{
|
{
|
||||||
"MORE_THAN_ZERO": "Укажите целое число больше 0!",
|
|
||||||
"OPTION_NAN_ALL": "Укажите целое число больше 0 или `all`!",
|
|
||||||
"TIMES_UP": "Время вышло! Используйте команду снова!",
|
|
||||||
"SELECT_CANCELED": "Выбор отменён...",
|
|
||||||
"INVALID_NUMBER_RANGE": "Укажите число от **{{min}}** до **{{max}}**!",
|
|
||||||
"FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил!",
|
|
||||||
"STATS_FOOTER": "● [Панель управления]({{dashboardLink}})\n● [Документация]({{docsLink}})\n● [Пригласить JaBa на свой сервер]({{inviteLink}})\n● [Поддержать]({{donateLink}}) (укажите ваш Discord тэг для выдачи ачивки, для других способов поддержки пишите в ЛС <@{{owner}}>)",
|
|
||||||
"BOT_USER": "Вы не можете сделать это с ботом!",
|
"BOT_USER": "Вы не можете сделать это с ботом!",
|
||||||
"HELLO_SERVER": "Привет, **{{username}}**! Все мои команды доступны через **/** Используйте `/help`, чтобы получить список команд!",
|
"FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил!",
|
||||||
"GUILD_ONLY": "Данную команду можно использовать только на сервере!",
|
"GUILD_ONLY": "Данную команду можно использовать только на сервере!",
|
||||||
"NSFW_COMMAND": "Данную команду можно использовать только в NSFW канале!",
|
"HELLO_SERVER": "Привет, **{{username}}**! Все мои команды доступны через **/** Используйте `/help`, чтобы получить список команд!",
|
||||||
"OWNER_ONLY": "Данную команду может использовать только владелец бота!",
|
"INVALID_NUMBER_RANGE": "Укажите число от **{{min}}** до **{{max}}**!",
|
||||||
|
"MORE_THAN_ZERO": "Укажите целое число больше 0!",
|
||||||
"NO_ARGS": "Агрументы не требуются",
|
"NO_ARGS": "Агрументы не требуются",
|
||||||
|
"NSFW_COMMAND": "Данную команду можно использовать только в NSFW канале!",
|
||||||
|
"OPTION_NAN_ALL": "Укажите целое число больше 0 или `all`!",
|
||||||
|
"OWNER_ONLY": "Данную команду может использовать только владелец бота!",
|
||||||
|
"SELECT_CANCELED": "Выбор отменён...",
|
||||||
|
"STATS_FOOTER": "● [Панель управления]({{dashboardLink}})\n● [Документация]({{docsLink}})\n● [Пригласить JaBa на свой сервер]({{inviteLink}})\n● [Поддержать]({{donateLink}}) (укажите ваш Discord тэг для выдачи ачивки, для других способов поддержки пишите в ЛС <@{{owner}}>)",
|
||||||
|
"TIMES_UP": "Время вышло! Используйте команду снова!",
|
||||||
|
|
||||||
"PERMISSIONS": {
|
"PERMISSIONS": {
|
||||||
"CreateInstantInvite": "Создание приглашения",
|
"CreateInstantInvite": "Создание приглашения",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Очистка сообщений в канале",
|
"DESCRIPTION": "Очистка сообщений в канале",
|
||||||
"USAGE": "[кол-во_сообщений] (@пользователь)",
|
"USAGE": "[option] (@user)",
|
||||||
"EXAMPLES": "clear 10\r 10 @Jonny_Bro#4226\nclear all",
|
"EXAMPLES": "clear option:10\nclear option:10 user:@Jonny_Bro#4226\nclear option:all",
|
||||||
"OPTION": "Целое число / all",
|
"OPTION": "Целое число / all",
|
||||||
"ALL_CONFIRM": "**Все сообщения в канале будут удалены! Вы уверены?**",
|
"ALL_CONFIRM": "**Все сообщения в канале будут удалены! Вы уверены?**",
|
||||||
"CHANNEL_CLEARED": "Канал очищен!",
|
"CHANNEL_CLEARED": "Канал очищен!",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Снять все предупреждения с пользователя",
|
"DESCRIPTION": "Снять все предупреждения с пользователя",
|
||||||
"USAGE": "[@пользователь]",
|
"USAGE": "[@user]",
|
||||||
"EXAMPLES": "clearwarns @Jonny_Bro#4226",
|
"EXAMPLES": "clearwarns user:@Jonny_Bro#4226",
|
||||||
"SUCCESS": "Предупреждения пользователя {{user}} удалены!"
|
"SUCCESS": "Предупреждения пользователя {{user}} удалены!"
|
||||||
}
|
}
|
|
@ -1,17 +1,15 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Управление раздачами",
|
"DESCRIPTION": "Управление раздачами",
|
||||||
"USAGE": "[create/reroll/delete/end] [время] [кол-во победителей] [приз] (Дроп?)",
|
"USAGE": "[create] [duration] [winners_count] [prize] [isdrop]]\nИли [reroll/end/delete] [giveaway_id]",
|
||||||
"EXAMPLES": "giveaway create 1d 2 Discord Нитро!\ngiveaway create 1d 2 true Discord Нитро\ngiveaway reroll 597812898022031374",
|
"EXAMPLES": "create duration:1w winners_count:1 prize:Discord Nitro isdrop:False\ngiveaway reroll giveaway_id:597812898022031374",
|
||||||
"CREATE": "Создать",
|
"CREATE": "Создать раздачу",
|
||||||
"REROLL": "Заролить снова",
|
"REROLL": "Заролить раздачу повторно",
|
||||||
"DELETE": "Удалить",
|
"DELETE": "Удалить раздачу",
|
||||||
"END": "Закончить принудительно",
|
"END": "Закончить раздачу принудительно",
|
||||||
"INVALID_CREATE": "Какой-то из аргументов указан неверно, попробуйте снова!",
|
|
||||||
"GIVEAWAY_ID": "ID сообщения раздачи",
|
"GIVEAWAY_ID": "ID сообщения раздачи",
|
||||||
"WINNERS_COUNT": "Количество победителей",
|
"WINNERS_COUNT": "Количество победителей",
|
||||||
"PRIZE": "Приз",
|
"PRIZE": "Приз",
|
||||||
"ISDROP": "Это дроп?",
|
"ISDROP": "Это дроп?",
|
||||||
"MISSING_ID": "Укажите ID сообщения раздачи!",
|
|
||||||
"NOT_FOUND": "Раздач с ID `{{messageId}}` не найдено!",
|
"NOT_FOUND": "Раздач с ID `{{messageId}}` не найдено!",
|
||||||
"NOT_FOUND_ENDED": "**Оконченных** раздач с ID `{{messageId}} не найдено!`!",
|
"NOT_FOUND_ENDED": "**Оконченных** раздач с ID `{{messageId}} не найдено!`!",
|
||||||
"MAX_DURATION": "Максимальная длительность раздачи - 10 дней.",
|
"MAX_DURATION": "Максимальная длительность раздачи - 10 дней.",
|
||||||
|
@ -25,13 +23,13 @@
|
||||||
"DROP": "Будь первым кто отреагирует 🎉!",
|
"DROP": "Будь первым кто отреагирует 🎉!",
|
||||||
"FOOTER": "Раздача",
|
"FOOTER": "Раздача",
|
||||||
"NO_WINNER": "Раздача отменена, никто не участвовал.",
|
"NO_WINNER": "Раздача отменена, никто не участвовал.",
|
||||||
"WINNERS": "Победитель(и)",
|
"WINNERS": "Победитель(и):",
|
||||||
"END_AT": "Закончилась:",
|
"END_AT": "Закончилась:",
|
||||||
"HOSTEDBY": "Организатор: {this.hostedBy}",
|
"HOSTED_BY": "Организатор: {this.hostedBy}",
|
||||||
"REROLL_CONGRAT": "🎉 Новый(е) победитель(и): {winners}! Поздравляем!",
|
"REROLL_CONGRAT": "🎉 Новый(е) победитель(и): {winners}! Поздравляем!",
|
||||||
"REROLL_ERROR": "Нет действительных участников, никто не выиграл!",
|
"REROLL_ERROR": "Нет действительных участников, никто не выиграл!",
|
||||||
"GIVEAWAY_CREATED": "Раздача начата!",
|
"GIVEAWAY_CREATED": "Раздача начата",
|
||||||
"GIVEAWAY_REROLLED": "Раздача перезапущена!",
|
"GIVEAWAY_REROLLED": "Раздача перезапущена",
|
||||||
"GIVEAWAY_ENDED": "Раздача принудительно окончена!",
|
"GIVEAWAY_ENDED": "Раздача принудительно окончена",
|
||||||
"GIVEAWAY_DELETED": "Раздача удалена!"
|
"GIVEAWAY_DELETED": "Раздача удалена"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Запустить опрос в текущем канале",
|
"DESCRIPTION": "Запустить опрос в текущем канале",
|
||||||
"USAGE": "[вопрос]",
|
"USAGE": "[question]",
|
||||||
"EXAMPLES": "poll Земля плоская?",
|
"EXAMPLES": "poll question:Земля плоская?",
|
||||||
"QUESTION": "Текст вопроса",
|
"QUESTION": "Текст вопроса",
|
||||||
"NOTHING": "Без упоминания",
|
"NOTHING": "Без упоминания",
|
||||||
"SELECT_MENTION": "Выберите упоминание:",
|
"SELECT_MENTION": "Выберите упоминание:",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Разбанить пользователя на сервере",
|
"DESCRIPTION": "Разбанить пользователя на сервере",
|
||||||
"USAGE": "[ID]",
|
"USAGE": "[user_id]",
|
||||||
"EXAMPLES": "unban 281361531411890186",
|
"EXAMPLES": "unban user_id:281361531411890186",
|
||||||
"ID": "ID пользователя",
|
"ID": "ID пользователя",
|
||||||
"NOT_BANNED": "Пользователь с ID **{{id}}** не найден",
|
"NOT_BANNED": "Пользователь с ID **{{id}}** не найден",
|
||||||
"UNBANNED": "**{{id}}** разбанен!"
|
"UNBANNED": "**{{id}}** разбанен!"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Выдать предупреждение пользователю",
|
"DESCRIPTION": "Выдать предупреждение пользователю",
|
||||||
"USAGE": "ПКМ на пользователя - Приложения - warn",
|
"USAGE": "ПКМ на пользователя > Приложения > warn (С аватаркой JaBa)",
|
||||||
"EXAMPLES": "",
|
"EXAMPLES": "warn",
|
||||||
"YOURSELF": "Вы не можете подать жалобу на себя!",
|
"YOURSELF": "Вы не можете подать жалобу на себя!",
|
||||||
"MODAL_TITLE": "Выдать предупреждение {{nickname}}",
|
"MODAL_TITLE": "Выдать предупреждение {{nickname}}",
|
||||||
"MODAL_REASON": "Причина предупреждения",
|
"MODAL_REASON": "Причина предупреждения",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Показать список нарушений пользователя",
|
"DESCRIPTION": "Показать список нарушений пользователя",
|
||||||
"USAGE": "[@пользователь]",
|
"USAGE": "[@user]",
|
||||||
"EXAMPLES": "warns @Jonny_Bro#4226",
|
"EXAMPLES": "warns user:@Jonny_Bro#4226",
|
||||||
"SANCTIONS_OF": "Нарушения {{member}}",
|
"SANCTIONS_OF": "Нарушения {{member}}",
|
||||||
"NO_SANCTIONS": "У **{{member}}** нет нарушений."
|
"NO_SANCTIONS": "У **{{member}}** нет нарушений."
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Начать воспроизведение трека",
|
"DESCRIPTION": "Начать воспроизведение трека",
|
||||||
"USAGE": "[название-трека/ссылка]",
|
"USAGE": "[query]",
|
||||||
"EXAMPLES": "play Never Gonna Give You Up",
|
"EXAMPLES": "play query:Never Gonna Give You Up",
|
||||||
"QUERY": "Название / Прямая ссылка / Ссылка на YouTube или SoundCloud",
|
"QUERY": "Название / Прямая ссылка / Ссылка на YouTube или SoundCloud",
|
||||||
"NO_VOICE_CHANNEL": "Вы должны находиться в голосовом канале!",
|
"NO_VOICE_CHANNEL": "Вы должны находиться в голосовом канале!",
|
||||||
"VOICE_CHANNEL_CONNECT": "Я не могу присоедениться к вашему голосовому каналу!",
|
"VOICE_CHANNEL_CONNECT": "Я не могу присоедениться к вашему голосовому каналу!",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Перемотать вперед или назад на данное время в текущем треке",
|
"DESCRIPTION": "Перемотать вперед или назад на данное время в текущем треке",
|
||||||
"USAGE": "[время]",
|
"USAGE": "[time]",
|
||||||
"EXAMPLES": "seek 10s\nseek -10s",
|
"EXAMPLES": "seek time:10s\nseek time:-10s",
|
||||||
"TIME": "Время в секундах",
|
"TIME": "Время в секундах",
|
||||||
"SUCCESS": "Трек перемотан на {{time}}!"
|
"SUCCESS": "Трек перемотан на {{time}}!"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Перейти на заданный трек",
|
"DESCRIPTION": "Перейти на заданный трек",
|
||||||
"USAGE": "[номер]",
|
"USAGE": "[position]",
|
||||||
"EXAMPLES": "skipto 3",
|
"EXAMPLES": "skipto position:3",
|
||||||
"POSITION": "Номер трека в очереди",
|
"POSITION": "Номер трека в очереди",
|
||||||
"SUCCESS": "Выполнен переход на трек под номером **{{position}}**",
|
"SUCCESS": "Выполнен переход на трек под номером **{{position}}**",
|
||||||
"ERROR": "На позиции {{position}} ничего не найдено",
|
"ERROR": "На позиции {{position}} ничего не найдено",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Отправить объявление на все сервера где есть JaBa",
|
"DESCRIPTION": "Отправить объявление на все сервера где есть JaBa",
|
||||||
"USAGE": "[текст] [true/false]",
|
"USAGE": "[message] [tag]",
|
||||||
"EXAMPLES": "announcement Обновление v1.0! true",
|
"EXAMPLES": "announcement message:Обновление v1.0! tag:True",
|
||||||
"TAG": "Подставить @everyone в сообщение?",
|
"TAG": "Подставить @everyone в сообщение?",
|
||||||
"TOO_LONG": "Текст должен быть короче 1000 символов!",
|
"TOO_LONG": "Текст должен быть короче 1000 символов!",
|
||||||
"TITLE": "📢 Объявление:",
|
"TITLE": "📢 Объявление:",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Позволяет изменять данные пользователя",
|
"DESCRIPTION": "Позволяет изменять данные пользователя",
|
||||||
"USAGE": "[set/add] [тип] [@пользователь] [значение]",
|
"USAGE": "[set/add] [type] [@user] [int]",
|
||||||
"EXAMPLES": "debug set level @Jonny_Bro#4226 10000",
|
"EXAMPLES": "debug set type:Уровень user:@Jonny_Bro#4226 int:100",
|
||||||
"TYPE": "Тип данных",
|
"TYPE": "Тип данных",
|
||||||
"SET": "Установить значение",
|
"SET": "Установить значение",
|
||||||
"ADD": "Добавить к значению",
|
"ADD": "Добавить к значению",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Выполнить код",
|
"DESCRIPTION": "Выполнить код",
|
||||||
"USAGE": "",
|
"USAGE": "[code]",
|
||||||
"CODE": "Выполняемый код",
|
"EXAMPLES": "eval code:interaction.channel.send({ content: \"Hello World!\" })",
|
||||||
"EXAMPLES": "eval interaction.channel.send({ content: \"Hello World!\" })"
|
"CODE": "Выполняемый код"
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Перезагрузить команду",
|
"DESCRIPTION": "Перезагрузить команду",
|
||||||
"USAGE": "[название_команды]",
|
"USAGE": "[command]",
|
||||||
"EXAMPLES": "reload help",
|
"EXAMPLES": "reload command:help",
|
||||||
"COMMAND": "Команда",
|
"COMMAND": "Команда",
|
||||||
"NOT_FOUND": "Команда `{{command}}` не найдена!",
|
"NOT_FOUND": "Команда `{{command}}` не найдена!",
|
||||||
"SUCCESS": "Команда `{{command}}` успешно перезагружена!"
|
"SUCCESS": "Команда `{{command}}` успешно перезагружена!"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"DESCRIPTION": "Написать сообщение от имени бота",
|
"DESCRIPTION": "Написать сообщение от имени бота",
|
||||||
"USAGE": "[текст] (#канал)",
|
"USAGE": "[message] (#channel)",
|
||||||
"EXAMPLES": "say Hello World!\nsay Hello World! #новости",
|
"EXAMPLES": "say message:Hello World!\nsay message:Hello World! channel:#новости",
|
||||||
"DONE": "Сообщение `{{message}}` отправлено в {{channel}}!"
|
"DONE": "Сообщение `{{message}}` отправлено в {{channel}}!"
|
||||||
}
|
}
|
|
@ -20,7 +20,7 @@
|
||||||
"NO_WINNER": "Роздача скасована, ніхто не брав участь.",
|
"NO_WINNER": "Роздача скасована, ніхто не брав участь.",
|
||||||
"WINNERS": "Переможець(і)",
|
"WINNERS": "Переможець(і)",
|
||||||
"END_AT": "Закінчилась:",
|
"END_AT": "Закінчилась:",
|
||||||
"HOSTEDBY": "Організатор: {this.hostedBy}",
|
"HOSTED_BY": "Організатор: {this.hostedBy}",
|
||||||
"REROLL_CONGRAT": "🎉 Новий переможець(и): {winners}! Вітаємо!",
|
"REROLL_CONGRAT": "🎉 Новий переможець(и): {winners}! Вітаємо!",
|
||||||
"REROLL_ERROR": "Немає дійсних учасників, ніхто не виграв!",
|
"REROLL_ERROR": "Немає дійсних учасників, ніхто не виграв!",
|
||||||
"GIVEAWAY_CREATED": "Роздача розпочата!",
|
"GIVEAWAY_CREATED": "Роздача розпочата!",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "jaba",
|
"name": "jaba",
|
||||||
"version": "4.1.7",
|
"version": "4.1.8",
|
||||||
"description": "My Discord Bot",
|
"description": "My Discord Bot",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
|
Loading…
Reference in a new issue