Advertisement
Guest User

Index.js

a guest
Mar 22nd, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3. const Discord = require("discord.js");
  4. const fs = require("fs")
  5. const {stripIndent} = require("common-tags")
  6. const config = require("./config.json");
  7. const prefix = config.prefix;
  8. const bot = new Discord.Client();
  9. bot.commands = new Discord.Collection();
  10.  
  11.  
  12. const mongoose = require("mongoose");
  13.  
  14. mongoose.connect("", {
  15.   useNewUrlParser: true,
  16.   useCreateIndex: true
  17. })
  18.  
  19. const User = require("./models/users.js");
  20.  
  21. User.findOrCreate = async function (user) {
  22.   if ([user.id, user.tag].some(p => typeof p !== "string"))
  23.     throw new TypeError("User ID and tag must be a string")
  24.     let resUser = await this.findOne({userID: user.id, guildID})
  25.  
  26.   if (!resUser) {
  27.     console.log("User not in DB - creating the user.")
  28.     resUser = new User({
  29.       userID: user.id,
  30.       tag: user.tag
  31.     })
  32.     await resUser.save()
  33.     console.log("User created")
  34.    
  35.   }
  36.   return resUser
  37.  
  38. }
  39. bot.db = {
  40.   User
  41. }
  42.  
  43.  
  44. //command handler
  45. fs.readdir("./commands/", (err, files) => {
  46.  
  47.     if(err) console.log(err);
  48.     let jsfile = files.filter(f => f.split(".").pop() === "js");
  49.     if(jsfile.length <= 0){
  50.       console.log("Couldn't find commands.");
  51.       return;
  52.     }
  53.  
  54.     jsfile.forEach((f, i) =>{
  55.       let props = require(`./commands/${f}`);
  56.       console.log(`${f} loaded!`);
  57.       bot.commands.set(props.help.name, props);
  58.     });
  59.   });
  60.  
  61. //Ready Event
  62. bot.on("ready" , async ()=> {
  63.     console.log(`${bot.user.username} is online!\nIn ${bot.guilds.size} Guild!\nServing ${bot.users.size} users!`)
  64.  
  65. });
  66.  
  67. //Message Event
  68. bot.on('message', message => {
  69.  
  70.     let sender = message.author;
  71.     let msg = message.content.toUpperCase();
  72.     let messageArray = message.content.split(" ");
  73.     let args = messageArray.slice(1);
  74.     let cmd = messageArray[0];
  75.     let commandfile = bot.commands.get(cmd.slice(prefix.length));
  76.    
  77.    
  78.    
  79.  
  80. //cmd handler
  81. if(commandfile) commandfile.run(bot,message,args);
  82. });
  83.  
  84. bot.on("messageDelete", (message) => {
  85.   let chnl1 = bot.channels.find(c => c.name === "message-log")
  86.   if (message.content.startsWith(prefix))
  87.     return;
  88.   if (message.author.id === bot.user.id)
  89.     return;
  90.   let msge = new Discord.RichEmbed()
  91.     .setAuthor("Action | Message Delete", message.author.displayAvatarURL)
  92.     .setDescription(stripIndent`
  93.       **• Author:** ${message.author}
  94.       **• Message:** ${message.content}
  95.       **• Deleted in:** ${message.channel}
  96.     `)
  97.     .setColor(0xFFFF00)
  98.     .setFooter(bot.user.username, bot.user.avatarURL)
  99.     .setTimestamp();
  100.   chnl1.send(msge)
  101. });
  102.  
  103. bot.on("messageUpdate", (oldMessage, newMessage) => {
  104.   if (oldMessage.content === newMessage.content)
  105.     return
  106.   let chnl1 = bot.channels.find(c => c.name === "message-log")
  107.   let msge = new Discord.RichEmbed()
  108.     .setAuthor("Action | Message Edit", oldMessage.author.displayAvatarURL)
  109.     .setDescription(stripIndent`
  110.       **• Author:** ${oldMessage.author}
  111.       **• Old message:** ${oldMessage.content}
  112.       **• New message:** ${newMessage.content}
  113.       **• Edited in:** ${newMessage.channel}
  114.     `)
  115.     .setColor(0x1FF0B4)
  116.     .setFooter(bot.user.username, bot.user.avatarURL)
  117.     .setTimestamp();
  118.  
  119.   chnl1.send(msge);
  120. });
  121.  
  122. bot.on("guildMemberAdd", member =>{
  123.  
  124.     let channel =  member.guild.channels.find(`name`, `member-log`);
  125.     let aRole = (member.guild.roles.find("name", "Member"))  
  126.   if(!channel) return;
  127.     let embed = new Discord.RichEmbed()
  128.     .setColor("#39afdd")
  129.     .setAuthor("Action | User Joined", member.user.displayAvatarURL)
  130.     .setDescription(`
  131.       **• User:** ${member.user}
  132.       **• To get started:** Please read <#545675332225728514>
  133.       **• Server IP ** 178.32.54.40:28195
  134.     `)
  135.    
  136.     channel.send(embed);
  137.     member.addRole(aRole);
  138.     return;
  139.    
  140.  
  141.  
  142. });
  143.  
  144. bot.on("guildMemberRemove", member =>{
  145.  
  146.     let channel =  member.guild.channels.find(`name`, `member-log`);
  147.     if(!channel) return;
  148.     let embed = new Discord.RichEmbed()
  149.     .setColor("#39afdd")
  150.     .setAuthor("Action | User Left", member.user.displayAvatarURL)
  151.     .setDescription(`
  152.       **• User:** ${member.user}
  153.     `)
  154.    
  155.     channel.send(embed);
  156.     return;
  157.  
  158. });
  159.  
  160.  
  161. bot.login(config.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement