Advertisement
n3k4a

Untitled

May 6th, 2019
602
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. const Command = require(`${process.cwd()}/base/Command.js`);
  2. const { MessageEmbed } = require("discord.js");
  3. const Giveaway = require(`${process.cwd()}/util/Giveaway.js`);
  4.  
  5. class gcreate extends Command {
  6. constructor(client) {
  7. super(client, {
  8. name: "gcreate",
  9. description: "Creates a giveaway",
  10. usage: "gcreate <time> <winners> <prize>",
  11. aliases: [],
  12. permLevel: 2
  13. });
  14. this.emoji = "🎁";
  15. }
  16.  
  17. parseTime(time){
  18. var unit = time.split("")[time.length - 1];
  19. var number = time.split(unit)[0];
  20. var now = new Date()
  21. if (isNaN(number)){
  22. return -1
  23. } else {
  24. number = parseInt(number);
  25. }
  26. if (unit == "d") {
  27. now.setDate(now.getDate() + number);
  28. } else if (unit == "h") {
  29. now.setHours(now.getHours() + number);
  30. } else if (unit == "m") {
  31. now.setMinutes(now.getMinutes() + number);
  32. } else if (unit == "s"){
  33. now.setSeconds(now.getSeconds() + number);
  34. }
  35. return now;
  36. }
  37.  
  38. async run(bot, msg, args, level) {
  39. var giveaway = {
  40. startTime: new Date(),
  41. endTime: new Date(),
  42. prize: "",
  43. winners: 0,
  44. winner_object: [],
  45. guildID: msg.guild.id,
  46. channelID: msg.channel.id,
  47. id: 0
  48. }
  49. var time = this.parseTime(args[0]);
  50. if (time == -1) {
  51. return msg.reply("invalid syntax")
  52. }
  53. if (isNaN(args[1]) || args[1] < 1) {
  54. return msg.reply("invalid syntax")
  55. }
  56. giveaway.endTime = time;
  57. giveaway.winners = args[1];
  58. args.shift();
  59. args.shift();
  60. giveaway.prize = args.join(" ");
  61. var embed = new MessageEmbed();
  62. embed.setTitle(giveaway.prize)
  63.  
  64. .setDescription(`React with ${this.emoji} to enter!`)
  65. .setFooter(
  66. `${giveaway.winners} winner(s) | endsAt: ${time.toLocaleString('en-US')}`,
  67. msg.guild.iconURL()
  68. )
  69. var gmessage = await msg.channel.send({embed: embed});
  70. gmessage.react(this.emoji);
  71. giveaway.id = gmessage.id;
  72.  
  73. bot.database.update(
  74. "giveaways",
  75. giveaway,
  76. bot.logger
  77. );
  78.  
  79. new Giveaway(bot, gmessage, giveaway).run();
  80. }
  81. }
  82.  
  83. module.exports = gcreate;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement