mirror of
https://github.com/JonnyBro/JaBa.git
synced 2024-11-21 20:54:58 +05:00
Удалены локализации для удалённых команд, фикс доков, фикс загрузки команд, перенесена команда для перезагрузки и её функции
This commit is contained in:
parent
73a2834109
commit
0675cf5a5b
91 changed files with 146 additions and 507 deletions
File diff suppressed because one or more lines are too long
|
@ -20,7 +20,7 @@ class BaseCommand {
|
|||
*/
|
||||
this.ownerOnly = options.ownerOnly || false;
|
||||
/**
|
||||
* @type {Object}
|
||||
* @type __dirname
|
||||
*/
|
||||
this.dirname = options.dirname || false;
|
||||
/**
|
||||
|
|
90
base/JaBa.js
90
base/JaBa.js
|
@ -120,10 +120,9 @@ class JaBa extends Client {
|
|||
/**
|
||||
*
|
||||
* @param {String} dir
|
||||
* @param {String} guild_id
|
||||
* @returns
|
||||
*/
|
||||
async loadCommands(dir, guild_id) {
|
||||
async loadCommands(dir) {
|
||||
const filePath = path.join(__dirname, dir);
|
||||
const files = await fs.readdir(filePath);
|
||||
const rest = new REST({ version: "9" }).setToken(this.config.token);
|
||||
|
@ -132,7 +131,8 @@ class JaBa extends Client {
|
|||
for (let index = 0; index < files.length; index++) {
|
||||
const file = files[index];
|
||||
const stat = await fs.lstat(path.join(filePath, file));
|
||||
if (stat.isDirectory()) this.loadCommands(path.join(dir, file), guild_id);
|
||||
if (stat.isDirectory()) this.loadCommands(path.join(dir, file));
|
||||
|
||||
if (file.endsWith(".js")) {
|
||||
const Command = require(path.join(filePath, file));
|
||||
if (Command.prototype instanceof BaseCommand) {
|
||||
|
@ -148,7 +148,7 @@ class JaBa extends Client {
|
|||
});
|
||||
}
|
||||
|
||||
if (command.guildOnly) guild_commands.push(command.command instanceof SlashCommandBuilder ? command.command.toJSON() : command.command, ...aliases);
|
||||
if (!this.config.production) guild_commands.push(command.command instanceof SlashCommandBuilder ? command.command.toJSON() : command.command, ...aliases);
|
||||
else commands.push(command.command instanceof SlashCommandBuilder ? command.command.toJSON() : command.command, ...aliases);
|
||||
|
||||
if (command.onLoad || typeof command.onLoad === "function") await command.onLoad(this);
|
||||
|
@ -158,24 +158,90 @@ class JaBa extends Client {
|
|||
}
|
||||
|
||||
try {
|
||||
if (guild_id && guild_id.length) {
|
||||
if (!this.config.production) {
|
||||
await rest.put(
|
||||
Routes.applicationGuildCommands(this.config.user, guild_id), {
|
||||
Routes.applicationGuildCommands(this.config.user, this.config.support.id), {
|
||||
body: guild_commands
|
||||
},
|
||||
}
|
||||
);
|
||||
} else {
|
||||
await rest.put(
|
||||
Routes.applicationCommands(this.config.user), {
|
||||
body: commands
|
||||
}
|
||||
);
|
||||
}
|
||||
await rest.put(
|
||||
Routes.applicationCommands(this.config.user), {
|
||||
body: commands
|
||||
},
|
||||
);
|
||||
|
||||
this.logger.log("Successfully registered application commands.");
|
||||
} catch (err) {
|
||||
this.logger.log("Cannot load commands: " + err.message, "error");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {String} dir
|
||||
* @param {String} file
|
||||
*/
|
||||
async loadCommand(dir, file) {
|
||||
const commands = [];
|
||||
const guild_commands = [];
|
||||
const rest = new REST({ version: "9" }).setToken(this.config.token);
|
||||
const Command = require(path.join(dir, `${file}.js`));
|
||||
if (Command.prototype instanceof BaseCommand) {
|
||||
const command = new Command(this);
|
||||
this.commands.set(command.command.name, command);
|
||||
const aliases = [];
|
||||
if (command.aliases && Array.isArray(command.aliases) && command.aliases.length > 0) {
|
||||
command.aliases.forEach((alias) => {
|
||||
const command_alias = command.command instanceof SlashCommandBuilder ? { ...command.command.toJSON() } : { ...command.command };
|
||||
command_alias.name = alias;
|
||||
aliases.push(command_alias);
|
||||
this.commands.set(alias, command);
|
||||
});
|
||||
}
|
||||
|
||||
if (!this.config.production) guild_commands.push(command.command instanceof SlashCommandBuilder ? command.command.toJSON() : command.command, ...aliases);
|
||||
else commands.push(command.command instanceof SlashCommandBuilder ? command.command.toJSON() : command.command, ...aliases);
|
||||
|
||||
if (command.onLoad || typeof command.onLoad === "function") await command.onLoad(this);
|
||||
this.logger.log(`Successfully loaded "${file}" command file. (Command: ${command.command.name})`);
|
||||
|
||||
try {
|
||||
if (!this.config.production) {
|
||||
await rest.put(
|
||||
Routes.applicationGuildCommands(this.config.user, this.config.support.id), {
|
||||
body: guild_commands
|
||||
}
|
||||
);
|
||||
} else {
|
||||
await rest.put(
|
||||
Routes.applicationCommands(this.config.user), {
|
||||
body: commands
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
this.logger.log("Successfully registered application commands.");
|
||||
} catch (err) {
|
||||
this.logger.log("Cannot load commands: " + err.message, "error");
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {String} dir
|
||||
* @param {String} name
|
||||
*/
|
||||
async unloadCommand(dir, name) {
|
||||
delete require.cache[require.resolve(`${dir}${path.sep}${name}.js`)];
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {String} dir
|
||||
|
|
58
commands/Owner/reload.js
Normal file
58
commands/Owner/reload.js
Normal file
|
@ -0,0 +1,58 @@
|
|||
const { SlashCommandBuilder } = require("@discordjs/builders"),
|
||||
BaseCommand = require("../../base/BaseCommand"),
|
||||
i18next = require("i18next"),
|
||||
autoUpdateDocs = require("../../helpers/autoUpdateDocs");
|
||||
|
||||
class Reload extends BaseCommand {
|
||||
/**
|
||||
*
|
||||
* @param {import("../base/JaBa")} client
|
||||
*/
|
||||
constructor(client) {
|
||||
super({
|
||||
command: new SlashCommandBuilder()
|
||||
.setName("reload")
|
||||
.setDescription(client.translate("owner/reload:DESCRIPTION"))
|
||||
.addStringOption(option =>
|
||||
option.setName("command")
|
||||
.setDescription(client.translate("owner/reload:USAGE"))
|
||||
.setRequired(true)),
|
||||
aliases: [],
|
||||
dirname: __dirname,
|
||||
guildOnly: true,
|
||||
ownerOnly: true
|
||||
});
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param {import("../../base/JaBa")} client
|
||||
*/
|
||||
async onLoad() {
|
||||
//...
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param {import("../../base/JaBa")} client
|
||||
* @param {import("discord.js").CommandInteraction} interaction
|
||||
* @param {Array} data
|
||||
*/
|
||||
async execute(client, interaction) {
|
||||
interaction.deferReply({ ephemeral: true });
|
||||
|
||||
const command = interaction.options.getString("command");
|
||||
const cmd = client.commands.get(command);
|
||||
if (!cmd) return interaction.error("owner/reload:NOT_FOUND", { search: command });
|
||||
|
||||
await client.unloadCommand(`../commands/${cmd.category}`, cmd.command.name);
|
||||
await client.loadCommand(`../commands/${cmd.category}`, cmd.command.name);
|
||||
|
||||
i18next.reloadResources(["ru-RU", "uk-UA"]);
|
||||
autoUpdateDocs.update(client);
|
||||
|
||||
interaction.success("owner/reload:SUCCESS", {
|
||||
command: cmd.command.name
|
||||
}, { edit: true, ephemeral: true });
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Reload;
|
|
@ -31,7 +31,7 @@ class CommandHandler extends BaseEvent {
|
|||
const guildData = await client.findOrCreateGuild({
|
||||
id: interaction.guildId
|
||||
});
|
||||
data.guildData = guildData;
|
||||
interaction.guild.data = data.guildData = guildData;
|
||||
|
||||
const memberData = await client.findOrCreateMember({
|
||||
id: interaction.member.id,
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
module.exports.update = function (client) {
|
||||
const table = require("markdown-table"),
|
||||
fs = require("fs"),
|
||||
commands = client.commands,
|
||||
categories = [],
|
||||
length = [...new Map(commands.map(v => [v.constructor.name, v])).values()].length;
|
||||
commands = [...new Map(client.commands.map(v => [v.constructor.name, v])).values()],
|
||||
categories = [];
|
||||
commands.forEach((cmd) => {
|
||||
if (!categories.includes(cmd.category)) categories.push(cmd.category);
|
||||
});
|
||||
let text = `# JaBa имеет **${length} ${client.getNoun(length, "команда", "команды", "команд")}** в **${categories.length} ${client.getNoun(categories.length, "категории", "категориях", "категориях")}**! \n\n#### Содержимое таблицы \n**Название**: Название команды \n**Описание**: Описание команды \n**Использование**: Использование команды ( [] - обязательно, () - необязательно ) \n**Разрешено использование**: Где можно использовать команду \n\n`;
|
||||
let text = `# JaBa имеет **${commands.length} ${client.getNoun(commands.length, "команда", "команды", "команд")}** в **${categories.length} ${client.getNoun(categories.length, "категории", "категориях", "категориях")}**! \n\n#### Содержимое таблицы \n**Название**: Название команды \n**Описание**: Описание команды \n**Использование**: Использование команды ( [] - обязательно, () - необязательно ) \n**Разрешено использование**: Где можно использовать команду \n\n`;
|
||||
// categories.sort(function(a, b) {
|
||||
// const aCmdsSize = commands.filter((cmd) => cmd.category === a).size;
|
||||
// const bCmdsSize = commands.filter((cmd) => cmd.category === b).size;
|
||||
|
@ -18,9 +17,9 @@ module.exports.update = function (client) {
|
|||
const categoriesArray = [
|
||||
["Название", "Описание", "Использование", "Разрешено использование"]
|
||||
];
|
||||
const cmds = commands.filter((cmd) => cmd.category === cat),
|
||||
length = [...new Map(cmds.map(v => [v.constructor.name, v])).values()].length;
|
||||
text += `### ${cat} (${length} ${client.getNoun(length, "команда", "команды", "команд")})\n\n`;
|
||||
const cmds = [...new Map(commands.filter((cmd) => cmd.category === cat).map(v => [v.constructor.name, v])).values()];
|
||||
|
||||
text += `### ${cat} (${cmds.length} ${client.getNoun(cmds.length, "команда", "команды", "команд")})\n\n`;
|
||||
cmds.sort(function (a, b) {
|
||||
if (a.command.name < b.command.name) return -1;
|
||||
else return 1;
|
||||
|
|
2
index.js
2
index.js
|
@ -12,7 +12,7 @@ const client = new JaBa({
|
|||
client.translations = await require("./helpers/languages")();
|
||||
|
||||
await client.loadEvents("../events");
|
||||
await client.loadCommands("../commands", client.config.support.production ? "" : client.config.support.id);
|
||||
await client.loadCommands("../commands");
|
||||
await client.init();
|
||||
})();
|
||||
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать свою команду!",
|
||||
"USAGE": "addcommand [название] [ответ]",
|
||||
"EXAMPLES": "addcommand hello Привет, {user}. Добро пожаловать на {guild}!",
|
||||
"MISSING_NAME": "Укажите название команды!",
|
||||
"MISSING_ANSWER": "Укажите ответ команды!",
|
||||
"SUCCESS": "Команда **{{commandName}}** создана!"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Удалить свою команду!",
|
||||
"USAGE": "delcommand [название]",
|
||||
"EXAMPLES": "delcommand hello",
|
||||
"MISSING_NAME": "Введите название команды!",
|
||||
"UNKNOWN_COMMAND": "Команда {{commandName}} не существует!",
|
||||
"SUCCESS": "Команда **{{commandName}}** была удалена с сервера!"
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Угадай загаданное мною слово!",
|
||||
"USAGE": "findwords (STOP)",
|
||||
"EXAMPLES": "findwords",
|
||||
"INVALID_WORD": "{{member}} | Данное слово не существует или я его не знаю :(",
|
||||
"GAME_STARTING": ":timer: | Игра начнётся через 10 секунд!\nНапишите STOP, если хотите остановить игру!",
|
||||
"FIND_WORD": "20 секунд чтобы найти слово, в котором есть **{{word}}**!",
|
||||
"WORD_FOUND": "{{winner}} быстрее всех нашёл слово!",
|
||||
"GAME_STATS": "🎉 | {{winner}} победил!\n\n**Статистика:**\n*-* __**Участники**__: {{participants}} ({{participantCount}})\n**Статистика игры: **\n__**Длительность**__: {{duration}}\n__**Кол-во участников**__ : {{participantCount}}",
|
||||
"CREDITS": "{{winner}} выиграл {{credits}}!",
|
||||
"NO_WINNER_ALL": "Слова не найдены, игра окончена!",
|
||||
"NO_WINNER": "Слова не найдены, игра окончена!"
|
||||
}
|
|
@ -5,7 +5,6 @@
|
|||
"NO_TRANSACTIONS": "У вас нет транзакций.",
|
||||
"EMBED_TRANSACTIONS": "Ваши транзакции",
|
||||
"BANK": "Банк",
|
||||
"WORDS": "Угадай слово",
|
||||
"NUMBERS": "Угадай число",
|
||||
"HORSERACE": "Конные скачки",
|
||||
"TTT": "Крестики-нолики",
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Я могу помочь вам с выбором!",
|
||||
"USAGE": "choice [вариант1/вариант2/вариант3/вариант4...]",
|
||||
"EXAMPLES": "choice Вода/Огонь/Ветер",
|
||||
"MISSING": "Укажите больше двух вариантов!\n(либо используйте команду `flip`)",
|
||||
"EMPTY": "Кажется один из вариантов отсутствует... Попробуйте ещё раз!",
|
||||
"PROGRESS": "Думаю...",
|
||||
"DONE": "Я выбрал: **`{{result}}`**"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Показать права пользователя",
|
||||
"USAGE": "permissions (@пользователь)",
|
||||
"EXAMPLES": "permissions\npermissions @Jonny_Bro#4226",
|
||||
"TITLE": "Права {{user}} в канале {{channel}}"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Процитировать сообщение в канал!",
|
||||
"USAGE": "quote [ID-сообщения] (канал)",
|
||||
"EXAMPLES": "quote 596018101921906698\nquote 596018101921906698 573508780520898581\nquote 596018101921906698 #основной",
|
||||
"NO_MESSAGE_ID": "Нет сообщений с данным ID.",
|
||||
"NO_CHANNEL_ID": "Нет канала с данным ID или названием.",
|
||||
"MISSING_ID": "Укажите ID сообщения!"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"approved\"",
|
||||
"USAGE": "approved (@пользователь)",
|
||||
"EXAMPLES": "approved\napproved @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"batslap\"",
|
||||
"USAGE": "batslap (@пользователь1) (@пользователь2)",
|
||||
"EXAMPLES": "batslap\nbatslap @Jonny_Bro#4226 @JaBa#9042"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"beautiful\"",
|
||||
"USAGE": "beautiful (@пользователь)",
|
||||
"EXAMPLES": "beautiful\nbeautiful @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"bed\"",
|
||||
"USAGE": "bed (@пользователь1) (@пользователь2)",
|
||||
"EXAMPLES": "bed @Jonny_Bro#4226\nbed @Jonny_Bro#4226 @Dkflbvbh k.hyfqc#9402"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"brazzers\"",
|
||||
"USAGE": "brazzers (@пользователь)",
|
||||
"EXAMPLES": "brazzers\nbrazzers @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"burn\"",
|
||||
"USAGE": "burn (@пользователь)",
|
||||
"EXAMPLES": "burn\nburn @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"captcha\"",
|
||||
"USAGE": "captcha (@пользователь)",
|
||||
"EXAMPLES": "captcha\ncaptcha @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"challenger\"",
|
||||
"USAGE": "challenger (@пользователь)",
|
||||
"EXAMPLES": "challenger\nchallenger @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"Clyde\"",
|
||||
"USAGE": "clyde [текст]",
|
||||
"EXAMPLES": "clyde Discord закроется 11 декабря 2002 года. Прощайте!.",
|
||||
"MISSING_TEXT": "Введите текст!"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"crush\"",
|
||||
"USAGE": "crush (@пользователь)",
|
||||
"EXAMPLES": "crush\ncrush @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"dictator\"",
|
||||
"USAGE": "dictator (@пользователь)",
|
||||
"EXAMPLES": "dictator\ndictator @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"facepalm\"",
|
||||
"USAGE": "facepalm (@пользователь)",
|
||||
"EXAMPLES": "facepalm\nfacepalm @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"fire\"",
|
||||
"USAGE": "fire (@пользователь)",
|
||||
"EXAMPLES": "fire\nfire @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"jail\"",
|
||||
"USAGE": "jail (@пользователь)",
|
||||
"EXAMPLES": "jail\njail @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"love\"",
|
||||
"USAGE": "love (@пользователь1) (@пользователь2)",
|
||||
"EXAMPLES": "love @Jonny_Bro#4226\nlove @Jonny_Bro#4226 @JaBa#9042"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"magik\"",
|
||||
"USAGE": "magik (@пользователь)",
|
||||
"EXAMPLES": "magik\nmagik @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"mission\"",
|
||||
"USAGE": "mission (@пользователь)",
|
||||
"EXAMPLES": "mission\nmission @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"phcomment\"",
|
||||
"USAGE": "phcomment (@пользователь) [текст]",
|
||||
"EXAMPLES": "phcomment Привет!\nphcomment @Jonny_Bro#4226 Привет!",
|
||||
"MISSING_TEXT": "Укажите текст!"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"ps4\"",
|
||||
"USAGE": "ps4 (@пользователь)",
|
||||
"EXAMPLES": "ps4\nps4 @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать QR код из текста",
|
||||
"USAGE": "qrcode [текст]",
|
||||
"EXAMPLES": "qrcode Hello World!",
|
||||
"MISSING_TEXT": "Укажите текст!",
|
||||
"SUCCESS": "Вот ваш QR код!"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"rip\"",
|
||||
"USAGE": "rip (@пользователь)",
|
||||
"EXAMPLES": "rip\nrip @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"scary\"",
|
||||
"USAGE": "scary (@пользователь)",
|
||||
"EXAMPLES": "scary\nscary @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"steamcard\"",
|
||||
"USAGE": "steamcard [текст] (@пользователь)",
|
||||
"EXAMPLES": "steamcard Коллекционная карточка\nsteamcard Карточка @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"tobecontinued\"",
|
||||
"USAGE": "tobecontinued (@пользователь)",
|
||||
"EXAMPLES": "tobecontinued\ntobecontinued @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"trash\"",
|
||||
"USAGE": "trash (@пользователь)",
|
||||
"EXAMPLES": "trash\ntrash @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"triggered\"",
|
||||
"USAGE": "triggered (@пользователь)",
|
||||
"EXAMPLES": "triggered\ntriggered @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"wanted\"",
|
||||
"USAGE": "wanted (@пользователь)",
|
||||
"EXAMPLES": "wanted\nwanted @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"wasted\"",
|
||||
"USAGE": "wasted (@пользователь)",
|
||||
"EXAMPLES": "wasted\nwasted @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Создать изображение \"ytcomment\"",
|
||||
"USAGE": "ytcomment (@пользователь) [текст]",
|
||||
"EXAMPLES": "ytomment Привет!\nytcomment @Jonny_Bro#4226 Привет!"
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Включить или отключить фильтр музыки",
|
||||
"USAGE": "filter [фильтр]",
|
||||
"EXAMPLES": "filter vaporwave",
|
||||
"MISSING_FILTER": "Укажите фильтр для его включения! (или отправьте `filters`, чтобы увидеть статусы фильтров)",
|
||||
"UNKNOWN_FILTER": "Заданный фильтр не существует! Используйте `filters` чтобы увидеть список фильтров или `filter off` чтобы отключить все фильтры!",
|
||||
"CHANGING_FILTER": "Обновляю фильтры, подождите...",
|
||||
"REMOVING_FILTER": "Отключаю все фильтры, подождите..."
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Получить список фильтров и их статусы",
|
||||
"USAGE": "filters",
|
||||
"EXAMPLES": "filters",
|
||||
"TITLE": "**Фильтры**",
|
||||
"CONTENT": "Вот список всех имеющихся фильтров.\nИспользуйте `filter <фильтр>`, чтобы изменить статус одного из них."
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Найти текст песни",
|
||||
"USAGE": "lyrics [название-песни]",
|
||||
"EXAMPLES": "lyrics Skyfall",
|
||||
"LYRICS_OF": "🎤 Текст {{songName}}",
|
||||
"AND_MORE": "\n**и т.д...**",
|
||||
"CLICK_HERE": "Нажмите сюда, чтобы открыть ссылку на слова к этой песне",
|
||||
"MISSING_SONG_NAME": "Укажите название песни!",
|
||||
"NO_LYRICS_FOUND": "Текст песни `{{songName}}` не найден!"
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"DESCRIPTION": "Выполнить код!",
|
||||
"USAGE": "код",
|
||||
"USAGE": "[код]",
|
||||
"EXAMPLES": "eval interaction.channel.send({ content: \"Hello World!\" })"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"ONE_DAY": "1 день",
|
||||
"DAYS": "{{amount}} дня/дней",
|
||||
"ONE_HOUR": "1 час",
|
||||
"HOURS": "{{amount}} час(а/ов)",
|
||||
"ONE_MINUTE": "1 минута",
|
||||
"MINUTES": "{{amount}} минут(ы)",
|
||||
"ONE_SECOND": "1 секунда",
|
||||
"SECONDS": "{{amount}} секунд(ы)"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити власну команду!",
|
||||
"USAGE": "addcommand [назва] [відповідь]",
|
||||
"EXAMPLES": "addcommand hello Привіт, {user}. Добро пожаловать на {guild}!",
|
||||
"MISSING_NAME": "Укажіть назву команди!",
|
||||
"MISSING_ANSWER": "Укажіть відповідь команди!",
|
||||
"SUCCESS": "Команда **{{commandName}}** створена!"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Видалити власну команду!",
|
||||
"USAGE": "delcommand [назва]",
|
||||
"EXAMPLES": "delcommand hello",
|
||||
"MISSING_NAME": "Введіть назву команди!",
|
||||
"UNKNOWN_COMMAND": "Команда {{commandName}} не існує!",
|
||||
"SUCCESS": "Команда {{commandName}} була видалена з серверу!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Увімкнути або вимкнути використання команд у каналі",
|
||||
"USAGE": "ignore [канал]",
|
||||
"EXAMPLES": "ignore #основний",
|
||||
"ALLOWED": "Тепер команди в {{channel}} дозволені!",
|
||||
"IGNORED": "Тепер команди в {{channel}} заборонені!"
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Вгадай задумане мною слово!",
|
||||
"USAGE": "findwords (STOP)",
|
||||
"EXAMPLES": "findwords",
|
||||
"INVALID_WORD": "{{member}} | Це слово не існує або я його не знаю :(",
|
||||
"GAME_STARTING": ":timer: | Гра розпочнеться через 10 секунд!\nНапишіть STOP, якщо хочете зупинити гру!",
|
||||
"FIND_WORD": "20 секунд, щоб знайти слово, в якому є **{{word}}**!",
|
||||
"WORD_FOUND": "{{winner}} найшвидше знайшов слово!",
|
||||
"GAME_STATS": "🎉 | {{winner}} переміг!\n\n**Статистика:**\n*-* __**Учасники**__: {{participants}} ({{participantCount}})\n**Статистика гри: **\n__**Тривалість**__: {{duration}}\n__**Кількість учасників**__ : {{participantCount}}",
|
||||
"CREDITS": "{{winner}} виграв {{credits}}!",
|
||||
"NO_WINNER_ALL": "Слова не знайдені, гра закінчена!",
|
||||
"NO_WINNER": "Слова не знайдені, гра закінчена!"
|
||||
}
|
|
@ -5,7 +5,6 @@
|
|||
"NO_TRANSACTIONS": "У вас немає транзакцій.",
|
||||
"EMBED_TRANSACTIONS": "Ваші транзакції",
|
||||
"BANK": "Банк",
|
||||
"WORDS": "Вгадай слово",
|
||||
"NUMBERS": "Вгадай число",
|
||||
"HORSERACE": "Кінні перегони",
|
||||
"TTT": "Хрестики-нуліки",
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Я можу допомогти вам із вибором!",
|
||||
"USAGE": "choice [варіант1/варіант2/варіант3/варіант4...]",
|
||||
"EXAMPLES": "choice Вода/Вогонь/Вітер",
|
||||
"MISSING": "Вкажіть більше двох варіантів!\n(або використовуйте команду `flip`)",
|
||||
"EMPTY": "Здається, один з варіантів відсутній... Спробуйте ще раз!",
|
||||
"PROGRESS": "Думаю...",
|
||||
"DONE": "Я вибрав: **`{{result}}`**"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Показати права користувача",
|
||||
"USAGE": "permissions (@користувач)",
|
||||
"EXAMPLES": "permissions\npermissions @Jonny_Bro#4226",
|
||||
"TITLE": "{{user}} у каналі {{channel}}"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Процитувати повідомлення в канал!",
|
||||
"USAGE": "quote [ID-повідомлення] (канал)",
|
||||
"EXAMPLES": "quote 596018101921906698\nquote 596018101921906698 573508780520898581\nquote 5960",
|
||||
"NO_MESSAGE_ID": "Немає повідомлень з цим ID.",
|
||||
"NO_CHANNEL_ID": "Немає каналу з ID або назвою.",
|
||||
"MISSING_ID": "Вкажіть ID повідомлення!"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"approved\"",
|
||||
"USAGE": "approved (@користувач)",
|
||||
"EXAMPLES": "approved\napproved @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"batslap\"",
|
||||
"USAGE": "batslap (@користувач1) (@користувач2)",
|
||||
"EXAMPLES": "batslap\nbatslap @Jonny_Bro#4226 @JaBa#9042"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"beautiful\"",
|
||||
"USAGE": "beautiful (@користувач)",
|
||||
"EXAMPLES": "beautiful\nbeautiful @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"bed\"",
|
||||
"USAGE": "bed (@користувач1) (@користувач2)",
|
||||
"EXAMPLES": "bed @Jonny_Bro#4226\nbed @Jonny_Bro#4226 @Dkflbvbh k.hyfqc#9402"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"brazzers\"",
|
||||
"USAGE": "brazzers (@користувач)",
|
||||
"EXAMPLES": "brazzers\nbrazzers @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"burn\"",
|
||||
"USAGE": "burn (@користувач)",
|
||||
"EXAMPLES": "burn\nburn @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"captcha\"",
|
||||
"USAGE": "captcha (@користувач)",
|
||||
"EXAMPLES": "captcha\ncaptcha @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"challenger\"",
|
||||
"USAGE": "challenger (@користувач)",
|
||||
"EXAMPLES": "challenger\nchallenger @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"Clyde\"",
|
||||
"USAGE": "clyde [текст]",
|
||||
"EXAMPLES": "clyde Discord закриється 11 грудня 2002 року. Прощайте!.",
|
||||
"MISSING_TEXT": "Введіть текст!"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"crush\"",
|
||||
"USAGE": "crush (@користувач)",
|
||||
"EXAMPLES": "crush\ncrush @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"dictator\"",
|
||||
"USAGE": "dictator (@користувач)",
|
||||
"EXAMPLES": "dictator\ndictator @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"facepalm\"",
|
||||
"USAGE": "facepalm (@користувач)",
|
||||
"EXAMPLES": "facepalm\nfacepalm @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"fire\"",
|
||||
"USAGE": "fire (@користувач)",
|
||||
"EXAMPLES": "fire\nfire @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"jail\"",
|
||||
"USAGE": "jail (@користувач)",
|
||||
"EXAMPLES": "jail\njail @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"love\"",
|
||||
"USAGE": "love (@користувач1) (@користувач2)",
|
||||
"EXAMPLES": "love @Jonny_Bro#4226\nlove @Jonny_Bro#4226 @JaBa#9042"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"magik\"",
|
||||
"USAGE": "magik (@користувач)",
|
||||
"EXAMPLES": "magik\nmagik @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"mission\"",
|
||||
"USAGE": "mission (@користувач)",
|
||||
"EXAMPLES": "mission\nmission @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"phcomment\"",
|
||||
"USAGE": "phcomment (@користувач) [текст]",
|
||||
"EXAMPLES": "phcomment Привіт!\nphcomment @Jonny_Bro#4226 Привіт!",
|
||||
"MISSING_TEXT": "Вкажіть текст!"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"ps4\"",
|
||||
"USAGE": "ps4 (@користувач)",
|
||||
"EXAMPLES": "ps4\nps4 @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити QR код із тексту",
|
||||
"USAGE": "qrcode [текст]",
|
||||
"EXAMPLES": "qrcode Hello World!",
|
||||
"MISSING_TEXT": "Вкажіть текст!",
|
||||
"SUCCESS": "От ваш QR код!"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"rip\"",
|
||||
"USAGE": "rip (@користувач)",
|
||||
"EXAMPLES": "rip\nrip @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"scary\"",
|
||||
"USAGE": "scary (@користувач)",
|
||||
"EXAMPLES": "scary\nscary @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"steamcard\"",
|
||||
"USAGE": "steamcard [текст] (@користувач)",
|
||||
"EXAMPLES": "steamcard Колекційна картка\nsteamcard Картка @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"tobecontinued\"",
|
||||
"USAGE": "tobecontinued (@користувач)",
|
||||
"EXAMPLES": "tobecontinued\ntobecontinued @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"trash\"",
|
||||
"USAGE": "trash (@користувач)",
|
||||
"EXAMPLES": "trash\ntrash @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"triggered\"",
|
||||
"USAGE": "triggered (@користувач)",
|
||||
"EXAMPLES": "triggered\ntriggered @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"wanted\"",
|
||||
"USAGE": "wanted (@користувач)",
|
||||
"EXAMPLES": "wanted\nwanted @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"wasted\"",
|
||||
"USAGE": "wasted (@користувач)",
|
||||
"EXAMPLES": "wasted\nwasted @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Створити зображення \"ytcomment\"",
|
||||
"USAGE": "ytcomment (@користувач) [текст]",
|
||||
"EXAMPLES": "ytcomment Привіт!\nytcomment @Jonny_Bro#4226 Привіт!"
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Увімкнути або вимкнути фільтр музики",
|
||||
"USAGE": "filter [фільтр]",
|
||||
"EXAMPLES": "filter vaporwave",
|
||||
"MISSING_FILTER": "Вкажіть фільтр для його включення! (або надішліть `filters`, щоб побачити статуси фільтрів)",
|
||||
"UNKNOWN_FILTER": "Заданий фільтр не існує! Використовуйте `filters` щоб побачити список фільтрів або `filter off` щоб вимкнути всі фільтри!",
|
||||
"CHANGING_FILTER": "Обновляю фільтри, зачекайте...",
|
||||
"REMOVING_FILTER": "Відключаю всі фільтри, зачекайте..."
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Отримати список фільтрів та їх статуси",
|
||||
"USAGE": "filters",
|
||||
"EXAMPLES": "filters",
|
||||
"TITLE": "**Фільтри**",
|
||||
"CONTENT": "Ось список усіх наявних фільтрів.\nВикористовуйте `filter <фільтр>`, щоб змінити статус одного з них."
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Знайти текст пісні",
|
||||
"USAGE": "lyrics [назва-пісні]",
|
||||
"EXAMPLES": "lyrics Skyfall",
|
||||
"LYRICS_OF": "🎤 Текст {{songName}}",
|
||||
"AND_MORE": "\n**і т.д...**",
|
||||
"CLICK_HERE": "Натисніть сюди, щоб відкрити посилання на слова до цієї пісні",
|
||||
"MISSING_SONG_NAME": "Вкажіть назву пісні!",
|
||||
"NO_LYRICS_FOUND": "Текст пісні `{{songName}}` не знайдено!"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"ONE_DAY": "1 день",
|
||||
"DAYS": "{{amount}} дня/днів",
|
||||
"ONE_HOUR": "1 година",
|
||||
"HOURS": "{{amount}} годин(и)",
|
||||
"ONE_MINUTE": "1 хвилина",
|
||||
"MINUTES": "{{amount}} хвилин(и)",
|
||||
"ONE_SECOND": "1 секунда",
|
||||
"SECONDS": "{{amount}} секунд(и)"
|
||||
}
|
Loading…
Reference in a new issue