Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require("discord.js");
- const bot = new Discord.Client();
- const config = require("./config.json");
- bot.on("ready", () => {
- console.log("I am ready!");
- });
- bot.on("guildMemberAdd", member => {
- let guild = member.guild;
- guild.defaultChannel.sendMessage(`Welcome ${member.user} to this server.`).catch(console.error);
- });
- bot.on("guildMemberRemove", member => {
- let guild = member.guild;
- guild.defaultChannel.sendMessage(`${member.user} left this server.`).catch(console.error);
- });
- bot.on("guildCreate", guild => {
- console.log(`New guild added : ${guild.name}, owned by ${guild.owner.user.username}`);
- });
- bot.on("presenceUpdate", (oldMember, newMember) => {
- let guild = newMember.guild;
- let playRole = guild.roles.find("name", "Playing Overwatch");
- if(!playRole) return;
- if(newMember.user.presence.game && newMember.user.presence.game.name === "Overwatch") {
- newMember.addRole(playRole).catch(console.error);
- } else if(!newMember.user.presence.game && newMember.roles.has(playRole.id)) {
- newMember.removeRole(playRole).catch(console.error);
- }
- });
- bot.on("message", message => {
- if (message.author.bot) return;
- if (!message.content.startsWith(config.prefix)) return;
- let command = message.content.split(" ")[0];
- command = command.slice(config.prefix.length);
- let args = message.content.split(" ").slice(1);
- if (command === "add") {
- let numArray = args.map(n=> parseInt(n));
- let total = numArray.reduce( (p, c) => p+c);
- message.channel.sendMessage(total).catch(console.error);
- }
- if (command === "say") {
- message.channel.sendMessage(args.join(" ")).catch(console.error);
- }
- if (command === "help") {
- message.channel.sendMessage("List of commands: add , say , help , ping , foo , kick , eval.")
- }
- if (command === "ping") {
- message.channel.sendMessage("Pong!").catch(console.error);
- } else
- if (command === "foo") {
- let modRole = message.guild.roles.find("name", "Mods");
- if(message.member.roles.has(modRole.id)) {
- message.channel.sendMessage("bar!").catch(console.error);
- } else {
- message.reply("You pleb, you don't have the permission to use this command.").catch(console.error);
- }
- }
- if (command === "kick") {
- let modRole = message.guild.roles.find("name", "Mods");
- if(!message.member.roles.has(modRole.id)) {
- return message.reply("You pleb, you don't have the permission to use this command.").catch(console.error);
- }
- if(message.mentions.users.size === 0) {
- return message.reply("Please mention a user to kick").catch(console.error);
- }
- let kickMember = message.guild.member(message.mentions.users.first());
- if(!kickMember) {
- return message.reply("That user does not seem valid");
- }
- if(!message.guild.member(bot.user).hasPermission("KICK_MEMBERS")) {
- return message.reply("I don't have the permissions (KICK_MEMBER) to do this.").catch(console.error);
- }
- kickMember.kick().then(member => {
- message.reply(`${member.user.username} was succesfully kicked.`).catch(console.error);
- }).catch(console.error)
- }
- if (command === "eval") {
- if(message.author.id !== "218433593741934592") return;
- try {
- var code = args.join(" ");
- var evaled = eval(code);
- if (typeof evaled !== "string")
- evaled = require("util").inspect(evaled);
- message.channel.sendCode("xl", clean(evaled));
- } catch(err) {
- message.channel.sendMessage(`\`ERROR\` \`\`\`xl\n${clean(err)}\n\`\`\``);
- }
- }
- }); // END MESSAGE HANDLER
- function clean(text) {
- if (typeof(text) === "string")
- return text.replace(/`/g, "`" + String.fromCharCode(8203)).replace(/@/g, "@" + String.fromCharCode(8203));
- else
- return text;
- }
- bot.login(config.token);
Advertisement
Advertisement