Фикс древней ошибки с translate, проверка ownerOnly, правильный ответ на проверки

This commit is contained in:
JonnyBro 2022-07-25 22:09:02 +05:00
parent 5a1e5b64c5
commit b812a4401e
403 changed files with 993 additions and 953 deletions

View file

@ -1,5 +1,6 @@
/* eslint-disable no-unused-vars */
class BaseCommand { class BaseCommand {
constructor(options) { constructor(options, client) {
/** /**
* @type {import("@discordjs/builders").SlashCommandBuilder | import("discord.js").ApplicationCommandData} * @type {import("@discordjs/builders").SlashCommandBuilder | import("discord.js").ApplicationCommandData}
*/ */
@ -7,11 +8,15 @@ class BaseCommand {
/** /**
* @type {Array<String>} * @type {Array<String>}
*/ */
this.aliases = options.aliases; this.aliases = options.aliases || [];
/** /**
* @type {Boolean} * @type {Boolean}
*/ */
this.guildOnly = options.guildOnly || true; this.guildOnly = options.guildOnly || true;
/**
* @type {Boolean}
*/
this.ownerOnly = options.ownerOnly || false;
} }
} }

View file

@ -117,55 +117,15 @@ class JaBa extends Client {
}); });
} }
get defaultLanguage() {
return this.languages.find(language => language.default).name;
}
translate(key, args, locale) {
if (!locale) locale = this.defaultLanguage;
const language = this.translations.get(locale);
if (!language) throw "Invalid language set in data.";
return language(key, args);
}
printDate(date, format, locale) {
if (!locale) locale = this.defaultLanguage;
const languageData = this.languages.find((language) => language.name === locale || language.aliases.includes(locale));
if (!format) format = languageData.defaultMomentFormat;
return moment(new Date(date))
.locale(languageData.moment)
.format(format);
}
convertTime(time, type, noPrefix, locale) {
if (!type) time = "to";
if (!locale) locale = this.defaultLanguage;
const languageData = this.languages.find((language) => language.name === locale || language.aliases.includes(locale));
const m = moment(time).locale(languageData.moment);
return (type === "to" ? m.toNow(noPrefix) : m.fromNow(noPrefix));
}
getNoun(number, one, two, five) {
let n = Math.abs(number);
n %= 100;
if (n >= 5 && n <= 20) return five;
n %= 10;
if (n === 1) return one;
if (n >= 2 && n <= 4) return two;
return five;
}
/** /**
* *
* @param {String} dir * @param {String} dir
* @param {String} guild_id * @param {String} guild_id
* @returns * @returns
*/ */
async loadCommands(dir, guild_id) { async loadCommands(dir, guild_id) {
if (!this.translations) this.translations = await require("../helpers/languages")();
const filePath = path.join(__dirname, dir); const filePath = path.join(__dirname, dir);
const files = await fs.readdir(filePath); const files = await fs.readdir(filePath);
const rest = new REST({ version: "9" }).setToken(this.config.token); const rest = new REST({ version: "9" }).setToken(this.config.token);
@ -174,11 +134,11 @@ class JaBa extends Client {
for (let index = 0; index < files.length; index++) { for (let index = 0; index < files.length; index++) {
const file = files[index]; const file = files[index];
const stat = await fs.lstat(path.join(filePath, file)); const stat = await fs.lstat(path.join(filePath, file));
if (stat.isDirectory()) this.loadCommands(this, path.join(dir, file)); if (stat.isDirectory()) this.loadCommands(path.join(dir, file), guild_id);
if (file.endsWith(".js")) { if (file.endsWith(".js")) {
const Command = require(path.join(filePath, file)); const Command = require(path.join(filePath, file));
if (Command.prototype instanceof BaseCommand) { if (Command.prototype instanceof BaseCommand) {
const command = new Command(); const command = new Command(this);
this.commands.set(command.command.name, command); this.commands.set(command.command.name, command);
const aliases = []; const aliases = [];
if (command.aliases && Array.isArray(command.aliases) && command.aliases.length > 0) { if (command.aliases && Array.isArray(command.aliases) && command.aliases.length > 0) {
@ -219,17 +179,17 @@ class JaBa extends Client {
} }
/** /**
* *
* @param {String} dir * @param {String} dir
* @returns * @returns
*/ */
async loadEvents(dir) { async loadEvents(dir) {
const filePath = path.join(__dirname, dir); const filePath = path.join(__dirname, dir);
const files = await fs.readdir(filePath); const files = await fs.readdir(filePath);
for (let index = 0; index < files.length; index++) { for (let index = 0; index < files.length; index++) {
const file = files[index]; const file = files[index];
const stat = await fs.lstat(path.join(filePath, file)); const stat = await fs.lstat(path.join(filePath, file));
if (stat.isDirectory()) this.loadEvents(this, path.join(dir, file)); if (stat.isDirectory()) this.loadEvents(path.join(dir, file));
if (file.endsWith(".js")) { if (file.endsWith(".js")) {
const Event = require(path.join(filePath, file)); const Event = require(path.join(filePath, file));
if (Event.prototype instanceof BaseEvent) { if (Event.prototype instanceof BaseEvent) {
@ -255,45 +215,61 @@ class JaBa extends Client {
this.logger.log(`Unable to connect to the Mongodb database. Error: ${err}`, "error"); this.logger.log(`Unable to connect to the Mongodb database. Error: ${err}`, "error");
}); });
const languages = require("../helpers/languages"); // const languages = require("../helpers/languages");
this.translations = await languages(); // this.translations = await languages();
// const autoUpdateDocs = require("../helpers/autoUpdateDocs"); // const autoUpdateDocs = require("../helpers/autoUpdateDocs");
// autoUpdateDocs.update(this); // autoUpdateDocs.update(this);
} }
// loadCommand(commandPath, commandName) { get defaultLanguage() {
// try { return this.languages.find(language => language.default).name;
// const props = new(require(`.${commandPath}${path.sep}${commandName}`))(this); }
// this.logger.log(`Loading Command: ${props.help.name}. 👌`, "log");
// props.conf.location = commandPath;
// if (props.init) props.init(this);
// this.commands.set(props.help.name, props); /**
// props.help.aliases.forEach((alias) => { *
// this.aliases.set(alias, props.help.name); * @param {String} key
// }); * @param {Array} args
* @param {String} locale
*/
translate(key, args, locale) {
if (!locale) locale = this.defaultLanguage;
const language = this.translations.get(locale);
if (!language) throw "Invalid language set in data.";
// return false; return language(key, args);
// } catch (e) { }
// return `Unable to load command ${commandName}: ${e}`;
// }
// }
// async unloadCommand(commandPath, commandName) { printDate(date, format, locale) {
// let command; if (!locale) locale = this.defaultLanguage;
// if (this.commands.has(commandName)) command = this.commands.get(commandName); const languageData = this.languages.find((language) => language.name === locale || language.aliases.includes(locale));
// else if (this.aliases.has(commandName)) command = this.commands.get(this.aliases.get(commandName)); if (!format) format = languageData.defaultMomentFormat;
// if (!command) return `The command \`${commandName}\` doesn't seem to exist, nor is it an alias. Try again!`; return moment(new Date(date))
// if (command.shutdown) await command.shutdown(this); .locale(languageData.moment)
.format(format);
}
// delete require.cache[require.resolve(`.${commandPath}${path.sep}${commandName}.js`)]; convertTime(time, type, noPrefix, locale) {
if (!type) time = "to";
if (!locale) locale = this.defaultLanguage;
const languageData = this.languages.find((language) => language.name === locale || language.aliases.includes(locale));
const m = moment(time).locale(languageData.moment);
// return false; return (type === "to" ? m.toNow(noPrefix) : m.fromNow(noPrefix));
// } }
getNoun(number, one, two, five) {
let n = Math.abs(number);
n %= 100;
if (n >= 5 && n <= 20) return five;
n %= 10;
if (n === 1) return one;
if (n >= 2 && n <= 4) return two;
return five;
}
// This function is used to find a user data or create it
async findOrCreateUser({ id: userID }, isLean) { async findOrCreateUser({ id: userID }, isLean) {
if (this.databaseCache.users.get(userID)) return isLean ? this.databaseCache.users.get(userID).toJSON() : this.databaseCache.users.get(userID); if (this.databaseCache.users.get(userID)) return isLean ? this.databaseCache.users.get(userID).toJSON() : this.databaseCache.users.get(userID);
else { else {
@ -318,7 +294,6 @@ class JaBa extends Client {
} }
} }
// This function is used to find a member data or create it
async findOrCreateMember({ id: memberID, guildID }, isLean) { async findOrCreateMember({ id: memberID, guildID }, isLean) {
if (this.databaseCache.members.get(`${memberID}${guildID}`)) return isLean ? this.databaseCache.members.get(`${memberID}${guildID}`).toJSON() : this.databaseCache.members.get(`${memberID}${guildID}`); if (this.databaseCache.members.get(`${memberID}${guildID}`)) return isLean ? this.databaseCache.members.get(`${memberID}${guildID}`).toJSON() : this.databaseCache.members.get(`${memberID}${guildID}`);
else { else {
@ -353,7 +328,6 @@ class JaBa extends Client {
} }
} }
// This function is used to find a guild data or create it
async findOrCreateGuild({ id: guildID }, isLean) { async findOrCreateGuild({ id: guildID }, isLean) {
if (this.databaseCache.guilds.get(guildID)) return isLean ? this.databaseCache.guilds.get(guildID).toJSON() : this.databaseCache.guilds.get(guildID); if (this.databaseCache.guilds.get(guildID)) return isLean ? this.databaseCache.guilds.get(guildID).toJSON() : this.databaseCache.guilds.get(guildID);
else { else {
@ -378,7 +352,6 @@ class JaBa extends Client {
} }
} }
// This function is used to resolve a user from a string
async resolveUser(search) { async resolveUser(search) {
let user = null; let user = null;
if (!search || typeof search !== "string") return; if (!search || typeof search !== "string") return;

View file

@ -9,7 +9,7 @@ class Mention extends BaseCommand {
super({ super({
command: { command: {
name: "mention", name: "mention",
type: 2 // Type 2 is MESSAGE COMMAND. type: 2 // Type 2 is USER COMMAND.
}, },
aliases: ["m"], // Application command aliases. aliases: ["m"], // Application command aliases.
guildOnly: true // Determines whether your command is only guild. guildOnly: true // Determines whether your command is only guild.

View file

@ -1,4 +1,3 @@
const { TextChannel } = require("discord.js");
const BaseCommand = require("../base/BaseCommand"); const BaseCommand = require("../base/BaseCommand");
class Repeat extends BaseCommand { class Repeat extends BaseCommand {
@ -10,7 +9,7 @@ class Repeat extends BaseCommand {
super({ super({
command: { command: {
name: "repeat", // Application command name. name: "repeat", // Application command name.
type: 3 // Type 3 is USER COMMAND. type: 3 // Type 3 is MESSAGE COMMAND.
}, },
aliases: ["r"], // Application command aliases. aliases: ["r"], // Application command aliases.
guildOnly: true // Determines whether your command is only guild. guildOnly: true // Determines whether your command is only guild.

61
commands/Owner/eval.js Normal file
View file

@ -0,0 +1,61 @@
/* eslint-disable no-unused-vars */
const { SlashCommandBuilder } = require("@discordjs/builders");
const BaseCommand = require("../../base/BaseCommand");
class Eval extends BaseCommand {
/**
*
* @param {import("../base/JaBa")} client
*/
constructor(client) {
super({
command: new SlashCommandBuilder()
.setName("eval")
.setDescription(client.translate("owner/eval:DESCRIPTION"))
.addStringOption(option =>
option.setName("code")
.setDescription(client.translate("owner/eval:USAGE"))
.setRequired(true)),
aliases: ["e"],
guildOnly: true,
ownerOnly: true
});
}
/**
*
* @param {import("../../base/JaBa")} client
*/
async onLoad(client) {
//...
}
/**
*
* @param {import("../../base/JaBa")} client
* @param {import("discord.js").CommandInteraction} interaction
* @param {Array} data
*/
async execute(client, interaction, data) {
const code = interaction.options.getString("code");
const result = new Promise((resolve) => resolve(eval(code)));
return result.then((output) => {
if (typeof output != "string") output = require("util").inspect(output, { depth: 0 });
if (output.includes(client.token)) output = output.replace(client.token, "T0K3N");
interaction.reply({
content: "```js\n" + output + "```",
ephemeral: true
});
}).catch((err) => {
console.error(err);
err = err.toString();
if (err.includes(client.token)) err = err.replace(client.token, "T0K3N");
interaction.reply({
content: "```js\n" + err + "```",
ephemeral: true
});
});
}
}
module.exports = Eval;

View file

@ -15,6 +15,7 @@ class CommandHandler extends BaseEvent {
*/ */
async execute(client, interaction) { async execute(client, interaction) {
if (interaction.type !== "APPLICATION_COMMAND" && !interaction.isCommand()) return; if (interaction.type !== "APPLICATION_COMMAND" && !interaction.isCommand()) return;
const command = client.commands.get(interaction.commandName); const command = client.commands.get(interaction.commandName);
const data = []; const data = [];
@ -23,7 +24,8 @@ class CommandHandler extends BaseEvent {
}); });
data.userData = userData; data.userData = userData;
if (command.guildOnly && !interaction.inGuild()) return; if (command.guildOnly && !interaction.inGuild()) return interaction.reply({ content: client.translate("misc:GUILD_ONLY"), ephemeral: true});
if (command.ownerOnly && interaction.user.id !== client.config.owner.id) return interaction.reply({ content: client.translate("misc:OWNER_ONLY"), ephemeral: true });
if (interaction.inGuild()) { if (interaction.inGuild()) {
const guildData = await client.findOrCreateGuild({ const guildData = await client.findOrCreateGuild({

View file

@ -1,8 +1,8 @@
{ {
"DESCRIPTION": "Add a custom command!", "DESCRIPTION": "Add a custom command!",
"USAGE": "{{prefix}}addcommand [name] [answer]", "USAGE": "addcommand [name] [answer]",
"EXAMPLES": "{{prefix}}addcommand hello Hello {user}! How are you?", "EXAMPLES": "addcommand hello Hello {user}! How are you?",
"MISSING_NAME": "Please provide a command name!", "MISSING_NAME": "Please provide a command name!",
"MISSING_ANSWER": "Please provide a command answer!", "MISSING_ANSWER": "Please provide a command answer!",
"SUCCESS": "Command **{{prefix}}{{commandName}}** added!" "SUCCESS": "Command **{{commandName}}** added!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Add an emoji to the server!", "DESCRIPTION": "Add an emoji to the server!",
"USAGE": "{{prefix}}addemoji [image-url] [name]", "USAGE": "addemoji [image-url] [name]",
"EXAMPLES": "{{prefix}}addemoji https://via.placeholder.com/150 test-emoji", "EXAMPLES": "addemoji https://via.placeholder.com/150 test-emoji",
"MISSING_URL": "Please provide an image URL!", "MISSING_URL": "Please provide an image URL!",
"MISSING_NAME": "Please provide an emoji name!", "MISSING_NAME": "Please provide an emoji name!",
"INVALID_NAME": "The length of the emoji name must be between 2 and 32!", "INVALID_NAME": "The length of the emoji name must be between 2 and 32!",

View file

@ -1,9 +1,9 @@
{ {
"DESCRIPTION": "Toggle Discord invites automatic deletion", "DESCRIPTION": "Toggle Discord invites automatic deletion",
"USAGE": "{{prefix}}automod [on/off] (#channel)", "USAGE": "automod [on/off] (#channel)",
"EXAMPLES": "{{prefix}}automod on\n{{prefix}}automod off #general\n{{prefix}}automod off", "EXAMPLES": "automod on\nautomod off #general\nautomod off",
"MISSING_STATUS": "Please enter a valid value between `on` and `off`", "MISSING_STATUS": "Please enter a valid value between `on` and `off`",
"ENABLED": "**Discord invites will be automatically deleted!**\n\n:arrow_right_hook: *Send `{{prefix}}automod off #channel` to ignore a channel!*", "ENABLED": "**Discord invites will be automatically deleted!**\n\n:arrow_right_hook: *Send `automod off #channel` to ignore a channel!*",
"DISABLED_CHANNEL": "Auto-moderation will no longer be performed in {{channel}}!", "DISABLED_CHANNEL": "Auto-moderation will no longer be performed in {{channel}}!",
"DISABLED": "All right! Auto moderation is no longer effective on this server!", "DISABLED": "All right! Auto moderation is no longer effective on this server!",
"DELETED": "Your message was deleted because Discord invitations are not allowed on this server!" "DELETED": "Your message was deleted because Discord invitations are not allowed on this server!"

View file

@ -1,10 +1,10 @@
{ {
"DESCRIPTION": "Toggle autorole on the server!", "DESCRIPTION": "Toggle autorole on the server!",
"USAGE": "{{prefix}}autorole [on/off] (role)", "USAGE": "autorole [on/off] (role)",
"EXAMPLES": "{{prefix}}autorole on @Members\n{{prefix}}autorole off", "EXAMPLES": "autorole on @Members\nautorole off",
"MISSING_STATUS": "Please specify a valid value between `on` and `off`", "MISSING_STATUS": "Please specify a valid value between `on` and `off`",
"MISSING_ROLE": "Please specify a valid role!", "MISSING_ROLE": "Please specify a valid role!",
"SUCCESS_ENABLED": "Autorole enabled! New members will automatically receive the **{{roleName}}** role.", "SUCCESS_ENABLED": "Autorole enabled! New members will automatically receive the **{{roleName}}** role.",
"ALREADY_DISABLED": "**The autorole is already disabled.**\n\n:arrow_right_hook: *Send `{{prefix}}autorole on @YourRole` to enable it again!*", "ALREADY_DISABLED": "**The autorole is already disabled.**\n\n:arrow_right_hook: *Send `autorole on @YourRole` to enable it again!*",
"SUCCESS_DISABLED": "**Autorole disabled!**\n\n:arrow_right_hook: *Send `{{prefix}}configuration` to see the updated configuration!*" "SUCCESS_DISABLED": "**Autorole disabled!**\n\n:arrow_right_hook: *Send `configuration` to see the updated configuration!*"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Manage your server backups in an efficient way!", "DESCRIPTION": "Manage your server backups in an efficient way!",
"USAGE": "{{prefix}}backup [create/load/infos]", "USAGE": "backup [create/load/infos]",
"EXAMPLES": "{{prefix}}backup create\n{{prefix}}backup load 558328638911545423\n{{prefix}}backup infos 558328638911545423", "EXAMPLES": "backup create\nbackup load 558328638911545423\nbackup infos 558328638911545423",
"MISSING_STATUS": "Select an action between: `create`, `load` and `info`!", "MISSING_STATUS": "Select an action between: `create`, `load` and `info`!",
"MISSING_BACKUP_ID": "Please enter a backup ID!", "MISSING_BACKUP_ID": "Please enter a backup ID!",
"NO_BACKUP_FOUND": "No backup found for `{{backupID}}`", "NO_BACKUP_FOUND": "No backup found for `{{backupID}}`",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Shows the server configuration!", "DESCRIPTION": "Shows the server configuration!",
"USAGE": "{{prefix}}configuration", "USAGE": "configuration",
"EXAMPLES": "{{prefix}}configuration", "EXAMPLES": "configuration",
"PREFIX_TITLE": "Server prefix", "PREFIX_TITLE": "Server prefix",
"IGNORED_CHANNELS_TITLE": "Ignored channel(s)", "IGNORED_CHANNELS_TITLE": "Ignored channel(s)",
"NO_IGNORED_CHANNELS": "No ignored channels.", "NO_IGNORED_CHANNELS": "No ignored channels.",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Remove a custom command!", "DESCRIPTION": "Remove a custom command!",
"USAGE": "{{prefix}}delcommand [name-of-the-command]", "USAGE": "delcommand [name-of-the-command]",
"EXAMPLES": "{{prefix}}delcommand hey", "EXAMPLES": "delcommand hey",
"MISSING_NAME": "Please enter a valid custom command name!", "MISSING_NAME": "Please enter a valid custom command name!",
"UNKNOWN_COMMAND": "The command {{commandName}} doesn't exist!", "UNKNOWN_COMMAND": "The command {{commandName}} doesn't exist!",
"SUCCESS": "The {{commandName}} command has been removed from the server!" "SUCCESS": "The {{commandName}} command has been removed from the server!"

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Toggle moderation commands auto deletion!", "DESCRIPTION": "Toggle moderation commands auto deletion!",
"USAGE": "{{prefix}}deletemod [on/off]", "USAGE": "deletemod [on/off]",
"EXAMPLES": "{{prefix}}deletemod on", "EXAMPLES": "deletemod on",
"MISSING_STATUS": "You must specify `on` or `off`", "MISSING_STATUS": "You must specify `on` or `off`",
"ENABLED": "Automatic moderation commands deletion!", "ENABLED": "Automatic moderation commands deletion!",
"DISABLED": "Automatic moderation commands deletion disabled!" "DISABLED": "Automatic moderation commands deletion disabled!"

View file

@ -1,16 +1,16 @@
{ {
"DESCRIPTION": "Toggle goodbye messages!", "DESCRIPTION": "Toggle goodbye messages!",
"USAGE": "{{prefix}}goodbye", "USAGE": "goodbye",
"EXAMPLES": "{{prefix}}goodbye", "EXAMPLES": "goodbye",
"MISSING_STATUS": "You must specify an action between `edit` and `off`", "MISSING_STATUS": "You must specify an action between `edit` and `off`",
"DEFAULT_MESSAGE": "Goodbye {user}! We're now {membercount} without you... :'(", "DEFAULT_MESSAGE": "Goodbye {user}! We're now {membercount} without you... :'(",
"TEST_SUCCESS": "Test executed!", "TEST_SUCCESS": "Test executed!",
"FORM_1": "**In which channel will goodbye messages be sent?**\n\n:arrow_right_hook: *Answer by mentioning a channel!*", "FORM_1": "**In which channel will goodbye messages be sent?**\n\n:arrow_right_hook: *Answer by mentioning a channel!*",
"FORM_2": "**Please enter your desired goodbye message.**\n\n**If you want to:**\n*-* __Mention the user__: {user}\n*-* __Get the member count__: {membercount}\n*-* __Get the server name__: {server}\n\n**Usage example:**\nGoodbye {user}, we will miss you! We are now {membercount}.\n:fast_forward:\nGoodbye {{author}}, we will miss you! We are now {{memberCount}}.", "FORM_2": "**Please enter your desired goodbye message.**\n\n**If you want to:**\n*-* __Mention the user__: {user}\n*-* __Get the member count__: {membercount}\n*-* __Get the server name__: {server}\n\n**Usage example:**\nGoodbye {user}, we will miss you! We are now {membercount}.\n:fast_forward:\nGoodbye {{author}}, we will miss you! We are now {{memberCount}}.",
"FORM_3": "**Do you want a great goodbye image too?**\n\n:arrow_right_hook: *Answer by sending `yes` or `no`!*", "FORM_3": "**Do you want a great goodbye image too?**\n\n:arrow_right_hook: *Answer by sending `yes` or `no`!*",
"FORM_SUCCESS": "**Alright, done!**\n\n:arrow_right_hook: *Answer by sending `{{prefix}}goodbye test` to preview your custom goodbye message!*", "FORM_SUCCESS": "**Alright, done!**\n\n:arrow_right_hook: *Answer by sending `goodbye test` to preview your custom goodbye message!*",
"MAX_CHARACT": "Your message must not exceed 1800 characters!", "MAX_CHARACT": "Your message must not exceed 1800 characters!",
"DISABLED": "**Goodbye messages have just been disabled!**\n\n:arrow_right_hook: *Answer by sending `{{prefix}}configuration` to see the updated server configuration!*", "DISABLED": "**Goodbye messages have just been disabled!**\n\n:arrow_right_hook: *Answer by sending `configuration` to see the updated server configuration!*",
"IMG_GOODBYE": "Leaving from {{server}}!", "IMG_GOODBYE": "Leaving from {{server}}!",
"IMG_NB": "- {{memberCount}}th member!", "IMG_NB": "- {{memberCount}}th member!",
"TITLE": "GOODBYE" "TITLE": "GOODBYE"

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Toggle commands in a channel", "DESCRIPTION": "Toggle commands in a channel",
"USAGE": "{{prefix}}ignore [channel]", "USAGE": "ignore [channel]",
"EXAMPLES": "{{prefix}}ignore #channel", "EXAMPLES": "ignore #channel",
"ALLOWED": "Commands are now allowed in {{channel}}!", "ALLOWED": "Commands are now allowed in {{channel}}!",
"IGNORED": "Commands are now forbidden in {{channel}}!" "IGNORED": "Commands are now forbidden in {{channel}}!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Change user's XP, level, credits or bank!", "DESCRIPTION": "Change user's XP, level, credits or bank!",
"USAGE": "{{prefix}}set [level/xp/credits/bank] [@user] [value]", "USAGE": "set [level/xp/credits/bank] [@user] [value]",
"EXAMPLES": "{{prefix}}set level @Jonny_Bro#4226 10", "EXAMPLES": "set level @Jonny_Bro#4226 10",
"INVALID_MEMBER": "You must mention the user!", "INVALID_MEMBER": "You must mention the user!",
"NO_STATUS": "Select a parameter: `level`, `xp`, `credits` or `bank`", "NO_STATUS": "Select a parameter: `level`, `xp`, `credits` or `bank`",
"BOT_USER": "Bots don't have a profile!", "BOT_USER": "Bots don't have a profile!",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Set the birthdays announcements channel!", "DESCRIPTION": "Set the birthdays announcements channel!",
"USAGE": "{{prefix}}setbirthdays (#channel)", "USAGE": "setbirthdays (#channel)",
"EXAMPLES": "{{prefix}}setbirthdays #birthdays\n{{prefix}}setbirthdays", "EXAMPLES": "setbirthdays #birthdays\nsetbirthdays",
"SUCCESS_ENABLED": "Birthdays announcements will be sent in **{{channel}}**!", "SUCCESS_ENABLED": "Birthdays announcements will be sent in **{{channel}}**!",
"SUCCESS_DISABLED": "Birthdays announcements disabled!" "SUCCESS_DISABLED": "Birthdays announcements disabled!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Change the server language!", "DESCRIPTION": "Change the server language!",
"USAGE": "{{prefix}}setlang [language]", "USAGE": "setlang [language]",
"EXAMPLES": "{{prefix}}setlang french\n{{prefix}}setlang english", "EXAMPLES": "setlang french\nsetlang english",
"MISSING_LANG": "Please enter a valid language between theses: {{list}}", "MISSING_LANG": "Please enter a valid language between theses: {{list}}",
"SUCCESS": ":flag_us: The language of this server is now **{{lang}}**!" "SUCCESS": ":flag_us: The language of this server is now **{{lang}}**!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Set the moderation logs channel!", "DESCRIPTION": "Set the moderation logs channel!",
"USAGE": "{{prefix}}setmodlogs (#channel)", "USAGE": "setmodlogs (#channel)",
"EXAMPLES": "{{prefix}}setmodlogs #modlogs\n{{prefix}}setmodlogs", "EXAMPLES": "setmodlogs #modlogs\nsetmodlogs",
"SUCCESS_ENABLED": "Moderation logs will be sent in **{{channel}}**!", "SUCCESS_ENABLED": "Moderation logs will be sent in **{{channel}}**!",
"SUCCESS_DISABLED": "Moderation logs channel deleted!" "SUCCESS_DISABLED": "Moderation logs channel deleted!"
} }

View file

@ -1,8 +1,8 @@
{ {
"DESCRIPTION": "Set the server prefix!", "DESCRIPTION": "Set the server prefix!",
"USAGE": "{{prefix}}setprefix [prefix]", "USAGE": "setprefix [prefix]",
"EXAMPLES": "{{prefix}}setprefix +", "EXAMPLES": "setprefix +",
"MISSING_PREFIX": "Please enter a valid prefix!", "MISSING_PREFIX": "Please enter a valid prefix!",
"TOO_LONG": "The prefix shouldn't exceed 5 characters!", "TOO_LONG": "The prefix shouldn't exceed 5 characters!",
"SUCCESS": "The bot prefix has been set to `{{prefix}}`!" "SUCCESS": "The bot prefix has been set to ``!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Set the reports channel!", "DESCRIPTION": "Set the reports channel!",
"USAGE": "{{prefix}}setreports (#channel)", "USAGE": "setreports (#channel)",
"EXAMPLES": "{{prefix}}setreports #reports\n{{prefix}}setreports", "EXAMPLES": "setreports #reports\nsetreports",
"SUCCESS_ENABLED": "Reports will be sent in **{{channel}}**!", "SUCCESS_ENABLED": "Reports will be sent in **{{channel}}**!",
"SUCCESS_DISABLED": "Reports channel deleted!" "SUCCESS_DISABLED": "Reports channel deleted!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Set the suggestions channel!", "DESCRIPTION": "Set the suggestions channel!",
"USAGE": "{{prefix}}setsuggests (#channel)", "USAGE": "setsuggests (#channel)",
"EXAMPLES": "{{prefix}}setsuggests #suggestions\n{{prefix}}setsuggests", "EXAMPLES": "setsuggests #suggestions\nsetsuggests",
"SUCCESS_ENABLED": "Suggestions will be sent in **{{channel}}**!", "SUCCESS_ENABLED": "Suggestions will be sent in **{{channel}}**!",
"SUCCESS_DISABLED": "Suggestions channel deleted!" "SUCCESS_DISABLED": "Suggestions channel deleted!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Steal emoji!", "DESCRIPTION": "Steal emoji!",
"USAGE": "{{prefix}}stealemoji [emoji]", "USAGE": "stealemoji [emoji]",
"EXAMPLES": "{{prefix}}stealemoji :coolstorybob:", "EXAMPLES": "stealemoji :coolstorybob:",
"MISSING_EMOJI": "Please provide an emoji!", "MISSING_EMOJI": "Please provide an emoji!",
"SUCCESS": "{{emoji}} added!", "SUCCESS": "{{emoji}} added!",
"ERROR": "{{emoji}} couldn't be added. Check if your server still has space for new emojis!" "ERROR": "{{emoji}} couldn't be added. Check if your server still has space for new emojis!"

View file

@ -1,16 +1,16 @@
{ {
"DESCRIPTION": "Toggle welcome messages!", "DESCRIPTION": "Toggle welcome messages!",
"USAGE": "{{prefix}}welcome", "USAGE": "welcome",
"EXAMPLES": "{{prefix}}welcome", "EXAMPLES": "welcome",
"MISSING_STATUS": "You must specify an action between `edit` and `off`", "MISSING_STATUS": "You must specify an action between `edit` and `off`",
"DEFAULT_MESSAGE": "Welcome {user} in {server}, we're now {membercount}! Your account was created {createdat}.", "DEFAULT_MESSAGE": "Welcome {user} in {server}, we're now {membercount}! Your account was created {createdat}.",
"TEST_SUCCESS": "Test executed!", "TEST_SUCCESS": "Test executed!",
"FORM_1": "**In which channel will welcome messages be sent?**\n\n:arrow_right_hook: *Answer by mentioning a channel!*", "FORM_1": "**In which channel will welcome messages be sent?**\n\n:arrow_right_hook: *Answer by mentioning a channel!*",
"FORM_2": "**Please enter your desired welcome message.**\n\n**If you want to:**\n*-* __Mention the user__: {user}\n*-* __Get the member count__: {membercount}\n*-* __Get the server name__: {server}\n\n**Usage example:**\nWelcome to {server}, {user}! We are now {membercount}!\n:fast_forward:\nWelcome to {{guildName}}, {{author}}! We are now {{memberCount}}!", "FORM_2": "**Please enter your desired welcome message.**\n\n**If you want to:**\n*-* __Mention the user__: {user}\n*-* __Get the member count__: {membercount}\n*-* __Get the server name__: {server}\n\n**Usage example:**\nWelcome to {server}, {user}! We are now {membercount}!\n:fast_forward:\nWelcome to {{guildName}}, {{author}}! We are now {{memberCount}}!",
"FORM_3": "**Do you want a great welcome image too?**\n\n:arrow_right_hook: *Answer by sending `yes` or `no`!*", "FORM_3": "**Do you want a great welcome image too?**\n\n:arrow_right_hook: *Answer by sending `yes` or `no`!*",
"FORM_SUCCESS": "**Alright, done!**\n\n:arrow_right_hook: *Answer by sending `{{prefix}}welcome test` to preview your custom welcome message!*", "FORM_SUCCESS": "**Alright, done!**\n\n:arrow_right_hook: *Answer by sending `welcome test` to preview your custom welcome message!*",
"MAX_CHARACT": "Your message must be under 1800 symbols!", "MAX_CHARACT": "Your message must be under 1800 symbols!",
"DISABLED": "**Goodbye messages have just been disabled!**\n\n:arrow_right_hook: *Answer by sending `{{prefix}}configuration` to see the updated server configuration!*", "DISABLED": "**Goodbye messages have just been disabled!**\n\n:arrow_right_hook: *Answer by sending `configuration` to see the updated server configuration!*",
"IMG_WELCOME": "Welcome in {{server}}!", "IMG_WELCOME": "Welcome in {{server}}!",
"IMG_NB": "- {{memberCount}}th member!", "IMG_NB": "- {{memberCount}}th member!",
"TITLE": "WELCOME" "TITLE": "WELCOME"

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Shows your achievements list!", "DESCRIPTION": "Shows your achievements list!",
"USAGE": "{{prefix}}achievements", "USAGE": "achievements",
"EXAMPLES": "{{prefix}}achievements", "EXAMPLES": "achievements",
"SEND_CMD": "Send your first command!", "SEND_CMD": "Send your first command!",
"CLAIM_SALARY": "Claim your salary 10 times!", "CLAIM_SALARY": "Claim your salary 10 times!",
"MARRY": "Find your half and marry!", "MARRY": "Find your half and marry!",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Set the birthday date that appear on your profile", "DESCRIPTION": "Set the birthday date that appear on your profile",
"USAGE": "{{prefix}}birthdate (date)", "USAGE": "birthdate (date)",
"EXAMPLES": "{{prefix}}birthdate 01/12/2000", "EXAMPLES": "birthdate 01/12/2000",
"MISSING_DATE": "Please enter a valid date! For example, 01/12/2000", "MISSING_DATE": "Please enter a valid date! For example, 01/12/2000",
"INVALID_DATE": "You must use the following date format: DD/MM/YYYY. For example, `December 1, 2000` will be `01/12/2000`.", "INVALID_DATE": "You must use the following date format: DD/MM/YYYY. For example, `December 1, 2000` will be `01/12/2000`.",
"DATE_TOO_HIGH": "More than 80 years old? :eyes:", "DATE_TOO_HIGH": "More than 80 years old? :eyes:",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Deposit your money in the bank", "DESCRIPTION": "Deposit your money in the bank",
"USAGE": "{{prefix}}deposit [amount]", "USAGE": "deposit [amount]",
"EXAMPLES": "{{prefix}}deposit 400", "EXAMPLES": "deposit 400",
"MISSING_AMOUNT": "Please specify an amount!", "MISSING_AMOUNT": "Please specify an amount!",
"NO_CREDIT": "You have no credit to deposit in the bank!", "NO_CREDIT": "You have no credit to deposit in the bank!",
"NO_ENOUGH_CREDIT": "You don't have `{{money}}` credits!", "NO_ENOUGH_CREDIT": "You don't have `{{money}}` credits!",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Divorce the person you are currently married to!", "DESCRIPTION": "Divorce the person you are currently married to!",
"USAGE": "{{prefix}}divorce", "USAGE": "divorce",
"EXAMPLES": "{{prefix}}divorce", "EXAMPLES": "divorce",
"NOT_MARRIED": "You are not currently married!", "NOT_MARRIED": "You are not currently married!",
"DIVORCED": "You just divorced with **{{username}}**!" "DIVORCED": "You just divorced with **{{username}}**!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Shows users who have the most credits, levels or reputation points!", "DESCRIPTION": "Shows users who have the most credits, levels or reputation points!",
"USAGE": "{{prefix}}leaderboard [rep/level/credits]", "USAGE": "leaderboard [rep/level/credits]",
"EXAMPLES": "{{prefix}}leaderboard credits\n{{prefix}}leaderboard level", "EXAMPLES": "leaderboard credits\nleaderboard level",
"MISSING_TYPE": "Please specify the leaderboard type between `credits`, `level` and `rep`", "MISSING_TYPE": "Please specify the leaderboard type between `credits`, `level` and `rep`",
"MOBILE": ":confused: We've detected that you are using a phone.... The leaderboard may not display well on small screens. Try to switch to landscape or go on the dashboard!" "MOBILE": ":confused: We've detected that you are using a phone.... The leaderboard may not display well on small screens. Try to switch to landscape or go on the dashboard!"
} }

View file

@ -1,9 +1,9 @@
{ {
"DESCRIPTION": "Marry someone you love!", "DESCRIPTION": "Marry someone you love!",
"USAGE": "{{prefix}}marry [@member]", "USAGE": "marry [@member]",
"EXAMPLES": "{{prefix}}marry @Jonny_Bro#4226", "EXAMPLES": "marry @Jonny_Bro#4226",
"INVALID_MEMBER": "You must mention a valid member!", "INVALID_MEMBER": "You must mention a valid member!",
"ALREADY_MARRIED": "You are already married! First use `{{prefix}}divorce` to divorce.", "ALREADY_MARRIED": "You are already married! First use `divorce` to divorce.",
"ALREADY_MARRIED_USER": "The place is taken, companion! **{{username}}** is already married!", "ALREADY_MARRIED_USER": "The place is taken, companion! **{{username}}** is already married!",
"YOURSELF": "You can't marry yourself!", "YOURSELF": "You can't marry yourself!",
"REQUEST_AUTHOR_TO_AMEMBER": "You already have a pending request to **{{username}}**!", "REQUEST_AUTHOR_TO_AMEMBER": "You already have a pending request to **{{username}}**!",

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Shows your credits", "DESCRIPTION": "Shows your credits",
"USAGE": "{{prefix}}money (@member)", "USAGE": "money (@member)",
"EXAMPLES": "{{prefix}}money\n{{prefix}}money @user#0000", "EXAMPLES": "money\nmoney @user#0000",
"TITLE": "{{username}}'s money" "TITLE": "{{username}}'s money"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Send money to someone!", "DESCRIPTION": "Send money to someone!",
"USAGE": "{{prefix}}pay [@member] [amount]", "USAGE": "pay [@member] [amount]",
"EXAMPLES": "{{prefix}}pay @Jonny_Bro#4226 100", "EXAMPLES": "pay @Jonny_Bro#4226 100",
"INVALID_MEMBER": "You must mention a valid member!", "INVALID_MEMBER": "You must mention a valid member!",
"BOT_USER": "Bots are already rich 💰!", "BOT_USER": "Bots are already rich 💰!",
"YOURSELF": "You can't pay yourself!", "YOURSELF": "You can't pay yourself!",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Shows the mentioned user or author profile", "DESCRIPTION": "Shows the mentioned user or author profile",
"USAGE": "{{prefix}}profile [user]", "USAGE": "profile [user]",
"EXAMPLES": "{{prefix}}profile @Jonny_Bro#4226", "EXAMPLES": "profile @Jonny_Bro#4226",
"TITLE": "{{username}}'s profile", "TITLE": "{{username}}'s profile",
"NO_BIO": "No biography", "NO_BIO": "No biography",
"BOT_USER": "Bots don't have profile page!", "BOT_USER": "Bots don't have profile page!",
@ -19,7 +19,7 @@
"REGISTERED": "📅 Registered", "REGISTERED": "📅 Registered",
"NO_LOVER": "Single", "NO_LOVER": "Single",
"ACHIEVEMENTS": "🔥 Achievements", "ACHIEVEMENTS": "🔥 Achievements",
"ACHIEVEMENTS_CONTENT": "Get more information with `{{prefix}}achievements`!", "ACHIEVEMENTS_CONTENT": "Get more information with `achievements`!",
"BIO": "🔖 Biography", "BIO": "🔖 Biography",
"YOUR_PROFILE": "Your profile" "YOUR_PROFILE": "Your profile"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Give a reputation point to someone!", "DESCRIPTION": "Give a reputation point to someone!",
"USAGE": "{{prefix}}rep [user]", "USAGE": "rep [user]",
"EXAMPLES": "{{prefix}}rep @Jonny_Bro#4226", "EXAMPLES": "rep @Jonny_Bro#4226",
"COOLDOWN": "You have to wait {{time}} before being able to `rep` someone!", "COOLDOWN": "You have to wait {{time}} before being able to `rep` someone!",
"INVALID_USER": "You must mention a valid user!", "INVALID_USER": "You must mention a valid user!",
"BOT_USER": "Bots don't accept reputation points!", "BOT_USER": "Bots don't accept reputation points!",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Try to rob a member!", "DESCRIPTION": "Try to rob a member!",
"USAGE": "{{prefix}}rob [@member] [amount]", "USAGE": "rob [@member] [amount]",
"EXAMPLES": "{{prefix}}rob @Jonny_Bro#4226 100", "EXAMPLES": "rob @Jonny_Bro#4226 100",
"YOURSELF": "You can't rob yourself!", "YOURSELF": "You can't rob yourself!",
"MISSING_MEMBER": "You must specify a valid member to rob!", "MISSING_MEMBER": "You must specify a valid member to rob!",
"MISSING_AMOUNT": "Please enter a valid amount!", "MISSING_AMOUNT": "Please enter a valid amount!",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Change your biography!", "DESCRIPTION": "Change your biography!",
"USAGE": "{{prefix}}setbio [biography]", "USAGE": "setbio [biography]",
"EXAMPLES": "{{prefix}}setbio My name is Jake, I'm 19 and I love programming!", "EXAMPLES": "setbio My name is Jake, I'm 19 and I love programming!",
"MISSING": "You must specify a biography!", "MISSING": "You must specify a biography!",
"MAX_CHARACT": "Your biography must not exceed 500 characters!", "MAX_CHARACT": "Your biography must not exceed 500 characters!",
"SUCCESS": "Your biography has been modified!" "SUCCESS": "Your biography has been modified!"

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "The JaBa casino", "DESCRIPTION": "The JaBa casino",
"USAGE": "{{prefix}}slots [amount]", "USAGE": "slots [amount]",
"EXAMPLES": "{{prefix}}slots\n{{prefix}}slots 10", "EXAMPLES": "slots\nslots 10",
"DEFEAT": "**{{username}}** used {{money}} credit(s) and lost everything.", "DEFEAT": "**{{username}}** used {{money}} credit(s) and lost everything.",
"VICTORY": "**{{username}}** used {{money}} credit(s) and won {{won}} credit(s)!", "VICTORY": "**{{username}}** used {{money}} credit(s) and won {{won}} credit(s)!",
"NOT_ENOUGH": "You need at least **{{money}}** credit(s)." "NOT_ENOUGH": "You need at least **{{money}}** credit(s)."

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Withdraw money!", "DESCRIPTION": "Withdraw money!",
"USAGE": "{{prefix}}withdraw [amount]", "USAGE": "withdraw [amount]",
"EXAMPLES": "{{prefix}}withdraw 400", "EXAMPLES": "withdraw 400",
"MISSING_AMOUNT": "Please specify an amount to be withdrawn!", "MISSING_AMOUNT": "Please specify an amount to be withdrawn!",
"NO_CREDIT": "You don't have any credit in your bank!", "NO_CREDIT": "You don't have any credit in your bank!",
"NOT_ENOUGH": "You need at least `{{money}}` credit(s)!", "NOT_ENOUGH": "You need at least `{{money}}` credit(s)!",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Claim your salary!", "DESCRIPTION": "Claim your salary!",
"USAGE": "{{prefix}}work", "USAGE": "work",
"EXAMPLES": "{{prefix}}work", "EXAMPLES": "work",
"COOLDOWN": "You have to wait {{time}} before working again!", "COOLDOWN": "You have to wait {{time}} before working again!",
"AWARD": "Complete the word AWARD to win 200 bonus credits!", "AWARD": "Complete the word AWARD to win 200 bonus credits!",
"SALARY": "Salary", "SALARY": "Salary",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "I'm telling you the truth!", "DESCRIPTION": "I'm telling you the truth!",
"USAGE": "{{prefix}}8ball [question]", "USAGE": "8ball [question]",
"EXAMPLES": "{{prefix}}8ball Is JaBa the best Discord bot?", "EXAMPLES": "8ball Is JaBa the best Discord bot?",
"ERR_QUESTION": "You must enter a question!", "ERR_QUESTION": "You must enter a question!",
"RESPONSE_1": "It is certain", "RESPONSE_1": "It is certain",
"RESPONSE_2": "It is decidedly so", "RESPONSE_2": "It is decidedly so",

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Turn your text into ascii characters!", "DESCRIPTION": "Turn your text into ascii characters!",
"USAGE": "{{prefix}}ascii [text]", "USAGE": "ascii [text]",
"EXAMPLES": "{{prefix}}ascii Hello world!", "EXAMPLES": "ascii Hello world!",
"TEXT_MISSING": "Please enter a valid text (less than 20 characters)!" "TEXT_MISSING": "Please enter a valid text (less than 20 characters)!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Helps you choose between the given choices!", "DESCRIPTION": "Helps you choose between the given choices!",
"USAGE": "{{prefix}}choice [choice1/choice2/etc...]", "USAGE": "choice [choice1/choice2/etc...]",
"EXAMPLES": "{{prefix}}choice Fire/Wind/Water", "EXAMPLES": "choice Fire/Wind/Water",
"MISSING": "You must enter more than two choices!\n(or use the `flip` command instead)", "MISSING": "You must enter more than two choices!\n(or use the `flip` command instead)",
"EMPTY": "One of your choices seems to be empty.... Please try again!", "EMPTY": "One of your choices seems to be empty.... Please try again!",
"PROGRESS": "Choice being made...", "PROGRESS": "Choice being made...",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Start a Findwords party, a game where you have to find words!", "DESCRIPTION": "Start a Findwords party, a game where you have to find words!",
"USAGE": "{{prefix}}findwords", "USAGE": "findwords",
"EXAMPLES": "{{prefix}}findwords", "EXAMPLES": "findwords",
"INVALID_WORD": "{{member}} | Your word is not valid!", "INVALID_WORD": "{{member}} | Your word is not valid!",
"GAME_STARTING": ":timer: | The game starts in 10 seconds!", "GAME_STARTING": ":timer: | The game starts in 10 seconds!",
"FIND_WORD": "20 seconds to find a word containing \"__**{{word}}**__\"!", "FIND_WORD": "20 seconds to find a word containing \"__**{{word}}**__\"!",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "I roll the dice for you!", "DESCRIPTION": "I roll the dice for you!",
"USAGE": "{{prefix}}flip", "USAGE": "flip",
"EXAMPLES": "{{prefix}}flip", "EXAMPLES": "flip",
"HEADS": "🎲 | Heads!", "HEADS": "🎲 | Heads!",
"TAILS": "🎲 | Tails!" "TAILS": "🎲 | Tails!"
} }

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Gets a random FML", "DESCRIPTION": "Gets a random FML",
"USAGE": "{{prefix}}fml", "USAGE": "fml",
"EXAMPLES": "{{prefix}}fml", "EXAMPLES": "fml",
"FOOTER": "blague.xyz | By Skiz#0001" "FOOTER": "blague.xyz | By Skiz#0001"
} }

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Gets a wonderful joke specially made for you!", "DESCRIPTION": "Gets a wonderful joke specially made for you!",
"USAGE": "{{prefix}}joke", "USAGE": "joke",
"EXAMPLES": "{{prefix}}joke", "EXAMPLES": "joke",
"FOOTER": "blague.xyz | By Skiz#0001" "FOOTER": "blague.xyz | By Skiz#0001"
} }

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Generate a LMGTFY link with your search", "DESCRIPTION": "Generate a LMGTFY link with your search",
"USAGE": "{{prefix}}lmg [search]", "USAGE": "lmg [search]",
"EXAMPLES": "{{prefix}}lmg How to create a Discord bot?", "EXAMPLES": "lmg How to create a Discord bot?",
"MISSING": "You must specify a search!" "MISSING": "You must specify a search!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Love calculator", "DESCRIPTION": "Love calculator",
"USAGE": "{{prefix}}lovecalc [@member1] (@member2)", "USAGE": "lovecalc [@member1] (@member2)",
"EXAMPLES": "{{prefix}}lovecalc @Jonny_Bro#4226\n{{prefix}}lovecalc @Jonny_Bro#4226 @JaBa#9042", "EXAMPLES": "lovecalc @Jonny_Bro#4226\nlovecalc @Jonny_Bro#4226 @JaBa#9042",
"MISSING": "You must mention two members!", "MISSING": "You must mention two members!",
"CONTENT": "There's **{{percent}}%** of love between **{{firstUsername}}** and **{{secondUsername}}**!\n**Congrats!**" "CONTENT": "There's **{{percent}}%** of love between **{{firstUsername}}** and **{{secondUsername}}**!\n**Congrats!**"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Find the right number!", "DESCRIPTION": "Find the right number!",
"USAGE": "{{prefix}}number", "USAGE": "number",
"EXAMPLES": "{{prefix}}number", "EXAMPLES": "number",
"GAME_START": "Number chosen, you can start!", "GAME_START": "Number chosen, you can start!",
"BIG": "{{user}} | My number is **bigger** than `{{number}}`!", "BIG": "{{user}} | My number is **bigger** than `{{number}}`!",
"SMALL": "{{user}} | My number is **smaller** than `{{number}}`!", "SMALL": "{{user}} | My number is **smaller** than `{{number}}`!",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Start activity in voice channel!", "DESCRIPTION": "Start activity in voice channel!",
"USAGE": "{{prefix}}activity (activity)", "USAGE": "activity (activity)",
"EXAMPLES": "{{prefix}}activity\n{{prefix}}activity chess", "EXAMPLES": "activity\nactivity chess",
"TITLE": "All available activities", "TITLE": "All available activities",
"FOOTER": "JaBa | Discord Together" "FOOTER": "JaBa | Discord Together"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Calculator able to solve complex operations and to convert units!", "DESCRIPTION": "Calculator able to solve complex operations and to convert units!",
"USAGE": "{{prefix}}calc [calculation]", "USAGE": "calc [calculation]",
"EXAMPLES": "{{prefix}}10*5+sin(3)\n{{prefix}}calc 10cm to m", "EXAMPLES": "10*5+sin(3)\ncalc 10cm to m",
"MISSING_CALC": "Please enter a calculation!", "MISSING_CALC": "Please enter a calculation!",
"INVALID_CALC": "Please enter a **valid** calculation!", "INVALID_CALC": "Please enter a **valid** calculation!",
"TITLE": "Calculator", "TITLE": "Calculator",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Shows JaBa's v2 Github repository information!", "DESCRIPTION": "Shows JaBa's v2 Github repository information!",
"USAGE": "{{prefix}}github", "USAGE": "github",
"EXAMPLES": "{{prefix}}github", "EXAMPLES": "github",
"CLICK_HERE": "Click here to access the github of JaBa", "CLICK_HERE": "Click here to access the github of JaBa",
"LANGUAGE": "Programming language", "LANGUAGE": "Programming language",
"OWNER": "JaBa's repository owner" "OWNER": "JaBa's repository owner"

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Upload your text on hastebin!", "DESCRIPTION": "Upload your text on hastebin!",
"USAGE": "{{prefix}}hastebin [text]", "USAGE": "hastebin [text]",
"EXAMPLES": "{{prefix}}hastebin Hello World!", "EXAMPLES": "hastebin Hello World!",
"MISSING_TEXT": "Please enter a valid text!", "MISSING_TEXT": "Please enter a valid text!",
"SUCCESS": "Upload complete!" "SUCCESS": "Upload complete!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Show commands list or specific command help.", "DESCRIPTION": "Show commands list or specific command help.",
"USAGE": "{{prefix}}help (command)", "USAGE": "help (command)",
"EXAMPLES": "{{prefix}}help\n{{prefix}}help ping", "EXAMPLES": "help\nhelp ping",
"CUSTOM": "A custom command doesn't have help page.", "CUSTOM": "A custom command doesn't have help page.",
"NOT_FOUND": "`{{search}}` is not a valid command", "NOT_FOUND": "`{{search}}` is not a valid command",
"FIELD_USAGE": "Usage", "FIELD_USAGE": "Usage",
@ -10,8 +10,8 @@
"FIELD_EXAMPLES": "Examples", "FIELD_EXAMPLES": "Examples",
"FIELD_PERMISSIONS": "Permissions", "FIELD_PERMISSIONS": "Permissions",
"NO_ALIAS": "No alias", "NO_ALIAS": "No alias",
"CMD_TITLE": "{{prefix}}{{cmd}} help", "CMD_TITLE": "{{cmd}} help",
"INFO": "● To get help on a specific command type `{{prefix}}help <command>`!", "INFO": "● To get help on a specific command type `help <command>`!",
"CUSTOM_COMMANDS": "Custom commands", "CUSTOM_COMMANDS": "Custom commands",
"TITLE": "{{name}} | Commands", "TITLE": "{{name}} | Commands",
"NO_REQUIRED_PERMISSION": "No specific permission is required to execute this command." "NO_REQUIRED_PERMISSION": "No specific permission is required to execute this command."

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Shows the number of people you have invited to the server!", "DESCRIPTION": "Shows the number of people you have invited to the server!",
"USAGE": "{{prefix}}invitations (@member)", "USAGE": "invitations (@member)",
"EXAMPLES": "{{prefix}}invitations\n{{prefix}}invitations @Jonny_Bro#4226", "EXAMPLES": "invitations\ninvitations @Jonny_Bro#4226",
"NOBODY_AUTHOR": "You didn't invite anyone to the server!", "NOBODY_AUTHOR": "You didn't invite anyone to the server!",
"NOBODY_MEMBER": "{{member}} didn't invite anyone to the server!", "NOBODY_MEMBER": "{{member}} didn't invite anyone to the server!",
"CODE": "**{{code}}** ({{uses}} uses) | {{channel}}", "CODE": "**{{code}}** ({{uses}} uses) | {{channel}}",

View file

@ -1,10 +1,10 @@
{ {
"DESCRIPTION": "Shows JaBa links!", "DESCRIPTION": "Shows JaBa links!",
"USAGE": "{{prefix}}invite (copy)", "USAGE": "invite (copy)",
"EXAMPLES": "{{prefix}}invite\n{{prefix}}invite copy", "EXAMPLES": "invite\ninvite copy",
"LINKS": "JaBa links", "LINKS": "JaBa links",
"CLICK": "[**Click**]({{link}})", "CLICK": "[**Click**]({{link}})",
"TIP": "Send `{{prefix}}invite copy` to be able to copy the invite link!", "TIP": "Send `invite copy` to be able to copy the invite link!",
"ADD": "Invite JaBa", "ADD": "Invite JaBa",
"VOTE": "Vote for JaBa", "VOTE": "Vote for JaBa",
"SUPPORT": "Support developer" "SUPPORT": "Support developer"

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Shows information about a Minecraft server!", "DESCRIPTION": "Shows information about a Minecraft server!",
"USAGE": "{{prefix}}minecraft [ip]", "USAGE": "minecraft [ip]",
"EXAMPLES": "{{prefix}}minecraft mc.hypixel.net", "EXAMPLES": "minecraft mc.hypixel.net",
"MISSING_IP": "Please enter a valid IP address!", "MISSING_IP": "Please enter a valid IP address!",
"FAILED": "This server is offline or blocking access!", "FAILED": "This server is offline or blocking access!",
"ONLINE": "Online", "ONLINE": "Online",

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Displays the member's permissions in the channel", "DESCRIPTION": "Displays the member's permissions in the channel",
"USAGE": "{{prefix}}permissions (@member)", "USAGE": "permissions (@member)",
"EXAMPLES": "{{prefix}}permissions\n{{prefix}}permissions @Jonny_Bro#4226", "EXAMPLES": "permissions\npermissions @Jonny_Bro#4226",
"TITLE": "{{user}}'s permissions in {{channel}}" "TITLE": "{{user}}'s permissions in {{channel}}"
} }

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Show bot's ping", "DESCRIPTION": "Show bot's ping",
"USAGE": "{{prefix}}ping", "USAGE": "ping",
"EXAMPLES": "{{prefix}}ping", "EXAMPLES": "ping",
"CONTENT": "Pong! My ping is `{{ping}}` ms." "CONTENT": "Pong! My ping is `{{ping}}` ms."
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Quote a message in the channel!", "DESCRIPTION": "Quote a message in the channel!",
"USAGE": "{{prefix}}quote [messageID] [channel]", "USAGE": "quote [messageID] [channel]",
"EXAMPLES": "{{prefix}}quote 596018101921906698\n{{prefix}}quote 596018101921906698 573508780520898581\n{{prefix}}quote 596018101921906698 #blabla", "EXAMPLES": "quote 596018101921906698\nquote 596018101921906698 573508780520898581\nquote 596018101921906698 #blabla",
"NO_MESSAGE_ID": "No message has this ID.", "NO_MESSAGE_ID": "No message has this ID.",
"NO_CHANNEL_ID": "No channel has this ID.", "NO_CHANNEL_ID": "No channel has this ID.",
"MISSING_ID": "Please enter a valid message ID to quote!" "MISSING_ID": "Please enter a valid message ID to quote!"

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Add a new personal reminder", "DESCRIPTION": "Add a new personal reminder",
"USAGE": "{{prefix}}remindme [message]", "USAGE": "remindme [message]",
"EXAMPLES": "{{prefix}}remindme 24h Work command\n{{prefix}}remindme 3m Take the pasta out of the pan!", "EXAMPLES": "remindme 24h Work command\nremindme 3m Take the pasta out of the pan!",
"MISSING_MESSAGE": "You must enter a message!", "MISSING_MESSAGE": "You must enter a message!",
"SAVED": "Reminder saved, you will receive a message at the end of the time!", "SAVED": "Reminder saved, you will receive a message at the end of the time!",
"TITLE": "JaBa Reminder", "TITLE": "JaBa Reminder",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Send your report to the channel defined for them!", "DESCRIPTION": "Send your report to the channel defined for them!",
"USAGE": "{{prefix}}report [@user] [reason]", "USAGE": "report [@user] [reason]",
"EXAMPLES": "{{prefix}}report @Jonny_Bro#4226 Breaking the rules", "EXAMPLES": "report @Jonny_Bro#4226 Breaking the rules",
"MISSING_CHANNEL": "No report channel defined!", "MISSING_CHANNEL": "No report channel defined!",
"MISSING_REASON": "Please enter a report reason!", "MISSING_REASON": "Please enter a report reason!",
"MISSING_USER": "Please mention the user you want report!", "MISSING_USER": "Please mention the user you want report!",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Shows information about the server!", "DESCRIPTION": "Shows information about the server!",
"USAGE": "{{prefix}}serverinfo [ID/Name]", "USAGE": "serverinfo [ID/Name]",
"EXAMPLES": "{{prefix}}serverinfo JaBa\n{{prefix}}serverinfo", "EXAMPLES": "serverinfo JaBa\nserverinfo",
"AFK_CHANNEL": "AFK channel", "AFK_CHANNEL": "AFK channel",
"NO_AFK_CHANNEL": "No AFK channel", "NO_AFK_CHANNEL": "No AFK channel",
"MEMBERS": "{{count}} members", "MEMBERS": "{{count}} members",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Become AFK (members who mention you will receive a message)", "DESCRIPTION": "Become AFK (members who mention you will receive a message)",
"USAGE": "{{prefix}}setafk [reason]", "USAGE": "setafk [reason]",
"EXAMPLES": "{{prefix}}setafk I'm eating =)", "EXAMPLES": "setafk I'm eating =)",
"MISSING_REASON": "Please specify the reason for your AFK status!", "MISSING_REASON": "Please specify the reason for your AFK status!",
"SUCCESS": "You're now AFK (reason: {{reason}})", "SUCCESS": "You're now AFK (reason: {{reason}})",
"DELETED": "**{{username}}**, your AFK status has just been deleted!", "DELETED": "**{{username}}**, your AFK status has just been deleted!",

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Make your links shorter!", "DESCRIPTION": "Make your links shorter!",
"USAGE": "{{prefix}}shorturl [url]", "USAGE": "shorturl [url]",
"EXAMPLES": "{{prefix}}shorturl https://google.fr", "EXAMPLES": "shorturl https://google.fr",
"MISSING_URL": "Please enter a valid URL!" "MISSING_URL": "Please enter a valid URL!"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Pick a random member on the server!", "DESCRIPTION": "Pick a random member on the server!",
"USAGE": "{{prefix}}someone", "USAGE": "someone",
"EXAMPLES": "{{prefix}}someone" "EXAMPLES": "someone"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Shows the server staff members list!", "DESCRIPTION": "Shows the server staff members list!",
"USAGE": "{{prefix}}staff", "USAGE": "staff",
"EXAMPLES": "{{prefix}}staff", "EXAMPLES": "staff",
"TITLE": "{{guild}} staff", "TITLE": "{{guild}} staff",
"ADMINS": "Administrators", "ADMINS": "Administrators",
"NO_ADMINS": "No administrators", "NO_ADMINS": "No administrators",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Shows the bot stats!", "DESCRIPTION": "Shows the bot stats!",
"USAGE": "{{prefix}}stats", "USAGE": "stats",
"EXAMPLES": "{{prefix}}stats", "EXAMPLES": "stats",
"COUNTS_TITLE": "• __Statistics__", "COUNTS_TITLE": "• __Statistics__",
"COUNTS_CONTENT": "`Servers: {{servers}}`\n`Users: {{users}}`", "COUNTS_CONTENT": "`Servers: {{servers}}`\n`Users: {{users}}`",
"VERSIONS_TITLE": "• __Using__", "VERSIONS_TITLE": "• __Using__",

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Send your suggestion to the defined channel!", "DESCRIPTION": "Send your suggestion to the defined channel!",
"USAGE": "{{prefix}}suggest [message]", "USAGE": "suggest [message]",
"EXAMPLES": "{{prefix}}suggest New channel #offtopic please", "EXAMPLES": "suggest New channel #offtopic please",
"MISSING_CHANNEL": "No suggestion channel defined!", "MISSING_CHANNEL": "No suggestion channel defined!",
"MISSING_CONTENT": "Please enter a suggestion!", "MISSING_CONTENT": "Please enter a suggestion!",
"TITLE": "Suggestion - {{user}}", "TITLE": "Suggestion - {{user}}",

View file

@ -1,9 +1,9 @@
{ {
"DESCRIPTION": "Translate your text!", "DESCRIPTION": "Translate your text!",
"USAGE": "{{prefix}}translate [language] [message]", "USAGE": "translate [language] [message]",
"EXAMPLES": "{{prefix}}translate russian How are you ?", "EXAMPLES": "translate russian How are you ?",
"LIST_SENT": "The languages list has just been sent to you by private messages!", "LIST_SENT": "The languages list has just been sent to you by private messages!",
"MISSING_LANGUAGE": "Please enter a language! To display the languages list, type `{{prefix}}translate langs-list`!", "MISSING_LANGUAGE": "Please enter a language! To display the languages list, type `translate langs-list`!",
"INVALID_LANGUAGE": "The language `{{search}}` does not exist! To display the languages list, type `{{prefix}}translate langs-list`!", "INVALID_LANGUAGE": "The language `{{search}}` does not exist! To display the languages list, type `translate langs-list`!",
"MISSING_CONTENT": "Please enter a text to be translated!" "MISSING_CONTENT": "Please enter a text to be translated!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Shows user information!", "DESCRIPTION": "Shows user information!",
"USAGE": "{{prefix}}userinfo (@user/userID)", "USAGE": "userinfo (@user/userID)",
"EXAMPLES": "{{prefix}}userinfo\n{{prefix}}userinfo @Jonny_Bro#4226\n{{prefix}}userinfo 281361531411890186", "EXAMPLES": "userinfo\nuserinfo @Jonny_Bro#4226\nuserinfo 281361531411890186",
"INVALID_USER": "No user on Discord has the `{{search}}` ID!", "INVALID_USER": "No user on Discord has the `{{search}}` ID!",
"NO_GAME": "Not playing", "NO_GAME": "Not playing",
"NO_ROLE": "No role", "NO_ROLE": "No role",

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"approved\" image", "DESCRIPTION": "Generates a \"approved\" image",
"USAGE": "{{prefix}}approved (@member)", "USAGE": "approved (@member)",
"EXAMPLES": "{{prefix}}approved\n{{prefix}}approved @Jonny_Bro#4226" "EXAMPLES": "approved\napproved @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Shows the avatar of the mentionned member", "DESCRIPTION": "Shows the avatar of the mentionned member",
"USAGE": "{{prefix}}avatar (@member)", "USAGE": "avatar (@member)",
"EXAMPLES": "{{prefix}}avatar\n{{prefix}}avatar @Jonny_Bro#4226\n{{prefix}}avatar link" "EXAMPLES": "avatar\navatar @Jonny_Bro#4226\navatar link"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"batslap\" image", "DESCRIPTION": "Generates a \"batslap\" image",
"USAGE": "{{prefix}}batslap (@member1) (@member2)", "USAGE": "batslap (@member1) (@member2)",
"EXAMPLES": "{{prefix}}batslap\n{{prefix}}batslap @Jonny_Bro#4226 @Jonny_Bro#4226" "EXAMPLES": "batslap\nbatslap @Jonny_Bro#4226 @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"beautiful\" image", "DESCRIPTION": "Generates a \"beautiful\" image",
"USAGE": "{{prefix}}beautiful (@member)", "USAGE": "beautiful (@member)",
"EXAMPLES": "{{prefix}}beautiful\n{{prefix}}beautiful @Jonny_Bro#4226" "EXAMPLES": "beautiful\nbeautiful @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"love\" image using the Nekobot API", "DESCRIPTION": "Generates a \"love\" image using the Nekobot API",
"USAGE": "{{prefix}}love [@member1] (@member2)", "USAGE": "love [@member1] (@member2)",
"EXAMPLES": "{{prefix}}love @Jonny_Bro#4226\n{{prefix}}love @Jonny_Bro#4226 @Marty#0303" "EXAMPLES": "love @Jonny_Bro#4226\nlove @Jonny_Bro#4226 @Marty#0303"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"dictator\" image", "DESCRIPTION": "Generates a \"dictator\" image",
"USAGE": "{{prefix}}dictator (@member)", "USAGE": "dictator (@member)",
"EXAMPLES": "{{prefix}}dictator\n{{prefix}}dictator @Jonny_Bro#4226" "EXAMPLES": "dictator\ndictator @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"brazzers\" image", "DESCRIPTION": "Generates a \"brazzers\" image",
"USAGE": "{{prefix}}brazzers (@member)", "USAGE": "brazzers (@member)",
"EXAMPLES": "{{prefix}}brazzers\n{{prefix}}brazzers @Jonny_Bro#4226" "EXAMPLES": "brazzers\nbrazzers @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"captcha\" image using the Nekobot API", "DESCRIPTION": "Generates a \"captcha\" image using the Nekobot API",
"USAGE": "{{prefix}}captcha (@member)", "USAGE": "captcha (@member)",
"EXAMPLES": "{{prefix}}captcha\n{{prefix}}captcha @Jonny_Bro#4226" "EXAMPLES": "captcha\ncaptcha @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"challenger\" image", "DESCRIPTION": "Generates a \"challenger\" image",
"USAGE": "{{prefix}}challenger (@member)", "USAGE": "challenger (@member)",
"EXAMPLES": "{{prefix}}challenger\n{{prefix}}challenger @Jonny_Bro#4226" "EXAMPLES": "challenger\nchallenger @Jonny_Bro#4226"
} }

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Generates a \"Clyde\" message image using the Nekobot API", "DESCRIPTION": "Generates a \"Clyde\" message image using the Nekobot API",
"USAGE": "{{prefix}}clyde [text]", "USAGE": "clyde [text]",
"EXAMPLES": "{{prefix}}clyde Discord will close on December 11, 2002. Goodbye.", "EXAMPLES": "clyde Discord will close on December 11, 2002. Goodbye.",
"MISSING_TEXT": "Please specify the message text!" "MISSING_TEXT": "Please specify the message text!"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"burn\" image", "DESCRIPTION": "Generates a \"burn\" image",
"USAGE": "{{prefix}}burn (@member)", "USAGE": "burn (@member)",
"EXAMPLES": "{{prefix}}burn\n{{prefix}}burn @Jonny_Bro#4226" "EXAMPLES": "burn\nburn @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"facepalm\" image using canvas", "DESCRIPTION": "Generates a \"facepalm\" image using canvas",
"USAGE": "{{prefix}}facepalm (@member)", "USAGE": "facepalm (@member)",
"EXAMPLES": "{{prefix}}facepalm\n{{prefix}}facepalm @Jonny_Bro#4226" "EXAMPLES": "facepalm\nfacepalm @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"fire\" image using Amethyste API", "DESCRIPTION": "Generates a \"fire\" image using Amethyste API",
"USAGE": "{{prefix}}fire (@member)", "USAGE": "fire (@member)",
"EXAMPLES": "{{prefix}}fire\n{{prefix}}fire @Jonny_Bro#4226" "EXAMPLES": "fire\nfire @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"jail\" image using Amethyste API", "DESCRIPTION": "Generates a \"jail\" image using Amethyste API",
"USAGE": "{{prefix}}jail (@member)", "USAGE": "jail (@member)",
"EXAMPLES": "{{prefix}}jail\n{{prefix}}jail @Jonny_Bro#4226" "EXAMPLES": "jail\njail @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"bed\" image", "DESCRIPTION": "Generates a \"bed\" image",
"USAGE": "{{prefix}}bed [@member1] (@member2)", "USAGE": "bed [@member1] (@member2)",
"EXAMPLES": "{{prefix}}bed @Jonny_Bro#4226\n{{prefix}}bed @Jonny_Bro#4226 @Marty#0303" "EXAMPLES": "bed @Jonny_Bro#4226\nbed @Jonny_Bro#4226 @Marty#0303"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"mission\" image using Amethyste API", "DESCRIPTION": "Generates a \"mission\" image using Amethyste API",
"USAGE": "{{prefix}}mission (@member)", "USAGE": "mission (@member)",
"EXAMPLES": "{{prefix}}mission\n{{prefix}}mission @Jonny_Bro#4226" "EXAMPLES": "mission\nmission @Jonny_Bro#4226"
} }

View file

@ -1,6 +1,6 @@
{ {
"DESCRIPTION": "Generates a \"phcomment\" image", "DESCRIPTION": "Generates a \"phcomment\" image",
"USAGE": "{{prefix}}phcomment (@member) [text]", "USAGE": "phcomment (@member) [text]",
"EXAMPLES": "{{prefix}}phcomment Hi!\n{{prefix}}phcomment @Jonny_Bro#4226 Hi!", "EXAMPLES": "phcomment Hi!\nphcomment @Jonny_Bro#4226 Hi!",
"MISSING_TEXT": "Please specify the comment text!" "MISSING_TEXT": "Please specify the comment text!"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Generates a QR code image from a given text", "DESCRIPTION": "Generates a QR code image from a given text",
"USAGE": "{{prefix}}qrcode [text]", "USAGE": "qrcode [text]",
"EXAMPLES": "{{prefix}}qrcode Hello", "EXAMPLES": "qrcode Hello",
"MISSING_TEXT": "Please specify the QR code source text!", "MISSING_TEXT": "Please specify the QR code source text!",
"SUCCESS": "Here's your QRCode!" "SUCCESS": "Here's your QRCode!"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"rip\" image using Nekobot API", "DESCRIPTION": "Generates a \"rip\" image using Nekobot API",
"USAGE": "{{prefix}}rip (@member)", "USAGE": "rip (@member)",
"EXAMPLES": "{{prefix}}rip\n{{prefix}}rip @Jonny_Bro#4226" "EXAMPLES": "rip\nrip @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"scary\" image using Nekobot API", "DESCRIPTION": "Generates a \"scary\" image using Nekobot API",
"USAGE": "{{prefix}}scary (@member)", "USAGE": "scary (@member)",
"EXAMPLES": "{{prefix}}scary\n{{prefix}}scary @Jonny_Bro#4226" "EXAMPLES": "scary\nscary @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"tobecontinued\" image using Nekobot API", "DESCRIPTION": "Generates a \"tobecontinued\" image using Nekobot API",
"USAGE": "{{prefix}}tobecontinued (@member)", "USAGE": "tobecontinued (@member)",
"EXAMPLES": "{{prefix}}tobecontinued\n{{prefix}}tobecontinued @Jonny_Bro#4226" "EXAMPLES": "tobecontinued\ntobecontinued @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"trash\" image", "DESCRIPTION": "Generates a \"trash\" image",
"USAGE": "{{prefix}}trash (@member)", "USAGE": "trash (@member)",
"EXAMPLES": "{{prefix}}trash\n{{prefix}}trash @Jonny_Bro#4226" "EXAMPLES": "trash\ntrash @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"triggered\" image using Nekobot API", "DESCRIPTION": "Generates a \"triggered\" image using Nekobot API",
"USAGE": "{{prefix}}triggered (@member)", "USAGE": "triggered (@member)",
"EXAMPLES": "{{prefix}}triggered\n{{prefix}}triggered @Jonny_Bro#4226" "EXAMPLES": "triggered\ntriggered @Jonny_Bro#4226"
} }

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Generates a \"tweet\" image using Nekobot API", "DESCRIPTION": "Generates a \"tweet\" image using Nekobot API",
"USAGE": "{{prefix}}tweet [@twitter_username] [content]", "USAGE": "tweet [@twitter_username] [content]",
"EXAMPLES": "{{prefix}}tweet @ElonMusk Hello", "EXAMPLES": "tweet @ElonMusk Hello",
"MISSING_USERNAME": "You have to enter someone's twitter nickname!", "MISSING_USERNAME": "You have to enter someone's twitter nickname!",
"MISSING_TEXT": "You have to specify the tweet content!", "MISSING_TEXT": "You have to specify the tweet content!",
"SUCCESS": "New tweet by {{user}}:" "SUCCESS": "New tweet by {{user}}:"

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"wanted\" image using Nekobot API", "DESCRIPTION": "Generates a \"wanted\" image using Nekobot API",
"USAGE": "{{prefix}}wanted (@member)", "USAGE": "wanted (@member)",
"EXAMPLES": "{{prefix}}wanted\n{{prefix}}wanted @Jonny_Bro#4226" "EXAMPLES": "wanted\nwanted @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"wasted\" image using Nekobot API", "DESCRIPTION": "Generates a \"wasted\" image using Nekobot API",
"USAGE": "{{prefix}}wasted (@member)", "USAGE": "wasted (@member)",
"EXAMPLES": "{{prefix}}wasted\n{{prefix}}wasted @Jonny_Bro#4226" "EXAMPLES": "wasted\nwasted @Jonny_Bro#4226"
} }

View file

@ -1,5 +1,5 @@
{ {
"DESCRIPTION": "Generates a \"ytcomment\" image", "DESCRIPTION": "Generates a \"ytcomment\" image",
"USAGE": "{{prefix}}ytcomment (@member) [text]", "USAGE": "ytcomment (@member) [text]",
"EXAMPLES": "{{prefix}}ytcomment Hi!\n{{prefix}}ytcomment @Jonny_Bro#4226 Hi!" "EXAMPLES": "ytcomment Hi!\nytcomment @Jonny_Bro#4226 Hi!"
} }

Some files were not shown because too many files have changed in this diff Show more