Advertisement
Guest User

Untitled

a guest
Oct 8th, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.40 KB | None | 0 0
  1. const botconfig = require("./botconfig.json");
  2. const Discord = require("discord.js");
  3. const fs = require("fs");
  4. const mysql = require("mysql");
  5. const bot = new Discord.Client({disableEveryone: true});
  6. bot.commands = new Discord.Collection();
  7.  
  8. fs.readdir("./commands/", (err, files) => {
  9.  
  10. if (err) console.log(err);
  11.  
  12. let jsfile = files.filter(f => f.split(".").pop() === "js")
  13. if(jsfile.length <= 0){
  14. console.log("Couldn't find commands.");
  15. return;
  16. }
  17.  
  18. jsfile.forEach((f, i) =>{
  19. let props = require(`./commands/${f}`);
  20. console.log(`${f} loaded up!`)
  21. bot.commands.set(props.help.name, props);
  22. });
  23.  
  24. });
  25.  
  26.  
  27.  
  28. bot.on("ready", async () => {
  29. console.log(`${bot.user.username} is online!`);
  30. bot.user.setActivity("ACE FACTOR!");
  31.  
  32. });
  33. //addRole?
  34. bot.on('guildMemberAdd', async member => {
  35. let guild = member.guild;
  36. let server = member.guild.name;
  37. member.addRole(`496801148607397890`);
  38. var logs = guild.channels.find(c => c.name === 'logs');
  39. if (!logs) return console.log("I can't find logs channel.")
  40. const gembed = new Discord.RichEmbed()
  41. .setTitle("Member Enterance")
  42. .setColor("#FF8C00")
  43. .setDescription(`Welcome ${member}, to **${server}**, glad you made a safe landing here.`)
  44. .setTimestamp(new Date())
  45. logs.send(gembed);
  46. });
  47.  
  48. bot.on('guildMemberRemove', async member => {
  49. let guild = member.guild;
  50. var logs = guild.channels.find(c => c.name === 'logs');
  51. if (!logs) return console.log("I can't find logs channel.")
  52. const gembed = new Discord.RichEmbed()
  53. .setTitle("Member Departure")
  54. .setColor("#FF8C00")
  55. .setDescription(`${member}, sorry to see you take off back to where you came from. Have a safe trip!`)
  56. .setTimestamp(new Date())
  57. logs.send(gembed);
  58. });
  59.  
  60. bot.on('messageDelete', async message => {
  61. var logs = message.guild.channels.find(c => c.name === 'ace-factor-logs');
  62. if (!logs) return console.log("I can't find logs channel.");
  63. const dembed = new Discord.RichEmbed()
  64. .setTitle("Message Deleted")
  65. .setColor("#000000")
  66. .setDescription(`A message sent by ${message.author} was deleted in ${message.channel}`)
  67. .addField("Message:", `${message.cleanContent}`)
  68. .setTimestamp(new Date());
  69. logs.send(dembed);
  70. });
  71.  
  72. bot.on("messageUpdate", function (oldMessage, newMessage, channel) {
  73. if (newMessage.channel.type == 'text' && newMessage.cleanContent != oldMessage.cleanContent) {
  74. var logs = newMessage.guild.channels.find(c => c.name === 'ace-factor-logs');
  75. if (!logs) return console.log("I can't find logs channel.");
  76. const eembed = new Discord.RichEmbed()
  77. .setTitle("Message Edit")
  78. .setColor("#000000")
  79. .setDescription(`A message sent by ${newMessage.author} was edited in ${newMessage.channel}`)
  80. .addField(`Old message:`, `${oldMessage.cleanContent}`)
  81. .addField(`New Message:`, `${newMessage.cleanContent}`)
  82. .setTimestamp(new Date())
  83. logs.send(eembed);
  84. }
  85. });
  86.  
  87.  
  88. bot.on("channelCreate", async channel => {
  89. var logs = channel.guild.channels.find(c => c.name === 'logs');
  90. if (!logs) return console.log("I can't find logs channel.");
  91. const cembed = new Discord.RichEmbed()
  92. .setTitle("Channel Created")
  93. .setColor("#FF8C00")
  94. .setDescription(`A **${channel.type} channel**, by the name of **${channel.name}**, was just created!`)
  95. .setTimestamp(new Date());
  96. logs.send(cembed)
  97. });
  98.  
  99. bot.on("channelDelete", async channel => {
  100. var logs = channel.guild.channels.find(c => c.name === 'logs');
  101. if (!logs) return console.log("I can't find logs channel.");
  102. const cembed = new Discord.RichEmbed()
  103. .setTitle("Channel Deleted")
  104. .setColor("#FF8C00")
  105. .setDescription(`A **${channel.type} channel**, by the name of **${channel.name}**, was just deleted!`)
  106. .setTimestamp(new Date())
  107. logs.send(cembed)
  108. });
  109.  
  110. let con = mysql.createConnection({
  111. host: "localhost",
  112. user: "root",
  113. password: "[INSERT PW HERE]",
  114. database: "ace"
  115. });
  116.  
  117. con.connect(err => {
  118. if(err) throw err;
  119. console.log("Access has been accepted into the database!");
  120. con.query("SHOW TABLES", console.log);
  121. });
  122.  
  123. function generateXp() {
  124. let min = 20;
  125. let max = 30;
  126.  
  127. return Math.floor(Math.random() * (max - mix + 1)) + min;
  128. }
  129.  
  130.  
  131. bot.on("message", async message => {
  132. if(message.author.bot) return;
  133. if(message.channel.type === "dm") return;
  134.  
  135. con.query(`SELECT * FROM xp WHERE id = '${message.author.id}'`, (err, rows) => {
  136. if(err) throw err;
  137.  
  138. let sql;
  139.  
  140. if(rows.length < 1) {
  141. sql = `INSERT INTO xp (id, xp) VALUES ('${message.author.id}', ${generateXp}()})`
  142. } else {
  143. let xp = rows[0].xp;
  144. sql = `UPDATE xp SET xp = ${xp + generateXp()} WHERE id = '${message.author.id}'`;
  145. }
  146.  
  147. con.query(sql, console.log);
  148. });
  149.  
  150.  
  151. let prefixes = JSON.parse(fs.readFileSync("./prefixes.json", "utf8"));
  152.  
  153.  
  154.  
  155. if(!prefixes[message.guild.id]){
  156. prefixes[message.guild.id] = {
  157. prefixes: botconfig.prefix
  158. };
  159. }
  160. let prefix = prefixes[message.guild.id].prefixes;
  161. console.log(prefix);
  162. //let prefix = botconfig.prefix;
  163. let messageArray = message.content.split(" ")
  164. let cmd = messageArray[0];
  165. let args = messageArray.slice(1);
  166. let commandfile = bot.commands.get(cmd.slice(prefix.length));
  167. if (!message.content.startsWith(prefix)) return;
  168. if(commandfile) commandfile.run(bot, message, args, con, prefix)
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176. if(!message.member.hasPermission("MANAGE_SERVER"))
  177. return message.reply("You don't have the permissions to manage the server, you will not be able to do this command.");
  178. if(args[0] == "help"){
  179. message.reply("Usage: ~loghelp");
  180. return;
  181. }
  182.  
  183. if(cmd === `${prefix}loghelp`){
  184. return message.channel.send("Far as logs, you will need to make a channel named #logs. This will help you with all of the logs for the server.");
  185. }
  186.  
  187. if(cmd == `${prefix}setlogs`){
  188. let logchannel = message.mentions.channels.first().id || message.guild.channels.find(c => c.name === args.join(' '))
  189. if(!logchannel) return message.channel.send('Can\'t find the log channel!')
  190. con.query(`update guild set logs = ${logchannel} where id = ${message.guild.id}`)
  191. //problem?
  192. return message.channel.send(`Log channel has been set to: <#${logchannel}>`)
  193. }
  194.  
  195.  
  196.  
  197. });
  198.  
  199. bot.login(botconfig.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement