From ddfa015e689a554304990e22f4e555d46e05d88f Mon Sep 17 00:00:00 2001 From: LilShieru Date: Sat, 26 Jun 2021 23:47:27 +0700 Subject: [PATCH] Added some language strings for multi language support --- commands/account.js | 64 +++++++++++++++---------------- commands/addrole.js | 8 ++-- commands/arrest.js | 8 ++-- commands/baka.js | 4 +- commands/balance.js | 16 ++++---- commands/ban.js | 28 +++++++------- commands/battle.js | 34 ++++++++--------- commands/bite.js | 4 +- commands/bonk.js | 4 +- commands/boop.js | 4 +- commands/bully.js | 4 +- commands/buy.js | 26 ++++++------- commands/cert.js | 2 +- commands/coffindance.js | 4 +- commands/createrole.js | 2 +- commands/daily.js | 4 +- commands/deleterole.js | 2 +- commands/developer.js | 72 +++++++++++++++++------------------ commands/divorce.js | 2 +- commands/flip.js | 6 +-- commands/gbuy.js | 6 +-- commands/gdelete.js | 2 +- commands/give.js | 10 ++--- commands/giverole.js | 2 +- commands/greet.js | 2 +- commands/guild.js | 8 ++-- commands/highfive.js | 2 +- commands/hold.js | 2 +- commands/hourly.js | 4 +- commands/hug.js | 2 +- commands/kick.js | 18 ++++----- commands/kill.js | 2 +- commands/kiss.js | 2 +- commands/lewd.js | 2 +- commands/lick.js | 2 +- commands/love.js | 2 +- commands/monthly.js | 4 +- commands/muda.js | 2 +- commands/mute.js | 26 ++++++------- commands/nom.js | 2 +- commands/owner.js | 60 ++++++++++++++--------------- commands/pat.js | 2 +- commands/poke.js | 2 +- commands/prefix.js | 2 +- commands/preview.js | 2 +- commands/profile.js | 12 +++--- commands/punch.js | 2 +- commands/roll.js | 8 ++-- commands/sell.js | 2 +- commands/setcolor.js | 2 +- commands/setname.js | 2 +- commands/setnickname.js | 2 +- commands/shop.js | 4 +- commands/slap.js | 2 +- commands/slots.js | 6 +-- commands/snuggle.js | 2 +- commands/stare.js | 2 +- commands/takerole.js | 2 +- commands/tickle.js | 2 +- commands/trade.js | 2 +- commands/trash.js | 4 +- commands/unmute.js | 10 ++--- commands/use.js | 6 +-- commands/warn.js | 14 +++---- commands/wave.js | 2 +- commands/wbuy.js | 4 +- commands/weekly.js | 4 +- events/message.js | 6 +-- events/ready.js | 2 +- index.js | 2 +- languages/english.json | 84 ++++++++++++++++++++++++++++++++++++++++- web/BuyItem.js | 2 +- web/Economy.js | 6 +-- web/GuildPrefix.js | 2 +- 74 files changed, 375 insertions(+), 293 deletions(-) diff --git a/commands/account.js b/commands/account.js index a840646..387b656 100644 --- a/commands/account.js +++ b/commands/account.js @@ -25,15 +25,15 @@ module.exports.run = async (client, message, args, language) => { var dateString = jd.getDate() + "/" + (jd.getMonth() + 1) + "/" + jd.getFullYear() + "; " + jd.getHours() + ":" + jd.getMinutes() + ":" + jd.getSeconds() + " (GMT +0)"; var gjd = guildMember.joinedAt; var admin = "No"; - if (guildMember.permissions.has("ADMINISTRATOR")) admin = "Yes"; + if (guildMember.permissions.has("ADMINISTRATOR")) admin = language.yes; var kickMem = "No"; - if (guildMember.permissions.has("KICK_MEMBERS")) kickMem = "Yes"; + if (guildMember.permissions.has("KICK_MEMBERS")) kickMem = language.yes; var banMem = "No"; - if (guildMember.permissions.has("BAN_MEMBERS")) banMem = "Yes"; + if (guildMember.permissions.has("BAN_MEMBERS")) banMem = language.yes; var roleManager = "No"; - if (guildMember.permissions.has("MANAGE_ROLES")) roleManager = "Yes"; + if (guildMember.permissions.has("MANAGE_ROLES")) roleManager = language.yes; var channelManager = "No"; - if (guildMember.permissions.has("MANAGE_CHANNELS")) channelManager = "Yes"; + if (guildMember.permissions.has("MANAGE_CHANNELS")) channelManager = language.yes; var joinDateString = gjd.getDate() + "/" + (gjd.getMonth() + 1) + "/" + gjd.getFullYear() + "; " + gjd.getHours() + ":" + gjd.getMinutes() + ":" + gjd.getSeconds() + " (GMT +0)"; const infoMessage = { color: Math.floor(Math.random() * 16777214) + 1, @@ -48,18 +48,18 @@ module.exports.run = async (client, message, args, language) => { }) }, fields: [{ - name: "Display Name:", + name: language.displayName, value: "<@" + member.id + ">", inline: true }, { - name: "Member ID:", + name: language.memberID, value: member.id, inline: true }, { - name: "Avatar URL:", - value: "[Download](" + member.avatarURL({ + name: language.avatarURL, + value: "[" + language.download + "](" + member.avatarURL({ format: "png", dynamic: true, size: 2048 @@ -67,29 +67,29 @@ module.exports.run = async (client, message, args, language) => { inline: true }, { - name: "Account created in:", + name: language.accountCreatedIn, value: dateString, inline: false }, { - name: "Joined this server in:", + name: language.joinedServerIn, value: joinDateString, inline: false }, { - name: "Number of roles:", + name: language.numberOfRoles, value: guildMember.roles.cache.filter( role => role.name !== "" ).size - 1, inline: true }, { - name: "Highest role", + name: language.highestRole, value: guildMember.roles.highest.toString(), inline: true }, { - name: "Current Display Color:", + name: language.currentDisplayColor, value: guildMember.displayHexColor, inline: false }, @@ -99,27 +99,27 @@ module.exports.run = async (client, message, args, language) => { inline: false }, { - name: "Is an administrator?", + name: language.isAdmin, value: admin, inline: true }, { - name: "Can kick members?", + name: language.canKickMem, value: kickMem, inline: true }, { - name: "Can ban members?", + name: language.canBanMem, value: banMem, inline: true }, { - name: "Can manage roles?", + name: language.canManageRoles, value: roleManager, inline: true }, { - name: "Can manage channels?", + name: language.canManageChannel, value: channelManager, inline: true }, @@ -152,18 +152,18 @@ module.exports.run = async (client, message, args, language) => { }) }, fields: [{ - name: "Display Name:", + name: language.displayName, value: "<@" + member.id + ">", inline: true }, { - name: "Member ID:", + name: language.memberID, value: member.id, inline: true }, { - name: "Avatar URL:", - value: "[Download](" + member.avatarURL({ + name: language.avatarURL, + value: "[" + language.download + "](" + member.avatarURL({ format: "png", dynamic: true, size: 2048 @@ -171,12 +171,12 @@ module.exports.run = async (client, message, args, language) => { inline: true }, { - name: "Account created in:", + name: language.accountCreatedIn, value: dateString, inline: false }, { - name: "Some information cannot be displayed because this user don't join this server as well.", + name: language.userDontJoinGuild, value: "\u200b", inline: false }, @@ -210,18 +210,18 @@ module.exports.run = async (client, message, args, language) => { }) }, fields: [{ - name: "Display Name:", + name: language.displayName, value: "<@" + member.id + ">", inline: true }, { - name: "Member ID:", + name: language.memberID, value: member.id, inline: true }, { - name: "Avatar URL:", - value: "[Download](" + member.avatarURL({ + name: language.avatarURL, + value: "[" + language.download + "](" + member.avatarURL({ format: "png", dynamic: true, size: 2048 @@ -229,12 +229,12 @@ module.exports.run = async (client, message, args, language) => { inline: true }, { - name: "Account created in:", + name: language.accountCreatedIn, value: dateString, inline: false }, { - name: "Some information cannot be displayed because you're using this command on a Direct Messages channel.", + name: language.userInfoOnDM, value: "\u200b", inline: false }, @@ -253,7 +253,7 @@ module.exports.run = async (client, message, args, language) => { }); } } else { - message.reply("This user isn't exist!"); + message.reply(language.userNotExist); } } diff --git a/commands/addrole.js b/commands/addrole.js index 7f90ce7..36bef98 100644 --- a/commands/addrole.js +++ b/commands/addrole.js @@ -8,8 +8,8 @@ function random(min, max) { } module.exports.run = async (client, message, args, language) => { - if (!message.member.hasPermission("MANAGE_GUILD") && message.author.id != client.config.ownerId[0]) return message.reply("You need the Manage Guild permission to do this!"); - if (!message.guild.member(client.user).hasPermission("MANAGE_ROLES")) return message.reply("I don't have the Manage Roles permission! Please contact the server admin!"); + if (!message.member.hasPermission("MANAGE_GUILD") && message.author.id != client.config.ownerId[0]) return message.reply(language.needManageGuildPermission); + if (!message.guild.member(client.user).hasPermission("MANAGE_ROLES")) return message.reply(language.missingManageRolesPermission); if (!client.addRole[message.author.id]) { request(process.env.php_server_url + "/EconomyManager.php?type=get&token=" + process.env.php_server_token, function(error, response, body) { if (!error && response.statusCode == 200 && !body.includes("Connection failed")) { @@ -18,7 +18,7 @@ module.exports.run = async (client, message, args, language) => { client.addRole[message.author.id] = { channel: message.channel.id }; - message.channel.send("You are going to add a role to your server's shop.\nWhat role you're trying to add? Please mention it or send its ID to this channel.\nType `cancel` anytime to cancel the role-adding request."); + message.channel.send(language.beginServerRoleAdd); } catch (err) { console.error(err); @@ -28,7 +28,7 @@ module.exports.run = async (client, message, args, language) => { else return message.reply(language.serverConnectError); }); } - else return message.reply("Please complete your previous role-adding request!"); + else return message.reply(language.completePreviousServerRole); } module.exports.config = { diff --git a/commands/arrest.js b/commands/arrest.js index 678b8fe..0fe876f 100644 --- a/commands/arrest.js +++ b/commands/arrest.js @@ -16,7 +16,7 @@ module.exports.run = async (client, message, args, language) => { }); if (message.mentions.users.size) { if (message.mentions.users.first().id != message.author.id) { - var creatingMsg = await message.channel.send("Creating images, please wait..."); + var creatingMsg = await message.channel.send(language.creatingImage); const canvas = Canvas.createCanvas(600, 400); const ctx = canvas.getContext('2d'); @@ -36,7 +36,7 @@ module.exports.run = async (client, message, args, language) => { size: 256 })); ctx.drawImage(p2avatar, 450, 0, 140, 140); - message.channel.send(message.mentions.users.first().toString() + ", you have been caught by " + message.author.toString() + "!", { + message.channel.send(message.mentions.users.first().toString() + language.haveBeenCaught + message.author.toString() + "!", { files: [{ attachment: canvas.toBuffer(), name: message.author.username + '_arrests_' + message.mentions.users.first().username + '.png' @@ -44,10 +44,10 @@ module.exports.run = async (client, message, args, language) => { }); creatingMsg.delete(); } else { - message.reply("You arrested yourself, but... why??"); + message.reply(language.arrestedYourself); } } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/baka.js b/commands/baka.js index 3c9d49e..47116f2 100644 --- a/commands/baka.js +++ b/commands/baka.js @@ -33,7 +33,7 @@ module.exports.run = async (client, message, args, language) => { const image = { color: Math.floor(Math.random() * 16777214) + 1, author: { - name: message.mentions.users.first().username + ' is an idiot! Baka!\n' + text, + name: message.mentions.users.first().username + language.baka + '\n' + text, icon_url: message.author.avatarURL({ format: "png", dynamic: true, @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/balance.js b/commands/balance.js index 101e770..6819bae 100644 --- a/commands/balance.js +++ b/commands/balance.js @@ -6,10 +6,10 @@ const {encrypt, decrypt} = require("../utils/crypto.js"); function bal(client, message, args, language, user) { message.channel.send(new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) - .setAuthor(user.username + "'s balance", user.avatarURL({size:128})) + .setAuthor(language.balance.replace("$username", user.username), user.avatarURL({size:128})) .addFields([ {name: client.config.currency + ":", value: parseInt(decrypt(client.economyManager[user.id].coins)).toLocaleString()}, - {name: "💬 Message Points:", value: (client.economyManager[user.id].messagePoints) ? parseInt(decrypt(client.economyManager[user.id].messagePoints)).toLocaleString() : "0"} + {name: "💬 " + language.messagePoints + ":", value: (client.economyManager[user.id].messagePoints) ? parseInt(decrypt(client.economyManager[user.id].messagePoints)).toLocaleString() : "0"} ]) .setTimestamp() .setFooter(client.devUsername, client.user.avatarURL({size:128}))); @@ -18,7 +18,7 @@ function bal(client, message, args, language, user) { module.exports.run = async (client, message, args, language) => { if (!message.mentions.users.size) { if (client.economyManager[message.author.id]) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { bal(client, message, args, language, message.author); return; @@ -34,7 +34,7 @@ module.exports.run = async (client, message, args, language) => { try { client.economyManager = JSON.parse(body); if (client.economyManager[message.author.id] != undefined) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { bal(client, message, args, language, message.author); return; @@ -56,7 +56,7 @@ module.exports.run = async (client, message, args, language) => { data: JSON.stringify(client.economyManager[message.author.id]) }}, function(error, response, body) { if (!error && response.statusCode == 200 && body.includes("Success")) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { bal(client, message, args, language, message.author); return; @@ -88,7 +88,7 @@ module.exports.run = async (client, message, args, language) => { } else { if (client.economyManager[message.mentions.users.first().id]) { - if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply(language.coinError); try { bal(client, message, args, language, message.mentions.users.first()); return; @@ -104,7 +104,7 @@ module.exports.run = async (client, message, args, language) => { try { client.economyManager = JSON.parse(body); if (client.economyManager[message.mentions.users.first().id] != undefined) { - if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply(language.coinError); try { bal(client, message, args, language, message.mentions.users.first()); return; @@ -126,7 +126,7 @@ module.exports.run = async (client, message, args, language) => { data: JSON.stringify(client.economyManager[message.mentions.users.first().id]) }}, function(error, response, body) { if (!error && response.statusCode == 200 && body.includes("Success")) { - if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply(language.coinError); try { bal(client, message, args, language, message.mentions.users.first()); return; diff --git a/commands/ban.js b/commands/ban.js index f9a6114..f687e12 100644 --- a/commands/ban.js +++ b/commands/ban.js @@ -5,14 +5,14 @@ const { } = require('util'); module.exports.run = async (client, message, args, language) => { - if (!message.member.permissions.has("BAN_MEMBERS")) return message.reply("You don't have the rights to do this!"); - if (!message.mentions.members.size) return message.reply("You must mention an user!"); - if (message.mentions.members.first().user.id == message.author.id) return message.reply("You cannot ban yourself!"); - if (message.mentions.members.first().roles.highest.rawPosition >= message.member.roles.highest.rawPosition) return message.reply("The mentioned member's highest role is higher than yours!"); - if (message.mentions.members.first().roles.highest.rawPosition >= message.guild.member(client.user).roles.highest.rawPosition) return message.reply("The mentioned member's highest role is higher than this BOT's role!"); - if (message.mentions.members.first().user.id == client.user.id) return message.reply("You cannot ban this BOT!"); - if (!message.guild.member(client.user).permissions.has("KICK_MEMBERS")) return message.reply("This BOT doesn't have the Ban Members permission on this server!"); - var reason = "Unspecified"; + if (!message.member.permissions.has("BAN_MEMBERS")) return message.reply(language.insufficientPermission); + if (!message.mentions.members.size) return message.reply(language.pleaseMentionUser); + if (message.mentions.members.first().user.id == message.author.id) return message.reply(language.cannotBanYourself); + if (message.mentions.members.first().roles.highest.rawPosition >= message.member.roles.highest.rawPosition) return message.reply(language.higherThanYours); + if (message.mentions.members.first().roles.highest.rawPosition >= message.guild.member(client.user).roles.highest.rawPosition) return message.reply(language.higherThanBOT); + if (message.mentions.members.first().user.id == client.user.id) return message.reply(language.cannotBanThisBOT); + if (!message.guild.member(client.user).permissions.has("KICK_MEMBERS")) return message.reply(language.noBanPermission); + var reason = language.unspecified; args.splice(0, 1); if (args[0]) reason = args.join(" "); message.mentions.members.first().ban({ @@ -22,16 +22,16 @@ module.exports.run = async (client, message, args, language) => { embed: { color: Math.floor(Math.random() * 16777214) + 1, author: { - name: message.author.tag + " has just banned " + message.mentions.members.first().user.tag, + name: message.author.tag + language.hasJustBanned + message.mentions.members.first().user.tag, icon_url: message.author.avatarURL({ format: "png", dynamic: true, size: 2048 }) }, - description: "**Reason:** " + reason, + description: "**" + language.reason + ":** " + reason, footer: { - text: "Sender's ID: " + message.author.id + " | Mentioned member's ID: " + message.mentions.members.first().user.id, + text: message.senderID + message.author.id + message.mentionedMemberID + message.mentions.members.first().user.id, timestamp: message.timestamp } } @@ -40,16 +40,16 @@ module.exports.run = async (client, message, args, language) => { embed: { color: Math.floor(Math.random() * 16777214) + 1, author: { - name: "You have just been banned in the " + message.guild.name + " server", + name: language.banned.replace("$guild.name", message.guild.name), icon_url: message.guild.iconURL({ format: "png", dynamic: true, size: 2048 }) }, - description: "**Being banned by:** " + message.author.toString() + "\n**Reason:** " + reason, + description: language.beingBannedBy + message.author.toString() + "\n**" + language.reason + ":** " + reason, footer: { - text: "Sender's ID: " + message.author.id + " | Mentioned member's ID: " + message.mentions.members.first().user.id, + text: message.senderID + message.author.id + message.mentionedMemberID + message.mentions.members.first().user.id, timestamp: message.timestamp } } diff --git a/commands/battle.js b/commands/battle.js index 422047f..2533573 100644 --- a/commands/battle.js +++ b/commands/battle.js @@ -17,9 +17,9 @@ function info(client, message, args, language) { }; try { var opponentTeam = {}; - if (!client.economyManager[message.author.id].team || client.economyManager[message.author.id].team.members.length == 0) return message.reply("You don't have any team!\nUse the `team add ` command to add a member to your team!"); + if (!client.economyManager[message.author.id].team || client.economyManager[message.author.id].team.members.length == 0) return message.reply(language.noTeam); var playerTeam = { - name: client.economyManager[message.author.id].team.name != "" ? client.economyManager[message.author.id].team.name : (message.author.username + "'s team"), + name: client.economyManager[message.author.id].team.name != "" ? client.economyManager[message.author.id].team.name : (language.defaultPlayerTeamName.replace("$username", message.author.username)), members: [] }; var maxLevel = 0; @@ -33,7 +33,7 @@ function info(client, message, args, language) { } maxLevel = Math.max(waifu.level, maxLevel); } - if (parseInt(decrypt(client.economyManager[message.author.id].coins)) < 50 * (2 + maxLevel * 0.35)) return message.reply("You need to have at least **" + parseInt(50 * (2 + maxLevel * 0.35)) + " " + client.config.currency + "** to start a battle!"); + if (parseInt(decrypt(client.economyManager[message.author.id].coins)) < 50 * (2 + maxLevel * 0.35)) return message.reply(language.insufficentBattleAmount.replace("$amount", parseInt(50 * (2 + maxLevel * 0.35)) + " " + client.config.currency)); for (var i = 0; i < client.economyManager[message.author.id].team.members.length; i++) { var waifu; for (var j = 0; j < client.economyManager[message.author.id].waifus.length; j++) { @@ -54,7 +54,7 @@ function info(client, message, args, language) { }); } if (!message.mentions.users.size) { - opponentTeam.name = "opponent's Team"; + opponentTeam.name = language.defaultOpponentTeamName; opponentTeam.members = []; for (var i = 0; i < Math.floor(Math.random() * 3) + 1; i++) { var random = Math.random(), waifu, length = client.economyManager[message.author.id].waifus.length, rarity, type; @@ -116,11 +116,11 @@ function info(client, message, args, language) { } } else { - if (message.mentions.users.first().bot) return message.reply("You cannot battle with a BOT!"); - if (message.mentions.users.first().id == message.author.id) return message.reply("You cannot battle with yourself!"); - if (!client.economyManager[message.mentions.users.first().id].team || client.economyManager[message.mentions.users.first().id].team.members.length == 0) return message.reply("The mentioned user doesn't have any team!") + if (message.mentions.users.first().bot) return message.reply(language.cannotBattleWithBOT); + if (message.mentions.users.first().id == message.author.id) return message.reply(language.cannotBattleWithYourself); + if (!client.economyManager[message.mentions.users.first().id].team || client.economyManager[message.mentions.users.first().id].team.members.length == 0) return message.reply(language.opponentNoTeam) var opponentTeam = { - name: client.economyManager[message.mentions.users.first().id].team.name != "" ? client.economyManager[message.mentions.users.first().id].team.name : (message.mentions.users.first().username + "'s team"), + name: client.economyManager[message.mentions.users.first().id].team.name != "" ? client.economyManager[message.mentions.users.first().id].team.name : language.defaultPlayerTeamName.replace("$username", message.mentions.users.first().username), members: [] }; for (var i = 0; i < client.economyManager[message.mentions.users.first().id].team.members.length; i++) { @@ -157,8 +157,8 @@ function info(client, message, args, language) { opponentTeamText += "**" + opponentTeam.members[i].name + "** (Lv." + opponentTeam.members[i].level + ")\n**HP:** " + opponentTeam.members[i].current_hp.toLocaleString() + "/" + parseInt(opponentTeam.members[i].base_hp * (1 + 0.05 * opponentTeam.members[i].level)).toLocaleString() + "\n\n"; } var embed = new Discord.MessageEmbed() - .setAuthor(message.author.username + "'s battle against " + (message.mentions.users.size ? message.mentions.users.first().username : "a random opponent"), message.author.avatarURL({size: 128, dynamic: true})) - .setDescription("If the BOT doesn't update the battle status for a long time, that means the BOT has been restarted during the battle.\nAt that time, please use the command again.") + .setAuthor(language.battleAgainst.replace("$username", message.author.username) + (message.mentions.users.size ? message.mentions.users.first().username : language.aRandomOpponent), message.author.avatarURL({size: 128, dynamic: true})) + .setDescription(language.battleDescription) .addFields({name: playerTeam.name, value: playerTeamText, inline: true}, {name: opponentTeam.name, value: opponentTeamText, inline: true}) .setTimestamp(), end = false; message.channel.send(embed).then(msg => { @@ -212,20 +212,20 @@ function info(client, message, args, language) { } var res = "battling"; embed = new Discord.MessageEmbed() - .setAuthor(message.author.username + "'s battle against " + (message.mentions.users.size ? message.mentions.users.first().username : "a random opponent"), message.author.avatarURL({size: 128, dynamic: true})) - .setDescription("If the BOT doesn't update the battle status for a long time, that means the BOT has been restarted during the battle.\nAt that time, please use the command again.") + .setAuthor(language.battleAgainst.replace("$username", message.author.username) + (message.mentions.users.size ? message.mentions.users.first().username : language.aRandomOpponent), message.author.avatarURL({ size: 128, dynamic: true })) + .setDescription(language.battleDescription) .addFields({name: playerTeam.name, value: playerTeamText, inline: true}, {name: opponentTeam.name, value: opponentTeamText, inline: true}) .setTimestamp(); if (playerUtb == playerTeam.members.length && opponentUtb == opponentTeam.members.length) { res = "draw"; end = true; - embed.setFooter("The result is a draw!"); + embed.setFooter(language.drawResult); clearInterval(interval); } else if (playerUtb == playerTeam.members.length) { res = "lose"; end = true; - embed.setFooter((message.mentions.users.size ? message.mentions.users.first().username : "The opponent") + " is the winner!\nYou lost " + parseInt(15 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " " + client.config.currency + (message.mentions.users.size ? (" and " + message.mentions.users.first().username + " got " + parseInt(15 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " " + client.config.currency + " and " + parseInt(5 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " EXP") : "") + "...\nYou lost your streak of " + (client.economyManager[message.author.id].streaks) + " wins..."); + embed.setFooter((message.mentions.users.size ? message.mentions.users.first().username : language.theOpponent) + language.isTheWinner + parseInt(15 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " " + client.config.currency + (message.mentions.users.size ? (language.and + message.mentions.users.first().username + language.got + parseInt(15 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " " + client.config.currency + language.and + parseInt(5 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " EXP") : "") + language.streaksLost + (client.economyManager[message.author.id].streaks) + language.lostStreaks); client.economyManager[message.author.id].streaks = 0; clearInterval(interval); } @@ -242,9 +242,9 @@ function info(client, message, args, language) { var random2 = Math.floor(Math.random() * 3) + 1; if (client.economyManager[message.author.id].streaks >= 30) random2 = Math.floor(Math.random() * 5) + 1; eval("if (!client.economyManager[message.author.id].leveling_tickets.gtk" + random2 + ") client.economyManager[message.author.id].leveling_tickets.gtk" + random2 + " = 1; else client.economyManager[message.author.id].leveling_tickets.gtk" + random2 + "++;"); - ticketGift = "\nYou also got a Leveling Ticket " + random + "★ and a Gacha Ticket " + random2 + "★!"; + ticketGift = language.ticketGift.replace("$r1", random).replace("$r2", random2); } - embed.setFooter("You are the winner! Congratulations!\nYou got " + parseInt(15 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " " + client.config.currency + " and your team got " + parseInt(5 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " EXP!\n" + (message.mentions.users.size ? (message.mentions.users.first().username + " has lost " + parseInt(15 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " " + client.config.currency + "!\n") : "") + "You are in " + (client.economyManager[message.author.id].streaks) + " win streak(s)!" + ticketGift); + embed.setFooter(language.winnerText + parseInt(15 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " " + client.config.currency + language.andYourTeamGot + parseInt(5 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " EXP!\n" + (message.mentions.users.size ? (message.mentions.users.first().username + language.hasLost + parseInt(15 * (2 + maxLevel * 0.05) * opponentTeam.members.length * (1 + client.economyManager[message.author.id].streaks * 0.1)) + " " + client.config.currency + "!\n") : "") + language.winStreaks.replace("$streaks", client.economyManager[message.author.id].streaks) + ticketGift); clearInterval(interval); } if (!end && opponentUtb != opponentTeam.members.length || res == "draw") msg.edit(embed); @@ -383,7 +383,7 @@ function info(client, message, args, language) { if (hours > 0) timeText += hours + "h "; if (minutes > 0) timeText += minutes + "m "; if (seconds > 0) timeText += seconds + "s "; - return message.reply("You have to wait **" + timeText + "**to do this again!"); + return message.reply(language.waitCountdown.replace("$time", timeText)); } } diff --git a/commands/bite.js b/commands/bite.js index b25b185..0a94742 100644 --- a/commands/bite.js +++ b/commands/bite.js @@ -33,7 +33,7 @@ module.exports.run = async (client, message, args, language) => { const image = { color: Math.floor(Math.random() * 16777214) + 1, author: { - name: message.author.username + ' bites ' + message.mentions.users.first().username + "! Yummy! 😋\n" + text, + name: message.author.username + language.bite + message.mentions.users.first().username + "\n" + text, icon_url: message.author.avatarURL({ format: "png", dynamic: true, @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/bonk.js b/commands/bonk.js index d9c1f71..24ecd15 100644 --- a/commands/bonk.js +++ b/commands/bonk.js @@ -33,7 +33,7 @@ module.exports.run = async (client, message, args, language) => { const image = { color: Math.floor(Math.random() * 16777214) + 1, author: { - name: message.author.username + ' "bonk"s ' + message.mentions.users.first().username + "! Ouch!\n" + text, + name: message.author.username + language.bonk + message.mentions.users.first().username + "! Ouch!\n" + text, icon_url: message.author.avatarURL({ format: "png", dynamic: true, @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/boop.js b/commands/boop.js index 81610e6..df1aaa5 100644 --- a/commands/boop.js +++ b/commands/boop.js @@ -33,7 +33,7 @@ module.exports.run = async (client, message, args, language) => { const image = { color: Math.floor(Math.random() * 16777214) + 1, author: { - name: message.author.username + ' boops ' + message.mentions.users.first().username + "!\n" + text, + name: message.author.username + language.boop + message.mentions.users.first().username + "!\n" + text, icon_url: message.author.avatarURL({ format: "png", dynamic: true, @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/bully.js b/commands/bully.js index 5064c0e..7062df3 100644 --- a/commands/bully.js +++ b/commands/bully.js @@ -33,7 +33,7 @@ module.exports.run = async (client, message, args, language) => { const image = { color: Math.floor(Math.random() * 16777214) + 1, author: { - name: message.author.username + ' bullies ' + message.mentions.users.first().username + "!\n" + text, + name: message.author.username + language.bully + message.mentions.users.first().username + "!\n" + text, icon_url: message.author.avatarURL({ format: "png", dynamic: true, @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/buy.js b/commands/buy.js index 35db132..b8d7f3f 100644 --- a/commands/buy.js +++ b/commands/buy.js @@ -16,21 +16,21 @@ function buy(client, message, args, language, item) { for (var i = 0; i < client.economyManager[message.author.id].inventory.length; i++) { if (client.economyManager[message.author.id].inventory[i] == item.code) has = true; } - if (has) return message.reply("You have already had this item!"); + if (has) return message.reply(language.itemAlreadyHave); var inv = { type: client.config.currency, cash: parseInt(decrypt(client.economyManager[message.author.id].coins)) }; if (item.price_type == "message_points") { - inv.type = "💬 Message Points"; + inv.type = "💬 " + language.messagePoints + ""; inv.cash = parseInt(decrypt(client.economyManager[message.author.id].messagePoints)) } - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); if (item.type == "leveling_ticket") { - if (args[1] && isNaN(args[1])) return message.reply("The quantity must be a number!"); - if (inv.cash < item.price * (args[1] ? parseInt(args[1]) : 1)) return message.reply("Insufficent **" + inv.type + "**!"); + if (args[1] && isNaN(args[1])) return message.reply(language.quantityIsNaN); + if (inv.cash < item.price * (args[1] ? parseInt(args[1]) : 1)) return message.reply(language.insufficent + " **" + inv.type + "**!"); } - else if (inv.cash < item.price) return message.reply("Insufficent **" + inv.type + "**!"); + else if (inv.cash < item.price) return message.reply(language.insufficent + " **" + inv.type + "**!"); var coins = parseInt(decrypt(client.economyManager[message.author.id].coins)); if (item.price_type == "message_points") coins = parseInt(decrypt(client.economyManager[message.author.id].messagePoints)); coins -= item.price * (args[1] ? parseInt(args[1]) : 1); @@ -54,7 +54,7 @@ function buy(client, message, args, language, item) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just bought " + (args[1] ? parseInt(args[1]) : "a") + " \"" + item.name + "\" item" + (parseInt(args[1]) > 1 ? "s" : "") + " from the shop for " + item.price + " " + inv.type + ".", message.author.avatarURL({size: 128})) .setTimestamp() @@ -63,10 +63,10 @@ function buy(client, message, args, language, item) { const embed = { color: Math.floor(Math.random() * 16777215), author: { - name: "Succesfully bought the \"" + item.name + "\" item.", + name: language.itemBought.replace("$item", item), icon_url: message.author.avatarURL({size: 128}) }, - description: "**Description:**\n" + item.description + "\n**Transaction ID:**\n" + result + "\nYou should remember this ID and send this to the BOT developer if something wrong happened.", + description: "**" + language.descriptionEmbedField + "**\n" + item.description + "\n**" + language.transactionID + "**\n" + result + "\n" + language.transactionNotice + "", timestamp: new Date() }; message.channel.send({ @@ -89,14 +89,14 @@ function buy(client, message, args, language, item) { module.exports.run = async (client, message, args, language) => { try { var items = require("../items.json"); - if (items.length == 0) return message.reply("There aren't any items in the BOT's shop!"); - if (!args[0]) return message.reply("Please specify the code of at item!"); + if (items.length == 0) return message.reply(language.noBOTShopItem); + if (!args[0]) return message.reply(language.specifyCode); var item; for (var i = 0; i < items.length; i++) { if (items[i].code == args[0]) item = items[i]; } - if (!item) return message.reply("Invalid item code!"); - if (item.type == "gacha_ticket") return message.reply("You can't buy this item!") + if (!item) return message.reply(language.invalidItemCode); + if (item.type == "gacha_ticket") return message.reply(language.cantBuyItem) if (client.economyManager[message.author.id]) { buy(client, message, args, language, item); return; diff --git a/commands/cert.js b/commands/cert.js index 4071737..17c0b5f 100644 --- a/commands/cert.js +++ b/commands/cert.js @@ -125,7 +125,7 @@ module.exports.run = async (client, message, args, language) => { message.reply("You must type a certificate name!"); } } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/coffindance.js b/commands/coffindance.js index 0cad625..f8115b7 100644 --- a/commands/coffindance.js +++ b/commands/coffindance.js @@ -15,7 +15,7 @@ module.exports.run = async (client, message, args, language) => { timeout: 10000 }); if (message.mentions.users.size) { - var creatingMsg = await message.channel.send("Creating images, please wait..."); + var creatingMsg = await message.channel.send(language.creatingImage); const canvas = Canvas.createCanvas(759, 427); const ctx = canvas.getContext('2d'); @@ -36,7 +36,7 @@ module.exports.run = async (client, message, args, language) => { }] }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/createrole.js b/commands/createrole.js index 157a4b1..2fc64c0 100644 --- a/commands/createrole.js +++ b/commands/createrole.js @@ -5,7 +5,7 @@ const { } = require('util'); module.exports.run = async (client, message, args, language) => { - if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply("You don't have the rights to do this!"); + if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply(language.insufficientPermission); if (!message.guild.member(client.user).permissions.has("MANAGE_ROLES")) return message.reply("BOT doesn't have the Manage Roles permission on this server! Please contact the server admin to fix this issue!"); if (!args[0]) return message.reply("Please specify a role name!"); var roleName = args.join(" "); diff --git a/commands/daily.js b/commands/daily.js index 12f3475..7bb9939 100644 --- a/commands/daily.js +++ b/commands/daily.js @@ -10,7 +10,7 @@ function random(min, max) { } async function daily(client, message, args, language) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { if (!client.economyManager[message.author.id].dailyCountdown || client.economyManager[message.author.id].dailyCountdown < (new Date()).getTime()) { if (args[0] == "refresh") client.captchas.daily[message.author.id] = undefined; @@ -53,7 +53,7 @@ async function daily(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just rewarded " + dailyCoins + " " + client.config.currency + ".", message.author.avatarURL({size: 128})) .setTimestamp() diff --git a/commands/deleterole.js b/commands/deleterole.js index 198e9ca..37273d9 100644 --- a/commands/deleterole.js +++ b/commands/deleterole.js @@ -5,7 +5,7 @@ const { } = require('util'); module.exports.run = async (client, message, args, language) => { - if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply("You don't have the rights to do this!"); + if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply(language.insufficientPermission); if (!message.guild.member(client.user).permissions.has("MANAGE_ROLES")) return message.reply("BOT doesn't have the Manage Roles permission on this server! Please contact the server admin to fix this issue!"); var role; if (args[0] && message.mentions.roles.size) role = message.mentions.roles.first(); diff --git a/commands/developer.js b/commands/developer.js index 90ccea3..876b0fe 100644 --- a/commands/developer.js +++ b/commands/developer.js @@ -16,16 +16,16 @@ module.exports.run = async (client, message, args, language) => { var jd = member.createdAt; var dateString = jd.getDate() + "/" + (jd.getMonth() + 1) + "/" + jd.getFullYear() + "; " + jd.getHours() + ":" + jd.getMinutes() + ":" + jd.getSeconds() + " (GMT +0)"; var gjd = guildMember.joinedAt; - var admin = "No"; - if (guildMember.permissions.has("ADMINISTRATOR")) admin = "Yes"; - var kickMem = "No"; - if (guildMember.permissions.has("KICK_MEMBERS")) kickMem = "Yes"; - var banMem = "No"; - if (guildMember.permissions.has("BAN_MEMBERS")) banMem = "Yes"; - var roleManager = "No"; - if (guildMember.permissions.has("MANAGE_ROLES")) roleManager = "Yes"; - var channelManager = "No"; - if (guildMember.permissions.has("MANAGE_CHANNELS")) channelManager = "Yes"; + var admin = language.no; + if (guildMember.permissions.has("ADMINISTRATOR")) admin = language.yes; + var kickMem = language.no; + if (guildMember.permissions.has("KICK_MEMBERS")) kickMem = language.yes; + var banMem = language.no; + if (guildMember.permissions.has("BAN_MEMBERS")) banMem = language.yes; + var roleManager = language.no; + if (guildMember.permissions.has("MANAGE_ROLES")) roleManager = language.yes; + var channelManager = language.no; + if (guildMember.permissions.has("MANAGE_CHANNELS")) channelManager = language.yes; var joinDateString = gjd.getDate() + "/" + (gjd.getMonth() + 1) + "/" + gjd.getFullYear() + "; " + gjd.getHours() + ":" + gjd.getMinutes() + ":" + gjd.getSeconds() + " (GMT +0)"; const infoMessage = { color: Math.floor(Math.random() * 16777214) + 1, @@ -40,18 +40,18 @@ module.exports.run = async (client, message, args, language) => { }) }, fields: [{ - name: "Display Name:", + name: language.displayName, value: "<@" + member.id + ">", inline: true }, { - name: "Member ID:", + name: language.memberID, value: member.id, inline: true }, { - name: "Avatar URL:", - value: "[Download](" + member.avatarURL({ + name: language.avatarURL, + value: "[" + language.download + "](" + member.avatarURL({ format: "png", dynamic: true, size: 2048 @@ -59,29 +59,29 @@ module.exports.run = async (client, message, args, language) => { inline: true }, { - name: "Account created in:", + name: language.accountCreatedIn, value: dateString, inline: false }, { - name: "Joined this server in:", + name: language.joinedServerIn, value: joinDateString, inline: false }, { - name: "Number of roles:", + name: language.numberOfRoles, value: guildMember.roles.cache.filter( role => role.name !== "" ).size - 1, inline: true }, { - name: "Highest role", + name: language.highestRole, value: guildMember.roles.highest.toString(), inline: true }, { - name: "Current Display Color:", + name: language.currentDisplayColor, value: guildMember.displayHexColor, inline: false }, @@ -91,27 +91,27 @@ module.exports.run = async (client, message, args, language) => { inline: false }, { - name: "Is an administrator?", + name: language.isAdmin, value: admin, inline: true }, { - name: "Can kick members?", + name: language.canKickMem, value: kickMem, inline: true }, { - name: "Can ban members?", + name: language.canBanMem, value: banMem, inline: true }, { - name: "Can manage roles?", + name: language.canManageRoles, value: roleManager, inline: true }, { - name: "Can manage channels?", + name: language.canManageChannel, value: channelManager, inline: true }, @@ -144,18 +144,18 @@ module.exports.run = async (client, message, args, language) => { }) }, fields: [{ - name: "Display Name:", + name: language.displayName, value: "<@" + member.id + ">", inline: true }, { - name: "Member ID:", + name: language.memberID, value: member.id, inline: true }, { - name: "Avatar URL:", - value: "[Download](" + member.avatarURL({ + name: language.avatarURL, + value: "[" + language.download + "](" + member.avatarURL({ format: "png", dynamic: true, size: 2048 @@ -163,12 +163,12 @@ module.exports.run = async (client, message, args, language) => { inline: true }, { - name: "Account created in:", + name: language.accountCreatedIn, value: dateString, inline: false }, { - name: "Some information cannot be displayed because this user don't join this server as well.", + name: language.userDontJoinGuild, value: "\u200b", inline: false }, @@ -202,18 +202,18 @@ module.exports.run = async (client, message, args, language) => { }) }, fields: [{ - name: "Display Name:", + name: language.displayName, value: "<@" + member.id + ">", inline: true }, { - name: "Member ID:", + name: language.memberID, value: member.id, inline: true }, { - name: "Avatar URL:", - value: "[Download](" + member.avatarURL({ + name: language.avatarURL, + value: "[" + language.download + "](" + member.avatarURL({ format: "png", dynamic: true, size: 2048 @@ -221,12 +221,12 @@ module.exports.run = async (client, message, args, language) => { inline: true }, { - name: "Account created in:", + name: language.accountCreatedIn, value: dateString, inline: false }, { - name: "Some information cannot be displayed because you're using this command on a Direct Messages channel.", + name: language.userInfoOnDM, value: "\u200b", inline: false }, diff --git a/commands/divorce.js b/commands/divorce.js index 56b1daf..b7ea507 100644 --- a/commands/divorce.js +++ b/commands/divorce.js @@ -81,7 +81,7 @@ function info(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just divorced a waifu and got " + divorceValue + " " + client.config.currency + ".", message.author.avatarURL({size: 128})) .setTimestamp() diff --git a/commands/flip.js b/commands/flip.js index 362340a..510d617 100644 --- a/commands/flip.js +++ b/commands/flip.js @@ -11,7 +11,7 @@ function random(min, max) { } function flip(client, message, args, language) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { if (!client.countdown[message.author.id] || client.countdown[message.author.id] < (new Date()).getTime()) { if (!args[0]) return message.reply("Please choose heads or tails!"); @@ -52,7 +52,7 @@ function flip(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just " + ((hotRand == hot) ? "won" : "lost") + " " + args[1] + " " + client.config.currency + " because of the flip command.", message.author.avatarURL({size: 128})) .setTimestamp() @@ -90,7 +90,7 @@ function flip(client, message, args, language) { if (hours > 0) timeText += hours + "h "; if (minutes > 0) timeText += minutes + "m "; if (seconds > 0) timeText += seconds + "s "; - return message.reply("You have to wait **" + timeText + "**to do this again!"); + return message.reply(language.waitCountdown.replace("$time", timeText)); } } catch (err) { console.log(err); diff --git a/commands/gbuy.js b/commands/gbuy.js index bdc0b1b..a560986 100644 --- a/commands/gbuy.js +++ b/commands/gbuy.js @@ -10,7 +10,7 @@ function random(min, max) { function gbuy(client, message, args, language) { if (!args[0]) return message.reply("Please type an item ID!"); if (isNaN(args[0])) return message.reply("The item ID must be a number!"); - if (!message.guild.member(client.user).hasPermission("MANAGE_ROLES")) return message.reply("I don't have the Manage Roles permission! Please contact the server admin!"); + if (!message.guild.member(client.user).hasPermission("MANAGE_ROLES")) return message.reply(language.missingManageRolesPermission); if (!client.economyManager[message.guild.id] || client.economyManager[message.guild.id].roles.length == 0) return message.reply("Invalid item ID!"); if (!client.economyManager[message.guild.id].roles[parseInt(args[0]) - 1]) return message.reply("Invalid item ID!"); var role = message.guild.roles.cache.get(client.economyManager[message.guild.id].roles[parseInt(args[0]) - 1].id); @@ -35,7 +35,7 @@ function gbuy(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just bought \"" + role.name + "\" role for " + client.economyManager[message.guild.id].roles[parseInt(args[0]) - 1].price + " " + client.config.currency + " from the \"" + message.guild.name + "\" server shop.", message.author.avatarURL({size: 128})) .setTimestamp() @@ -47,7 +47,7 @@ function gbuy(client, message, args, language) { name: "Succesfully bought the " + role.name + " role.", icon_url: message.guild.iconURL({size: 128}) }, - description: "**Description:**\n" + client.economyManager[message.guild.id].roles[parseInt(args[0]) - 1].description + "\n**Transaction ID:**\n" + result + "\nYou should remember this ID and send this to the BOT developer if something wrong happened.", + description: "**" + language.descriptionEmbedField + "**\n" + client.economyManager[message.guild.id].roles[parseInt(args[0]) - 1].description + "\n**" + language.transactionID + "**\n" + result + "\n" + language.transactionNotice + "", timestamp: new Date() }; message.channel.send({ diff --git a/commands/gdelete.js b/commands/gdelete.js index 8836b02..0ce2ebc 100644 --- a/commands/gdelete.js +++ b/commands/gdelete.js @@ -9,7 +9,7 @@ function random(min, max) { module.exports.run = async (client, message, args, language) => { try { - if (!message.member.hasPermission("MANAGE_GUILD") && message.author.id != client.config.ownerId[0]) return message.reply("You need the Manage Guild permission to do this!"); + if (!message.member.hasPermission("MANAGE_GUILD") && message.author.id != client.config.ownerId[0]) return message.reply(language.needManageGuildPermission); request(process.env.php_server_url + "/EconomyManager.php?type=get&token=" + process.env.php_server_token, function(error, response, body) { if (!error && response.statusCode == 200 && !body.includes("Connection failed")) { var formerRoles = client.economyManager[message.guild.id].roles; diff --git a/commands/give.js b/commands/give.js index 8a1c209..ae7a407 100644 --- a/commands/give.js +++ b/commands/give.js @@ -10,7 +10,7 @@ module.exports.run = async (client, message, args, language) => { request(process.env.php_server_url + "/EconomyManager.php?type=get&token=" + process.env.php_server_token, function(error, response, body) { if (!error && response.statusCode == 200 && !body.includes("Connection failed")) { client.economyManager = JSON.parse(body); - if (!message.mentions.users.size) return message.reply("You must mention an user!"); + if (!message.mentions.users.size) return message.reply(language.pleaseMentionUser); if (message.mentions.users.size && !args[1]) return message.reply("You must type an amount!"); if (isNaN(args[1])) return message.reply("The amount must be a number!"); if (message.mentions.users.first().id == message.author.id) return message.reply("You can't give coins to yourself!"); @@ -78,7 +78,7 @@ module.exports.run = async (client, message, args, language) => { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " have just sent " + args[1] + " " + client.config.currency + " to " + message.mentions.users.first().username + "!", message.author.avatarURL({size:128})) .setTimestamp() @@ -154,7 +154,7 @@ module.exports.run = async (client, message, args, language) => { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " have just sent " + args[1] + " " + client.config.currency + " to " + message.mentions.users.first().username + "!", message.author.avatarURL({size:128})) .setTimestamp() @@ -248,7 +248,7 @@ module.exports.run = async (client, message, args, language) => { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " have just sent " + args[1] + " " + client.config.currency + " to " + message.mentions.users.first().username + "!", message.author.avatarURL({size:128})) .setTimestamp() @@ -324,7 +324,7 @@ module.exports.run = async (client, message, args, language) => { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " have just sent " + args[1] + " " + client.config.currency + " to " + message.mentions.users.first().username + "!", message.author.avatarURL({size:128})) .setTimestamp() diff --git a/commands/giverole.js b/commands/giverole.js index 003afb9..10f4450 100644 --- a/commands/giverole.js +++ b/commands/giverole.js @@ -5,7 +5,7 @@ const { } = require('util'); module.exports.run = async (client, message, args, language) => { - if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply("You don't have the rights to do this!"); + if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply(language.insufficientPermission); if (!message.guild.member(client.user).permissions.has("MANAGE_ROLES")) return message.reply("BOT doesn't have the Manage Roles permission on this server! Please contact the server admin to fix this issue!"); if (!message.mentions.members.size) return message.reply("Please mention a member first!"); args.splice(0,1); diff --git a/commands/greet.js b/commands/greet.js index 85d622f..c28cdbc 100644 --- a/commands/greet.js +++ b/commands/greet.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/guild.js b/commands/guild.js index 15c7967..af352ea 100644 --- a/commands/guild.js +++ b/commands/guild.js @@ -14,8 +14,8 @@ module.exports.run = async (client, message, args, language) => { if (member.presence.status == "online" || member.presence.status == "dnd" || member.presence.status == "idle") onlineMems++; }); var highestRole = message.guild.roles.cache.sort((b, a) => a.rawPosition - b.rawPosition || a.id - b.id).first().toString(); - var embedBool = "No"; - if (message.guild.embedEnabled) embedBool = "Yes"; + var embedBool = language.no; + if (message.guild.embedEnabled) embedBool = language.yes; var jd = message.guild.createdAt; var systemChannel = "Không có"; if (message.guild.systemChannel) systemChannel = message.guild.systemChannel.toString(); @@ -34,7 +34,7 @@ module.exports.run = async (client, message, args, language) => { }, fields: [{ name: "Icon URL:", - value: "[Download](" + message.guild.iconURL({ + value: "[" + language.download + "](" + message.guild.iconURL({ format: "png", dynamic: true, size: 2048 @@ -72,7 +72,7 @@ module.exports.run = async (client, message, args, language) => { inline: true }, { - name: "Number of roles:", + name: language.numberOfRoles, value: message.guild.roles.cache.filter( role => role.name !== "" ).size - 1, diff --git a/commands/highfive.js b/commands/highfive.js index 5aca17a..cd57fcf 100644 --- a/commands/highfive.js +++ b/commands/highfive.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/hold.js b/commands/hold.js index 963e175..8980bb5 100644 --- a/commands/hold.js +++ b/commands/hold.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/hourly.js b/commands/hourly.js index 7bbf6b9..8430a3e 100644 --- a/commands/hourly.js +++ b/commands/hourly.js @@ -10,7 +10,7 @@ function random(min, max) { } async function hourly(client, message, args, language) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { if (!client.economyManager[message.author.id].hourlyCountdown || client.economyManager[message.author.id].hourlyCountdown < (new Date()).getTime()) { if (args[0] == "refresh") client.captchas.hourly[message.author.id] = undefined; @@ -53,7 +53,7 @@ async function hourly(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just rewarded " + hourlyCoins + " " + client.config.currency + ".", message.author.avatarURL({size: 128})) .setTimestamp() diff --git a/commands/hug.js b/commands/hug.js index 732f930..90b252c 100644 --- a/commands/hug.js +++ b/commands/hug.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/kick.js b/commands/kick.js index a3b5f2e..dda613f 100644 --- a/commands/kick.js +++ b/commands/kick.js @@ -6,14 +6,14 @@ const { } = require('util'); module.exports.run = async (client, message, args, language) => { - if (!message.member.permissions.has("KICK_MEMBERS")) return message.reply("You don't have the rights to do this!"); - if (!message.mentions.members.size) return message.reply("You must mention an user!"); + if (!message.member.permissions.has("KICK_MEMBERS")) return message.reply(language.insufficientPermission); + if (!message.mentions.members.size) return message.reply(language.pleaseMentionUser); if (message.mentions.members.first().user.id == message.author.id) return message.reply("You can't kick yourself!"); - if (message.mentions.members.first().roles.highest.rawPosition >= message.member.roles.highest.rawPosition) return message.reply("The mentioned member's highest role is higher than yours!"); - if (message.mentions.members.first().roles.highest.rawPosition >= message.guild.member(client.user).roles.highest.rawPosition) return message.reply("The mentioned member's highest role is higher than this BOT's role!"); + if (message.mentions.members.first().roles.highest.rawPosition >= message.member.roles.highest.rawPosition) return message.reply(language.higherThanYours); + if (message.mentions.members.first().roles.highest.rawPosition >= message.guild.member(client.user).roles.highest.rawPosition) return message.reply(language.higherThanBOT); if (message.mentions.members.first().user.id == client.user.id) return message.reply("You cannot kick this BOT!"); if (!message.guild.member(client.user).permissions.has("KICK_MEMBERS")) return message.reply("BOT doesn't have the Kick Members permission on this server!"); - var reason = "Unspecified"; + var reason = language.unspecified; args.splice(0, 1); if (args[0]) reason = args.join(" "); message.mentions.members.first().kick(message.author.tag + " - " + reason); @@ -28,9 +28,9 @@ module.exports.run = async (client, message, args, language) => { size: 2048 }) }, - description: "**Reason:** " + reason, + description: "**" + language.reason + ":** " + reason, footer: { - text: "Sender's ID: " + message.author.id + " | Mentioned member's ID: " + message.mentions.members.first().user.id, + text: message.senderID + message.author.id + message.mentionedMemberID + message.mentions.members.first().user.id, timestamp: message.timestamp } } @@ -46,9 +46,9 @@ module.exports.run = async (client, message, args, language) => { size: 2048 }) }, - description: "**Being kicked by:** " + message.author.toString() + "\n**Reason:** " + reason, + description: "**Being kicked by:** " + message.author.toString() + "\n**" + language.reason + ":** " + reason, footer: { - text: "Sender's ID: " + message.author.id + " | Mentioned member's ID: " + message.mentions.members.first().user.id, + text: message.senderID + message.author.id + message.mentionedMemberID + message.mentions.members.first().user.id, timestamp: message.timestamp } } diff --git a/commands/kill.js b/commands/kill.js index 6d213c3..9f5002f 100644 --- a/commands/kill.js +++ b/commands/kill.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/kiss.js b/commands/kiss.js index 3734667..f13deb0 100644 --- a/commands/kiss.js +++ b/commands/kiss.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/lewd.js b/commands/lewd.js index 10344df..d22f753 100644 --- a/commands/lewd.js +++ b/commands/lewd.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/lick.js b/commands/lick.js index e1f645e..db17eaf 100644 --- a/commands/lick.js +++ b/commands/lick.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/love.js b/commands/love.js index a959fdf..db6170d 100644 --- a/commands/love.js +++ b/commands/love.js @@ -47,7 +47,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/monthly.js b/commands/monthly.js index 93a60b6..a7123f4 100644 --- a/commands/monthly.js +++ b/commands/monthly.js @@ -10,7 +10,7 @@ function random(min, max) { } async function monthly(client, message, args, language) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { if (!client.economyManager[message.author.id].monthlyCountdown || client.economyManager[message.author.id].monthlyCountdown < (new Date()).getTime()) { if (args[0] == "refresh") client.captchas.monthly[message.author.id] = undefined; @@ -53,7 +53,7 @@ async function monthly(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just rewarded " + monthlyCoins + " " + client.config.currency + ".", message.author.avatarURL({size: 128})) .setTimestamp() diff --git a/commands/muda.js b/commands/muda.js index a552767..057aff2 100644 --- a/commands/muda.js +++ b/commands/muda.js @@ -38,7 +38,7 @@ module.exports.run = async (client, message, args, language) => { embed: image }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/mute.js b/commands/mute.js index 051e7ec..4b98a48 100644 --- a/commands/mute.js +++ b/commands/mute.js @@ -8,13 +8,13 @@ const { module.exports.run = async (client, message, args, language) => { if (!message.member.permissions.has("MANAGE_MESSAGES")) return message.reply("You don't have the `Manage Messages` permission to do this!"); - if (!message.mentions.members.size) return message.reply("You must mention an user!"); + if (!message.mentions.members.size) return message.reply(language.pleaseMentionUser); if (message.mentions.members.first().user.id == message.author.id) return message.reply("You can't mute yourself!"); - if (message.mentions.members.first().roles.highest.rawPosition >= message.member.roles.highest.rawPosition) return message.reply("The mentioned member's highest role is higher than yours!"); - if (message.mentions.members.first().roles.highest.rawPosition >= message.guild.member(client.user).roles.highest.rawPosition) return message.reply("The mentioned member's highest role is higher than this BOT's role!"); + if (message.mentions.members.first().roles.highest.rawPosition >= message.member.roles.highest.rawPosition) return message.reply(language.higherThanYours); + if (message.mentions.members.first().roles.highest.rawPosition >= message.guild.member(client.user).roles.highest.rawPosition) return message.reply(language.higherThanBOT); if (message.mentions.members.first().user.id == client.user.id) return message.reply("You cannot mute this BOT!"); if (!message.guild.member(client.user).permissions.has("MANAGE_ROLES")) return message.reply("BOT doesn't have the Manage Roles permission on this server!"); - var reason = "Unspecified"; + var reason = language.unspecified; var duration = undefined; var durationText = ""; var member = message.mentions.members.first(); @@ -72,7 +72,7 @@ module.exports.run = async (client, message, args, language) => { }, description: "**Reason**: Automatic Unmute", footer: { - text: "Sender's ID: " + author.id + " | Mentioned member's ID: " + member.user.id, + text: message.senderID + author.id + message.mentionedMemberID + member.user.id, timestamp: message.timestamp } } @@ -94,9 +94,9 @@ module.exports.run = async (client, message, args, language) => { size: 2048 }) }, - description: durationText + "**Reason:** " + reason, + description: durationText + "**" + language.reason + ":** " + reason, footer: { - text: "Sender's ID: " + author.id + " | Mentioned member's ID: " + member.user.id, + text: message.senderID + author.id + message.mentionedMemberID + member.user.id, timestamp: message.timestamp } } @@ -112,9 +112,9 @@ module.exports.run = async (client, message, args, language) => { size: 2048 }) }, - description: "**Being muted by:** " + author.toString() + "\n" + durationText + "**Reason:** " + reason, + description: "**Being muted by:** " + author.toString() + "\n" + durationText + "**" + language.reason + ":** " + reason, footer: { - text: "Sender's ID: " + author.id + " | Mentioned member's ID: " + member.user.id, + text: message.senderID + author.id + message.mentionedMemberID + member.user.id, timestamp: message.timestamp } } @@ -144,9 +144,9 @@ module.exports.run = async (client, message, args, language) => { size: 2048 }) }, - description: "**Reason:** " + reason, + description: "**" + language.reason + ":** " + reason, footer: { - text: "Sender's ID: " + author.id + " | Mentioned member's ID: " + member.user.id, + text: message.senderID + author.id + message.mentionedMemberID + member.user.id, timestamp: message.timestamp } } @@ -162,9 +162,9 @@ module.exports.run = async (client, message, args, language) => { size: 2048 }) }, - description: "**Being muted by:** " + author.toString() + "\n**Reason:** " + reason, + description: "**Being muted by:** " + author.toString() + "\n**" + language.reason + ":** " + reason, footer: { - text: "Sender's ID: " + author.id + " | Mentioned member's ID: " + member.user.id, + text: message.senderID + author.id + message.mentionedMemberID + member.user.id, timestamp: message.timestamp } } diff --git a/commands/nom.js b/commands/nom.js index 33a44a4..cab4c83 100644 --- a/commands/nom.js +++ b/commands/nom.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/owner.js b/commands/owner.js index ff02159..a7cbb72 100644 --- a/commands/owner.js +++ b/commands/owner.js @@ -14,16 +14,16 @@ module.exports.run = async (client, message, args, language) => { var jd = member.createdAt; var dateString = jd.getDate() + "/" + (jd.getMonth() + 1) + "/" + jd.getFullYear() + "; " + jd.getHours() + ":" + jd.getMinutes() + ":" + jd.getSeconds() + " (GMT +0)"; var gjd = guildMember.joinedAt; - var admin = "No"; - if (guildMember.permissions.has("ADMINISTRATOR")) admin = "Yes"; - var kickMem = "No"; - if (guildMember.permissions.has("KICK_MEMBERS")) kickMem = "Yes"; - var banMem = "No"; - if (guildMember.permissions.has("BAN_MEMBERS")) banMem = "Yes"; - var roleManager = "No"; - if (guildMember.permissions.has("MANAGE_ROLES")) roleManager = "Yes"; - var channelManager = "No"; - if (guildMember.permissions.has("MANAGE_CHANNELS")) channelManager = "Yes"; + var admin = language.no; + if (guildMember.permissions.has("ADMINISTRATOR")) admin = language.yes; + var kickMem = language.no; + if (guildMember.permissions.has("KICK_MEMBERS")) kickMem = language.yes; + var banMem = language.no; + if (guildMember.permissions.has("BAN_MEMBERS")) banMem = language.yes; + var roleManager = language.no; + if (guildMember.permissions.has("MANAGE_ROLES")) roleManager = language.yes; + var channelManager = language.no; + if (guildMember.permissions.has("MANAGE_CHANNELS")) channelManager = language.yes; var joinDateString = gjd.getDate() + "/" + (gjd.getMonth() + 1) + "/" + gjd.getFullYear() + "; " + gjd.getHours() + ":" + gjd.getMinutes() + ":" + gjd.getSeconds() + " (GMT +0)"; const infoMessage = { color: Math.floor(Math.random() * 16777214) + 1, @@ -38,18 +38,18 @@ module.exports.run = async (client, message, args, language) => { }) }, fields: [{ - name: "Display Name:", + name: language.displayName, value: "<@" + member.id + ">", inline: true }, { - name: "Member ID:", + name: language.memberID, value: member.id, inline: true }, { - name: "Avatar URL:", - value: "[Download](" + member.avatarURL({ + name: language.avatarURL, + value: "[" + language.download + "](" + member.avatarURL({ format: "png", dynamic: true, size: 2048 @@ -57,29 +57,29 @@ module.exports.run = async (client, message, args, language) => { inline: true }, { - name: "Account created in:", + name: language.accountCreatedIn, value: dateString, inline: false }, { - name: "Joined this server in:", + name: language.joinedServerIn, value: joinDateString, inline: false }, { - name: "Number of roles:", + name: language.numberOfRoles, value: guildMember.roles.cache.filter( role => role.name !== "" ).size - 1, inline: true }, { - name: "Highest role", + name: language.highestRole, value: guildMember.roles.highest.toString(), inline: true }, { - name: "Current Display Color:", + name: language.currentDisplayColor, value: guildMember.displayHexColor, inline: false }, @@ -89,27 +89,27 @@ module.exports.run = async (client, message, args, language) => { inline: false }, { - name: "Is an administrator?", + name: language.isAdmin, value: admin, inline: true }, { - name: "Can kick members?", + name: language.canKickMem, value: kickMem, inline: true }, { - name: "Can ban members?", + name: language.canBanMem, value: banMem, inline: true }, { - name: "Can manage roles?", + name: language.canManageRoles, value: roleManager, inline: true }, { - name: "Can manage channels?", + name: language.canManageChannel, value: channelManager, inline: true }, @@ -142,18 +142,18 @@ module.exports.run = async (client, message, args, language) => { }) }, fields: [{ - name: "Display Name:", + name: language.displayName, value: "<@" + member.id + ">", inline: true }, { - name: "Member ID:", + name: language.memberID, value: member.id, inline: true }, { - name: "Avatar URL:", - value: "[Download](" + member.avatarURL({ + name: language.avatarURL, + value: "[" + language.download + "](" + member.avatarURL({ format: "png", dynamic: true, size: 2048 @@ -161,12 +161,12 @@ module.exports.run = async (client, message, args, language) => { inline: true }, { - name: "Account created in:", + name: language.accountCreatedIn, value: dateString, inline: false }, { - name: "Some information cannot be displayed because this user don't join this server as well.", + name: language.userDontJoinGuild, value: "\u200b", inline: false }, diff --git a/commands/pat.js b/commands/pat.js index ff3a43e..a4ae0d6 100644 --- a/commands/pat.js +++ b/commands/pat.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/poke.js b/commands/poke.js index 36c2e95..1d1a493 100644 --- a/commands/poke.js +++ b/commands/poke.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/prefix.js b/commands/prefix.js index d278f08..3777763 100644 --- a/commands/prefix.js +++ b/commands/prefix.js @@ -21,7 +21,7 @@ module.exports.run = async (client, message, args, language) => { // If no prefix was sent, return server's current prefix if (!args[0]) if (client.customPrefixes[message.guild.id]) return message.reply("The BOT's current prefix on this server is `" + client.customPrefixes[message.guild.id] + "`."); else return message.reply("The BOT's current prefix on this server is `r!`."); // Checking for permissions - if (!message.member.hasPermission("MANAGE_GUILD")) return message.reply("You need the Manage Guild permission to do this!"); + if (!message.member.hasPermission("MANAGE_GUILD")) return message.reply(language.needManageGuildPermission); // Check the current prefix if (client.customPrefixes[message.guild.id] && client.customPrefixes[message.guild.id] == args[0]) return message.reply("The BOT's prefix on this server is already `" + args[0] + "`!"); // Connecting to the server diff --git a/commands/preview.js b/commands/preview.js index ea84ea1..4709ac8 100644 --- a/commands/preview.js +++ b/commands/preview.js @@ -19,7 +19,7 @@ module.exports.run = async (client, message, args, language) => { for (var i = 0; i < items.length; i++) { if (items[i].code == args[0]) item = items[i]; } - if (!item) return message.reply("Invalid item code!"); + if (!item) return message.reply(language.invalidItemCode); if (item.type != "background") return message.reply("This item isn't a banner image item!"); const file = new Discord.MessageAttachment("./assets/" + item.background_image + ".png"); const embed = { diff --git a/commands/profile.js b/commands/profile.js index 1fcf909..3386786 100644 --- a/commands/profile.js +++ b/commands/profile.js @@ -66,7 +66,7 @@ async function prof(client, message, args, language, user) { module.exports.run = async (client, message, args, language) => { if (!message.mentions.users.size) { if (client.economyManager[message.author.id]) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { prof(client, message, args, language, message.author); return; @@ -82,7 +82,7 @@ module.exports.run = async (client, message, args, language) => { try { client.economyManager = JSON.parse(body); if (client.economyManager[message.author.id] != undefined) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { prof(client, message, args, language, message.author); return; @@ -107,7 +107,7 @@ module.exports.run = async (client, message, args, language) => { data: JSON.stringify(client.economyManager[message.author.id]) }}, function(error, response, body) { if (!error && response.statusCode == 200 && body.includes("Success")) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { prof(client, message, args, language, message.author); return; @@ -139,7 +139,7 @@ module.exports.run = async (client, message, args, language) => { } else { if (client.economyManager[message.mentions.users.first().id]) { - if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply(language.coinError); try { prof(client, message, args, language, message.mentions.users.first()); return; @@ -155,7 +155,7 @@ module.exports.run = async (client, message, args, language) => { try { client.economyManager = JSON.parse(body); if (client.economyManager[message.mentions.users.first().id] != undefined) { - if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply(language.coinError); try { prof(client, message, args, language, message.mentions.users.first()); return; @@ -180,7 +180,7 @@ module.exports.run = async (client, message, args, language) => { data: JSON.stringify(client.economyManager[message.mentions.users.first().id]) }}, function(error, response, body) { if (!error && response.statusCode == 200 && body.includes("Success")) { - if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.mentions.users.first().id].coins) return message.reply(language.coinError); try { prof(client, message, args, language, message.mentions.users.first()); return; diff --git a/commands/punch.js b/commands/punch.js index 0f84701..eecf932 100644 --- a/commands/punch.js +++ b/commands/punch.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/roll.js b/commands/roll.js index 61c0ba0..9010334 100644 --- a/commands/roll.js +++ b/commands/roll.js @@ -26,11 +26,11 @@ function roll(client, message, args, language) { ssRareRate = 0.03; } else if (args[0] == "msgp") { - if (parseInt(decrypt(client.economyManager[message.author.id].messagePoints)) < 100) return message.reply("Insufficent 💬 Message Points!"); + if (parseInt(decrypt(client.economyManager[message.author.id].messagePoints)) < 100) return message.reply("Insufficent 💬 " + language.messagePoints + "!"); var msgp = parseInt(decrypt(client.economyManager[message.author.id].messagePoints)); msgp -= 100; client.economyManager[message.author.id].messagePoints = encrypt(msgp.toString()); - spent = "100 💬 Message Points"; + spent = "100 💬 " + language.messagePoints + ""; normalRate = 0.8; rareRate = 0.1; sRareRate = 0.05; @@ -134,7 +134,7 @@ function roll(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just spent " + spent + " for rolling a waifu/husbando.", message.author.avatarURL({size: 128})) .setTimestamp() @@ -169,7 +169,7 @@ function roll(client, message, args, language) { if (hours > 0) timeText += hours + "h "; if (minutes > 0) timeText += minutes + "m "; if (seconds > 0) timeText += seconds + "s "; - return message.reply("You have to wait **" + timeText + "**to do this again!"); + return message.reply(language.waitCountdown.replace("$time", timeText)); } } diff --git a/commands/sell.js b/commands/sell.js index ce25be1..5f2736e 100644 --- a/commands/sell.js +++ b/commands/sell.js @@ -95,7 +95,7 @@ function sell(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just sold a waifu in the BOT's public shop.", message.author.avatarURL({size: 128})) .setTimestamp() diff --git a/commands/setcolor.js b/commands/setcolor.js index de8b77b..a77213a 100644 --- a/commands/setcolor.js +++ b/commands/setcolor.js @@ -5,7 +5,7 @@ const { } = require('util'); module.exports.run = async (client, message, args, language) => { - if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply("You don't have the rights to do this!"); + if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply(language.insufficientPermission); if (!message.guild.member(client.user).permissions.has("MANAGE_ROLES")) return message.reply("BOT doesn't have the Manage Roles permission on this server! Please contact the server admin to fix this issue!"); if (!message.mentions.roles.size) return message.reply("Please mention a role first!"); if (!args[1]) return message.reply("Please specify a role color!"); diff --git a/commands/setname.js b/commands/setname.js index b3a2198..4268f4a 100644 --- a/commands/setname.js +++ b/commands/setname.js @@ -5,7 +5,7 @@ const { } = require('util'); module.exports.run = async (client, message, args, language) => { - if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply("You don't have the rights to do this!"); + if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply(language.insufficientPermission); if (!message.guild.member(client.user).permissions.has("MANAGE_ROLES")) return message.reply("BOT doesn't have the Manage Roles permission on this server! Please contact the server admin to fix this issue!"); if (!message.mentions.roles.size) return message.reply("Please mention a role first!"); if (!args[1]) return message.reply("Please specify a role name!"); diff --git a/commands/setnickname.js b/commands/setnickname.js index 647ff6e..8c913a1 100644 --- a/commands/setnickname.js +++ b/commands/setnickname.js @@ -5,7 +5,7 @@ const { } = require('util'); module.exports.run = async (client, message, args, language) => { - if (!message.member.permissions.has("CHANGE_NICKNAME")) return message.reply("You don't have the rights to do this!"); + if (!message.member.permissions.has("CHANGE_NICKNAME")) return message.reply(language.insufficientPermission); if (!message.guild.member(client.user).permissions.has("CHANGE_NICKNAME")) return message.reply("BOT doesn't have the Change Nickname permission on this server! Please contact the server admin to fix this issue!"); if (!message.mentions.members.size) return message.reply("Please mention a member first!"); args.splice(0,1); diff --git a/commands/shop.js b/commands/shop.js index ef9c6fc..62d202e 100644 --- a/commands/shop.js +++ b/commands/shop.js @@ -30,7 +30,7 @@ module.exports.run = async (client, message, args, language) => { for (var j = 0; j < 29 - name.length; j++) descText += " "; } else descText += " | " + name.substr(0, 26) + "..."; - var price = items[i].price + ((items[i].price_type == "currency") ? client.config.currency : "💬 Message Points"); + var price = items[i].price + ((items[i].price_type == "currency") ? client.config.currency : "💬 " + language.messagePoints + ""); if (price.length <= 16) { descText += " | " + price; for (var j = 0; j < 16 - price.length; j++) descText += " "; @@ -48,7 +48,7 @@ module.exports.run = async (client, message, args, language) => { for (var j = 0; j < 29 - items[i].name.length; j++) descText += " "; } else descText += " | " + items[i].name.substr(0, 26) + "..."; - var price = items[i].price + ((items[i].price_type == "currency") ? client.config.currency : "💬 Message Points"); + var price = items[i].price + ((items[i].price_type == "currency") ? client.config.currency : "💬 " + language.messagePoints + ""); if (price.length <= 16) { descText += " | " + price; for (var j = 0; j < 16 - price.length; j++) descText += " "; diff --git a/commands/slap.js b/commands/slap.js index 1ca70a7..c52c1fb 100644 --- a/commands/slap.js +++ b/commands/slap.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/slots.js b/commands/slots.js index 20acc79..2d779f4 100644 --- a/commands/slots.js +++ b/commands/slots.js @@ -11,7 +11,7 @@ function random(min, max) { } function slots(client, message, args, language) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { if (!client.countdown[message.author.id] || client.countdown[message.author.id] < (new Date()).getTime()) { if (message.mentions.users.size && !args[0]) return message.reply("You must type an amount!"); @@ -64,7 +64,7 @@ function slots(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just " + ((res == 1) ? "won" : "lost") + " " + Math.abs(coinValue) + " " + client.config.currency + " because of the slots command.", message.author.avatarURL({size: 128})) .setTimestamp() @@ -98,7 +98,7 @@ function slots(client, message, args, language) { if (hours > 0) timeText += hours + "h "; if (minutes > 0) timeText += minutes + "m "; if (seconds > 0) timeText += seconds + "s "; - return message.reply("You have to wait **" + timeText + "**to do this again!"); + return message.reply(language.waitCountdown.replace("$time", timeText)); } } catch (err) { console.log(err); diff --git a/commands/snuggle.js b/commands/snuggle.js index 2ebb98f..518135f 100644 --- a/commands/snuggle.js +++ b/commands/snuggle.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/stare.js b/commands/stare.js index 991f29f..07168ac 100644 --- a/commands/stare.js +++ b/commands/stare.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/takerole.js b/commands/takerole.js index f0dc8f8..b2ac3bf 100644 --- a/commands/takerole.js +++ b/commands/takerole.js @@ -5,7 +5,7 @@ const { } = require('util'); module.exports.run = async (client, message, args, language) => { - if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply("You don't have the rights to do this!"); + if (!message.member.permissions.has("MANAGE_ROLES")) return message.reply(language.insufficientPermission); if (!message.guild.member(client.user).permissions.has("MANAGE_ROLES")) return message.reply("BOT doesn't have the Manage Roles permission on this server! Please contact the server admin to fix this issue!"); if (!message.mentions.members.size) return message.reply("Please mention a member first!"); args.splice(0,1); diff --git a/commands/tickle.js b/commands/tickle.js index 88ea8aa..1304557 100644 --- a/commands/tickle.js +++ b/commands/tickle.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/trade.js b/commands/trade.js index dc1feda..84a7ce4 100644 --- a/commands/trade.js +++ b/commands/trade.js @@ -120,7 +120,7 @@ function trade(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(sender.tag + " has just traded some items with " + recipent.tag + ".", sender.avatarURL({size: 128})) .setTimestamp() diff --git a/commands/trash.js b/commands/trash.js index ae75532..3d36d2b 100644 --- a/commands/trash.js +++ b/commands/trash.js @@ -15,7 +15,7 @@ module.exports.run = async (client, message, args, language) => { timeout: 10000 }); if (message.mentions.users.size) { - var creatingMsg = await message.channel.send("Creating images, please wait..."); + var creatingMsg = await message.channel.send(language.creatingImage); const canvas = Canvas.createCanvas(846, 861); const ctx = canvas.getContext('2d'); @@ -35,7 +35,7 @@ module.exports.run = async (client, message, args, language) => { }] }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/unmute.js b/commands/unmute.js index e770d66..1093118 100644 --- a/commands/unmute.js +++ b/commands/unmute.js @@ -8,10 +8,10 @@ const { module.exports.run = async (client, message, args, language) => { if (!message.member.permissions.has("MANAGE_MESSAGES")) return message.reply("You don't have the `Manage Messages` permission to do this!"); - if (!message.mentions.members.size) return message.reply("You must mention an user!"); + if (!message.mentions.members.size) return message.reply(language.pleaseMentionUser); if (message.mentions.members.first().user.id == message.author.id) return message.reply("You can't unmute yourself!"); - if (message.mentions.members.first().roles.highest.rawPosition >= message.member.roles.highest.rawPosition) return message.reply("The mentioned member's highest role is higher than yours!"); - if (message.mentions.members.first().roles.highest.rawPosition >= message.guild.member(client.user).roles.highest.rawPosition) return message.reply("The mentioned member's highest role is higher than this BOT's role!"); + if (message.mentions.members.first().roles.highest.rawPosition >= message.member.roles.highest.rawPosition) return message.reply(language.higherThanYours); + if (message.mentions.members.first().roles.highest.rawPosition >= message.guild.member(client.user).roles.highest.rawPosition) return message.reply(language.higherThanBOT); if (!message.guild.member(client.user).permissions.has("MANAGE_ROLES")) return message.reply("BOT doesn't have the Manage Roles permission on this server!"); var member = message.mentions.members.first(); var mutedRole = message.guild.roles.cache.find(role => role.name == "Muted"); @@ -31,7 +31,7 @@ module.exports.run = async (client, message, args, language) => { }) }, footer: { - text: "Sender's ID: " + message.author.id + " | Mentioned member's ID: " + member.user.id, + text: message.senderID + message.author.id + message.mentionedMemberID + member.user.id, timestamp: message.timestamp } } @@ -48,7 +48,7 @@ module.exports.run = async (client, message, args, language) => { }) }, footer: { - text: "Sender's ID: " + message.author.id + " | Mentioned member's ID: " + member.user.id, + text: message.senderID + message.author.id + message.mentionedMemberID + member.user.id, timestamp: message.timestamp } } diff --git a/commands/use.js b/commands/use.js index b8747c8..f30accd 100644 --- a/commands/use.js +++ b/commands/use.js @@ -19,7 +19,7 @@ function use(client, message, args, language) { for (var i = 0; i < items.length; i++) { if (items[i].code == args[0]) item = items[i]; } - if (!item) return message.reply("Invalid item code!"); + if (!item) return message.reply(language.invalidItemCode); var has = false; if (item.type == "leveling_ticket") { if (eval("client.economyManager[message.author.id].leveling_tickets." + item.code)) has = true; @@ -60,7 +60,7 @@ function use(client, message, args, language) { case "leveling_ticket": { if (!args[1]) return message.reply("Please type a waifu ID!"); if (isNaN(args[1])) return message.reply("The waifu ID must be a number!"); - if (args[2] && isNaN(args[2])) return message.reply("The quantity must be a number!"); + if (args[2] && isNaN(args[2])) return message.reply(language.quantityIsNaN); var waifu, quantity = args[2] ? parseInt(args[2]) : 1; if (eval("client.economyManager[message.author.id].leveling_tickets." + item.code) < quantity) return message.reply("You don't have enough tickets!"); for (var i = 0; i < client.economyManager[message.author.id].waifus.length; i++) { @@ -108,7 +108,7 @@ function use(client, message, args, language) { name: message.author.tag, icon_url: message.author.avatarURL({size: 128}) }, - description: "You just used " + (quantity > 1 ? quantity : "a") + " " + item.name + " and your **" + waifu.name + "** got " + (item.exp_points * quantity).toLocaleString() + " EXP.\n\n**Transaction ID:**\n" + result + "\nYou should remember this ID and send this to the BOT developer if something wrong happened.", + description: "You just used " + (quantity > 1 ? quantity : "a") + " " + item.name + " and your **" + waifu.name + "** got " + (item.exp_points * quantity).toLocaleString() + " EXP.\n\n**" + language.transactionID + "**\n" + result + "\n" + language.transactionNotice + "", timestamp: new Date() }; message.channel.send({embed: embed}); diff --git a/commands/warn.js b/commands/warn.js index 3849884..1e9f555 100644 --- a/commands/warn.js +++ b/commands/warn.js @@ -6,11 +6,11 @@ const { module.exports.run = async (client, message, args, language) => { if (!message.member.permissions.has("MANAGE_MESSAGES")) return message.reply("You don't have the `Manage Messages` permission to do this!"); - if (!message.mentions.members.size) return message.reply("You must mention an user!"); + if (!message.mentions.members.size) return message.reply(language.pleaseMentionUser); if (message.mentions.members.first().user.id == message.author.id) return message.reply("You can't warn yourself!"); - if (message.mentions.members.first().roles.highest.rawPosition >= message.member.roles.highest.rawPosition) return message.reply("The mentioned member's highest role is higher than yours!"); + if (message.mentions.members.first().roles.highest.rawPosition >= message.member.roles.highest.rawPosition) return message.reply(language.higherThanYours); if (message.mentions.members.first().user.id == client.user.id) return message.reply("You can't warn this BOT!"); - var reason = "Unspecified"; + var reason = language.unspecified; args.splice(0, 1); if (args[0]) reason = args.join(" "); message.channel.send({ @@ -24,9 +24,9 @@ module.exports.run = async (client, message, args, language) => { size: 2048 }) }, - description: "**Reason:** " + reason, + description: "**" + language.reason + ":** " + reason, footer: { - text: "Sender's ID: " + message.author.id + " | Mentioned member's ID: " + message.mentions.members.first().id, + text: message.senderID + message.author.id + message.mentionedMemberID + message.mentions.members.first().id, timestamp: message.timestamp } } @@ -42,9 +42,9 @@ module.exports.run = async (client, message, args, language) => { size: 2048 }) }, - description: "**Being warned by:** " + message.author.toString() + "\n**Reason:** " + reason, + description: "**Being warned by:** " + message.author.toString() + "\n**" + language.reason + ":** " + reason, footer: { - text: "Sender's ID: " + message.author.id + " | Mentioned member's ID: " + message.mentions.members.first().id, + text: message.senderID + message.author.id + message.mentionedMemberID + message.mentions.members.first().id, timestamp: message.timestamp } } diff --git a/commands/wave.js b/commands/wave.js index 080408f..5bf3244 100644 --- a/commands/wave.js +++ b/commands/wave.js @@ -50,7 +50,7 @@ module.exports.run = async (client, message, args, language) => { } }); } else { - message.reply("You must mention an user!"); + message.reply(language.pleaseMentionUser); } } diff --git a/commands/wbuy.js b/commands/wbuy.js index 5df11f5..8588f63 100644 --- a/commands/wbuy.js +++ b/commands/wbuy.js @@ -75,7 +75,7 @@ function wbuy(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just bought \"" + name + "\" item from the BOT's public shop for " + price + " " + client.config.currency + ".", message.author.avatarURL({size: 128})) .setTimestamp() @@ -87,7 +87,7 @@ function wbuy(client, message, args, language) { name: "Succesfully bought \"" + name + "\" from the server shop.", icon_url: message.author.avatarURL({size: 128}) }, - description: "The transaction ID is " + result + ".\nYou should remember this ID and send this to the BOT developer if something wrong happened.", + description: "The transaction ID is " + result + ".\n" + language.transactionNotice + "", timestamp: new Date() }; message.channel.send({ diff --git a/commands/weekly.js b/commands/weekly.js index 5fb5662..4e23151 100644 --- a/commands/weekly.js +++ b/commands/weekly.js @@ -10,7 +10,7 @@ function random(min, max) { } async function weekly(client, message, args, language) { - if (!client.economyManager[message.author.id].coins) return message.reply("Cannot get the coins information."); + if (!client.economyManager[message.author.id].coins) return message.reply(language.coinError); try { if (!client.economyManager[message.author.id].weeklyCountdown || client.economyManager[message.author.id].weeklyCountdown < (new Date()).getTime()) { if (args[0] == "refresh") client.captchas.weekly[message.author.id] = undefined; @@ -53,7 +53,7 @@ async function weekly(client, message, args, language) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(message.author.username + " has just rewarded " + weeklyCoins + " " + client.config.currency + ".", message.author.avatarURL({size: 128})) .setTimestamp() diff --git a/events/message.js b/events/message.js index 3c5c55f..fbb16f6 100644 --- a/events/message.js +++ b/events/message.js @@ -237,7 +237,7 @@ module.exports = async (client, message) => { // Done the Custom Prefix part. if (message.mentions.users.size) - if (message.mentions.users.first().id == client.user.id) message.channel.send("The BOT's prefix in this server is " + prefix + ".").then(message => { + if (message.mentions.users.first().id == client.user.id) message.channel.send(language.currentServerPrefix.replace("$prefix", prefix)).then(message => { message.delete({timeout:5000}); }); @@ -265,8 +265,8 @@ module.exports = async (client, message) => { if (message.guild.member(client.user).hasPermission("SEND_MESSAGES")) { if (!message.channel.permissionOverwrites.get(client.user.id) || message.channel.permissionOverwrites.get(client.user.id).deny.has("SEND_MESSAGES") != true) cmd.run(client, message, args, language); - else message.author.send("I don't have permission to send messages on the **" + message.guild.name + "** server! Please contact the server admin to fix the issue!"); + else message.author.send(language.missingSendPermissions.replace("$guild.name", message.guild.name)); } - else message.author.send("I don't have permission to send messages on the **" + message.guild.name + "** server! Please contact the server admin to fix the issue!"); + else message.author.send(language.missingSendPermissions.replace("$guild.name", message.guild.name)); } }; diff --git a/events/ready.js b/events/ready.js index 81280f0..9e76d80 100644 --- a/events/ready.js +++ b/events/ready.js @@ -142,7 +142,7 @@ module.exports = (client) => { }, description: "**Reason**: Automatic Unmute", footer: { - text: "Sender's ID: " + author.id + " | Mentioned member's ID: " + member.user.id, + text: message.senderID + author.id + message.mentionedMemberID + member.user.id, timestamp: (new Date()).getTime() } } diff --git a/index.js b/index.js index e5212fd..51661cf 100644 --- a/index.js +++ b/index.js @@ -66,7 +66,7 @@ client.on("guildMemberAdd", (member) => { }, description: "**Duration:**: " + ms(endtime - (new Date()).getTime(), { long: true - }) + "**Reason:** Roles persist", + }) + "**" + language.reason + ":** Roles persist", footer: { text: "Mentioned member's ID: " + member.user.id, timestamp: (new Date()).getTime() diff --git a/languages/english.json b/languages/english.json index 0d3c7db..5b3ee7b 100644 --- a/languages/english.json +++ b/languages/english.json @@ -18,5 +18,87 @@ "priceEmbedField": "Price:", "serverConnectError": "Something wrong happened with the BOT server! Can you contact the developer to fix it?", "invalidAnswer": "Invalid answer! Please type again!", - "unexpectedErrorOccurred": "An unexpected error occurred." + "unexpectedErrorOccurred": "An unexpected error occurred.", + "currentServerPrefix": "The BOT's prefix in this server is $prefix.", + "missingSendPermissions": "I don't have permission to send messages on the **$guild.name** server! Please contact the server admin to fix the issue!", + "yes": "Yes", + "no": "No", + "displayName": "Display Name:", + "memberID": "Member ID:", + "avatarURL": "Avatar URL:", + "download": "Download", + "accountCreatedIn": "Account created in:", + "joinedServerIn": "Joined this server in:", + "numberOfRoles": "Number of roles:", + "highestRole": "Highest role", + "currentDisplayColor": "Current Display Color:", + "isAdmin": "Is an administrator?", + "canKickMem": "Can kick members?", + "canBanMem": "Can ban members?", + "canManageRoles": "Can manage roles?", + "canManageChannel": "Can manage channels?", + "userDontJoinGuild": "Some information cannot be displayed because this user don't join this server as well.", + "userInfoOnDM": "Some information cannot be displayed because you're using this command on a Direct Messages channel.", + "userNotExist": "This user isn't exist!", + "needManageGuildPermission": "You need the Manage Guild permission to do this!", + "missingManageRolesPermission": "I don't have the Manage Roles permission! Please contact the server admin!", + "beginServerRoleAdd": "You are going to add a role to your server's shop.\nWhat role you're trying to add? Please mention it or send its ID to this channel.\nType `cancel` anytime to cancel the role-adding request.", + "completePreviousServerRole": "Please complete your previous role-adding request!", + "creatingImage": "Creating image, please wait...", + "haveBeenCaught": ", you have been caught by ", + "arrestedYourself": "You arrested yourself, but... why??", + "pleaseMentionUser": "You must mention an user!", + "baka": " is an idiot! Baka!", + "balance": "$username's balance", + "messagePoints": "Message Points", + "insufficientPermission": "You don't have the rights to do this!", + "cannotBanYourself": "You cannot ban yourself!", + "higherThanYours": "The mentioned member's highest role is higher than yours!", + "higherThanBOT": "The mentioned member's highest role is higher than this BOT's role!", + "cannotBanThisBOT": "You cannot ban this BOT!", + "noBanPermission": "This BOT doesn't have the Ban Members permission on this server!", + "unspecified": "Unspecified", + "hasJustBanned": " has just banned ", + "reason": "Reason", + "senderID": "Sender's ID: ", + "mentionedMemberID": " | Mentioned member's ID: ", + "banned": "You have just been banned in the $guild.name server", + "beingBannedBy": "**Being banned by:** ", + "noTeam": "You don't have any team!\nUse the `team add ` command to add a member to your team!", + "defaultPlayerTeamName": "$username's team", + "insufficentBattleAmount": "You need to have at least **$amount** to start a battle!", + "defaultOpponentTeamName": "Opponent's Team", + "cannotBattleWithBOT": "You cannot battle with a BOT!", + "cannotBattleWithYourself": "You cannot battle with yourself!", + "opponentNoTeam": "The mentioned user doesn't have any team!", + "battleAgainst": "$username's battle against ", + "aRandomOpponent": "a random opponent", + "battleDescription": "If the BOT doesn't update the battle status for a long time, that means the BOT has been restarted during the battle.\nAt that time, please use the command again.", + "drawResult": "The result is a draw!", + "theOpponent": "The opponent", + "isTheWinner": " is the winner!\nYou lost ", + "and": " and ", + "got": " got ", + "streaksLost": "...\nYou lost your streak of ", + "lostStreaks": " wins...", + "ticketGift": "\nYou also got a Leveling Ticket $r1★ and a Gacha Ticket $r2★!", + "winnerText": "You are the winner! Congratulations!\nYou got ", + "andYourTeamGot": " and your team got ", + "hasLost": " has lost ", + "winStreaks": "You are in $streaks win streak(s)!", + "waitCountdown": "You have to wait **$time**to do this again!", + "bite": " bites ", + "bonk": " \"bonk\" ", + "boop": " boops ", + "bully": " bullies ", + "coinError": "Cannot get the coins information.", + "itemAlreadyHave": "You have already had this item!", + "quantityIsNaN": "The quantity must be a number!", + "itemBought": "Succesfully bought the \"$item\" item.", + "transactionID": "Transaction ID:", + "transactionNotice": "You should remember this ID and send this to the BOT developer if something wrong happened.", + "noBOTShopItem": "There aren't any items in the BOT's shop!", + "specifyCode": "Please specify the code of at item!", + "invalidItemCode": "Invalid item code!", + "cantBuyItem": "You can't buy this item!" } \ No newline at end of file diff --git a/web/BuyItem.js b/web/BuyItem.js index c4c01fa..0005aab 100644 --- a/web/BuyItem.js +++ b/web/BuyItem.js @@ -33,7 +33,7 @@ function gbuy(client, req, res, guild, member) { for (let i = 0; i < 32; i++) { result += characters.charAt(Math.floor(Math.random() * characters.length)); } - if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**Transaction ID:** " + result, new Discord.MessageEmbed() + if (client.channels.cache.get(client.config.logChannel)) client.channels.cache.get(client.config.logChannel).send("**" + language.transactionID + "** " + result, new Discord.MessageEmbed() .setColor(Math.floor(Math.random() * 16777215)) .setAuthor(member.user.username + " has just bought \"" + role.name + "\" role for " + client.economyManager[guild.id].roles[parseInt(req.body.item_id) - 1].price + " " + client.config.currency + " from the \"" + guild.name + "\" server shop on the uynbot.ga website.", member.user.avatarURL({size: 128})) .setTimestamp() diff --git a/web/Economy.js b/web/Economy.js index f564ee9..0b03991 100644 --- a/web/Economy.js +++ b/web/Economy.js @@ -31,7 +31,7 @@ module.exports.get = async function(client, req, res) { else if (tokenData.id == null) return res.status(401).send(JSON.stringify({code: 401, error: "Invalid Access Token."})); var id = tokenData.id; if (client.economyManager[id]) { - if (!client.economyManager[id].coins) return res.status(500).send(JSON.stringify({code: 500, error: "Cannot get the coins information."})); + if (!client.economyManager[id].coins) return res.status(500).send(JSON.stringify({code: 500, error: language.coinError})); try { var economy = { coins: parseInt(decrypt(client.economyManager[id].coins)), @@ -58,7 +58,7 @@ module.exports.get = async function(client, req, res) { try { client.economyManager = JSON.parse(body); if (client.economyManager[id] != undefined) { - if (!client.economyManager[id].coins) return res.status(500).send(JSON.stringify({code: 500, error: "Cannot get the coins information."})); + if (!client.economyManager[id].coins) return res.status(500).send(JSON.stringify({code: 500, error: language.coinError})); try { var economy = { coins: parseInt(decrypt(client.economyManager[id].coins)), @@ -91,7 +91,7 @@ module.exports.get = async function(client, req, res) { data: JSON.stringify(client.economyManager[id]) }}, function(error, response, body) { if (!error && response.statusCode == 200 && body.includes("Success")) { - if (!client.economyManager[id].coins) return res.status(500).send(JSON.stringify({code: 500, error: "Cannot get the coins information."})); + if (!client.economyManager[id].coins) return res.status(500).send(JSON.stringify({code: 500, error: language.coinError})); try { var economy = { coins: parseInt(decrypt(client.economyManager[id].coins)), diff --git a/web/GuildPrefix.js b/web/GuildPrefix.js index db59cff..461ba74 100644 --- a/web/GuildPrefix.js +++ b/web/GuildPrefix.js @@ -35,7 +35,7 @@ module.exports.post = async function(client, req, res) { if (!guild) return res.status(404).send(JSON.stringify({code: 404, error: "Cannot get the Guild object. Maybe you entered an invalid Guild ID or the BOT hasn't joined this guild yet."})); var member = guild.member(id); if (!member) return res.status(404).send(JSON.stringify({code: 404, error: "Cannot get the member information. Are you trying to view information of a guild that you haven't joined?"})); - if (!member.hasPermission("MANAGE_GUILD")) return res.status(403).send(JSON.stringify({code: 403, error: "You need the Manage Guild permission to do this!"})); + if (!member.hasPermission("MANAGE_GUILD")) return res.status(403).send(JSON.stringify({code: 403, error: language.needManageGuildPermission})); if (client.customPrefixes[guild.id] && client.customPrefixes[guild.id] == req.body.prefix) return res.status(400).send(JSON.stringify({code: 400, error: "The BOT's prefix on this server is already " + req.body.prefix + "!"})); request(process.env.php_server_url + '/SetCustomPrefix.php?token=' + process.env.php_server_token + '&id=' + guild.id + "&prefix=" + encodeURIComponent(req.body.prefix), function(err, response, body) { if (!response || response.statusCode != 200 || body.includes('Connection failed')) {