Advertisement
Guest User

Bot Code Discord.js

a guest
Dec 16th, 2016
23,014
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require("discord.js");
  2. const bot = new Discord.Client();
  3.  
  4. const config = require("./config.json");
  5.  
  6. bot.on("ready", () => {
  7.   console.log("I am ready!");
  8. });
  9.  
  10. bot.on("guildMemberAdd", member => {
  11.   let guild = member.guild;
  12.   guild.defaultChannel.sendMessage(`Welcome ${member.user} to this server.`).catch(console.error);
  13. });
  14.  
  15. bot.on("guildMemberRemove", member => {
  16.   let guild = member.guild;
  17.   guild.defaultChannel.sendMessage(`${member.user} left this server.`).catch(console.error);
  18. });
  19.  
  20. bot.on("guildCreate", guild => {
  21.   console.log(`New guild added : ${guild.name}, owned by ${guild.owner.user.username}`);
  22. });
  23.  
  24. bot.on("presenceUpdate", (oldMember, newMember) => {
  25.   let guild = newMember.guild;
  26.   let playRole = guild.roles.find("name", "Playing Overwatch");
  27.   if(!playRole) return;
  28.  
  29.   if(newMember.user.presence.game && newMember.user.presence.game.name === "Overwatch") {
  30.     newMember.addRole(playRole).catch(console.error);
  31.   } else if(!newMember.user.presence.game && newMember.roles.has(playRole.id)) {
  32.     newMember.removeRole(playRole).catch(console.error);
  33.   }
  34. });
  35.  
  36. bot.on("message", message => {
  37.   if (message.author.bot) return;
  38.   if (!message.content.startsWith(config.prefix)) return;
  39.  
  40.   let command = message.content.split(" ")[0];
  41.   command = command.slice(config.prefix.length);
  42.  
  43.   let args = message.content.split(" ").slice(1);
  44.  
  45.   if (command === "add") {
  46.     let numArray = args.map(n=> parseInt(n));
  47.     let total = numArray.reduce( (p, c) => p+c);
  48.  
  49.     message.channel.sendMessage(total).catch(console.error);
  50.   }
  51.  
  52.   if (command === "say") {
  53.     message.channel.sendMessage(args.join(" ")).catch(console.error);
  54.   }
  55.  
  56.   if (command === "help") {
  57.       message.channel.sendMessage("List of commands: add , say , help , ping , foo , kick , eval.")
  58.   }
  59.  
  60.   if (command === "ping") {
  61.     message.channel.sendMessage("Pong!").catch(console.error);
  62.   } else
  63.  
  64.   if (command === "foo") {
  65.     let modRole = message.guild.roles.find("name", "Mods");
  66.     if(message.member.roles.has(modRole.id)) {
  67.       message.channel.sendMessage("bar!").catch(console.error);
  68.     } else {
  69.       message.reply("You pleb, you don't have the permission to use this command.").catch(console.error);
  70.     }
  71.   }
  72.  
  73.   if (command === "kick") {
  74.     let modRole = message.guild.roles.find("name", "Mods");
  75.     if(!message.member.roles.has(modRole.id)) {
  76.       return message.reply("You pleb, you don't have the permission to use this command.").catch(console.error);
  77.     }
  78.     if(message.mentions.users.size === 0) {
  79.       return message.reply("Please mention a user to kick").catch(console.error);
  80.     }
  81.     let kickMember = message.guild.member(message.mentions.users.first());
  82.     if(!kickMember) {
  83.       return message.reply("That user does not seem valid");
  84.     }
  85.     if(!message.guild.member(bot.user).hasPermission("KICK_MEMBERS")) {
  86.       return message.reply("I don't have the permissions (KICK_MEMBER) to do this.").catch(console.error);
  87.     }
  88.     kickMember.kick().then(member => {
  89.       message.reply(`${member.user.username} was succesfully kicked.`).catch(console.error);
  90.     }).catch(console.error)
  91.   }
  92.  
  93.   if (command === "eval") {
  94.     if(message.author.id !== "218433593741934592") return;
  95.     try {
  96.       var code = args.join(" ");
  97.       var evaled = eval(code);
  98.  
  99.       if (typeof evaled !== "string")
  100.         evaled = require("util").inspect(evaled);
  101.  
  102.       message.channel.sendCode("xl", clean(evaled));
  103.     } catch(err) {
  104.       message.channel.sendMessage(`\`ERROR\` \`\`\`xl\n${clean(err)}\n\`\`\``);
  105.     }
  106.   }
  107.  
  108. }); // END MESSAGE HANDLER
  109.  
  110. function clean(text) {
  111.   if (typeof(text) === "string")
  112.     return text.replace(/`/g, "`" + String.fromCharCode(8203)).replace(/@/g, "@" + String.fromCharCode(8203));
  113.   else
  114.       return text;
  115. }
  116.  
  117. bot.login(config.token);
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement