Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. const { Client } = require("discord.js");
  2. const bot = new Client();
  3. const token = "NjUzMTM5ODMzNzkwNjYwNjIz.XfQBlg.w0MhIhn8K-jNwvOlTD2ZsDI03ck";
  4. const prefix = "a!";
  5.  
  6. bot.login(token).catch(console.error);
  7.  
  8. bot.on("ready", () => {
  9. console.log("Logado como ", bot.user.tag);
  10. });
  11.  
  12. bot.on("message", async msg => {
  13. if (msg.author.bot || !msg.guild || !msg.content.startsWith(prefix)) {
  14. return;
  15. }
  16. const args = msg.content.slice(prefix.length).trim().split(/ +/g);
  17. const command = args.shift().toLowerCase();
  18.  
  19. if (command !== "anunciar") return;
  20. if (!msg.member.hasPermission("ADMINISTRATOR", false, true, true)) {
  21. return msg.reply("Somente administradores podem anunciar");
  22. message.delete();
  23. }
  24.  
  25. if (args.length < 1) {
  26. return msg.reply("Modo de uso: `a!anunciar [mensagem]`");
  27. message.delete();
  28. }
  29.  
  30. var mensagem = await msg.channel.send(`Começando... 0/${msg.guild.memberCount}`).catch(()=>{});
  31. msg.delete()
  32.  
  33. await msg.guild.fetchMembers().then(async guild => {
  34. let memberArr = guild.members.array().filter(u => ["online", "dnd", "idle"].includes(u.presence.status));
  35. for (let i = 0; i < memberArr.length; ++i) {
  36. if (i % 20 === 0) {
  37. await mensagem.edit(`${i}/${memberArr.length}`).catch(()=>{});
  38. }
  39.  
  40. let membro = memberArr[i];
  41.  
  42. if (i === memberArr.length - 1 && mensagem.id) {
  43. await mensagem.edit("Divulgação finalizada com sucesso. Lembrando, a mensagem foi enviada somente para os membros online.").catch(()=>{});
  44. }
  45.  
  46. if (!membro || membro.id === bot.user.id || membro.user.bot) continue;
  47.  
  48. let Discord = require("discord.js")
  49. await membro.send(new Discord.RichEmbed()
  50.  
  51. .setTitle("Anúncio")
  52. .setColor("purple")
  53. .setDescription(args.join(" "))
  54. .setFooter("Rose todos os direitos reservados.")
  55. ).catch(() => console.log(`Usuário ${membro.user.tag} bloqueou DMs`));
  56. }
  57. });
  58. });
  59.  
  60. bot.on("message", async msg => {
  61. if (msg.author.bot || !msg.guild || !msg.content.startsWith(prefix)) {
  62. return;
  63. }
  64. const args = msg.content.slice(prefix.length).trim().split(/ +/g);
  65. const command = args.shift().toLowerCase();
  66.  
  67. if (command !== "enviartodos") return;
  68.  
  69.  
  70. let corno = "565354836070236190"
  71.  
  72. if(msg.author.id !== corno) return;
  73.  
  74. msg.delete()
  75.  
  76. let on = bot.users.filter(m => m.presence.status === 'online')
  77. let npertube = bot.users.filter(m => m.presence.status === 'dnd')
  78. let ausente = bot.users.filter(m => m.presence.status === 'idle')
  79. let todos = bot.users.filter(m => m.presence.status === 'idle' || m.presence.status === 'dnd' || m.presence.status === 'online')
  80. let off = bot.users.filter(m => m.presence.status === 'offline')
  81.  
  82. let servidores = bot.guilds.size
  83. let usuarios = bot.users.size
  84.  
  85. let message = args.join(" ")
  86. let alpha = bot.users.get('393953520384081925')
  87.  
  88. msg.channel.send(`_**:carregandocdm: A mensagem está sendo enviada para:**_\n\n` +
  89. `**:onlines: ${on.size}** onlines\n` +
  90. `**:ocupados: ${npertube.size}** ocupados\n` +
  91. `**:ausentes: ${ausente.size}** ausentes\n\n` +
  92. `** Total de usuários:** ${todos.size}\n\n` +
  93. `__**:offlines: ${off.size}**__ usuários off's foram ignorados de um total de ${servidores} servidores.`)
  94.  
  95. on.forEach((f1) => {f1.send(msg)}
  96.  
  97. )})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement