Advertisement
Guest User

Untitled

a guest
Dec 8th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. const botSettings = require("./botsettings.json");
  2. const Discord = require("discord.js");
  3. const fs = require("fs");
  4. const mysql = require("mysql");
  5.  
  6. const prefix = botSettings.prefix;
  7.  
  8. const bot = new Discord.Client({disableEveryone: true});
  9. bot.commands = new Discord.Collection();
  10. bot.mutes = require("./mutes.json");
  11.  
  12. fs.readdir("./cmds/", (err, files) =>{
  13. if(err) console.err(err);
  14.  
  15. let jsfiles = files.filter(f => f.split(".").pop() === "js");
  16. if(jsfiles.length <=0){
  17. console.log("No commands to load!");
  18. return;
  19. }
  20.  
  21. console.log(`loading ${jsfiles.length} commands!`);
  22.  
  23. jsfiles.forEach((f, i) => {
  24. let props = require(`./cmds/${f}`);
  25. bot.commands.set(props.help.name, props);
  26. });
  27. });
  28.  
  29.  
  30. bot.on("ready", async () => {
  31. console.log(`Bot has started, with ${bot.users.size} users, in ${bot.channels.size} channels of ${bot.guilds.size} guilds.`);
  32.  
  33. bot.user.setActivity(`!help -- on ${bot.guilds.size} servers`);
  34. bot.generateInvite(["ADMINISTRATOR"]).then(link => {
  35. console.log(link);
  36. }).catch(err =>{
  37. console.log(err.stack);
  38. });
  39. });
  40.  
  41.  
  42.  
  43. var con = mysql.createConnection({
  44. host: "localhost",
  45. user: "root",
  46. password: "12345",
  47. database: "discord"
  48. });
  49.  
  50. con.connect(err => {
  51. if(err) throw err;
  52. console.log("Connected to database!");
  53. });
  54.  
  55. function generateXp(){
  56. let max = 30;
  57. let min = 10;
  58.  
  59. return Math.floor(Math.random() * (max - min + 1)) +10;
  60. }
  61.  
  62. bot.on("guildCreate", guild => {
  63. console.log(`New guild joined: ${guild.name} (id: ${guild.id}). This guild has ${guild.memberCount} members!`);
  64. bot.user.setActivity(`!help -- on ${bot.guilds.size} servers`);
  65. con.query(`INSERT INTO guilds (id, name) VALUES ('${guild.id}', '${guild.name}')`);
  66. });
  67.  
  68. bot.on("guildDelete", guild => {
  69. console.log(`I have been removed from: ${guild.name} (id: ${guild.id})`);
  70. bot.user.setActivity(`!help -- on ${bot.guilds.size} servers`);
  71. con.query(`DELETE FROM guilds WHERE id = '${guild.id}'`);
  72. });
  73.  
  74. bot.on("message", async message => {
  75. if(message.author.bot) return;
  76. if(message.channel.type === "dm") return;
  77.  
  78. con.query(`SELECT * FROM xp WHERE id = '${message.author.id}'`, (err, rows) =>{
  79. if(err) throw err;
  80.  
  81. let sql;
  82.  
  83. if(rows[0].guild !== message.guild.id){
  84. sql = `INSERT INTO xp (id, xp, guild) VALUES ('${message.author.id}', ${generateXp()}, '${message.guild.id}')`;
  85. }else{
  86. let xp = rows[0].xp;
  87. sql = `UPDATE xp SET xp = ${xp + generateXp()} WHERE id = '${message.author.id}' AND guild = '${message.guild.id}'`;
  88. }
  89.  
  90. con.query(sql);
  91. })
  92.  
  93. let messageArray = message.content.split(" ");
  94. let command = messageArray[0];
  95. let args = messageArray.slice(1);
  96.  
  97. if(!command.startsWith(prefix)) return;
  98.  
  99. let cmd = bot.commands.get(command.slice(prefix.length));
  100. if(cmd) cmd.run(bot, message, args, con);
  101. });
  102.  
  103. bot.login(botSettings.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement