Remade a lot of events

This commit is contained in:
ahoZiorce
2018-07-03 18:36:15 +02:00
parent f8ae900303
commit 91648fe9af

View File

@@ -6,7 +6,28 @@ const configM = require('../configManager');
// Redo the first events because they're probably fucked up
exports.loadModule = function loadModule () {
// Add reason in the events
function buildDiffs(after, before) {
let str = '';
let doneKeys = [];
Object.keys(after).forEach(key => {
let one = typeof (before[key]) === 'object' ? JSON.stringify(before[key]) : before[key];
let two = typeof (after[key]) === 'object' ? JSON.stringify(after[key]) : after[key];
str += key + ' | ' + one + ' -> ' + two + '\n';
doneKeys.push(key);
});
Object.keys(before).forEach(key => {
if (!doneKeys.includes(key)) {
let one = typeof (before[key]) === 'object' ? JSON.stringify(before[key]) : before[key];
let two = typeof (after[key]) === 'object' ? JSON.stringify(after[key]) : after[key];
str += key + ' | ' + one + ' -> ' + two + '\n';
}
});
return str;
}
exports.loadModule = function loadModule() {
bot.on('channelCreate', async channel => {
if (channel.type !== 0 && channel.type !== 2) return;
// Add support for categories
@@ -19,30 +40,39 @@ exports.loadModule = function loadModule () {
let entry = auditlog.entries[0];
let hb = "";
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'Gateway Event Info :\n';
hastebinMessage += 'New Channel ' + channel.name + ' data as JSON\n\n';
let hastebinMessage = 'channelCreate event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(channel) + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Audit Log Time !\n\n';
hastebinMessage += 'User :\n';
hastebinMessage += JSON.stringify(entry.user) + '\n\n';
hastebinMessage += entry.user.username + '#' + entry.user.discriminator + ' with id ' + entry.user.id;
hastebinMessage += 'Responsible User\'s Name : ' + entry.user.username + '#' + entry.user.discriminator + '\n';
hastebinMessage += 'Responsible User\'s Id : ' + entry.user.id + '\n\n';
hastebinMessage += 'Channel Name : ' + channel.name + '\n';
hastebinMessage += 'Channel Id : ' + channel.id + '\n';
hastebinMessage += 'Channel Type : ' + (channel.type === 0 ? 'Text' : 'Voice') + '\n';
if (channel.type === 0) {
hastebinMessage += 'Channel Topic : ' + channel.topic + '\n';
hastebinMessage += (channel.nsfw === true ? 'Channel is nsfw' : 'Channel is not nsfw') + '\n\n';
}
hastebinMessage += 'Reason : ' + entry.reason + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Hyper cool before -> after event thing :\n';
hastebinMessage += buildDiffs(entry.after, entry.before) + '\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let type = "";
if (channel.type === 0) {
if (channel.type === 0) {
type = "text";
}
else {
type = "voice";
}
let mention = channel.mention;
if (channel.type === 2) mention.shift();
let finalMessage = a.event.msg.replace('$type', type).replace('$mention', mention).replace('$id', channel.id).replace('$timestamp', channel.createdAt).replace('$hastebin', hb).replace('$name', channel.name).replace('$user', entry.user.username + '#' + entry.user.discriminator).replace('$userId', entry.user.id);
let finalMessage = a.event.msg.replace('$type', type).replace('$channelId', channel.id).replace('$channel', channel.name).replace('$hastebin', hb).replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$reason', entry.reason);
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch(e) {
catch (e) {
console.log(e);
}
});
@@ -58,30 +88,39 @@ exports.loadModule = function loadModule () {
let entry = auditlog.entries[0];
let hb = "";
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'Gateway Event Info :\n';
hastebinMessage += 'Channel Removed ' + channel.name + ' data as JSON\n\n';
let hastebinMessage = 'channelDelete event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(channel) + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Audit Log Time !\n\n';
hastebinMessage += 'User :\n';
hastebinMessage += JSON.stringify(entry.user) + '\n\n';
hastebinMessage += entry.user.username + '#' + entry.user.discriminator + ' with id ' + entry.user.id;
hastebinMessage += 'Responsible User\'s Name : ' + entry.user.username + '#' + entry.user.discriminator + '\n';
hastebinMessage += 'Responsible User\'s Id : ' + entry.user.id + '\n\n';
hastebinMessage += 'Channel Name : ' + channel.name + '\n';
hastebinMessage += 'Channel Id : ' + channel.id + '\n';
hastebinMessage += 'Channel Type : ' + (channel.type === 0 ? 'Text' : 'Voice') + '\n';
if (channel.type === 0) {
hastebinMessage += 'Channel Topic : ' + channel.topic + '\n';
hastebinMessage += (channel.nsfw === true ? 'Channel was nsfw' : 'Channel was not nsfw') + '\n\n';
}
hastebinMessage += 'Reason : ' + entry.reason + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Hyper cool before -> after event thing :\n';
hastebinMessage += buildDiffs(entry.after, entry.before) + '\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let type = "";
if (channel.type === 0) {
if (channel.type === 0) {
type = "text";
}
else {
type = "voice";
}
let mention = channel.mention;
if (channel.type === 2) mention.shift();
let finalMessage = a.event.msg.replace('$type', type).replace('$id', channel.id).replace('$timestamp', channel.createdAt).replace('$hastebin', hb).replace('$name', channel.name).replace('$user', entry.user.username + '#' + entry.user.discriminator).replace('$userId', entry.user.id);
let finalMessage = a.event.msg.replace('$type', type).replace('$channelId', channel.id).replace('$channel', channel.name).replace('$hastebin', hb).replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$reason', entry.reason);
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch(e) {
catch (e) {
console.log(e);
}
});
@@ -119,49 +158,53 @@ exports.loadModule = function loadModule () {
// Add support for categories
// Also, add independent support for each type of channels
// Also, parse json with circular object support
// Voice channel support (bitrate)
try {
let a = await dbEI.getEvent(channel.guild.id, 'channelUpdate');
if (a.event.d === true) {
let auditlog = await bot.getGuildAuditLogs(channel.guild.id, 1);
let entry = auditlog.entries[0];
console.log(entry.before);
console.log(entry.after);
console.log(entry);
let hb = "";
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'Gateway Event Info :\n';
hastebinMessage += 'New Channel ' + channel.name + ' data as JSON\n\n';
hastebinMessage += JSON.stringify(channel) + '\n\n';
hastebinMessage += 'Old Channel ' + oldChannel.name + ' data as JSON\n\n';
let hastebinMessage = 'channelUpdate event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(oldChannel) + '\n\n';
hastebinMessage += JSON.stringify(channel) + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Audit Log Time !\n\n';
hastebinMessage += 'What changed :\n';
hastebinMessage += 'Before :\n';
hastebinMessage += JSON.stringify(entry.before) + '\n';
hastebinMessage += 'After :\n';
hastebinMessage += JSON.stringify(entry.after) + '\n';
hastebinMessage += 'User :\n';
hastebinMessage += JSON.stringify(entry.user) + '\n\n';
hastebinMessage += entry.user.username + '#' + entry.user.discriminator + ' with id ' + entry.user.id;
hastebinMessage += 'Responsible User\'s Name : ' + entry.user.username + '#' + entry.user.discriminator + '\n';
hastebinMessage += 'Responsible User\'s Id : ' + entry.user.id + '\n\n';
hastebinMessage += 'Channel Id : ' + channel.id + '\n';
hastebinMessage += 'Channel Type : ' + (channel.type === 0 ? 'Text' : 'Voice') + '\n\n';
hastebinMessage += 'Old Channel Name : ' + oldChannel.name + '\n';
if (channel.type === 0) {
hastebinMessage += 'Old Channel Topic : ' + oldChannel.topic + '\n';
hastebinMessage += (oldChannel.nsfw === true ? 'Old Channel was nsfw' : 'Old Channel was not nsfw') + '\n\n';
}
hastebinMessage += 'Updated Channel Name : ' + channel.name + '\n';
if (channel.type === 0) {
hastebinMessage += 'Updated Channel Topic : ' + channel.topic + '\n';
hastebinMessage += (channel.nsfw === true ? 'Updated Channel is nsfw' : 'Updated Channel is not nsfw') + '\n\n';
}
hastebinMessage += 'Reason : ' + entry.reason + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Hyper cool before -> after event thing :\n';
hastebinMessage += buildDiffs(entry.after, entry.before) + '\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let type = "";
if (channel.type === 0) {
if (channel.type === 0) {
type = "text";
}
else {
type = "voice";
}
let mention = channel.mention;
if (channel.type === 2) mention.shift();
let mentionOld = oldChannel.mention;
if (channel.type === 2) mentionOld.shift();
let finalMessage = a.event.msg.replace('$type', type).replace('$mention', mention).replace('$id', channel.id).replace('$timestamp', channel.createdAt).replace('$hastebin', hb).replace('$name', channel.name).replace('$oldMention', mentionOld).replace('$oldTimestamp', oldChannel.createdAt).replace('$oldName', oldChannel.name).replace('$user', entry.user.username + '#' + entry.user.discriminator).replace('$userId', entry.user.id);
let finalMessage = a.event.msg.replace('$type', type).replace('$oldChannel', oldChannel.name).replace('$channelId', channel.id).replace('$channel', channel.name).replace('$hastebin', hb).replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$reason', entry.reason);
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch(e) {
catch (e) {
console.log(e);
}
});
@@ -174,24 +217,24 @@ exports.loadModule = function loadModule () {
let entry = auditlog.entries[0];
let hb = "";
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'User banned :\n';
hastebinMessage += JSON.stringify(user) + '\n';
hastebinMessage += user.username + '#' + user.discriminator + ' with id ' + user.id + '\n\n';
let hastebinMessage = 'guildBanAdd event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(user) + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Audit Log Informations !\n\n';
hastebinMessage += 'Additional informations on the ban :\n';
hastebinMessage += 'Reason :\n\n';
hastebinMessage += entry.reason + '\n\n';
hastebinMessage += 'Responsible :\n';
hastebinMessage += JSON.stringify(entry.user) + '\n';
hastebinMessage += entry.user.username + '#' + entry.user.discriminator + ' with id ' + entry.user.id;
hastebinMessage += 'Responsible User\'s Name : ' + entry.user.username + '#' + entry.user.discriminator + '\n';
hastebinMessage += 'Responsible User\'s Id : ' + entry.user.id + '\n\n';
hastebinMessage += 'Banned User\'s Name : ' + user.username + '#' + user.discriminator + '\n';
hastebinMessage += 'Banned User\'s Id : ' + entry.user.id + '\n\n';
hastebinMessage += 'Reason : ' + entry.reason + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let finalMessage = a.event.msg.replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$userId', user.id).replace('$user', user.username + '#' + user.discriminator).replace('$hastebin', hb).replace('$reason', entry.reason);
let finalMessage = a.event.msg.replace('$bannedId', user.id).replace('$banned', user.username + '#' + user.discriminator).replace('$hastebin', hb).replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$reason', entry.reason);
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch(e) {
catch (e) {
console.log(e);
}
});
@@ -203,24 +246,24 @@ exports.loadModule = function loadModule () {
let entry = auditlog.entries[0];
let hb = "";
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'User unbanned :\n';
hastebinMessage += JSON.stringify(user) + '\n';
hastebinMessage += user.username + '#' + user.discriminator + ' with id ' + user.id + '\n\n';
let hastebinMessage = 'guildBanRemove event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(user) + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Audit Log Informations !\n\n';
hastebinMessage += 'Additional informations on the unban :\n';
hastebinMessage += 'Reason :\n\n';
hastebinMessage += entry.reason + '\n\n';
hastebinMessage += 'Responsible :\n';
hastebinMessage += JSON.stringify(entry.user) + '\n';
hastebinMessage += entry.user.username + '#' + entry.user.discriminator + ' with id ' + entry.user.id;
hastebinMessage += 'Responsible User\'s Name : ' + entry.user.username + '#' + entry.user.discriminator + '\n';
hastebinMessage += 'Responsible User\'s Id : ' + entry.user.id + '\n\n';
hastebinMessage += 'Unbanned User\'s Name : ' + user.username + '#' + user.discriminator + '\n';
hastebinMessage += 'Unbanned User\'s Id : ' + entry.user.id + '\n\n';
hastebinMessage += 'Reason : ' + entry.reason + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let finalMessage = a.event.msg.replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$userId', user.id).replace('$user', user.username + '#' + user.discriminator).replace('$hastebin', hb).replace('$reason', entry.reason);
let finalMessage = a.event.msg.replace('$unbannedId', user.id).replace('$unbanned', user.username + '#' + user.discriminator).replace('$hastebin', hb).replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$reason', entry.reason);
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch(e) {
catch (e) {
console.log(e);
}
});
@@ -232,29 +275,28 @@ exports.loadModule = function loadModule () {
let entry = auditlog.entries[0];
let hb = "";
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'Gateway info :\n';
hastebinMessage += 'New emojis array\n\n';
hastebinMessage += JSON.stringify(emojis) + '\n\n';
hastebinMessage += 'Old emojis array\n\n';
let hastebinMessage = 'guildEmojiAdd event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(oldEmojis) + '\n\n';
hastebinMessage += JSON.stringify(emojis) + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Audit Log Moment of the day !\n\n';
hastebinMessage += 'State of the emoji before :\n';
hastebinMessage += JSON.stringify(entry.before) + ' (no way, it\'s the emoji create event also, what did you expect)\n\n';
hastebinMessage += 'State of the emoji after :\n\n';
hastebinMessage += JSON.stringify(entry.after) + '\n\n';
hastebinMessage += 'Full emoji object à la audit log :\n\n';
hastebinMessage += JSON.stringify(entry.target) + '\n\n';
hastebinMessage += 'Responsible :\n\n';
hastebinMessage += JSON.stringify(entry.user) + '\n';
hastebinMessage += entry.user.username + '#' + entry.user.discriminator + ' with id ' + entry.user.id;
hastebinMessage += 'Responsible User\'s Name : ' + entry.user.username + '#' + entry.user.discriminator + '\n';
hastebinMessage += 'Responsible User\'s Id : ' + entry.user.id + '\n\n';
hastebinMessage += 'Emoji Name : ' + entry.target.name + '\n';
hastebinMessage += 'Emoji Id : ' + entry.target.id + '\n\n';
hastebinMessage += 'Reason : ' + entry.reason + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Hyper cool before -> after event thing :\n';
hastebinMessage += buildDiffs(entry.after, entry.before) + '\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let finalMessage = a.event.msg.replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$emojiId', entry.target.id).replace('$emoji', entry.target.name).replace('$hastebin', hb);
let finalMessage = a.event.msg.replace('$emojiId', entry.target.id).replace('$emoji', entry.target.name).replace('$hastebin', hb).replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$reason', entry.reason);
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch(e) {
catch (e) {
console.log(e);
}
}
@@ -266,29 +308,29 @@ exports.loadModule = function loadModule () {
let entry = auditlog.entries[0];
let hb = "";
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'Gateway info :\n';
hastebinMessage += 'New emojis array\n\n';
hastebinMessage += JSON.stringify(emojis) + '\n\n';
hastebinMessage += 'Old emojis array\n\n';
let hastebinMessage = 'guildEmojiUpdate event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(oldEmojis) + '\n\n';
hastebinMessage += JSON.stringify(emojis) + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Audit Log Thing !\n\n';
hastebinMessage += 'State of the emoji before :\n';
hastebinMessage += JSON.stringify(entry.before) + ' (yep, this time it\'s an update)\n\n';
hastebinMessage += 'State of the emoji after :\n\n';
hastebinMessage += JSON.stringify(entry.after) + '\n\n';
hastebinMessage += 'Full emoji object à la audit log :\n\n';
hastebinMessage += JSON.stringify(entry.target) + '\n\n';
hastebinMessage += 'Responsible :\n\n';
hastebinMessage += JSON.stringify(entry.user) + '\n';
hastebinMessage += entry.user.username + '#' + entry.user.discriminator + ' with id ' + entry.user.id;
hastebinMessage += 'Responsible User\'s Name : ' + entry.user.username + '#' + entry.user.discriminator + '\n';
hastebinMessage += 'Responsible User\'s Id : ' + entry.user.id + '\n\n';
hastebinMessage += 'Emoji Id : ' + entry.target.id + '\n\n';
hastebinMessage += 'Updated Emoji Name : ' + entry.after.name + '\n\n';
hastebinMessage += 'Old Emoji Name : ' + entry.before.name + '\n\n';
hastebinMessage += 'Reason : ' + entry.reason + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Hyper cool before -> after event thing :\n';
hastebinMessage += buildDiffs(entry.after, entry.before) + '\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let finalMessage = a.event.msg.replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$emojiId', oldEmojis[0].id).replace('$emoji', entry.target.name).replace('$hastebin', hb);
let finalMessage = a.event.msg.replace('$emojiId', entry.target.id).replace('$emoji', entry.target.name).replace('$oldEmoji', entry.before.name).replace('$hastebin', hb).replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$reason', entry.reason);
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch(e) {
catch (e) {
console.log(e);
}
}
@@ -300,29 +342,28 @@ exports.loadModule = function loadModule () {
let entry = auditlog.entries[0];
let hb = "";
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'Gateway info :\n';
hastebinMessage += 'New emojis array\n\n';
hastebinMessage += JSON.stringify(emojis) + '\n\n';
hastebinMessage += 'Old emojis array\n\n';
let hastebinMessage = 'guildEmojiDelete event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(oldEmojis) + '\n\n';
hastebinMessage += JSON.stringify(emojis) + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Audit Log:tm: Again:tm: !\n\n';
hastebinMessage += 'State of the emoji before :\n';
hastebinMessage += JSON.stringify(entry.before) + '\n\n';
hastebinMessage += 'State of the emoji after :\n\n';
hastebinMessage += JSON.stringify(entry.after) + ' (nope again, it\'s a delete event smh)\n\n';
hastebinMessage += 'Full emoji object à la audit log :\n\n';
hastebinMessage += JSON.stringify(entry.target) + '\n\n';
hastebinMessage += 'Responsible :\n\n';
hastebinMessage += JSON.stringify(entry.user) + '\n';
hastebinMessage += entry.user.username + '#' + entry.user.discriminator + ' with id ' + entry.user.id;
hastebinMessage += 'Responsible User\'s Name : ' + entry.user.username + '#' + entry.user.discriminator + '\n';
hastebinMessage += 'Responsible User\'s Id : ' + entry.user.id + '\n\n';
hastebinMessage += 'Deleted Emoji Name : ' + entry.target.name + '\n';
hastebinMessage += 'Deleted Emoji Id : ' + entry.target.id + '\n\n';
hastebinMessage += 'Reason : ' + entry.reason + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Hyper cool before -> after event thing :\n';
hastebinMessage += buildDiffs(entry.after, entry.before) + '\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let finalMessage = a.event.msg.replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$emojiId', oldEmojis[0].id).replace('$emoji', oldEmojis[0].name).replace('$hastebin', hb);
let finalMessage = a.event.msg.replace('$emojiId', entry.target.id).replace('$emoji', entry.target.name).replace('$hastebin', hb).replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$reason', entry.reason);
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch(e) {
catch (e) {
console.log(e);
}
}
@@ -346,23 +387,26 @@ exports.loadModule = function loadModule () {
if (a.event.d === true) {
let hb = "";
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'Gateway info :\n';
hastebinMessage += 'Member info :\n\n';
hastebinMessage += JSON.stringify(member);
hastebinMessage += member.user.username + '#' + member.user.discriminator + ' with id ' + member.user.id;
let hastebinMessage = 'guildMemberAdd event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(member) + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'No Audit Log time this time lol !\n\n';
hastebinMessage += 'New Member\'s Name : ' + member.user.username + '#' + member.user.discriminator + '\n';
hastebinMessage += 'New Member\'s Id : ' + member.user.id + '\n';
hastebinMessage += (member.user.bot ? 'New member is a bot' : 'New member is not a bot') + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let finalMessage = a.event.msg.replace('$memberId', member.user.id).replace('$member', member.user.username + '#' + member.user.discriminator).replace('$hastebin', hb);
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch(e) {
catch (e) {
console.log(e);
}
});
let lastAuditLogId = '';
let lastKickAuditLogId = {};
// Maybe make a second thing like guildMemberLeft
async function guildMemberRemove(guild, member) {
try {
@@ -370,51 +414,51 @@ exports.loadModule = function loadModule () {
if (a.event.d === true) {
let hb = "";
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'Gateway info :\n';
hastebinMessage += 'Member info :\n\n';
hastebinMessage += JSON.stringify(member) + '\n';
hastebinMessage += member.user.username + '#' + member.user.discriminator + ' with id ' + member.user.id + '\n\n';
let hastebinMessage = 'guildMemberRemove event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(member) + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'No Audit Log time this time lol !';
hastebinMessage += 'Member\'s Name : ' + member.user.username + '#' + member.user.discriminator + '\n';
hastebinMessage += 'Member\'s Id : ' + member.user.id + '\n';
hastebinMessage += (member.user.bot ? 'Member was a bot' : 'Member was not a bot') + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let finalMessage = a.event.msg.replace('$memberId', member.user.id).replace('$member', member.user.username + '#' + member.user.discriminator).replace('$hastebin', hb);
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch(e) {
catch (e) {
console.log(e);
}
}
// Make a second thing like that for Pollr like mod-log
async function guildMemberKick(guild, member) {
async function guildMemberKick(guild, member, auditlog) {
try {
let a = await dbEI.getEvent(guild.id, 'guildMemberKick');
if (a.event.d === true) {
let auditlog = await bot.getGuildAuditLogs(guild.id, 1);
let entry = auditlog.entries[0];
lastAuditLogId = entry.id;
let hb = "";
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'Gateway info :\n';
hastebinMessage += 'Member info :\n\n';
hastebinMessage += JSON.stringify(member) + '\n';
hastebinMessage += member.user.username + '#' + member.user.discriminator + ' with id ' + member.user.id + '\n\n';
let hastebinMessage = 'guildMemberKick event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(member) + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Audit Log Can you see ?\n';
hastebinMessage += 'Additional information on the kick\n\n';
hastebinMessage += 'Reason :\n';
hastebinMessage += entry.reason + '\n\n';
hastebinMessage += 'Responsible :\n';
hastebinMessage += JSON.stringify(entry.user) + '\n';
hastebinMessage += entry.user.username + '#' + entry.user.discriminator + ' with id ' + entry.user.id;
hastebinMessage += 'Responsible User\'s Name : ' + entry.user.username + '#' + entry.user.discriminator + '\n';
hastebinMessage += 'Responsible User\'s Id : ' + entry.user.id + '\n\n';
hastebinMessage += 'Kicked User\'s Name : ' + member.user.username + '#' + member.user.discriminator + '\n';
hastebinMessage += 'Kicked User\'s Id : ' + member.user.id + '\n\n';
hastebinMessage += 'Reason : ' + entry.reason + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let finalMessage = a.event.msg.replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$memberId', member.user.id).replace('$member', member.user.username + '#' + member.user.discriminator).replace('$reason', entry.reason).replace('$hastebin', hb);
let finalMessage = a.event.msg.replace('$kickedId', member.user.id).replace('$kicked', member.user.username + '#' + member.user.discriminator).replace('$hastebin', hb).replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$reason', entry.reason);
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch(e) {
catch (e) {
console.log(e);
}
}
@@ -423,8 +467,8 @@ exports.loadModule = function loadModule () {
let date = new Date();
let auditlog = await bot.getGuildAuditLogs(guild.id, 1);
let entry = auditlog.entries[0];
if (entry.actionType === 20 && entry.id !== lastAuditLogId) {
return guildMemberKick(guild, member);
if (entry.actionType === 20 && entry.id !== lastAuditLogId[guild.id]) {
return guildMemberKick(guild, member, auditlog);
}
else if (entry.actionType !== 22) {
return guildMemberRemove(guild, member);
@@ -434,4 +478,44 @@ exports.loadModule = function loadModule () {
console.log(e);
}
});
bot.on('guildMemberUpdate', async (guild, member, oldMember) => {
try {
let a = await dbEI.getEvent(guild.id, 'guildMemberUpdate');
if (a.event.d === true) {
let auditlog = await bot.getGuildAuditLogs(guild.id, 1);
let entry = auditlog.entries[0];
let hb = "";
let diffs = '';
if (a.event.msg.includes("$hastebin") || a.event.msg.includes("$recapitulative")) {
diffs = buildDiffs(entry.after, entry.before);
}
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'guildMemberUpdate event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(oldMember) + '\n\n';
hastebinMessage += JSON.stringify(member) + '\n\n';
hastebinMessage += '---\n\n';
if (entry.user !== member.user) {
hastebinMessage += 'Responsible User\'s Name : ' + entry.user.username + '#' + entry.user.discriminator + '\n';
hastebinMessage += 'Responsible User\'s Id : ' + entry.user.id + '\n\n';
}
hastebinMessage += 'Member\'s Name : ' + member.user.username + '#' + member.user.discriminator + '\n';
hastebinMessage += 'Member\'s Id : ' + member.user.id + '\n';
hastebinMessage += 'Member\'s Nickname : ' + member.nick + '\n\n';
hastebinMessage += 'Reason : ' + entry.reason + '\n\n';
hastebinMessage += '---\n\n';
hastebinMessage += 'Hyper cool before -> after event thing :\n';
hastebinMessage += diffs + '\n';
hastebinMessage += '---\n\n';
hastebinMessage += new Date().toISOString();
hb = await hastebin(configM.config.hastebinServer, hastebinMessage);
}
let finalMessage = a.event.msg.replace('$memberId', member.user.id).replace('$member', member.user.username).replace('$hastebin', hb).replace('$responsibleId', entry.user.id).replace('$responsible', entry.user.username + '#' + entry.user.discriminator).replace('$reason', entry.reason).replace('$recapitulative', diffs);;
bot.createMessage(a.event.c === 'f' ? a.fallbackChannelId : a.event.c, finalMessage);
}
}
catch (e) {
console.log(e);
}
});
};