Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require("discord.js");
- const fs = require("fs")
- const {stripIndent} = require("common-tags")
- const config = require("./config.json");
- const prefix = config.prefix;
- const bot = new Discord.Client();
- bot.commands = new Discord.Collection();
- const mongoose = require("mongoose");
- mongoose.connect("", {
- useNewUrlParser: true,
- useCreateIndex: true
- })
- const User = require("./models/users.js");
- User.findOrCreate = async function (user) {
- if ([user.id, user.tag].some(p => typeof p !== "string"))
- throw new TypeError("User ID and tag must be a string")
- let resUser = await this.findOne({userID: user.id, guildID})
- if (!resUser) {
- console.log("User not in DB - creating the user.")
- resUser = new User({
- userID: user.id,
- tag: user.tag
- })
- await resUser.save()
- console.log("User created")
- }
- return resUser
- }
- bot.db = {
- User
- }
- //command handler
- fs.readdir("./commands/", (err, files) => {
- if(err) console.log(err);
- let jsfile = files.filter(f => f.split(".").pop() === "js");
- if(jsfile.length <= 0){
- console.log("Couldn't find commands.");
- return;
- }
- jsfile.forEach((f, i) =>{
- let props = require(`./commands/${f}`);
- console.log(`${f} loaded!`);
- bot.commands.set(props.help.name, props);
- });
- });
- //Ready Event
- bot.on("ready" , async ()=> {
- console.log(`${bot.user.username} is online!\nIn ${bot.guilds.size} Guild!\nServing ${bot.users.size} users!`)
- });
- //Message Event
- bot.on('message', message => {
- let sender = message.author;
- let msg = message.content.toUpperCase();
- let messageArray = message.content.split(" ");
- let args = messageArray.slice(1);
- let cmd = messageArray[0];
- let commandfile = bot.commands.get(cmd.slice(prefix.length));
- //cmd handler
- if(commandfile) commandfile.run(bot,message,args);
- });
- bot.on("messageDelete", (message) => {
- let chnl1 = bot.channels.find(c => c.name === "message-log")
- if (message.content.startsWith(prefix))
- return;
- if (message.author.id === bot.user.id)
- return;
- let msge = new Discord.RichEmbed()
- .setAuthor("Action | Message Delete", message.author.displayAvatarURL)
- .setDescription(stripIndent`
- **• Author:** ${message.author}
- **• Message:** ${message.content}
- **• Deleted in:** ${message.channel}
- `)
- .setColor(0xFFFF00)
- .setFooter(bot.user.username, bot.user.avatarURL)
- .setTimestamp();
- chnl1.send(msge)
- });
- bot.on("messageUpdate", (oldMessage, newMessage) => {
- if (oldMessage.content === newMessage.content)
- return
- let chnl1 = bot.channels.find(c => c.name === "message-log")
- let msge = new Discord.RichEmbed()
- .setAuthor("Action | Message Edit", oldMessage.author.displayAvatarURL)
- .setDescription(stripIndent`
- **• Author:** ${oldMessage.author}
- **• Old message:** ${oldMessage.content}
- **• New message:** ${newMessage.content}
- **• Edited in:** ${newMessage.channel}
- `)
- .setColor(0x1FF0B4)
- .setFooter(bot.user.username, bot.user.avatarURL)
- .setTimestamp();
- chnl1.send(msge);
- });
- bot.on("guildMemberAdd", member =>{
- let channel = member.guild.channels.find(`name`, `member-log`);
- let aRole = (member.guild.roles.find("name", "Member"))
- if(!channel) return;
- let embed = new Discord.RichEmbed()
- .setColor("#39afdd")
- .setAuthor("Action | User Joined", member.user.displayAvatarURL)
- .setDescription(`
- **• User:** ${member.user}
- **• To get started:** Please read <#545675332225728514>
- **• Server IP ** 178.32.54.40:28195
- `)
- channel.send(embed);
- member.addRole(aRole);
- return;
- });
- bot.on("guildMemberRemove", member =>{
- let channel = member.guild.channels.find(`name`, `member-log`);
- if(!channel) return;
- let embed = new Discord.RichEmbed()
- .setColor("#39afdd")
- .setAuthor("Action | User Left", member.user.displayAvatarURL)
- .setDescription(`
- **• User:** ${member.user}
- `)
- channel.send(embed);
- return;
- });
- bot.login(config.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement