Advertisement
Guest User

index.js

a guest
Dec 16th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.64 KB | None | 0 0
  1. const botconfig = require ("./botconfig.json");
  2. const tokenfile = require ("./tokenfile.json");
  3. const Discord = require ("Discord.js");
  4. const fs = require("fs");
  5.  
  6. fs.readdir("./events/", (err, files) => {
  7. if (err) return console.error(err);
  8. files.forEach(file => {
  9. if (!file.endsWith(".js")) return;
  10. const event = require(`./events/${file}`);
  11. let eventName = file.split(".")[0];
  12. client.on(eventName, event.bind(null, client));
  13. delete require.cache[require.resolve(`./events/${file}`)];
  14. });
  15. });
  16.  
  17. client.commands = new Enmap();
  18. fs.readdir("./commands/", (err, files) => {
  19. if (err) return console.error(err);
  20. files.forEach(file => {
  21. if (!file.endsWith(".js")) return;
  22. let props = require(`./commands/${file}`);
  23. let commandName = file.split(".")[0];
  24. console.log(`Loading command ${commandName}`);
  25. client.commands.set(commandName, props);
  26. });
  27. });
  28.  
  29.  
  30. const bot = new Discord.Client({disableEveryone: true});
  31.  
  32. bot.on("ready", async () => {
  33. console.log(`${bot.user.username} is online!`);
  34. bot.user.setActivity("?help | © SARC Bot");
  35. });
  36.  
  37. bot.on("message", async message => {
  38. if(message.author.bot) return;
  39. if(message.channel.type === `dm`) return;
  40.  
  41. let prefix = botconfig.prefix;
  42. let messageArray = message.content.split(" ");
  43. let cmd = messageArray[0];
  44. let args = messageArray.slice(1);
  45.  
  46. if(cmd ===`${prefix}kick`){
  47.  
  48. //?kick @Megren Test
  49.  
  50. let kUser = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));
  51. if(!kUser) return message.channel.send("Can't find user!")
  52. let kReason = args.join(" ").slice(22);
  53. if(!message.member.hasPermission(["KICK_MEMBERS"])) return message.channel.send("Insufficient permissions.");
  54. if(!kUser.kickable) return message.channel.send("That person cannot be kicked.");
  55.  
  56. let kickEmbed = new Discord.RichEmbed()
  57. .setDescription("Kicked User")
  58. .setColor("#5900ff")
  59. .addField("Kicked User", `${kUser} with ID ${kUser.id}`)
  60. .addField("Kicked By", `<@${message.author.id}> with ID ${message.author.id}`)
  61. .addField("Kicked In", message.channel)
  62. .addField ("Time", message.createdAt)
  63. .addField("Reason", kReason);
  64.  
  65. let kickChannel = message.guild.channels.find(`name`, "incidents");
  66. if (!kickChannel) return message.channel.send("Can't find incidents channel.");
  67.  
  68. message.guild.member(kUser).kick(kReason)
  69. kickChannel.send(kickEmbed)
  70.  
  71. return;
  72. }
  73.  
  74. if(cmd === `${prefix}report`){
  75.  
  76. let rUser = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));
  77. if(!rUser) return message.channel.send("User does not exist!");
  78. let reason = args.join(" ").slice(22);
  79.  
  80. let reportEmbed = new Discord.RichEmbed()
  81. .setDescription("Reports")
  82. .setColor("#f94343")
  83. .addField("Reported User", `${rUser} ID: ${rUser.id}`)
  84. .addField("Reported by", `${message.author} ID: ${message.author.id}`)
  85. .addField ("Time", message.createdAt)
  86. .addField("Channel", message.channel)
  87. .addField("Reason", reason);
  88.  
  89. let reportschannel = message.guild.channels.find(`name`, "incidents")
  90. if(!reportschannel) return message.channel.send("Couldn't find incidents channel.");
  91.  
  92. message.delete().catch(O_o=>{});
  93. reportschannel.send(reportEmbed);
  94.  
  95. return;
  96. }
  97.  
  98. if (cmd === `${prefix}serverinfo`){
  99. let sicon = message.guild.displayAvatarURL;
  100. let serverembed = new Discord.RichEmbed()
  101. .setDescription("Server Information")
  102. .setColor("#0400ff")
  103. .setThumbnail(sicon)
  104. .addField("Server Name", message.guild.name)
  105. .addField("Created On", message.guild.createdAt)
  106. .addField("You Joined", message.member.joinedAt)
  107. .addField("Current Members", message.guild.memberCount)
  108.  
  109. message.delete().catch(O_o=>{});
  110. return message.channel.send(serverembed);
  111. }
  112.  
  113. if(cmd === `${prefix}botinfo`){
  114.  
  115. let bicon = bot.user.displayAvatarURL;
  116. let botembed = new Discord.RichEmbed()
  117. .setDescription("Bot Information")
  118. .setColor("#0037ff")
  119. .setThumbnail(bicon)
  120. .addField("Bot Name", bot.user.username)
  121. .addField("Created On", bot.user.createdAt)
  122. message.delete().catch(O_o=>{});
  123. return message.channel.send(botembed)
  124. }
  125.  
  126. if(cmd === `${prefix}help`){
  127. let helpEmbed = new Discord.RichEmbed()
  128. return message.channel.send("?help Lists available Commands\n?report Reports a user\n?serverinfo Get some server info\n?botinfo Get some info on the bot\n?bugreport Report a bug\n**SARC Bot - More to be added soon!**");
  129. message.delete().catch(O_o=>{});
  130. return message.channel.send(helpEmbed)
  131. }
  132.  
  133. });
  134.  
  135. bot.login(tokenfile.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement