mirror of
https://github.com/JonnyBro/JaBa.git
synced 2024-11-22 05:04:58 +05:00
Поздравления с ДР только на сервер где есть юзер
Комментарии к функциям чтобы не забыть
This commit is contained in:
parent
28a21c8088
commit
2f30e020ca
138 changed files with 159 additions and 1380 deletions
75
base/JaBa.js
75
base/JaBa.js
|
@ -90,6 +90,9 @@ class JaBa extends Client {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Login into bot account, connect to DB and update docs
|
||||
*/
|
||||
async init() {
|
||||
this.login(this.config.token);
|
||||
|
||||
|
@ -107,8 +110,8 @@ class JaBa extends Client {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {String} dir
|
||||
* Load commands from directory
|
||||
* @param {String} dir Directory where's all commands/subdirectories located
|
||||
* @returns
|
||||
*/
|
||||
async loadCommands(dir) {
|
||||
|
@ -169,9 +172,9 @@ class JaBa extends Client {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {String} dir
|
||||
* @param {String} file
|
||||
* Load single command in directory
|
||||
* @param {String} dir Directory where command is
|
||||
* @param {String} file Filename of the command
|
||||
*/
|
||||
async loadCommand(dir, file) {
|
||||
const Command = require(path.join(dir, `${file}.js`));
|
||||
|
@ -196,9 +199,9 @@ class JaBa extends Client {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {String} dir
|
||||
* @param {String} name
|
||||
* Unload command from cache
|
||||
* @param {String} dir Directory of the command
|
||||
* @param {String} name Name of the command
|
||||
*/
|
||||
async unloadCommand(dir, name) {
|
||||
delete require.cache[require.resolve(`${dir}${path.sep}${name}.js`)];
|
||||
|
@ -207,8 +210,8 @@ class JaBa extends Client {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {String} dir
|
||||
* Load events from directory
|
||||
* @param {String} dir Directory where's all events/subdirectories located
|
||||
* @returns
|
||||
*/
|
||||
async loadEvents(dir) {
|
||||
|
@ -231,15 +234,18 @@ class JaBa extends Client {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get default language
|
||||
*/
|
||||
get defaultLanguage() {
|
||||
return this.languages.find(language => language.default).name;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {String} key
|
||||
* @param {Array} args
|
||||
* @param {String} locale
|
||||
* Translate from key to language
|
||||
* @param {String} key Key
|
||||
* @param {Array} args Arguments for translation
|
||||
* @param {String} locale Language
|
||||
*/
|
||||
translate(key, args, locale = this.defaultLanguage) {
|
||||
const language = this.translations.get(locale);
|
||||
|
@ -248,6 +254,13 @@ class JaBa extends Client {
|
|||
return language(key, args);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns beautified date
|
||||
* @param {Date} date Date
|
||||
* @param {String | null} format Format for moment
|
||||
* @param {String} locale Language
|
||||
* @returns {String} Beautified date
|
||||
*/
|
||||
printDate(date, format = "", locale = this.defaultLanguage) {
|
||||
const languageData = this.languages.find(language => language.name === locale || language.aliases.includes(locale));
|
||||
if (format === "" || format === null) format = languageData.defaultMomentFormat;
|
||||
|
@ -257,6 +270,14 @@ class JaBa extends Client {
|
|||
.format(format);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert given time
|
||||
* @param {String} time Time
|
||||
* @param {Boolean} type Type (To now = true or from now = false)
|
||||
* @param {Boolean} noPrefix Use prefix?
|
||||
* @param {String} locale Language
|
||||
* @returns {String} Time
|
||||
*/
|
||||
convertTime(time, type = false, noPrefix = false, locale = this.defaultLanguage) {
|
||||
const languageData = this.languages.find(language => language.name === locale || language.aliases.includes(locale));
|
||||
const m = moment(time).locale(languageData.moment);
|
||||
|
@ -264,6 +285,14 @@ class JaBa extends Client {
|
|||
return (type ? m.toNow(noPrefix) : m.fromNow(noPrefix));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get noun for number
|
||||
* @param {Number} number Number
|
||||
* @param {String} one String for one
|
||||
* @param {String} two String for two
|
||||
* @param {String} five String for five
|
||||
* @returns
|
||||
*/
|
||||
getNoun(number, one, two, five) {
|
||||
let n = Math.abs(number);
|
||||
n %= 100;
|
||||
|
@ -275,6 +304,12 @@ class JaBa extends Client {
|
|||
return five;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find or create user in DB
|
||||
* @param {Array} param0 { id: User ID }
|
||||
* @param {Boolean} isLean Return JSON instead Mongoose model?
|
||||
* @returns {import("./User")} Mongoose model or JSON of this user
|
||||
*/
|
||||
async findOrCreateUser({ id: userID }, isLean) {
|
||||
if (this.databaseCache.users.get(userID)) return isLean ? this.databaseCache.users.get(userID).toJSON() : this.databaseCache.users.get(userID);
|
||||
else {
|
||||
|
@ -299,6 +334,12 @@ class JaBa extends Client {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find or create member in DB
|
||||
* @param {Array} param0 { id: Member ID }
|
||||
* @param {Boolean} isLean Return JSON instead Mongoose model?
|
||||
* @returns {import("./Member")} Mongoose model or JSON of this member
|
||||
*/
|
||||
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}`);
|
||||
else {
|
||||
|
@ -333,6 +374,12 @@ class JaBa extends Client {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find or create guild in DB
|
||||
* @param {Array} param0 { id: Guild ID }
|
||||
* @param {Boolean} isLean Return JSON instead Mongoose model?
|
||||
* @returns {import("./Guild")} Mongoose model or JSON of this guild
|
||||
*/
|
||||
async findOrCreateGuild({ id: guildID }, isLean) {
|
||||
if (this.databaseCache.guilds.get(guildID)) return isLean ? this.databaseCache.guilds.get(guildID).toJSON() : this.databaseCache.guilds.get(guildID);
|
||||
else {
|
||||
|
|
|
@ -7,55 +7,58 @@ const { CronJob } = require("cron"),
|
|||
*/
|
||||
module.exports.init = async function (client) {
|
||||
new CronJob("0 5 * * *", async function () {
|
||||
client.guilds.cache.forEach(async (guild) => {
|
||||
const date = new Date(),
|
||||
currentDay = date.getDate(),
|
||||
currentMonth = date.getMonth(),
|
||||
currentYear = date.getFullYear(),
|
||||
guildData = await client.findOrCreateGuild({
|
||||
id: guild.id
|
||||
});
|
||||
const date = new Date(),
|
||||
currentDay = date.getDate(),
|
||||
currentMonth = date.getMonth(),
|
||||
currentYear = date.getFullYear();
|
||||
|
||||
client.guilds.cache.forEach(async guild => {
|
||||
const guildData = await client.findOrCreateGuild({
|
||||
id: guild.id
|
||||
});
|
||||
|
||||
if (guildData.plugins.birthdays) {
|
||||
const channel = client.channels.cache.get(guildData.plugins.birthdays);
|
||||
if (channel) {
|
||||
client.usersData
|
||||
.find({ birthdate: { $gt: 1 } })
|
||||
.then(async (users) => {
|
||||
client.usersData.find({ birthdate: { $gt: 1 } })
|
||||
.then(async users => {
|
||||
for (const user of users) {
|
||||
const userDate = new Date(user.birthdate);
|
||||
const day = userDate.getDate();
|
||||
const month = userDate.getMonth();
|
||||
const year = userDate.getFullYear();
|
||||
const age = currentYear - year;
|
||||
if (guild.members.find(m => m.id === user.id)) {
|
||||
const userDate = new Date(user.birthdate);
|
||||
const day = userDate.getDate();
|
||||
const month = userDate.getMonth();
|
||||
const year = userDate.getFullYear();
|
||||
const age = currentYear - year;
|
||||
|
||||
if (currentMonth === month && currentDay === day) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setAuthor({
|
||||
name: client.user.username,
|
||||
iconURL: client.user.displayAvatarURL({
|
||||
extension: "png",
|
||||
size: 512
|
||||
})
|
||||
})
|
||||
.setColor(client.config.embed.color)
|
||||
.setFooter({
|
||||
text: client.config.embed.footer
|
||||
})
|
||||
.addFields([
|
||||
{
|
||||
name: client.translate("economy/birthdate:HAPPY_BIRTHDAY"),
|
||||
value: client.translate("economy/birthdate:HAPPY_BIRTHDAY_MESSAGE", {
|
||||
name: user.username,
|
||||
user: user.id,
|
||||
age: `**${age}** ${client.getNoun(age, client.translate("misc:NOUNS:AGE:1"), client.translate("misc:NOUNS:AGE:2"), client.translate("misc:NOUNS:AGE:5"))}`
|
||||
if (currentMonth === month && currentDay === day) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setAuthor({
|
||||
name: client.user.username,
|
||||
iconURL: client.user.displayAvatarURL({
|
||||
extension: "png",
|
||||
size: 512
|
||||
})
|
||||
}
|
||||
]);
|
||||
const msg = await channel.send({
|
||||
embeds: [embed]
|
||||
});
|
||||
await msg.react("🎉");
|
||||
})
|
||||
.setColor(client.config.embed.color)
|
||||
.setFooter({
|
||||
text: client.config.embed.footer
|
||||
})
|
||||
.addFields([
|
||||
{
|
||||
name: client.translate("economy/birthdate:HAPPY_BIRTHDAY"),
|
||||
value: client.translate("economy/birthdate:HAPPY_BIRTHDAY_MESSAGE", {
|
||||
name: user.username,
|
||||
user: user.id,
|
||||
age: `**${age}** ${client.getNoun(age, client.translate("misc:NOUNS:AGE:1"), client.translate("misc:NOUNS:AGE:2"), client.translate("misc:NOUNS:AGE:5"))}`
|
||||
})
|
||||
}
|
||||
]);
|
||||
|
||||
const msg = await channel.send({
|
||||
embeds: [embed]
|
||||
});
|
||||
await msg.react("🎉");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -14,13 +14,16 @@ module.exports.init = function (client) {
|
|||
client.databaseCache.usersReminds.set(user.id, user);
|
||||
}
|
||||
});
|
||||
|
||||
setInterval(async function () {
|
||||
const dateNow = Date.now();
|
||||
client.databaseCache.usersReminds.forEach(async (user) => {
|
||||
client.databaseCache.usersReminds.forEach(async user => {
|
||||
const dUser = client.users.cache.get(user.id);
|
||||
|
||||
if (dUser) {
|
||||
const reminds = user.reminds;
|
||||
const mustSent = reminds.filter((r) => r.sendAt < dateNow);
|
||||
|
||||
if (mustSent.length > 0) {
|
||||
mustSent.forEach(r => {
|
||||
const embed = new EmbedBuilder()
|
||||
|
@ -46,6 +49,7 @@ module.exports.init = function (client) {
|
|||
});
|
||||
user.reminds = user.reminds.filter(r => r.sendAt >= dateNow);
|
||||
user.save();
|
||||
|
||||
if (user.reminds.length === 0) client.databaseCache.usersReminds.delete(user.id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,56 +8,59 @@ module.exports.init = async function (client) {
|
|||
client.membersData
|
||||
.find({ "mute.muted": true })
|
||||
.then(members => {
|
||||
members.forEach((member) => client.databaseCache.mutedUsers.set(`${member.id}${member.guildID}`, member));
|
||||
members.forEach(member => client.databaseCache.mutedUsers.set(`${member.id}${member.guildID}`, member));
|
||||
});
|
||||
setInterval(async () => {
|
||||
client.databaseCache.mutedUsers.filter((m) => m.mute.endDate <= Date.now()).forEach(async (memberData) => {
|
||||
const guild = client.guilds.cache.get(memberData.guildID);
|
||||
if (!guild) return;
|
||||
client.databaseCache.mutedUsers.filter(m => m.mute.endDate <= Date.now())
|
||||
.forEach(async memberData => {
|
||||
const guild = client.guilds.cache.get(memberData.guildID);
|
||||
if (!guild) return;
|
||||
|
||||
const member = guild.members.cache.get(memberData.id) || await guild.members.fetch(memberData.id).catch(() => {
|
||||
memberData.mute = {
|
||||
muted: false,
|
||||
endDate: null,
|
||||
case: null
|
||||
};
|
||||
memberData.save();
|
||||
client.logger.log("[Unmuted] " + memberData.id + " cannot be found.");
|
||||
return;
|
||||
});
|
||||
|
||||
const guildData = await client.findOrCreateGuild({
|
||||
id: guild.id
|
||||
});
|
||||
|
||||
if (member) {
|
||||
guild.channels.cache.forEach(channel => {
|
||||
const permOverwrites = channel.permissionOverwrites.cache.get(member.id);
|
||||
if (permOverwrites) permOverwrites.delete();
|
||||
});
|
||||
}
|
||||
|
||||
const user = member ? member.user : await client.users.fetch(memberData.id);
|
||||
const embed = new EmbedBuilder()
|
||||
.setDescription(guild.translate("moderation/unmute:SUCCESS_CASE", {
|
||||
user: user.toString(),
|
||||
usertag: user.tag,
|
||||
count: memberData.mute.case
|
||||
}))
|
||||
.setColor("#F44271")
|
||||
.setFooter({
|
||||
text: guild.client.config.embed.footer
|
||||
});
|
||||
|
||||
const channel = guild.channels.cache.get(guildData.plugins.modlogs);
|
||||
if (channel) channel.send({ embeds: [embed] });
|
||||
|
||||
const member = guild.members.cache.get(memberData.id) || await guild.members.fetch(memberData.id).catch(() => {
|
||||
memberData.mute = {
|
||||
muted: false,
|
||||
endDate: null,
|
||||
case: null
|
||||
};
|
||||
memberData.save();
|
||||
client.logger.log("[unmute] " + memberData.id + " cannot be found.");
|
||||
return null;
|
||||
|
||||
client.databaseCache.mutedUsers.delete(`${memberData.id}${memberData.guildID}`);
|
||||
await memberData.save();
|
||||
});
|
||||
|
||||
const guildData = await client.findOrCreateGuild({
|
||||
id: guild.id
|
||||
});
|
||||
|
||||
if (member) {
|
||||
guild.channels.cache.forEach((channel) => {
|
||||
const permOverwrites = channel.permissionOverwrites.cache.get(member.id);
|
||||
if (permOverwrites) permOverwrites.delete();
|
||||
});
|
||||
}
|
||||
const user = member ? member.user : await client.users.fetch(memberData.id);
|
||||
const embed = new EmbedBuilder()
|
||||
.setDescription(guild.translate("moderation/unmute:SUCCESS_CASE", {
|
||||
user: user.toString(),
|
||||
usertag: user.tag,
|
||||
count: memberData.mute.case
|
||||
}))
|
||||
.setColor("#F44271")
|
||||
.setFooter({
|
||||
text: guild.client.config.embed.footer
|
||||
});
|
||||
const channel = guild.channels.cache.get(guildData.plugins.modlogs);
|
||||
if (channel) channel.send({ embeds: [embed] });
|
||||
|
||||
memberData.mute = {
|
||||
muted: false,
|
||||
endDate: null,
|
||||
case: null
|
||||
};
|
||||
|
||||
client.databaseCache.mutedUsers.delete(`${memberData.id}${memberData.guildID}`);
|
||||
await memberData.save();
|
||||
});
|
||||
}, 1000);
|
||||
};
|
1
languages/en-US/README.txt
Normal file
1
languages/en-US/README.txt
Normal file
|
@ -0,0 +1 @@
|
|||
Когда-нибудь тут будет перевод на английский. Сейчас в нём нет смысла
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Add a custom command!",
|
||||
"USAGE": "addcommand [name] [answer]",
|
||||
"EXAMPLES": "addcommand hello Hello {user}! How are you?",
|
||||
"MISSING_NAME": "Please provide a command name!",
|
||||
"MISSING_ANSWER": "Please provide a command answer!",
|
||||
"SUCCESS": "Command **{{commandName}}** added!"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Add an emoji to the server!",
|
||||
"USAGE": "addemoji [image-url] [name]",
|
||||
"EXAMPLES": "addemoji https://via.placeholder.com/150 test-emoji",
|
||||
"MISSING_URL": "Please provide an image URL!",
|
||||
"MISSING_NAME": "Please provide an emoji name!",
|
||||
"INVALID_NAME": "The length of the emoji name must be between 2 and 32!",
|
||||
"SUCCESS": "{{emoji}} added!",
|
||||
"ERROR": "{{emoji}} couldn't be added. Check if your server still has space for new emojis!"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Toggle Discord invites automatic deletion",
|
||||
"USAGE": "automod [on/off] (#channel)",
|
||||
"EXAMPLES": "automod on\nautomod off #general\nautomod 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 `automod off #channel` to ignore a channel!*",
|
||||
"DISABLED_CHANNEL": "Auto-moderation will no longer be performed in {{channel}}!",
|
||||
"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!"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Toggle autorole on the server!",
|
||||
"USAGE": "autorole [on/off] (role)",
|
||||
"EXAMPLES": "autorole on @Members\nautorole off",
|
||||
"MISSING_STATUS": "Please specify a valid value between `on` and `off`",
|
||||
"MISSING_ROLE": "Please specify a valid 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 `autorole on @YourRole` to enable it again!*",
|
||||
"SUCCESS_DISABLED": "**Autorole disabled!**\n\n:arrow_right_hook: *Send `configuration` to see the updated configuration!*"
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Manage your server backups in an efficient way!",
|
||||
"USAGE": "backup [create/load/infos]",
|
||||
"EXAMPLES": "backup create\nbackup load 558328638911545423\nbackup infos 558328638911545423",
|
||||
"MISSING_STATUS": "Select an action between: `create`, `load` and `info`!",
|
||||
"MISSING_BACKUP_ID": "Please enter a backup ID!",
|
||||
"NO_BACKUP_FOUND": "No backup found for `{{backupID}}`",
|
||||
"TIMES_UP": "Time's up! Cancelled backup loading!",
|
||||
"SUCCESS_PUBLIC": "Backup successfully created! The backup ID has been sent to you in private messages!",
|
||||
"SUCCESS_PRIVATE": "Here's your backup ID: `{{backupID}}`, use it to load your backup on an another server!",
|
||||
"CONFIRMATION": ":warning: | **Loading a backup will replace the actual server with the saved one.**\n\n:arrow_right_hook: *Answer by sending `confirm` to confirm this action!*",
|
||||
"START_LOADING": "Backup loading started!",
|
||||
"LOAD_SUCCESS": "Backup successfully loaded!",
|
||||
"TITLE_INFO": "Backup Information",
|
||||
"TITLE_ID": "ID",
|
||||
"TITLE_SERVER_ID": "Server ID",
|
||||
"TITLE_SIZE": "Size",
|
||||
"TITLE_CREATED_AT": "Created At"
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows the server configuration!",
|
||||
"USAGE": "configuration",
|
||||
"EXAMPLES": "configuration",
|
||||
"PREFIX_TITLE": "Server prefix",
|
||||
"IGNORED_CHANNELS_TITLE": "Ignored channel(s)",
|
||||
"NO_IGNORED_CHANNELS": "No ignored channels.",
|
||||
"AUTOROLE_TITLE": "Autorole",
|
||||
"AUTOROLE_CONTENT": "Role: {{roleName}}",
|
||||
"AUTOROLE_DISABLED": "Autorole disabled.",
|
||||
"WELCOME_TITLE": "Welcome",
|
||||
"WELCOME_CONTENT": "Channel: {{channel}}\nImage: {{withImage}}",
|
||||
"WELCOME_DISABLED": "Welcome messages disabled.",
|
||||
"GOODBYE_TITLE": "Goodbye",
|
||||
"GOODBYE_CONTENT": "Channel: {{channel}}\nImage: {{withImage}}",
|
||||
"GOODBYE_DISABLED": "Goodbye messages disabled.",
|
||||
"SPECIAL_CHANNELS": "Special channels",
|
||||
"MODLOGS": "Moderation logs: *{{channel}}*",
|
||||
"BIRTHDAYS": "Birthdays announcements: *{{channel}}*",
|
||||
"SUGGESTIONS": "Suggestions: *{{channel}}*",
|
||||
"REPORTS": "Reports: *{{channel}}*",
|
||||
"AUTOMOD_TITLE": "Auto-moderation:",
|
||||
"AUTOMOD_CONTENT": "Auto-moderation enabled.\n*Ignored channels: {{channels}}*",
|
||||
"AUTOMOD_DISABLED": "Auto-moderation disabled.",
|
||||
"DASHBOARD_TITLE": "Edit your configuration:",
|
||||
"DASHBOARD_CONTENT": "Click here to go on the dashboard!",
|
||||
"AUTO_SANCTIONS": "Automatic sanctions",
|
||||
"KICK_CONTENT": "Kick: After **{{count}}** warnings.",
|
||||
"KICK_NOT_DEFINED": "Kick: Not defined.",
|
||||
"BAN_CONTENT": "Ban: After **{{count}}** warnings.",
|
||||
"BAN_NOT_DEFINED": "Ban: Not defined."
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Remove a custom command!",
|
||||
"USAGE": "delcommand [name-of-the-command]",
|
||||
"EXAMPLES": "delcommand hey",
|
||||
"MISSING_NAME": "Please enter a valid custom command name!",
|
||||
"UNKNOWN_COMMAND": "The command {{commandName}} doesn't exist!",
|
||||
"SUCCESS": "The {{commandName}} command has been removed from the server!"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Toggle moderation commands auto deletion!",
|
||||
"USAGE": "deletemod [on/off]",
|
||||
"EXAMPLES": "deletemod on",
|
||||
"MISSING_STATUS": "You must specify `on` or `off`",
|
||||
"ENABLED": "Automatic moderation commands deletion!",
|
||||
"DISABLED": "Automatic moderation commands deletion disabled!"
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Toggle goodbye messages!",
|
||||
"USAGE": "goodbye",
|
||||
"EXAMPLES": "goodbye",
|
||||
"MISSING_STATUS": "You must specify an action between `edit` and `off`",
|
||||
"DEFAULT_MESSAGE": "Goodbye {user}! We're now {membercount} without you... :'(",
|
||||
"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_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_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!",
|
||||
"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_NB": "- {{memberCount}}th member!",
|
||||
"TITLE": "GOODBYE"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Toggle commands in a channel",
|
||||
"USAGE": "ignore [channel]",
|
||||
"EXAMPLES": "ignore #channel",
|
||||
"ALLOWED": "Commands are now allowed in {{channel}}!",
|
||||
"IGNORED": "Commands are now forbidden in {{channel}}!"
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Change user's XP, level, credits or bank!",
|
||||
"USAGE": "set [level/xp/credits/bank] [@user] [value]",
|
||||
"EXAMPLES": "set level @Jonny_Bro#4226 10",
|
||||
"INVALID_MEMBER": "You must mention the user!",
|
||||
"NO_STATUS": "Select a parameter: `level`, `xp`, `credits` or `bank`",
|
||||
"BOT_USER": "Bots don't have a profile!",
|
||||
"INVALID_AMOUNT": "Enter a new value!",
|
||||
"SUCCESS_LEVEL": "**{{username}}**'s level was changed to **{{amount}}**!",
|
||||
"SUCCESS_XP": "**{{username}}**'s XP was changed to **{{amount}}**!",
|
||||
"SUCCESS_CREDITS": "**{{username}}**'s credits was changed to **{{amount}}**!",
|
||||
"SUCCESS_BANK": "**{{username}}**'s bank was changed to **{{amount}}**!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Set the birthdays announcements channel!",
|
||||
"USAGE": "setbirthdays (#channel)",
|
||||
"EXAMPLES": "setbirthdays #birthdays\nsetbirthdays",
|
||||
"SUCCESS_ENABLED": "Birthdays announcements will be sent in **{{channel}}**!",
|
||||
"SUCCESS_DISABLED": "Birthdays announcements disabled!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Change the server language!",
|
||||
"USAGE": "setlang [language]",
|
||||
"EXAMPLES": "setlang french\nsetlang english",
|
||||
"MISSING_LANG": "Please enter a valid language between theses: {{list}}",
|
||||
"SUCCESS": ":flag_us: The language of this server is now **{{lang}}**!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Set the moderation logs channel!",
|
||||
"USAGE": "setmodlogs (#channel)",
|
||||
"EXAMPLES": "setmodlogs #modlogs\nsetmodlogs",
|
||||
"SUCCESS_ENABLED": "Moderation logs will be sent in **{{channel}}**!",
|
||||
"SUCCESS_DISABLED": "Moderation logs channel deleted!"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Set the server prefix!",
|
||||
"USAGE": "setprefix [prefix]",
|
||||
"EXAMPLES": "setprefix +",
|
||||
"MISSING_PREFIX": "Please enter a valid prefix!",
|
||||
"TOO_LONG": "The prefix shouldn't exceed 5 characters!",
|
||||
"SUCCESS": "The bot prefix has been set to ``!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Set the reports channel!",
|
||||
"USAGE": "setreports (#channel)",
|
||||
"EXAMPLES": "setreports #reports\nsetreports",
|
||||
"SUCCESS_ENABLED": "Reports will be sent in **{{channel}}**!",
|
||||
"SUCCESS_DISABLED": "Reports channel deleted!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Set the suggestions channel!",
|
||||
"USAGE": "setsuggests (#channel)",
|
||||
"EXAMPLES": "setsuggests #suggestions\nsetsuggests",
|
||||
"SUCCESS_ENABLED": "Suggestions will be sent in **{{channel}}**!",
|
||||
"SUCCESS_DISABLED": "Suggestions channel deleted!"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Steal emoji!",
|
||||
"USAGE": "stealemoji [emoji]",
|
||||
"EXAMPLES": "stealemoji :coolstorybob:",
|
||||
"MISSING_EMOJI": "Please provide an emoji!",
|
||||
"SUCCESS": "{{emoji}} added!",
|
||||
"ERROR": "{{emoji}} couldn't be added. Check if your server still has space for new emojis!"
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Toggle welcome messages!",
|
||||
"USAGE": "welcome",
|
||||
"EXAMPLES": "welcome",
|
||||
"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}.",
|
||||
"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_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_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!",
|
||||
"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_NB": "- {{memberCount}}th member!",
|
||||
"TITLE": "WELCOME"
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"YES": "Yes",
|
||||
"NO": "No",
|
||||
"NOT_DEFINED": "Not defined",
|
||||
"AND_MORE": "And more...",
|
||||
"AUTHOR": "Author",
|
||||
"DATE": "Date",
|
||||
"CONTENT": "Content",
|
||||
"REASON": "Reason",
|
||||
"USER": "User",
|
||||
"CREATION": "Creation",
|
||||
"MEMBERS": "Members",
|
||||
"NAME": "Name",
|
||||
"CHANNELS": "Channels",
|
||||
"ID": "ID",
|
||||
"OWNER": "Owner",
|
||||
"USERNAME": "Username",
|
||||
"STATS": "Stats",
|
||||
"ROBOT": "Robot",
|
||||
"GAME": "Game",
|
||||
"STATUS": "Status",
|
||||
"STATUS_ONLINE": "Online",
|
||||
"STATUS_OFFLINE": "Offline",
|
||||
"STATUS_IDLE": "AFK",
|
||||
"STATUS_DND": "Do not disturb",
|
||||
"ROLE": "Role",
|
||||
"ROLES": "Roles",
|
||||
"JOIN": "Join",
|
||||
"COLOR": "Color",
|
||||
"NICKNAME": "Nickname",
|
||||
"DESCRIPTION": "Description",
|
||||
"WEBSITE": "Website",
|
||||
"INVITE": "Invite",
|
||||
"SUPPORT": "Support",
|
||||
"LINKS": "Links",
|
||||
"CREDITS": "Credits",
|
||||
"LEVEL": "Level",
|
||||
"POINTS": "Points",
|
||||
"VICTORY": "Victory",
|
||||
"DEFEAT": "Defeat",
|
||||
"MODERATOR": "Moderator",
|
||||
"DURATION": "Duration",
|
||||
"EXPIRY": "Expiry",
|
||||
"TITLE": "Title",
|
||||
"SERVERS": "Servers",
|
||||
"PAGE": "Page",
|
||||
"MESSAGE": "Message",
|
||||
"PROFILE": "Profile",
|
||||
"SETTINGS": "Configuration",
|
||||
"LANGUAGE": "Language",
|
||||
"CHANNEL": "Channel",
|
||||
"APPLY": "Apply",
|
||||
"SUGGESTIONS": "Suggestions",
|
||||
"MODLOGS": "Moderation logs",
|
||||
"NO_CHANNEL": "No channel",
|
||||
"REPORTS": "Reports",
|
||||
"BIRTHDAYS": "Birthdays",
|
||||
"DISCONNECT": "Disconnect"
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
"FIRST_LOGIN": "{{user}} logged on to the dashboard for the first time! :tada:",
|
||||
"NOT_FOUND": "Oops! Page not found.",
|
||||
"NOT_FOUND_CONTENT": "We did not find the page you were looking for. In the meantime, you can go back to the dashboard or try using the search form.",
|
||||
"ERR_OCCURRED": "Oops! Something went wrong.",
|
||||
"ERR_OCCURRED_CONTENT": "We will try to rectify this immediately. In the meantime, you can go back to the selector or try using the search form.",
|
||||
"SEARCH": "Search for servers...",
|
||||
"SERVERS_LIST": "Servers list",
|
||||
"SERVERS_MANAGEMENT": "Servers management",
|
||||
"NO_SERVER": "No server found",
|
||||
"NO_SERVER_CONTENT": "No server to display. Make sure you are logged in with the right account and try again.",
|
||||
"BASIC_CONF": "📝 Basic configuration",
|
||||
"WELCOME_CONF": "👋 Welcome messages",
|
||||
"GOODBYE_CONF": "😢 Goodbye messages",
|
||||
"WELCOME_IMG": "👋 Welcome image",
|
||||
"GOODBYE_IMG": "😢 Goodbye image",
|
||||
"CHANNELS_CONF": "🌀 Special channels",
|
||||
"AUTOROLE_CONF": "🎖️ Autorole",
|
||||
"DISABLE_MESSAGES": "Disable messages",
|
||||
"ENABLE_MESSAGES": "Enable messages",
|
||||
"DISABLE_AUTOROLE": "Disable autorole",
|
||||
"ENABLE_AUTOROLE": "Enable autorole",
|
||||
"SELECTOR": "Selector",
|
||||
"MANAGE": "Manage"
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows your achievements list!",
|
||||
"USAGE": "achievements",
|
||||
"EXAMPLES": "achievements",
|
||||
"SEND_CMD": "Send your first command!",
|
||||
"CLAIM_SALARY": "Claim your salary 10 times!",
|
||||
"MARRY": "Find your half and marry!",
|
||||
"SLOTS": "Win 3 times in a row in slots!",
|
||||
"TIP": "Keep JaBa alive by tipping!",
|
||||
"REP": "Reach 20 reputation points!",
|
||||
"INVITE": "Invite JaBa on your server!",
|
||||
"TITLE": "🔥 Achievements",
|
||||
"PROGRESS": "Progress: {{now}}/{{total}} ({{percent}}%)"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Set the birthday date that appear on your profile",
|
||||
"USAGE": "birthdate (date)",
|
||||
"EXAMPLES": "birthdate 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`.",
|
||||
"DATE_TOO_HIGH": "More than 80 years old? :eyes:",
|
||||
"DATE_TOO_LOW": "Humm, nop! You must be born!",
|
||||
"HAPPY_BIRTHDAY": "Happy birthday!",
|
||||
"HAPPY_BIRTHDAY_MESSAGE": "Happy birthday, <@{{user}}>!",
|
||||
"SUCCESS": "Your birthday has been set on {{date}}!"
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Deposit your money in the bank",
|
||||
"USAGE": "deposit [amount]",
|
||||
"EXAMPLES": "deposit 400",
|
||||
"MISSING_AMOUNT": "Please specify an amount!",
|
||||
"NO_CREDIT": "You have no credit to deposit in the bank!",
|
||||
"NO_ENOUGH_CREDIT": "You don't have `{{money}}` credits!",
|
||||
"SUCCESS": "**{{money}}** credits deposited in the bank!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Divorce the person you are currently married to!",
|
||||
"USAGE": "divorce",
|
||||
"EXAMPLES": "divorce",
|
||||
"NOT_MARRIED": "You are not currently married!",
|
||||
"DIVORCED": "You just divorced with **{{username}}**!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows users who have the most credits, levels or reputation points!",
|
||||
"USAGE": "leaderboard [rep/level/credits]",
|
||||
"EXAMPLES": "leaderboard credits\nleaderboard level",
|
||||
"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!"
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Marry someone you love!",
|
||||
"USAGE": "marry [@member]",
|
||||
"EXAMPLES": "marry @Jonny_Bro#4226",
|
||||
"INVALID_MEMBER": "You must mention a valid member!",
|
||||
"ALREADY_MARRIED": "You are already married! First use `divorce` to divorce.",
|
||||
"ALREADY_MARRIED_USER": "The place is taken, companion! **{{username}}** is already married!",
|
||||
"YOURSELF": "You can't marry yourself!",
|
||||
"REQUEST_AUTHOR_TO_AMEMBER": "You already have a pending request to **{{username}}**!",
|
||||
"REQUEST_AMEMBER_TO_AUTHOR": "**{{username}}** has already sent you a request! Please refuse or accept it (or wait until it expires in a few minutes).",
|
||||
"REQUEST_AMEMBER_TO_MEMBER": "**{{secondUsername}}** has already sent a request to **{{firstUsername}}**!",
|
||||
"REQUEST_MEMBER_TO_AMEMBER": "**{{firstUsername}} has already sent a request to **{{secondUsername}}**! Wait until **{{secondUsername}}** accepts or refuses the request from **{{firstUsername}}** or until it expires and try again!",
|
||||
"TIMEOUT": "{{username}} did not answer... Wait until he/she is logged in and try again!",
|
||||
"SUCCESS": "🎉 Congratulations! **{{creator}}** and **{{partner}}** you are now married!",
|
||||
"DENIED": "{{creator}}, I have some bad news... {{partner}} refused your proposal.",
|
||||
"REQUEST": "{{to}}, do you agree to marry {{from}}? Answer with \"yes\" or \"no\"!",
|
||||
"BOT_USER": "It refused your proposal!"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows your credits",
|
||||
"USAGE": "money (@member)",
|
||||
"EXAMPLES": "money\nmoney @user#0000",
|
||||
"TITLE": "{{username}}'s money"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Send money to someone!",
|
||||
"USAGE": "pay [@member] [amount]",
|
||||
"EXAMPLES": "pay @Jonny_Bro#4226 100",
|
||||
"INVALID_MEMBER": "You must mention a valid member!",
|
||||
"BOT_USER": "Bots are already rich 💰!",
|
||||
"YOURSELF": "You can't pay yourself!",
|
||||
"INVALID_AMOUNT": "You must specify a valid amount",
|
||||
"ENOUGH_MONEY": "You can't afford **{{amount}}**",
|
||||
"SUCCESS": "You just paid **{{amount}}** to **{{username}}**!"
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows the mentioned user or author profile",
|
||||
"USAGE": "profile [user]",
|
||||
"EXAMPLES": "profile @Jonny_Bro#4226",
|
||||
"TITLE": "{{username}}'s profile",
|
||||
"NO_BIO": "No biography",
|
||||
"BOT_USER": "Bots don't have profile page!",
|
||||
"CASH": "💵 Cash",
|
||||
"BANK": "💳 Bank",
|
||||
"GLOBAL": "🌍 Global money",
|
||||
"MONEY": "**{{money}}** credit(s)",
|
||||
"REPUTATION": "🎩 Reputation",
|
||||
"REP_POINTS": "**{{points}}** point(s)",
|
||||
"LEVEL": "📊 Level",
|
||||
"XP": "🔮 Experience",
|
||||
"BIRTHDATE": "🎂 Birthdate",
|
||||
"NO_BIRTHDATE": "No birthdate available",
|
||||
"LOVER": "❤ Lover",
|
||||
"REGISTERED": "📅 Registered",
|
||||
"NO_LOVER": "Single",
|
||||
"ACHIEVEMENTS": "🔥 Achievements",
|
||||
"ACHIEVEMENTS_CONTENT": "Get more information with `achievements`!",
|
||||
"BIO": "🔖 Biography",
|
||||
"YOUR_PROFILE": "Your profile"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Give a reputation point to someone!",
|
||||
"USAGE": "rep [user]",
|
||||
"EXAMPLES": "rep @Jonny_Bro#4226",
|
||||
"COOLDOWN": "You have to wait {{time}} before being able to `rep` someone!",
|
||||
"INVALID_USER": "You must mention a valid user!",
|
||||
"BOT_USER": "Bots don't accept reputation points!",
|
||||
"YOURSELF": "You can't give yourself a reputation point!",
|
||||
"SUCCESS": "You just gave a reputation point to {{username}}!"
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Try to rob a member!",
|
||||
"USAGE": "rob [@member] [amount]",
|
||||
"EXAMPLES": "rob @Jonny_Bro#4226 100",
|
||||
"YOURSELF": "You can't rob yourself!",
|
||||
"MISSING_MEMBER": "You must specify a valid member to rob!",
|
||||
"MISSING_AMOUNT": "Please enter a valid amount!",
|
||||
"NOT_ENOUGH_AUTHOR": "You must have more than **{{moneyMin}}** credits to attempt this robbery (you have **{{moneyCurrent}}** credits for now)!",
|
||||
"NOT_ENOUGH_MEMBER": "You can't try your robbery because **{{username}}** doesn't have as many credits in cash!",
|
||||
"COOLDOWN": "🕵️ **{{username}}** is on guard.... Wait a while and try again!",
|
||||
"ROB_WON_1": "🎉 | Congratulations! The police weren't fast enough to stop you from robbing **{{money}}** credits to **{{username}}**!",
|
||||
"ROB_WON_2": "😕 | **{{username}}** ? Bad news. You just got robbed **{{money}}** credits!",
|
||||
"ROB_LOSE_1": "🚔 | The police caught you in the act, impossible to deny, your fine is **{{fine}}** credits. **{{offset}}** offset credits will be paid to **{{username}}**.",
|
||||
"ROB_LOSE_2": "🚓 | Bad news.... **{{username}}** called the police in time. Your fine is **{{fine}}** credits and **{{offset}}** offset credits will be paid to **{{username}}**."
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Change your biography!",
|
||||
"USAGE": "setbio [biography]",
|
||||
"EXAMPLES": "setbio My name is Jake, I'm 19 and I love programming!",
|
||||
"MISSING": "You must specify a biography!",
|
||||
"MAX_CHARACT": "Your biography must not exceed 500 characters!",
|
||||
"SUCCESS": "Your biography has been modified!"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "The JaBa casino",
|
||||
"USAGE": "slots [amount]",
|
||||
"EXAMPLES": "slots\nslots 10",
|
||||
"DEFEAT": "**{{username}}** used {{money}} credit(s) and lost everything.",
|
||||
"VICTORY": "**{{username}}** used {{money}} credit(s) and won {{won}} credit(s)!",
|
||||
"NOT_ENOUGH": "You need at least **{{money}}** credit(s)."
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Withdraw money!",
|
||||
"USAGE": "withdraw [amount]",
|
||||
"EXAMPLES": "withdraw 400",
|
||||
"MISSING_AMOUNT": "Please specify an amount to be withdrawn!",
|
||||
"NO_CREDIT": "You don't have any credit in your bank!",
|
||||
"NOT_ENOUGH": "You need at least `{{money}}` credit(s)!",
|
||||
"SUCCESS": "**{{money}}** credit(s) withdrawn!"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Claim your salary!",
|
||||
"USAGE": "work",
|
||||
"EXAMPLES": "work",
|
||||
"COOLDOWN": "You have to wait {{time}} before working again!",
|
||||
"AWARD": "Complete the word AWARD to win 200 bonus credits!",
|
||||
"SALARY": "Salary",
|
||||
"SALARY_CONTENT": "You've gained {{won}} credits!",
|
||||
"STREAK": "Streak",
|
||||
"STREAK_CONTENT": "🎉 You've won 200 bonus credits!"
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "I'm telling you the truth!",
|
||||
"USAGE": "8ball [question]",
|
||||
"EXAMPLES": "8ball Is JaBa the best Discord bot?",
|
||||
"ERR_QUESTION": "You must enter a question!",
|
||||
"RESPONSE_1": "It is certain",
|
||||
"RESPONSE_2": "It is decidedly so",
|
||||
"RESPONSE_3": "Without a doubt",
|
||||
"RESPONSE_4": "Yes — definitely",
|
||||
"RESPONSE_5": "You may rely on it",
|
||||
"RESPONSE_6": "As I see it, yes",
|
||||
"RESPONSE_7": "Most likely",
|
||||
"RESPONSE_8": "Outlook good",
|
||||
"RESPONSE_9": "Signs point to yes",
|
||||
"RESPONSE_10": "Yes",
|
||||
"RESPONSE_11": "Reply hazy, try again",
|
||||
"RESPONSE_12": "Ask again later",
|
||||
"RESPONSE_13": "Better not tell you now",
|
||||
"RESPONSE_14": "Cannot predict now",
|
||||
"RESPONSE_15": "Concentrate and ask again",
|
||||
"RESPONSE_16": "Don't count on it",
|
||||
"RESPONSE_17": "My reply is no",
|
||||
"RESPONSE_18": "My sources say no",
|
||||
"RESPONSE_19": "Outlook not so good",
|
||||
"RESPONSE_20": "Very doubtful"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Turn your text into ascii characters!",
|
||||
"USAGE": "ascii [text]",
|
||||
"EXAMPLES": "ascii Hello world!",
|
||||
"TEXT_MISSING": "Please enter a valid text (less than 20 characters)!"
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Helps you choose between the given choices!",
|
||||
"USAGE": "choice [choice1/choice2/etc...]",
|
||||
"EXAMPLES": "choice Fire/Wind/Water",
|
||||
"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!",
|
||||
"PROGRESS": "Choice being made...",
|
||||
"DONE": "Here's my choice:"
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Start a Findwords party, a game where you have to find words!",
|
||||
"USAGE": "findwords",
|
||||
"EXAMPLES": "findwords",
|
||||
"INVALID_WORD": "{{member}} | Your word is not valid!",
|
||||
"GAME_STARTING": ":timer: | The game starts in 10 seconds!",
|
||||
"FIND_WORD": "20 seconds to find a word containing \"__**{{word}}**__\"!",
|
||||
"WORD_FOUND": "Well done {{winner}}! You were the fastest to enter a valid word!",
|
||||
"GAME_STATS": "🎉 | {{winner}} won the game!\n\n**Stats:**\n*-* __**Duration**__: {{time}}\n*-* __**Participants**__: {{participants}} ({{participantCount}})**Stats of the game: **\n__**Duration**__: {{duration}}\n__**Number of participants**__ : {{participantCount}}\n__**Participants**__ : \n{{participantList}}",
|
||||
"CREDITS": "{{winner}} wins 150 credits! 🎉",
|
||||
"NO_WINNER_ALL": "No words founds, no one wins!",
|
||||
"NO_WINNER": "No words founds, no one wins!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "I roll the dice for you!",
|
||||
"USAGE": "flip",
|
||||
"EXAMPLES": "flip",
|
||||
"HEADS": "🎲 | Heads!",
|
||||
"TAILS": "🎲 | Tails!"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generate a LMGTFY link with your search",
|
||||
"USAGE": "lmg [search]",
|
||||
"EXAMPLES": "lmg How to create a Discord bot?",
|
||||
"MISSING": "You must specify a search!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Love calculator",
|
||||
"USAGE": "lovecalc [@member1] (@member2)",
|
||||
"EXAMPLES": "lovecalc @Jonny_Bro#4226\nlovecalc @Jonny_Bro#4226 @JaBa#9042",
|
||||
"MISSING": "You must mention two members!",
|
||||
"CONTENT": "There's **{{percent}}%** of love between **{{firstUsername}}** and **{{secondUsername}}**!\n**Congrats!**"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Find the right number!",
|
||||
"USAGE": "number",
|
||||
"EXAMPLES": "number",
|
||||
"GAME_START": "Number chosen, you can start!",
|
||||
"BIG": "{{user}} | My number is **bigger** than `{{number}}`!",
|
||||
"SMALL": "{{user}} | My number is **smaller** than `{{number}}`!",
|
||||
"WON": "{{winner}} has won 100 credits!",
|
||||
"DEFEAT": "No one could find the number! It was **{{number}}**!",
|
||||
"GAME_STATS": "🎉 | {{winner}} found the correct number! It was __**{{number}}**__!\n\n**Stats:**\n*-* __**Duration**__: {{time}}\n*-* __**Participants**__: {{participants}} ({{participantCount}})",
|
||||
"GAME_RUNNING": "A game is already running on this server!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Start activity in voice channel!",
|
||||
"USAGE": "activity (activity)",
|
||||
"EXAMPLES": "activity\nactivity chess",
|
||||
"TITLE": "All available activities",
|
||||
"FOOTER": "JaBa | Discord Together"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Calculator able to solve complex operations and to convert units!",
|
||||
"USAGE": "calc [calculation]",
|
||||
"EXAMPLES": "10*5+sin(3)\ncalc 10cm to m",
|
||||
"MISSING_CALC": "Please enter a calculation!",
|
||||
"INVALID_CALC": "Please enter a **valid** calculation!",
|
||||
"TITLE": "Calculator",
|
||||
"CALCULATION": "Calculation",
|
||||
"RESULT": "Result"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows JaBa's v2 Github repository information!",
|
||||
"USAGE": "github",
|
||||
"EXAMPLES": "github",
|
||||
"CLICK_HERE": "Click here to access the github of JaBa",
|
||||
"LANGUAGE": "Programming language",
|
||||
"OWNER": "JaBa's repository owner"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Upload your text on hastebin!",
|
||||
"USAGE": "hastebin [text]",
|
||||
"EXAMPLES": "hastebin Hello World!",
|
||||
"MISSING_TEXT": "Please enter a valid text!",
|
||||
"SUCCESS": "Upload complete!"
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Show commands list or specific command help.",
|
||||
"USAGE": "help (command)",
|
||||
"EXAMPLES": "help\nhelp ping",
|
||||
"CUSTOM": "A custom command doesn't have help page.",
|
||||
"NOT_FOUND": "`{{search}}` is not a valid command",
|
||||
"FIELD_USAGE": "Usage",
|
||||
"FIELD_DESCRIPTION": "Description",
|
||||
"FIELD_ALIASES": "Alias",
|
||||
"FIELD_EXAMPLES": "Examples",
|
||||
"FIELD_PERMISSIONS": "Permissions",
|
||||
"NO_ALIAS": "No alias",
|
||||
"CMD_TITLE": "{{cmd}} help",
|
||||
"INFO": "● To get help on a specific command type `help <command>`!",
|
||||
"CUSTOM_COMMANDS": "Custom commands",
|
||||
"TITLE": "{{name}} | Commands",
|
||||
"NO_REQUIRED_PERMISSION": "No specific permission is required to execute this command."
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows the number of people you have invited to the server!",
|
||||
"USAGE": "invitations (@member)",
|
||||
"EXAMPLES": "invitations\ninvitations @Jonny_Bro#4226",
|
||||
"NOBODY_AUTHOR": "You didn't invite anyone to the server!",
|
||||
"NOBODY_MEMBER": "{{member}} didn't invite anyone to the server!",
|
||||
"CODE": "**{{code}}** ({{uses}} uses) | {{channel}}",
|
||||
"TITLE": "Information about the invitations of {{member}} on {{guild}}",
|
||||
"FIELD_INVITED": "👥 Invited Members",
|
||||
"FIELD_CODES": "🔑 Codes",
|
||||
"FIELD_MEMBERS": "{{total}} members",
|
||||
"TRACKER": "Invites Tracker"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows JaBa links!",
|
||||
"USAGE": "invite (copy)",
|
||||
"EXAMPLES": "invite\ninvite copy",
|
||||
"LINKS": "JaBa links",
|
||||
"CLICK": "[**Click**]({{link}})",
|
||||
"TIP": "Send `invite copy` to be able to copy the invite link!",
|
||||
"ADD": "Invite JaBa",
|
||||
"SUPPORT": "Support developer"
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows information about a Minecraft server!",
|
||||
"USAGE": "minecraft [ip]",
|
||||
"EXAMPLES": "minecraft mc.hypixel.net",
|
||||
"MISSING_IP": "Please enter a valid IP address!",
|
||||
"FAILED": "This server is offline or blocking access!",
|
||||
"ONLINE": "Online",
|
||||
"OFFLINE": "Offline",
|
||||
"PLAYERS": "{{count}} player(s)",
|
||||
"FIELD_NAME": "Informations about {{ip}}",
|
||||
"FIELD_VERSION": "Version",
|
||||
"FIELD_CONNECTED": "Currently connected",
|
||||
"FIELD_MAX": "Maximum",
|
||||
"FIELD_STATUS": "Status",
|
||||
"FIELD_IP": "Full IP"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Displays the member's permissions in the channel",
|
||||
"USAGE": "permissions (@member)",
|
||||
"EXAMPLES": "permissions\npermissions @Jonny_Bro#4226",
|
||||
"TITLE": "{{user}}'s permissions in {{channel}}"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Show bot's ping",
|
||||
"USAGE": "ping",
|
||||
"EXAMPLES": "ping",
|
||||
"CONTENT": "Pong! My ping is `{{ping}}` ms."
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Quote a message in the channel!",
|
||||
"USAGE": "quote [messageID] [channel]",
|
||||
"EXAMPLES": "quote 596018101921906698\nquote 596018101921906698 573508780520898581\nquote 596018101921906698 #blabla",
|
||||
"NO_MESSAGE_ID": "No message has this ID.",
|
||||
"NO_CHANNEL_ID": "No channel has this ID.",
|
||||
"MISSING_ID": "Please enter a valid message ID to quote!"
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Add a new personal reminder",
|
||||
"USAGE": "remindme [message]",
|
||||
"EXAMPLES": "remindme 24h Work command\nremindme 3m Take the pasta out of the pan!",
|
||||
"MISSING_MESSAGE": "You must enter a message!",
|
||||
"SAVED": "Reminder saved, you will receive a message at the end of the time!",
|
||||
"TITLE": "JaBa Reminder",
|
||||
"CREATED": "Message created {{time}}"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Send your report to the channel defined for them!",
|
||||
"USAGE": "report [@user] [reason]",
|
||||
"EXAMPLES": "report @Jonny_Bro#4226 Breaking the rules",
|
||||
"MISSING_CHANNEL": "No report channel defined!",
|
||||
"MISSING_REASON": "Please enter a report reason!",
|
||||
"MISSING_USER": "Please mention the user you want report!",
|
||||
"INVALID_USER": "You can't report yourself",
|
||||
"SUCCESS": "Your report has been sent in {{channel}}!",
|
||||
"TITLE": "Report - {{user}}"
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows information about the server!",
|
||||
"USAGE": "serverinfo [ID/Name]",
|
||||
"EXAMPLES": "serverinfo JaBa\nserverinfo",
|
||||
"AFK_CHANNEL": "AFK channel",
|
||||
"NO_AFK_CHANNEL": "No AFK channel",
|
||||
"MEMBERS": "{{count}} members",
|
||||
"BOTS": "{{count}} bots",
|
||||
"BOOSTS": "Boosts count",
|
||||
"TEXT_CHANNELS": "{{count}} text",
|
||||
"VOICE_CHANNELS": "{{count}} voice",
|
||||
"CAT_CHANNELS": "{{count}} categories"
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Become AFK (members who mention you will receive a message)",
|
||||
"USAGE": "setafk [reason]",
|
||||
"EXAMPLES": "setafk I'm eating =)",
|
||||
"MISSING_REASON": "Please specify the reason for your AFK status!",
|
||||
"SUCCESS": "You're now AFK (reason: {{reason}})",
|
||||
"DELETED": "**{{username}}**, your AFK status has just been deleted!",
|
||||
"IS_AFK": "**{{user}}** is currently AFK, reason:\n```{{reason}}```"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Make your links shorter!",
|
||||
"USAGE": "shorturl [url]",
|
||||
"EXAMPLES": "shorturl https://google.fr",
|
||||
"MISSING_URL": "Please enter a valid URL!"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Pick a random member on the server!",
|
||||
"USAGE": "someone",
|
||||
"EXAMPLES": "someone"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows the server staff members list!",
|
||||
"USAGE": "staff",
|
||||
"EXAMPLES": "staff",
|
||||
"TITLE": "{{guild}} staff",
|
||||
"ADMINS": "Administrators",
|
||||
"NO_ADMINS": "No administrators",
|
||||
"MODS": "Moderators",
|
||||
"NO_MODS": "No moderators"
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows the bot stats!",
|
||||
"USAGE": "stats",
|
||||
"EXAMPLES": "stats",
|
||||
"COUNTS_TITLE": "• __Statistics__",
|
||||
"COUNTS_CONTENT": "`Servers: {{servers}}`\n`Users: {{users}}`",
|
||||
"VERSIONS_TITLE": "• __Using__",
|
||||
"RAM_TITLE": "• __RAM__",
|
||||
"ONLINE_TITLE": "• __Online__",
|
||||
"ONLINE_CONTENT": "Online for {{time}}",
|
||||
"MUSIC_TITLE": "• __Music__",
|
||||
"MUSIC_CONTENT": "Playing music on `{{count}}` servers",
|
||||
"CREDITS_TITLE": ":heart: • __Acknowledgements & credits__",
|
||||
"CREDITS_CONTENT": "Thanks to [Icons8](https://icons8.com/) for almost all the emojis!\n__**Donators**__:\n{{donators}}\n__**Translators**__:\n{{translators}}",
|
||||
"LINKS_TITLE": "• __Links__",
|
||||
"MADE": "JaBa is an bot developed by @Jonny_Bro#4226!"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Send your suggestion to the defined channel!",
|
||||
"USAGE": "suggest [message]",
|
||||
"EXAMPLES": "suggest New channel #offtopic please",
|
||||
"MISSING_CHANNEL": "No suggestion channel defined!",
|
||||
"MISSING_CONTENT": "Please enter a suggestion!",
|
||||
"TITLE": "Suggestion - {{user}}"
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Translate your text!",
|
||||
"USAGE": "translate [language] [message]",
|
||||
"EXAMPLES": "translate russian How are you ?",
|
||||
"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 `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!"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows user information!",
|
||||
"USAGE": "userinfo (@user/userID)",
|
||||
"EXAMPLES": "userinfo\nuserinfo @Jonny_Bro#4226\nuserinfo 281361531411890186",
|
||||
"INVALID_USER": "No user on Discord has the `{{search}}` ID!",
|
||||
"NO_GAME": "Not playing",
|
||||
"NO_ROLE": "No role",
|
||||
"NO_NICKNAME": "No nickname",
|
||||
"MORE_ROLES": "and {{count}} others roles"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"approved\" image",
|
||||
"USAGE": "approved (@member)",
|
||||
"EXAMPLES": "approved\napproved @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Shows the avatar of the mentionned member",
|
||||
"USAGE": "avatar (@member)",
|
||||
"EXAMPLES": "avatar\navatar @Jonny_Bro#4226\navatar link"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"batslap\" image",
|
||||
"USAGE": "batslap (@member1) (@member2)",
|
||||
"EXAMPLES": "batslap\nbatslap @Jonny_Bro#4226 @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"beautiful\" image",
|
||||
"USAGE": "beautiful (@member)",
|
||||
"EXAMPLES": "beautiful\nbeautiful @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"love\" image using the Nekobot API",
|
||||
"USAGE": "love [@member1] (@member2)",
|
||||
"EXAMPLES": "love @Jonny_Bro#4226\nlove @Jonny_Bro#4226 @Marty#0303"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
z{
|
||||
"DESCRIPTION": "Generates a \"dictator\" image",
|
||||
"USAGE": "dictator (@member)",
|
||||
"EXAMPLES": "dictator\ndictator @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"brazzers\" image",
|
||||
"USAGE": "brazzers (@member)",
|
||||
"EXAMPLES": "brazzers\nbrazzers @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"captcha\" image using the Nekobot API",
|
||||
"USAGE": "captcha (@member)",
|
||||
"EXAMPLES": "captcha\ncaptcha @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"challenger\" image",
|
||||
"USAGE": "challenger (@member)",
|
||||
"EXAMPLES": "challenger\nchallenger @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"Clyde\" message image using the Nekobot API",
|
||||
"USAGE": "clyde [text]",
|
||||
"EXAMPLES": "clyde Discord will close on December 11, 2002. Goodbye.",
|
||||
"MISSING_TEXT": "Please specify the message text!"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"burn\" image",
|
||||
"USAGE": "burn (@member)",
|
||||
"EXAMPLES": "burn\nburn @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"facepalm\" image using canvas",
|
||||
"USAGE": "facepalm (@member)",
|
||||
"EXAMPLES": "facepalm\nfacepalm @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"fire\" image using Amethyste API",
|
||||
"USAGE": "fire (@member)",
|
||||
"EXAMPLES": "fire\nfire @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"jail\" image using Amethyste API",
|
||||
"USAGE": "jail (@member)",
|
||||
"EXAMPLES": "jail\njail @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"bed\" image",
|
||||
"USAGE": "bed [@member1] (@member2)",
|
||||
"EXAMPLES": "bed @Jonny_Bro#4226\nbed @Jonny_Bro#4226 @Marty#0303"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"mission\" image using Amethyste API",
|
||||
"USAGE": "mission (@member)",
|
||||
"EXAMPLES": "mission\nmission @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"phcomment\" image",
|
||||
"USAGE": "phcomment (@member) [text]",
|
||||
"EXAMPLES": "phcomment Hi!\nphcomment @Jonny_Bro#4226 Hi!",
|
||||
"MISSING_TEXT": "Please specify the comment text!"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a QR code image from a given text",
|
||||
"USAGE": "qrcode [text]",
|
||||
"EXAMPLES": "qrcode Hello",
|
||||
"MISSING_TEXT": "Please specify the QR code source text!",
|
||||
"SUCCESS": "Here's your QRCode!"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"rip\" image using Nekobot API",
|
||||
"USAGE": "rip (@member)",
|
||||
"EXAMPLES": "rip\nrip @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"scary\" image using Nekobot API",
|
||||
"USAGE": "scary (@member)",
|
||||
"EXAMPLES": "scary\nscary @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"tobecontinued\" image using Nekobot API",
|
||||
"USAGE": "tobecontinued (@member)",
|
||||
"EXAMPLES": "tobecontinued\ntobecontinued @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"trash\" image",
|
||||
"USAGE": "trash (@member)",
|
||||
"EXAMPLES": "trash\ntrash @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"triggered\" image using Nekobot API",
|
||||
"USAGE": "triggered (@member)",
|
||||
"EXAMPLES": "triggered\ntriggered @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"tweet\" image using Nekobot API",
|
||||
"USAGE": "tweet [@twitter_username] [content]",
|
||||
"EXAMPLES": "tweet @ElonMusk Hello",
|
||||
"MISSING_USERNAME": "You have to enter someone's twitter nickname!",
|
||||
"MISSING_TEXT": "You have to specify the tweet content!",
|
||||
"SUCCESS": "New tweet by {{user}}:"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"wanted\" image using Nekobot API",
|
||||
"USAGE": "wanted (@member)",
|
||||
"EXAMPLES": "wanted\nwanted @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"wasted\" image using Nekobot API",
|
||||
"USAGE": "wasted (@member)",
|
||||
"EXAMPLES": "wasted\nwasted @Jonny_Bro#4226"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Generates a \"ytcomment\" image",
|
||||
"USAGE": "ytcomment (@member) [text]",
|
||||
"EXAMPLES": "ytcomment Hi!\nytcomment @Jonny_Bro#4226 Hi!"
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"ERR_OCCURRED": "Something went wrong... Please retry again later!",
|
||||
"PLEASE_WAIT": "Please wait a few seconds...",
|
||||
"COMMAND_DISABLED": "This command is currently disabled!",
|
||||
"CLICK_HERE": "Click here to start {{activity}} in {{channel}}",
|
||||
"TIMES_UP": "Time's up! Please send the command again!",
|
||||
"INVALID_YES_NO": "You must send \"yes\" or \"no\"!",
|
||||
"INVALID_CHANNEL": "Please specify a valid channel!",
|
||||
"INVALID_TIME": "You must enter a valid time! Available units: `s`, `m`, `h` or `d`",
|
||||
"INVALID_NUMBER": "Please specify a valid number!",
|
||||
"INVALID_NUMBER_RANGE": "Please specify a valid number between **{{min}}** and **{{max}}**!",
|
||||
"STATS_FOOTER": "● [Dashboard]({{dashboardLink}})\n● [Docs]({{docsLink}})\n● [Invite JaBa]({{inviteLink}})\n● [Support]({{donateLink}}) (for other payment methods send DM to <@{{owner}}>)",
|
||||
"BOT_USER": "This user is a bot!",
|
||||
"NO_PERMS": "You must have an administration rights to perform this action!",
|
||||
"NO_REASON_PROVIDED": "No reason provided",
|
||||
"NO_USER_FOUND_ID": "No user on Discord has the ID `{{id}}`!",
|
||||
"HELLO_SERVER": "Hello **{{username}}**, my prefix on this server is ``. Use `help` to get the list of the commands!",
|
||||
"HELLO_DM": "Hello, as you are currently in direct message you don't need to add a prefix before command name.",
|
||||
"GUILD_ONLY": "This command is only available on a server!",
|
||||
"MISSING_BOT_PERMS": "I need the following permissions to execute this command: {{list}}",
|
||||
"MISSING_MEMBER_PERMS": "You need the following permissions to execute this command: {{list}}",
|
||||
"RESTRICTED_CHANNEL": "Commands are not allowed in {{channel}}!",
|
||||
"EVERYONE_MENTION": "You are not allowed to mention everyone or here in the commands.",
|
||||
"NSFW_COMMAND": "You must execute this command in a channel that allows NSFW!",
|
||||
"OWNER_ONLY": "Only the owner of JaBa can do these commands!",
|
||||
"COOLDOWNED": "You must wait **{{seconds}}** second(s) to be able to run this command again!",
|
||||
"CANNOT_DM": "I don't have permission to send you private messages... Please update your privacy settings!"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Send an announcement in the current channel!",
|
||||
"USAGE": "announcement [text]",
|
||||
"EXAMPLES": "announcement New staff member!",
|
||||
"MISSING_TEXT": "You must enter the announcement text!",
|
||||
"TOO_LONG": "Your text should be shorter than 1030 characters!",
|
||||
"MENTION_PROMPT": "Would you like to add a mention to your message?\nAnswer by sending `yes` or `no`!",
|
||||
"MENTION_TYPE_PROMPT": "Choose to mention `@`everyone by typing `every` or to mention `@`here by typing `here`!",
|
||||
"TITLE": "📢 Announcement:"
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue