Advertisement
yumun123332

Untitled

Feb 29th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.69 KB | None | 0 0
  1. client.on("message", async message => {
  2. const moment = require("moment"); //npm i moment
  3. const ms = require("ms"); //npm i ms
  4. // var prefix = '' //Bot Prefix !
  5. var time = moment().format("Do MMMM YYYY , hh:mm");
  6. var room;
  7. var title;
  8. var duration;
  9. var currentTime = new Date(),
  10. hours = currentTime.getHours() + 3,
  11. minutes = currentTime.getMinutes(),
  12. done = currentTime.getMinutes() + duration,
  13. seconds = currentTime.getSeconds();
  14. if (minutes < 10) {
  15. minutes = "0" + minutes;
  16. }
  17. var suffix = "AM";
  18. if (hours >= 12) {
  19. suffix = "PM";
  20. hours = hours - 12;
  21. }
  22. if (hours == 0) {
  23. hours = 12;
  24. }
  25.  
  26. var filter = m => m.author.id === message.author.id;
  27. if (message.content.startsWith(prefix + "gcreate")) {
  28. let embed1 = new Discord.RichEmbed()
  29. .setColor()
  30. .setDescription("Missing the following permission `MANAGE_GUILD`");
  31.  
  32. let embed2 = new Discord.RichEmbed()
  33. .setColor()
  34. .setDescription("Please send the `room` name without mentioning it");
  35.  
  36. let embed3 = new Discord.RichEmbed()
  37. .setColor()
  38. .setDescription("Wrong room name");
  39.  
  40. let embed4 = new Discord.RichEmbed()
  41. .setColor()
  42. .setDescription("Please send the `time`");
  43.  
  44. let embed5 = new Discord.RichEmbed()
  45. .setColor()
  46. .setDescription(
  47. "Wrong time format\nExample of time format: 1s / 1m / 1h / 1d / 1w"
  48. );
  49.  
  50. let embed6 = new Discord.RichEmbed()
  51. .setColor()
  52. .setDescription("Please send the `gift`");
  53.  
  54. if (!message.guild.member(message.author).hasPermission("MANAGE_GUILD"))
  55. return message.channel.send(embed1);
  56. message.channel.send(embed2).then(msg => {
  57. message.channel
  58. .awaitMessages(filter, {
  59. max: 1,
  60. time: 20000,
  61. errors: ["time"]
  62. })
  63. .then(collected => {
  64. let room = message.guild.channels.find(
  65. "name",
  66. collected.first().content
  67. );
  68. if (!room) return message.channel.send(embed3);
  69. room = collected.first().content;
  70. collected.first().delete();
  71. msg.edit(embed4).then(msg => {
  72. message.channel
  73. .awaitMessages(filter, {
  74. max: 1,
  75. time: 20000,
  76. errors: ["time"]
  77. })
  78. .then(collected => {
  79. if (!collected.first().content.match(/[1-60][s,m,h,d,w]/g))
  80. return message.channel.send(embed5);
  81. duration = collected.first().content;
  82. collected.first().delete();
  83. msg.edit(embed6).then(msg => {
  84. message.channel
  85. .awaitMessages(filter, {
  86. max: 1,
  87. time: 20000,
  88. errors: ["time"]
  89. })
  90. .then(collected => {
  91. title = collected.first().content;
  92. collected.first().delete();
  93. msg.delete();
  94. message.delete();
  95. try {
  96. let giveEmbed = new Discord.RichEmbed()
  97. .setColor()
  98. .setTitle(`${title}`)
  99. .setDescription(
  100. `React With ًںژ‰ To Enter! \nTime remaining : ${duration} \n **Created at :** ${hours}:${minutes}:${seconds} ${suffix}`
  101. );
  102. //.setFooter(message.author.username, message.author.avatarURL);
  103. message.guild.channels
  104. .find("name", room)
  105. .send(" :tada: **Giveaway** :tada:", {
  106. embed: giveEmbed
  107. })
  108. .then(m => {
  109. let re = m.react("ًںژ‰");
  110. setTimeout(() => {
  111. let users = m.reactions.get("ًںژ‰").users;
  112. let list = users
  113. .array()
  114. .filter(
  115. u => (u.id !== m.author.id) !== client.user.id
  116. );
  117. let gFilter =
  118. list[
  119. Math.floor(Math.random() * list.length) + 1
  120. ];
  121. if (gFilter === undefined) {
  122. let endEmbed = new Discord.RichEmbed()
  123. .setColor()
  124. .setTitle(title)
  125. .setDescription(
  126. `Winners : no enough number of reaction so there is no winner`
  127. )
  128. .setFooter("Ended at :")
  129. .setTimestamp();
  130. m.edit("** ًںژ‰ GIVEAWAY ENDED ًںژ‰**", {
  131. embed: endEmbed
  132. });
  133. } else {
  134. let endEmbed = new Discord.RichEmbed()
  135. .setColor()
  136. .setTitle(title)
  137. .setDescription(`Winners : ${gFilter}`)
  138. .setFooter("Ended at :")
  139. .setTimestamp();
  140. m.edit("** ًںژ‰ GIVEAWAY ENDED ًںژ‰**", {
  141. embed: endEmbed
  142. });
  143. }
  144. if (gFilter === undefined) {
  145. // message.guild.channels.find("name" , room).send("No enough number of reactions")
  146. } else {
  147. message.guild.channels
  148. .find("name", room)
  149. .send(
  150. `**Congratulations ${gFilter}! You won The \`${title}\`**`
  151. );
  152. }
  153. }, ms(duration));
  154. });
  155. } catch (e) {
  156. message.channel.send(
  157. `:heavy_multiplication_x:| **i Don't Have Prem**`
  158. );
  159. console.log(e);
  160. }
  161. });
  162. });
  163. });
  164. });
  165. });
  166. });
  167. }
  168. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement