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);
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);