Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.61 KB | None | 0 0
  1. const Discord = require('discord.js');
  2. const ms = require('ms')
  3.  
  4. exports.run = async (client, message, args) => {
  5.  
  6. if(message.channel.id !== '625322096683253801') return message.reply('utilize o canal <#625322096683253801> para comandos.').then(msgz => msgz.delete(10000).catch(console.error));
  7. if(!message.member.roles.some(r=>["Dono", "Sub", "Adm", "Mod"].includes(r.name))) return message.reply(':x: você não tem permissão.').then(msg => msg.delete(10000).catch(console.error));
  8.  
  9. const sorteio = args[0].replace(/-/g, '\u2005');
  10. const tempo = args[1]
  11.  
  12. if(!sorteio) return message.reply('você deve inserir um motivo')
  13. if(!tempo) return message.reply('você deve inserir um tempo. [1s/1m/1h/1d]')
  14. const linha1 = `Responsável pelo evento: ${message.author.username}#${message.author.discriminator}`
  15. const linha2 = `${message.author.displayAvatarURL}`
  16.  
  17. let givewayembed = new Discord.RichEmbed()
  18. .setTitle(` **🎉 Sorteio de \`\`${sorteio}\`\`\ ** `)
  19. .setColor('8A2BE2')
  20. .setDescription('\u200b')
  21. .addField(`Para participar do sorteio de \`\`${sorteio}\`\`\ clique na reação abaixo. `, `Tempo restante: **${tempo}** `)
  22. .setFooter(linha1, linha2)
  23. const msg = await client.channels.get('630567268060758036').send(givewayembed)
  24. msg.react('🎉')
  25.  
  26.  
  27. const filter = (r, u) => r.emoji.name === '🎉' && u.equals(message.author), //filtro para pegar o emoji e autor da reacão
  28. collector = msg.createReactionCollector(filter, { max: 10000, time: ms(tempo)});
  29. /*Em time: é tempo que irá durar o coletor, no caso aqui eu coloquei um minuto, mas voces podem colocar o tempo que quiserem,
  30. E o max: é máximo de pessoas que podem reagir nesta mensagem, caso passe desse 'número' o coletor irá ser finalizado.
  31. */
  32. collector.on('end', (collected) => {//evento end, quando acaba o coletor (1 min)
  33. const winner = collected.size === 0 ? 'Ninguém ganhou o sorteio.' : collection.size,
  34. participants = collected.size === 0 ? 'Ninguém participou do sorteio.' : collected.first().users.filter((user) => !user.bot).size;
  35.  
  36. const finalizado = new Discord.RichEmbed()
  37. .setTitle(`** Sorteio finalizado **`)
  38. .setColor('RED')
  39. .setDescription('\u200b')
  40. .addField(`O sorteio de \`\`${sorteio}\`\`\ foi finalizado.\nParticipantes: **${participants}**\nGanhador: **${winner}**`, '\u200b')
  41. .setFooter(linha1, linha2)
  42.  
  43. msg.delete()
  44. client.channels.get('630567268060758036')
  45. .send(finalizado)
  46. .then(msgx => msgx.delete(40000)
  47. .catch(console.error));
  48. return;
  49. });
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement