From aabee8be166a1acc0d0ff2212e0455bf72e3d477 Mon Sep 17 00:00:00 2001 From: yADGithub <2007andredoe@gmail.com> Date: Sun, 21 Nov 2021 14:42:42 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=A5=B3=20|=20New=20Game?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/jsLibraryMappings.xml | 6 + assets/images/badges/bughunter.png | Bin 0 -> 27132 bytes package.json | 1 + src/Commands/Config/AutoroleCommand.js | 2 +- src/Commands/Config/ReactionRole.js | 4 +- src/Commands/Economy/ProfileCommand.js | 16 +- src/Commands/Fun/GuessTheNumberCommand.js | 129 ++++++++++ src/Commands/Info/BotinfoCommand.js | 25 ++ src/Commands/Info/HelpCommand.js | 75 ++++++ src/Commands/Info/PingCommand.js | 20 +- src/Commands/Utils/UserinfoCommand.js | 1 - src/Commands/Waifu/WaifuCommand.js | 1 - src/Events/interactionCreate.js | 293 +++++++++++----------- src/Events/rawWS.js | 11 + src/Helpers/MessageCollector.js | 2 +- src/Locales/en-US.js | 21 +- src/Locales/pt-BR.js | 21 +- src/Utils/ZulyFunctions.js | 11 + yarn.lock | 12 + 19 files changed, 492 insertions(+), 159 deletions(-) create mode 100644 .idea/jsLibraryMappings.xml create mode 100644 assets/images/badges/bughunter.png create mode 100644 src/Commands/Fun/GuessTheNumberCommand.js create mode 100644 src/Events/rawWS.js diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml new file mode 100644 index 00000000..d23208fb --- /dev/null +++ b/.idea/jsLibraryMappings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/assets/images/badges/bughunter.png b/assets/images/badges/bughunter.png new file mode 100644 index 0000000000000000000000000000000000000000..58c3b3411ce3fd1b08c18b0996be62f715f6b1c6 GIT binary patch literal 27132 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 A>i_@% literal 0 HcmV?d00001 diff --git a/package.json b/package.json index f2342207..43b91c7c 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "deepai": "^1.0.17", "erela.js": "^2.3.3", "eris": "0.16.1", + "eris-collector": "^1.0.1", "express": "^4.17.1", "humanize-duration": "^3.27.0", "math-expression-evaluator": "^1.3.8", diff --git a/src/Commands/Config/AutoroleCommand.js b/src/Commands/Config/AutoroleCommand.js index b4caf1f3..f944df41 100644 --- a/src/Commands/Config/AutoroleCommand.js +++ b/src/Commands/Config/AutoroleCommand.js @@ -4,7 +4,7 @@ module.exports = class AutoroleCommand { constructor () { return { permissoes: { - membro: ['manageGuild'], + membro: ['manageGuild', 'manageRoles'], bot: ['manageRoles', 'useExternalEmojis', 'addReactions', 'manageMessages'] }, pt: { diff --git a/src/Commands/Config/ReactionRole.js b/src/Commands/Config/ReactionRole.js index 0afec0fd..c46d354c 100644 --- a/src/Commands/Config/ReactionRole.js +++ b/src/Commands/Config/ReactionRole.js @@ -2,8 +2,8 @@ module.exports = class ReactionRoleCommand { constructor () { return { permissoes: { - membro: ['manageGuild'], - bot: [] + membro: ['manageGuild', 'manageRoles'], + bot: ['manageRoles', 'useExternalEmojis', 'addReactions'] }, pt: { nome: 'reactionrole', diff --git a/src/Commands/Economy/ProfileCommand.js b/src/Commands/Economy/ProfileCommand.js index b0d03da2..b6f0a8f4 100644 --- a/src/Commands/Economy/ProfileCommand.js +++ b/src/Commands/Economy/ProfileCommand.js @@ -58,11 +58,23 @@ module.exports = class EvalCommand { foto.drawImage(background, 0, 0, canvas.width, canvas.height); const userPremium = await global.zuly.getPremium('doador', user.id); + const bugHunter = await global.zuly.getBugHunter(user.id); - if (userPremium) { + if (bugHunter && userPremium) { + const bug = await loadImage('./assets/images/badges/bughunter.png'); const early = await loadImage('./assets/images/badges/earlysupport.png'); - foto.drawImage(early, 650, 60, 50, 45); + foto.drawImage(early, 650, 60, 60, 45); + foto.drawImage(bug, 700, 60, 60, 45); } + else if (bugHunter) { + const early = await loadImage('./assets/images/badges/bughunter.png'); + foto.drawImage(early, 650, 60, 60, 45); + } + else if (userPremium) { + const early = await loadImage('./assets/images/badges/earlysupport.png'); + foto.drawImage(early, 650, 60, 60, 45); + } + if (user.username.length > 9) { foto.font = '17px Dunkin'; } diff --git a/src/Commands/Fun/GuessTheNumberCommand.js b/src/Commands/Fun/GuessTheNumberCommand.js new file mode 100644 index 00000000..c98361a0 --- /dev/null +++ b/src/Commands/Fun/GuessTheNumberCommand.js @@ -0,0 +1,129 @@ +module.exports = class Nitro { + constructor () { + return { + permissoes: { + membro: ['manageEvents'], + bot: [], + dono: false + }, + pt: { + nome: 'guess', + categoria: '⭐ » Diversão', + desc: 'Adivinhe o número é um jogo educacional divertido.' + }, + en: { + nome: 'guess', + categoria: '⭐ » Fun', + desc: 'Guess the Number is a fun educational game.' + }, + /* + SUB_COMMAND 1 = SubCommand + SUB_COMMAND_GROUP: 2 = SubCommandGroup + STRING: 3 = String + INTEGER: 4 = Any integer between -2^53 and 2^53 + BOOLEAN: 5 = True or False + USER: 6 = User Mention + CHANNEL: 7 = Includes all channel types + categories + ROLE: 8 = Role Mention + MENTIONABLE: 9 = Includes users and roles + NUMBER: 10 = Any double between -2^53 and 2^53 + */ + options: [ + { + type: 3, + name: 'min', + description: 'The minimum number.', + required: false, + }, + { + type: 3, + name: 'max', + description: 'The maximum number.', + required: false, + } + ], + aliases: [], + run: this.run + }; + } + + async run (ctx) { + if (!ctx.args[0] && !ctx.args[1] || isNaN(ctx.args[0]) && isNaN(ctx.args[1])) { + const number = Math.floor(Math.random() * 1500) + 500; + console.log(number); + ctx.message.channel.slashReply({ + content: `⏰ ${ctx.message.author.mention} **|** ${ctx.idioma.guess.start.replace('%min', 500).replace('%max', 1500)}` + }); + setTimeout(() => { + ctx.message.channel.createMessage({ + content: `✅ ${ctx.message.author.mention} **|** ${ctx.idioma.guess.started}` + }).then(async msg => { + const dm = await ctx.message.author.getDMChannel(); + dm.createMessage({ + content: `👀 ${ctx.message.author.mention} **|** ${ctx.idioma.guess.number.replace('%num', number)}` + }).catch(() => { + ctx.message.createFollowup({ + content: `👀 ${ctx.message.author.mention} **|** ${ctx.idioma.guess.number.replace('%num', number)}`, + flags: ctx.ephemeral + }); + }); + const { MessageCollector } = require('eris-collector'); + const collector = new MessageCollector(global.zuly, msg.channel, (m) => m.content === `${number}`, { + time: 300000 + }); + collector.on('collect', async msg => { + ctx.message.channel.createMessage({ + content: `✅ ${msg.author.mention} **|** ${ctx.idioma.guess.win.replace('%num', number)}`, + messageReference: { + channelID: msg.channel.id, + guildID: msg.channel.guild.id, + messageID: msg.id + } + }).then(() => { + collector.stop(); + }); + }); + }); + }, 5000); + } + else { + const number = Math.floor(Math.random() * Number(ctx.args[1])) + Number(ctx.args[0]); + console.log(number); + ctx.message.channel.slashReply({ + content: `⏰ ${ctx.message.author.mention} **|** ${ctx.idioma.guess.start.replace('%min', Number(ctx.args[0])).replace('%max', Number(ctx.args[1]))}` + }); + setTimeout(() => { + ctx.message.channel.createMessage({ + content: `✅ ${ctx.message.author.mention} **|** ${ctx.idioma.guess.started}` + }).then(async msg => { + const dm = await ctx.message.author.getDMChannel(); + dm.createMessage({ + content: `👀 ${ctx.message.author.mention} **|** ${ctx.idioma.guess.number.replace('%num', number)}` + }).catch(() => { + ctx.message.createFollowup({ + content: `👀 ${ctx.message.author.mention} **|** ${ctx.idioma.guess.number.replace('%num', number)}`, + flags: ctx.ephemeral + }); + }); + const { MessageCollector } = require('eris-collector'); + const collector = new MessageCollector(global.zuly, msg.channel, (m) => m.content === `${number}`, { + time: 300000 + }); + collector.on('collect', async msg => { + ctx.message.channel.createMessage({ + content: `✅ ${msg.author.mention} **|** ${ctx.idioma.guess.win.replace('%num', number)}`, + messageReference: { + channelID: msg.channel.id, + guildID: msg.channel.guild.id, + messageID: msg.id + } + }).then(() => { + collector.stop(); + }); + }); + }); + }, 5000); + } + } +}; +// 𝖽 \ No newline at end of file diff --git a/src/Commands/Info/BotinfoCommand.js b/src/Commands/Info/BotinfoCommand.js index ef88632c..f3e84157 100644 --- a/src/Commands/Info/BotinfoCommand.js +++ b/src/Commands/Info/BotinfoCommand.js @@ -63,6 +63,31 @@ module.exports = class BotinfoCommand { ctx.message.channel.slashReply({ content: ctx.message.author.mention, embeds: [embed.get()], + components: [ + { + type: 1, + components: [ + { + type: 2, + label: `${ctx.idioma.mention.labels.support}`, + style: 5, + url: 'https://discord.gg/pyyyJpw5QW' + }, + { + type: 2, + label: `${ctx.idioma.mention.labels.invite}`, + style: 5, + url: 'https://discord.com/oauth2/authorize?client_id=' + global.zuly.user.id + '&scope=bot%20applications.commands&permissions=268823622' + }, + { + type: 2, + label: `${ctx.idioma.mention.labels.website}`, + style: 5, + url: 'https://zulybot.xyz/' + } + ] + } + ] }); }); } diff --git a/src/Commands/Info/HelpCommand.js b/src/Commands/Info/HelpCommand.js index 97451e7c..a64e0b7d 100644 --- a/src/Commands/Info/HelpCommand.js +++ b/src/Commands/Info/HelpCommand.js @@ -83,6 +83,31 @@ module.exports = class Ajuda { return ctx.message.channel.slashReply({ content: ctx.message.author.mention, embeds: [help.get()], + components: [ + { + type: 1, + components: [ + { + type: 2, + label: `${ctx.idioma.mention.labels.support}`, + style: 5, + url: 'https://discord.gg/pyyyJpw5QW' + }, + { + type: 2, + label: `${ctx.idioma.mention.labels.invite}`, + style: 5, + url: 'https://discord.com/oauth2/authorize?client_id=' + global.zuly.user.id + '&scope=bot%20applications.commands&permissions=268823622' + }, + { + type: 2, + label: `${ctx.idioma.mention.labels.website}`, + style: 5, + url: 'https://zulybot.xyz/' + } + ] + } + ], flags: ctx.ephemeral }); } @@ -116,6 +141,31 @@ module.exports = class Ajuda { ctx.message.channel.slashReply({ content: ctx.message.author.mention, embeds: [embed.get()], + components: [ + { + type: 1, + components: [ + { + type: 2, + label: `${ctx.idioma.mention.labels.support}`, + style: 5, + url: 'https://discord.gg/pyyyJpw5QW' + }, + { + type: 2, + label: `${ctx.idioma.mention.labels.invite}`, + style: 5, + url: 'https://discord.com/oauth2/authorize?client_id=' + global.zuly.user.id + '&scope=bot%20applications.commands&permissions=268823622' + }, + { + type: 2, + label: `${ctx.idioma.mention.labels.website}`, + style: 5, + url: 'https://zulybot.xyz/' + } + ] + } + ], flags: ctx.ephemeral }); @@ -172,6 +222,31 @@ module.exports = class Ajuda { ctx.message.channel.slashReply({ content: ctx.message.author.mention, embeds: [embed.get()], + components: [ + { + type: 1, + components: [ + { + type: 2, + label: `${ctx.idioma.mention.labels.support}`, + style: 5, + url: 'https://discord.gg/pyyyJpw5QW' + }, + { + type: 2, + label: `${ctx.idioma.mention.labels.invite}`, + style: 5, + url: 'https://discord.com/oauth2/authorize?client_id=' + global.zuly.user.id + '&scope=bot%20applications.commands&permissions=268823622' + }, + { + type: 2, + label: `${ctx.idioma.mention.labels.website}`, + style: 5, + url: 'https://zulybot.xyz/' + } + ] + } + ], flags: ctx.ephemeral }); break; diff --git a/src/Commands/Info/PingCommand.js b/src/Commands/Info/PingCommand.js index 26473723..14dc47df 100644 --- a/src/Commands/Info/PingCommand.js +++ b/src/Commands/Info/PingCommand.js @@ -40,8 +40,26 @@ module.exports = class PingCommand { const pingDB = new Promise((r) => mongoose.connection.db.admin().ping(() => r(Date.now() - date)) ); + const { Constants } = require('eris'); return ctx.message.channel.slashReply({ - content: `🏓 **|** ${ctx.message.author.mention} Pong!\n- **API Ping:** \`${global.zuly.shards.random().latency}ms\`\n- **Database:** \`${await pingDB}ms\`` + content: `🏓 **|** ${ctx.message.author.mention} Pong!\n- **API Ping:** \`${global.zuly.shards.random().latency}ms\`\n- **Database:** \`${await pingDB}ms\``, + components: [ + { + type: Constants.ComponentTypes.ACTION_ROW, + components: [ + { + type: Constants.ComponentTypes.BUTTON, + style: Constants.ButtonStyles.PRIMARY, + custom_id: 'ping', + label: ctx.idioma.labels.recalc, + emoji: { + name: '🔁' + }, + disabled: false + } + ] + } + ] }); } }; diff --git a/src/Commands/Utils/UserinfoCommand.js b/src/Commands/Utils/UserinfoCommand.js index d9aa434c..500f4cf2 100644 --- a/src/Commands/Utils/UserinfoCommand.js +++ b/src/Commands/Utils/UserinfoCommand.js @@ -75,7 +75,6 @@ module.exports = class CalcCommand { return badges; } - const user = ctx.args[0] ? ctx.message.mentions[1] || await global.zuly.getRESTUser(ctx.args[0]).catch(() => ctx.message.author) : ctx.message.author; const badges = getUserBadges(user); const embed = new ctx.embed(); diff --git a/src/Commands/Waifu/WaifuCommand.js b/src/Commands/Waifu/WaifuCommand.js index d093b908..f7282244 100644 --- a/src/Commands/Waifu/WaifuCommand.js +++ b/src/Commands/Waifu/WaifuCommand.js @@ -67,7 +67,6 @@ module.exports = class EvalCommand { content: ctx.message.author.mention, embeds: [embed.get()] }).then(async message => { - console.log(message); if (!dono) { const MarryCollector = new ReactionCollector(message, { user: ctx.message.author, diff --git a/src/Events/interactionCreate.js b/src/Events/interactionCreate.js index 5318828d..c710f475 100644 --- a/src/Events/interactionCreate.js +++ b/src/Events/interactionCreate.js @@ -6,167 +6,180 @@ module.exports = class InteractionEvent { }; } async run (interaction) { - try { - // const Eris = require('eris'); - const command = global.zuly.commands.get(interaction.data.name); - - interaction.mentions = []; - interaction.mentions[0] = global.zuly.user; - interaction.mention_everyone = false; - if (interaction.data && interaction.data.resolved && interaction.data.resolved.roles) { - interaction.mention_roles = interaction.data.resolved.roles; + const Eris = require('eris'); + if(interaction instanceof Eris.ComponentInteraction) { + interaction.author = interaction.member.user; + if (interaction.data.custom_id === 'ping') { + interaction.deferUpdate(); + const mongoose = require('mongoose'); + const date = Date.now(); + const pingDB = new Promise((r) => + mongoose.connection.db.admin().ping(() => r(Date.now() - date)) + ); + interaction.message.edit({ + content: `🏓 **|** ${interaction.author.mention} Pong!\n- **API Ping:** \`${global.zuly.shards.random().latency}ms\`\n- **Database:** \`${await pingDB}ms\``, + }); } - if (interaction.data && interaction.data.resolved && interaction.data.resolved.users) { - for (const membro in interaction.data.resolved.users) { - interaction.data.resolved.users[membro].member = - interaction.data.resolved.members[membro]; - interaction.mentions.push(interaction.data.resolved.users[membro]); + } + if (interaction instanceof Eris.CommandInteraction) { + try { + const command = global.zuly.commands.get(interaction.data.name); + interaction.mentions = []; + interaction.mentions[0] = global.zuly.user; + interaction.mention_everyone = false; + if (interaction.data && interaction.data.resolved && interaction.data.resolved.roles) { + interaction.mention_roles = interaction.data.resolved.roles; } - } - const args = interaction.data.options - ? interaction.data.options.map((i) => { - switch (i.type) { - case 8: - return `<@&${i.value}>`; - case 6: - return `<@!${i.value}>`; - case 7: - return `<#${i.value}>`; - default: - return i.value; + if (interaction.data && interaction.data.resolved && interaction.data.resolved.users) { + for (const membro in interaction.data.resolved.users) { + console.log(interaction.data.resolved.users); + interaction.data.resolved.users[membro.user.id].member = interaction.data.resolved.members[membro.user.id]; + interaction.mentions.push(interaction.data.resolved.users[membro.user.id]); } - }) - : []; - interaction.content = (interaction.data.name + ' ' + args.join(' ')).trim(); - interaction.author = interaction.member.user; - - const msg = interaction; - - let idioma = require('../Config/idiomas.js'); - let lang = await global.db.get(`idioma-${msg.guildID}`) || 'pt_br'; - lang = lang.replace(/-/g, '_'); - idioma = idioma[lang]; + } + const args = interaction.data.options + ? interaction.data.options.map((i) => { + switch (i.type) { + case 8: + return `<@&${i.value}>`; + case 6: + return `<@!${i.value}>`; + case 7: + return `<#${i.value}>`; + default: + return i.value; + } + }) + : []; + interaction.content = (interaction.data.name + ' ' + args.join(' ')).trim(); + interaction.author = interaction.member.user; + const msg = interaction; + let idioma = require('../Config/idiomas.js'); + let lang = await global.db.get(`idioma-${msg.guildID}`) || 'pt_br'; + lang = lang.replace(/-/g, '_'); + idioma = idioma[lang]; - const prefix = await global.db.get(`prefix-${msg.channel.guild.id}`) ? global.db.get(`prefix-${msg.channel.guild.id}`) : '/'; + const prefix = await global.db.get(`prefix-${msg.channel.guild.id}`) ? global.db.get(`prefix-${msg.channel.guild.id}`) : '/'; - msg.channel.slashReply = interaction.createMessage.bind(interaction); + msg.channel.slashReply = interaction.createMessage.bind(interaction); - if (command.permissoes) { - if (command.permissoes.membro.length) { - if (!command.permissoes.membro.every(p => msg.channel.guild.members.get(msg.author.id).permissions.has(p))) { - return msg.channel.slashReply({ - content: `:x: ${msg.author.mention} **|** ${idioma.message.user} \`${command.permissoes.membro}\`.`, - flags: 64 - }); + if (command.permissoes) { + if (command.permissoes.membro.length) { + if (!command.permissoes.membro.every(p => msg.channel.guild.members.get(msg.author.id).permissions.has(p))) { + return msg.channel.slashReply({ + content: `:x: ${msg.author.mention} **|** ${idioma.message.user} \`${command.permissoes.membro}\`.`, + flags: 64 + }); + } } - } - if (command.permissoes.bot.length) { - if (!command.permissoes.bot.every(p => msg.channel.guild.members.get(global.zuly.user.id).permissions.has(p))) { - return msg.channel.slashReply({ - content: `:x: ${msg.author.mention} **|** ${idioma.message.bot} \`${command.permissoes.bot}\`.`, - flags: 64 - }); + if (command.permissoes.bot.length) { + if (!command.permissoes.bot.every(p => msg.channel.guild.members.get(global.zuly.user.id).permissions.has(p))) { + return msg.channel.slashReply({ + content: `:x: ${msg.author.mention} **|** ${idioma.message.bot} \`${command.permissoes.bot}\`.`, + flags: 64 + }); + } } - } - if (command.permissoes.nsfw) { - if (!msg.channel.nsfw) { - return msg.channel.slashReply({ - content: `:x: ${msg.author.mention} **|** ${idioma.message.nsfw}`, - flags: 64 - }); - } - } - if (command.permissoes.dono) { - const developers = await global.db.get('devs'); - if (!developers) { - await global.db.set('devs', ['726449359167684734', '392087996821667841', '699416429338034268']); + if (command.permissoes.nsfw) { + if (!msg.channel.nsfw) { + return msg.channel.slashReply({ + content: `:x: ${msg.author.mention} **|** ${idioma.message.nsfw}`, + flags: 64 + }); + } } + if (command.permissoes.dono) { + const developers = await global.db.get('devs'); + if (!developers) { + await global.db.set('devs', ['726449359167684734', '392087996821667841', '699416429338034268']); + } - if (!developers.includes(msg.member.id)) { - return msg.channel.slashReply({ - content: `:x: ${msg.author.mention} **|** ${idioma.message.dev}.`, - flags: 64 - }); + if (!developers.includes(msg.member.id)) { + return msg.channel.slashReply({ + content: `:x: ${msg.author.mention} **|** ${idioma.message.dev}.`, + flags: 64 + }); + } } } - } - this.ctx = { - id: msg.id, - user: msg.author, - userTag: msg.author.tag, - userId: msg.author.id, - member: msg.member, - memberTag: msg.member.tag, - memberId: msg.member.id, - idioma: idioma, - prefix: prefix, - args: args, - message: msg, - ephemeral: 64, - embed: require('../Client/EmbedBuilder').Embed, - // Functions - send: function(texto) { - msg.channel.slashReply(...texto); - }, - reply: function(texto) { - msg.channel.slashReply(...texto); - }, - addReaction: function(emoji) { - msg.addReaction(emoji); - }, - fetch: async function(url) { - await global.zuly.manager.fetch(url); + this.ctx = { + id: msg.id, + user: msg.author, + userTag: msg.author.tag, + userId: msg.author.id, + member: msg.member, + memberTag: msg.member.tag, + memberId: msg.member.id, + idioma: idioma, + prefix: prefix, + args: args, + message: msg, + ephemeral: 64, + embed: require('../Client/EmbedBuilder').Embed, + // Functions + send: function(texto) { + msg.channel.slashReply(...texto); + }, + reply: function(texto) { + msg.channel.slashReply(...texto); + }, + addReaction: function(emoji) { + msg.addReaction(emoji); + }, + fetch: async function(url) { + await global.zuly.manager.fetch(url); + } + }; + try { + await command.run(this.ctx).then(async () => { + const moment = require('moment'); + const owner = await global.zuly.getRESTUser(msg.channel.guild.ownerID); + const embed = new global.zuly.manager.Ebl(); + embed.setTitle('<:zu_slash:886681118470987967> Slash Commands'); + embed.setColor('#ffcbdb'); + embed.setDescription(`>>> 🌎 **Servidor:** \`${msg.channel.guild.name}\`\n🧭 **ID:** \`${msg.channel.guild.id}\`\n👑 **Dono:** \`${owner.username}#${owner.discriminator} [${owner.id}]\`\n🔍 **Membros:** \`${msg.channel.guild.memberCount} members\`\n **Boosts:** \`${msg.channel.guild.premiumSubscriptionCount} boosts\`\n:calendar: **Criado em:** \`${moment(msg.channel.guild.createdAt).format('📆 DD/MM/YY')} | ${moment(msg.channel.guild.createdAt).format('⏰ HH:mm:ss')}\`\n🗺️ **Idioma:** \`${msg.channel.guild.preferredLocale}\`\n<:zu_slash:886681118470987967> **Comando:** \`${interaction.data.name}\`\n💻 **Argumentos:** \`${args.slice(0, 1024) || 'Não Tem'}\``); + embed.addField('<:zu_membros:885214377182109696> **Usuário:**', `>>> 📘 **Informações:** \`${msg.author.username}#${msg.author.discriminator} [${msg.author.id}]\`\n📆 **Criação da conta:** `); + embed.setThumbnail(global.zuly.user.avatarURL); + embed.setFooter('⤷ zulybot.xyz', global.zuly.user.avatarURL); + const canal = await global.zuly.getRESTChannel('886680915407962215'); + canal.createMessage({ + embeds: [embed.get()] + }); + }); } - }; - try { - await command.run(this.ctx).then(async () => { - const moment = require('moment'); - const owner = await global.zuly.getRESTUser(msg.channel.guild.ownerID); + catch (e) { + const errorMessage = e.stack.length > 1800 ? `${e.stack.slice(0, 1800)}...` : e.stack; const embed = new global.zuly.manager.Ebl(); - embed.setTitle('<:zu_slash:886681118470987967> Slash Commands'); - embed.setColor('#ffcbdb'); - embed.setDescription(`>>> 🌎 **Servidor:** \`${msg.channel.guild.name}\`\n🧭 **ID:** \`${msg.channel.guild.id}\`\n👑 **Dono:** \`${owner.username}#${owner.discriminator} [${owner.id}]\`\n🔍 **Membros:** \`${msg.channel.guild.memberCount} members\`\n **Boosts:** \`${msg.channel.guild.premiumSubscriptionCount} boosts\`\n:calendar: **Criado em:** \`${moment(msg.channel.guild.createdAt).format('📆 DD/MM/YY')} | ${moment(msg.channel.guild.createdAt).format('⏰ HH:mm:ss')}\`\n🗺️ **Idioma:** \`${msg.channel.guild.preferredLocale}\`\n<:zu_slash:886681118470987967> **Comando:** \`${interaction.data.name}\`\n💻 **Argumentos:** \`${args.slice(0, 1024) || 'Não Tem'}\``); - embed.addField('<:zu_membros:885214377182109696> **Usuário:**', `>>> 📘 **Informações:** \`${msg.author.username}#${msg.author.discriminator} [${msg.author.id}]\`\n📆 **Criação da conta:** `); + embed.setTitle(`<:zu_error:900785481283944500> ${idioma.message.e}`); + embed.setColor('#ff0000'); + embed.setDescription(`\`\`\`js\n${errorMessage}\`\`\``); + embed.addField(`<:zu_bughunter_1:885918998426951721> ${idioma.message.e2}`, idioma.message.e3); embed.setThumbnail(global.zuly.user.avatarURL); embed.setFooter('⤷ zulybot.xyz', global.zuly.user.avatarURL); - const canal = await global.zuly.getRESTChannel('886680915407962215'); - canal.createMessage({ + + msg.channel.slashReply({ + content: msg.author.mention, embeds: [embed.get()] }); - }); + const moment = require('moment'); + const owner = await global.zuly.getRESTUser(msg.channel.guild.ownerID); + const canal = await global.zuly.getRESTChannel('889930854929932288'); + const embed2 = new global.zuly.manager.Ebl(); + embed2.setTitle(`<:zu_error:900785481283944500> ${idioma.message.e}`); + embed2.setDescription(`\`\`\`js\n${errorMessage}\`\`\``); + embed2.addField('<:zu_bughunter_1:885918998426951721> Resolvam!', `>>> 🌎 **Servidor:** \`${msg.channel.guild.name}\`\n🧭 **ID:** \`${msg.channel.guild.id}\`\n👑 **Dono:** \`${owner.username}#${owner.discriminator} [${owner.id}]\`\n🔍 **Membros:** \`${msg.channel.guild.memberCount} members\`\n **Boosts:** \`${msg.channel.guild.premiumSubscriptionCount} boosts\`\n:calendar: **Criado em:** \`${moment(msg.channel.guild.createdAt).format('📆 DD/MM/YY')} | ${moment(msg.channel.guild.createdAt).format('⏰ HH:mm:ss')}\`\n🗺️ **Idioma:** \`${msg.channel.guild.preferredLocale}\`\n<:zu_slash:886681118470987967> **Comando:** \`${interaction.data.name}\``); + embed2.setColor('#ff0000'); + embed2.setThumbnail(global.zuly.user.avatarURL); + embed.setFooter('⤷ zulybot.xyz', global.zuly.user.avatarURL); + canal.createMessage({ + content: '<@&886680759237226556>', + embeds: [embed2.get()] + }); + } } catch (e) { - const errorMessage = e.stack.length > 1800 ? `${e.stack.slice(0, 1800)}...` : e.stack; - const embed = new global.zuly.manager.Ebl(); - embed.setTitle(`<:zu_error:900785481283944500> ${idioma.message.e}`); - embed.setColor('#ff0000'); - embed.setDescription(`\`\`\`js\n${errorMessage}\`\`\``); - embed.addField(`<:zu_bughunter_1:885918998426951721> ${idioma.message.e2}`, idioma.message.e3); - embed.setThumbnail(global.zuly.user.avatarURL); - embed.setFooter('⤷ zulybot.xyz', global.zuly.user.avatarURL); - - msg.channel.slashReply({ - content: msg.author.mention, - embeds: [embed.get()] - }); - const moment = require('moment'); - const owner = await global.zuly.getRESTUser(msg.channel.guild.ownerID); - const canal = await global.zuly.getRESTChannel('889930854929932288'); - const embed2 = new global.zuly.manager.Ebl(); - embed2.setTitle(`<:zu_error:900785481283944500> ${idioma.message.e}`); - embed2.setDescription(`\`\`\`js\n${errorMessage}\`\`\``); - embed2.addField('<:zu_bughunter_1:885918998426951721> Resolvam!', `>>> 🌎 **Servidor:** \`${msg.channel.guild.name}\`\n🧭 **ID:** \`${msg.channel.guild.id}\`\n👑 **Dono:** \`${owner.username}#${owner.discriminator} [${owner.id}]\`\n🔍 **Membros:** \`${msg.channel.guild.memberCount} members\`\n **Boosts:** \`${msg.channel.guild.premiumSubscriptionCount} boosts\`\n:calendar: **Criado em:** \`${moment(msg.channel.guild.createdAt).format('📆 DD/MM/YY')} | ${moment(msg.channel.guild.createdAt).format('⏰ HH:mm:ss')}\`\n🗺️ **Idioma:** \`${msg.channel.guild.preferredLocale}\`\n<:zu_slash:886681118470987967> **Comando:** \`${interaction.data.name}\``); - embed2.setColor('#ff0000'); - embed2.setThumbnail(global.zuly.user.avatarURL); - embed.setFooter('⤷ zulybot.xyz', global.zuly.user.avatarURL); - canal.createMessage({ - content: '<@&886680759237226556>', - embeds: [embed2.get()] - }); + console.log(e); } } - catch (e) { - console.log(e); - } } }; \ No newline at end of file diff --git a/src/Events/rawWS.js b/src/Events/rawWS.js new file mode 100644 index 00000000..6948e50b --- /dev/null +++ b/src/Events/rawWS.js @@ -0,0 +1,11 @@ +module.exports = class rawWS { + constructor () { + return { + nome: 'rawWS', + run: this.run + }; + } + async run (packet) { + global.zuly.music.updateVoiceState(packet); + } +}; \ No newline at end of file diff --git a/src/Helpers/MessageCollector.js b/src/Helpers/MessageCollector.js index 723478fc..9a3ac839 100644 --- a/src/Helpers/MessageCollector.js +++ b/src/Helpers/MessageCollector.js @@ -75,7 +75,7 @@ module.exports = class MessageCollector extends CollectorBase { if (this.options.ignoreBots) { if (message.author.bot) return; } - if (message.author.id !== this.options.user.id || message.channel.id !== this.options.channel.id) { + if (message.author.id !== this.options.user.idz || message.channel.id !== this.options.channel.id) { return null; } else if (this.options.rules) { diff --git a/src/Locales/en-US.js b/src/Locales/en-US.js index bfabbe5f..43dfa38f 100644 --- a/src/Locales/en-US.js +++ b/src/Locales/en-US.js @@ -1,5 +1,21 @@ module.exports = { lang: 'en', + labels: { + recalc: 'Recalculate' + }, + guess: { + start: 'The Game will start in **5 seconds** with a number between `%min` and `%max`.', + started: 'It\'s started!', + number: 'The chosen Number was `%num`, users must guess it in order to win the event.', + win: 'You got it right! The chosen Number was `%num`!', + }, + lockdown: { + pass: 'To start lockdown, send `lock` in chat.\n> ⚠️ If you want to cancel, send something else in chat.', + cancel: 'Lockdown has been successfully cancelled.', + success: 'Lockdown was successfully executed.', + locking: 'Lockdown is in progress.', + noCanal: 'No channels have been locked.' + }, print: { website: 'Print from website:' }, @@ -33,11 +49,6 @@ module.exports = { channel: 'I don\'t have permission to send messages on the mentioned channel.', sucess: 'Channel set successfully!' }, - labels: { - add: 'Add me!', - support: 'Support Server!', - vote: 'Vote for me!' - }, message: { P: 'Hello, human!', view: 'I don\'t have permission to read the message history!', diff --git a/src/Locales/pt-BR.js b/src/Locales/pt-BR.js index e2f26682..9610c664 100644 --- a/src/Locales/pt-BR.js +++ b/src/Locales/pt-BR.js @@ -1,5 +1,21 @@ module.exports = { lang: 'pt', + labels: { + recalc: 'Recalcular' + }, + guess: { + start: 'O Jogo irá começar em **5 segundos** com um número entre `%min` e `%max`.', + started: 'Valendo!', + number: 'O Número escolhido foi `%num`, os usuários devem adivinhar ele para poder ganhar o evento.', + win: 'Você Acertou! O Número escolhido foi `%num`!', + }, + lockdown: { + pass: 'Para iniciar o lockdown envie `lock` no chat.\n> ⚠️ Caso queira cancelar envie qualquer outra coisa no chat.', + cancel: 'O Lockdown foi cancelado com sucesso.', + sucess: 'O Lockdown foi executado com sucesso.', + locking: 'O Lockdown está em andamento.', + noCanal: 'Nenhum canal foi fechado.' + }, print: { site: 'Print do website:' }, @@ -33,11 +49,6 @@ module.exports = { channel: 'Não tenho permissão para enviar mensagens no canal citado.', sucess: 'Canal setado com sucesso!' }, - labels: { - add: 'Me Adicione!', - support: 'Servidor de Suporte!', - vote: 'Vote em mim!' - }, message: { P: 'Olá, humano!', view: 'Eu não tenho permissão de ler o histórico de mensagens!', diff --git a/src/Utils/ZulyFunctions.js b/src/Utils/ZulyFunctions.js index 8a2efea6..7a62822e 100644 --- a/src/Utils/ZulyFunctions.js +++ b/src/Utils/ZulyFunctions.js @@ -28,6 +28,16 @@ async function getPremium (typename, user) { } } } +async function getBugHunter (user) { + const guild = await global.zuly.getRESTGuild('880174783294214184'); + const membro = await guild.getRESTMember(user); + if (!membro) { + return false; + } + else if (membro.roles.includes('912014349277737051')) { + return true; + } +} async function banner (id) { if (!id) new Error('Não foi fornecido o ID do usuário'); const request = await fetch(`https://canary.discord.com/api/v9/users/${id}`, { @@ -97,6 +107,7 @@ function time2 (s) { return (meses > 0 ? `\`${pad(meses)}\`` + ' meses, ' : '') + (days > 0 ? `\`${pad(days)}\`` + ' dias, ' : '') + (hrs > 0 ? `\`${pad(hrs)}\`` + ' horas, ' : '') + (mins > 0 ? `\`${pad(mins)}\`` + ' minutos, ' : '') + (`\`${pad(secs)}\`` + ' segundos'); }; +global.zuly.getBugHunter = getBugHunter; global.zuly.getPremium = getPremium; global.zuly.time2 = time2; global.zuly.bytes = bytes; diff --git a/yarn.lock b/yarn.lock index 89bdfff0..25bde4e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -598,6 +598,13 @@ erela.js@^2.3.3: petitio "^1.1.0" ws "^7.3.1" +eris-collector@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/eris-collector/-/eris-collector-1.0.1.tgz#f23d518723bacd55b6e5a1dafb0902e11e3aafd1" + integrity sha512-qAuIP8//rMaTFs/3J7Ggk2tzWuNbFqJsAP8DuT9MLpNYc6f0u+Cifpa06//oxGQOWl4sWY1+0ncJDfRvlz2PMg== + dependencies: + events "^3.1.0" + eris@0.16.1: version "0.16.1" resolved "https://registry.yarnpkg.com/eris/-/eris-0.16.1.tgz#44b0a9220944fc73dd74538cd614826bfbfcde61" @@ -838,6 +845,11 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +events@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + express@^4.17.1: version "4.17.1" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"