Advertisement
Guest User

Untitled

a guest
Jan 21st, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.78 KB | None | 0 0
  1. const Discord = require('discord.js');
  2. const Listing = require('./../module/Listing');
  3. const fs = require('fs');
  4.  
  5. module.exports.run = async (bot, message, args) => {
  6. message.delete().catch(O_o=>{});
  7. let snipeChannel = message.channel;
  8. const filter = m => !m.author.bot;
  9. let game = new Listing();
  10.  
  11.  
  12. let raw = fs.readFileSync('./roles.json');
  13. let allowedRoles = JSON.parse(raw);
  14.  
  15. let validation = function(serverRoles, userRoles){
  16. let val = false;
  17. serverRoles.forEach((role) => {
  18. userRoles.forEach((usr) => {
  19. if (role == usr){
  20. val = true;
  21. }
  22. });
  23. });
  24. return val;
  25. }
  26.  
  27.  
  28. let editLast3 = null;
  29.  
  30. let startMessage = new Discord.RichEmbed()
  31. .setTitle("FN Scrims")
  32. .setDescription("Waiting for server IDs...")
  33. .setColor("#8600b3")
  34. .setFooter("Please enter the last 3 characters of your server identifier located in the top left corner of your screen while in-game.");
  35.  
  36. let time = 25;
  37. let editTime = "";
  38.  
  39. let timeEmbed = new Discord.RichEmbed()
  40. .setTitle("Snipe match starting!")
  41. .setColor("#FF3333")
  42. .setFooter("Alert: - A snipe match is starting, pay attention! Instructions: - We will do a countdown from 3 sec and you will ready up on go.");
  43.  
  44. setTimeout(async () => {
  45. editTime = await message.channel.send({embed: timeEmbed}).catch( (err) => {
  46. console.log("Cant edit deleted message");
  47. });
  48. }, 10);
  49.  
  50. let timeInterval = setInterval(() => {
  51. if (time === 1){
  52. time -= 1;
  53. timeEmbed.setDescription(time + " minutes");
  54. clearInterval(timeInterval);
  55. }else {
  56. time -= 1;
  57. timeEmbed.setDescription(time + " minutes");
  58. }
  59.  
  60. editTime.edit({embed: timeEmbed}).catch((err) => {
  61. console.log("cant edit");
  62. clearInterval(timeInterval);
  63. });
  64.  
  65. },60000);
  66.  
  67. let last3 = new Discord.RichEmbed()
  68. .setTitle("Waiting for server ID's.....")
  69. .setColor("#ff0000");
  70.  
  71. setTimeout(async () => {
  72. editLast3 = await message.channel.send({embed: last3});
  73. }, 10);
  74.  
  75. const collector = snipeChannel.createMessageCollector(filter, {max: 200, maxMatches: 200, time: 120000});
  76.  
  77. collector.on('collect', m => {
  78.  
  79. console.log(`Collected ${m.content} | ${m.author.username}`);
  80.  
  81. if (validation(allowedRoles.roles,m.member.roles.array())){
  82. if (m.content === "!start"){
  83. collector.stop();
  84. console.log("Collector stoped");
  85. return;
  86. }
  87. }
  88.  
  89. if (game.data.length === 0 && m.content.length === 3){
  90. game.addID(m.content.toLowerCase(), m.author.username);
  91. }else if (m.content.length === 3){
  92. if (game.userPresent(m.author.username)){
  93. game.deleteUserEntry(m.author.username);
  94. if (game.idPresent(m.content.toLowerCase())){
  95. game.addUser(m.content.toLowerCase(), m.author.username);
  96. }else {
  97. game.addID(m.content.toLowerCase(),m.author.username);
  98. }
  99. } else {
  100. if (game.idPresent(m.content.toLowerCase())){
  101. game.addUser(m.content.toLowerCase(), m.author.username);
  102. }else {
  103. game.addID(m.content.toLowerCase(), m.author.username);
  104. }
  105. }
  106. }
  107. game.sort();
  108.  
  109. let str = "";
  110. last3 = new Discord.RichEmbed()
  111. .setTitle("Current Servers: ")
  112. .setColor("#ff0000");
  113.  
  114. for (var i = 0; i < game.data.length; i++){
  115. str = "";
  116. for (var j = 0; j < game.data[i].users.length ; j++){
  117. str += game.data[i].users[j] + "\n";
  118. }
  119. last3.addField(`${game.data[i].id.toLowerCase()} - ${game.data[i].users.length} Players`, str, true);
  120. }
  121. editLast3.edit({embed: last3}).catch((err) => {
  122. console.log("Caught eddit error");
  123. });
  124.  
  125. if (m.deletable){
  126. m.delete().catch((err) => {
  127. console.log("Cant delete");
  128. console.log(err);
  129. });
  130. }
  131.  
  132. });
  133.  
  134. collector.on('end', collected => {
  135.  
  136. console.log(`Collected ${collected.size} items`);
  137. const embed = new Discord.RichEmbed()
  138. .setColor("#ff0000")
  139. .setDescription("No More Codes Accepted At This Point. Good Luck")
  140. message.channel.send({embed});
  141. });
  142.  
  143.  
  144. }
  145.  
  146.  
  147.  
  148. module.exports.help = {
  149. name: "start"
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement