Advertisement
Guest User

new update

a guest
Oct 20th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var client = new (require ("discord.js")).Client ();
  2. client.login ("TOKEN HERE").then (async token => {
  3.   client.on ('message', async message => {
  4.     var prefix = "$",
  5.     command = message.content.slice (prefix.length).split (" ")[0],
  6.     text = message.content.split (" ").slice (1).join (" ");
  7.     if (!message.content.startsWith (prefix) || !message.guild || message.author.bot || !message.member.hasPermission ("ADMINISTRATOR") || !message.guild.me.hasPermission ("ADMINISTRATOR")) return undefined;
  8.     else if (!text) return message.channel.send ("Example\n" + `> ${prefix}broadcast <message to bc>`)
  9.     else {
  10.       switch (command) {
  11.         case "broadcast":
  12.         var awaited = await message.channel.send ("Type Number\n 1 - All\n2 - Online Only\n3 - Specific role");
  13.         message.channel.awaitMessages (m => m.author.id == message.author.id, { max: 1 , time: 15000, errors: ['time']}).then (async collected => {
  14.           var type = collected.first ().content;
  15.           switch (type) {
  16.             case "1":
  17.             await message.guild.fetchMembers ();
  18.             var members = message.guild.members;
  19.             break;
  20.             case "2":
  21.             await message.guild.fetchMembers ();
  22.             var members = message.guild.members.filter (m => m.user.presence.status != "offline");
  23.             break;
  24.             case "3":
  25.             collected.first ().delete ();
  26.             awaited.edit ("role id or mention");
  27.             message.channel.awaitMessages (m => m.author.id == message.author.id, { max: 1 , time: 10000, errors: ['time']}).then (collected => {
  28.               var role = collected.first ().mentions.roles.first () || message.guild.roles.get (collected.first ().content);
  29.               if (!role) return awaited.edit ("i can't find this role");
  30.               else var members = role.members;
  31.               broadcast (message.channel, members, text);
  32.             }).catch (e => {
  33.               awaited.edit ("time gone.");
  34.             });
  35.             break;
  36.             default:
  37.             awaited.edit ("cancel, okay!");
  38.           }
  39.           if (type != "3") {
  40.             broadcast (message.channel, members, text);
  41.           }
  42.           function broadcast (channel, members, text) {
  43.             channel.send ("Done will be send");
  44.             var counter = 0;
  45.             members = members.array ();
  46.             setInterval (() => {
  47.               var member = members[counter];
  48.               if (!member) return undefined;
  49.               else member.send (text).then (okay => {
  50.                
  51.               }).catch (error => {
  52.                 return error;
  53.               });
  54.               counter++;
  55.             }, 1500);
  56.           }
  57.         }).catch (err => {
  58.           console.log (err);
  59.           awaited.edit ("Time Out.");
  60.         });
  61.         break;
  62.       }
  63.     }
  64.   });
  65. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement