woomy/src/events/guildMemberAdd.js

95 lines
3.1 KiB
JavaScript
Raw Normal View History

2020-01-25 10:02:43 +00:00
module.exports = async (client, member) => {
const settings = client.getSettings(member.guild.id);
if (settings.welcomeMessage !== "off") {
2020-03-09 01:11:33 +00:00
let chanExists = member.guild.channels.cache.get(settings.welcomeChannel)
2020-01-25 10:02:43 +00:00
if (!chanExists) {
return;
};
welcomeMessage = settings.welcomeMessage.replace("[[user]]", member.user);
welcomeMessage = welcomeMessage.replace("[[server]]", member.guild.name);
welcomeMessage = welcomeMessage.replace("[[members]]", member.guild.memberCount);
member.guild.channels
2020-03-09 01:11:33 +00:00
.cache.get(settings.welcomeChannel)
2020-01-25 10:02:43 +00:00
.send(welcomeMessage)
.catch(console.error);
}
if (settings.autorole !== "off") {
2020-03-09 01:11:33 +00:00
let aRole = member.guild.roles.cache.get(settings.autorole)
2020-01-25 10:02:43 +00:00
if (!aRole) {
return;
};
2020-03-09 01:11:33 +00:00
await member.roles.add(aRole.id).catch(console.error);
2020-01-25 10:02:43 +00:00
};
if(settings.raidMode !== "off") {
if(settings.raidModeStrict == "on") {
member.kick("User bounced.")
if (settings.chatlogsChannel !== "off") {
2020-03-09 01:11:33 +00:00
const channel = member.guild.channels.cache.find(
2020-01-25 10:02:43 +00:00
channel => channel.name === settings.chatlogsChannel
);
if (channel) {
2020-03-09 01:11:33 +00:00
let embed = new Discord.MessageEmbed();
2020-01-25 10:02:43 +00:00
embed.setColor("#1f1f1f");
2020-03-09 01:11:33 +00:00
embed.setAuthor("User bounced:", member.user.avatarURL({dynamic: true}));
2020-01-25 10:02:43 +00:00
embed.setDescription(` User: ${member} (${member.user.id})`, true);
embed.setFooter(`New users are being automatically kicked because raidmode is enabled.`)
try {
2020-03-09 01:11:33 +00:00
channel.send(embed);
2020-01-25 10:02:43 +00:00
} catch (err) {
// probably no permissions to send messages/embeds there
};
};
return;
}
}
2020-03-09 01:11:33 +00:00
let mRole = member.guild.roles.cache.get(settings.mutedRole)
2020-01-25 10:02:43 +00:00
if (!mRole) {
return;
};
2020-03-09 01:11:33 +00:00
await member.roles.add(mRole.id).catch(console.error);
2020-01-25 10:02:43 +00:00
if (settings.chatlogsChannel !== "off") {
2020-03-09 01:11:33 +00:00
const channel = member.guild.channels.cache.find(
2020-01-25 10:02:43 +00:00
channel => channel.name === settings.chatlogsChannel
);
if (channel) {
2020-03-09 01:11:33 +00:00
let embed = new Discord.MessageEmbed();
2020-01-25 10:02:43 +00:00
embed.setColor("#1f1f1f");
2020-03-09 01:11:33 +00:00
embed.setAuthor("User automatically muted:", member.user.avatarURL({dynamic: true}));
2020-01-25 10:02:43 +00:00
embed.setDescription(` User: ${member} (${member.user.id})`, true);
embed.setFooter(`New users are being automatically muted because raidmode is enabled.`)
try {
2020-03-09 01:11:33 +00:00
channel.send(embed);
2020-01-25 10:02:43 +00:00
} catch (err) {
// probably no permissions to send messages/embeds there
};
};
};
};
if (settings.chatlogsChannel !== "off") {
2020-03-09 01:11:33 +00:00
const channel = member.guild.channels.cache.find(
2020-01-25 10:02:43 +00:00
channel => channel.name === settings.chatlogsChannel
);
if (channel) {
2020-03-09 01:11:33 +00:00
let embed = new Discord.MessageEmbed();
2020-01-25 10:02:43 +00:00
embed.setColor("#0099e1");
2020-03-09 01:11:33 +00:00
embed.setAuthor("User joined:", member.user.avatarURL({dynamic: true}));
2020-01-25 10:02:43 +00:00
embed.setDescription(` User: ${member} (${member.user.id})`, true);
try {
channel.send({ embed });
} catch (err) {
// probably no permissions to send messages/embeds there
};
};
};
};