Added custom events

This commit is contained in:
ahoZiorce
2018-07-03 22:56:46 +02:00
parent 5b4f7b44a1
commit 597cdbc0e0
3 changed files with 250 additions and 15 deletions

View File

@@ -1,3 +1,12 @@
const Eris = require('eris');
const configM = require('./configManager');
exports.bot = new Eris(configM.config.token);
exports.bot = new Eris(configM.config.token, {
disableEvents: {
"PRESENCE_UPDATE": true,
"VOICE_STATE_UPDATE": true,
"MESSAGE_DELETE_BULK": true,
"TYPING_START": true,
},
compress: true,
disableEveryone: false,
});

View File

@@ -220,16 +220,14 @@ exports.loadModule = function loadModule() {
console.log(e);
}
});
// Do another option to have a Pollr type of thing for ban, unban and kick
bot.on('guildBanAdd', async (guild, user) => {
async function shameBan(guild, user, auditlog) {
try {
let a = await dbEI.getEvent(guild.id, 'guildBanAdd');
let a = await dbEI.getEvent(guild.id, 'shameBan');
if (a.event.d === true) {
let auditlog = await bot.getGuildAuditLogs(guild.id, 1);
let entry = auditlog.entries[0];
let hb = '';
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'guildBanAdd event triggered :\n\n';
let hastebinMessage = 'shameBan event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(user) + '\n\n';
hastebinMessage += '---\n\n';
@@ -249,12 +247,99 @@ exports.loadModule = function loadModule() {
catch (e) {
console.log(e);
}
}
async function pollrLikeBan(guild, user, auditlog) {
try {
let a = await dbEI.getEvent(guild.id, 'pollrLikeBan');
if (a.event.d === true) {
let entry = auditlog.entries[0];
let hb = '';
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'pollrLikeBan event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(user) + '\n\n';
hastebinMessage += '---\n\n';
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('$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) {
console.log(e);
}
}
bot.on('guildBanAdd', async (guild, user) => {
try {
let auditlog = await bot.getGuildAuditLogs(guild.id, 1);
let a = await dbEI.getEvent(guild.id, 'guildBanAdd');
if (a.event.d === true) {
let entry = auditlog.entries[0];
let hb = '';
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'guildBanAdd event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(user) + '\n\n';
hastebinMessage += '---\n\n';
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('$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);
}
shameBan(guild, user, auditlog);
pollrLikeBan(guild, user, auditlog);
}
catch (e) {
console.log(e);
}
});
async function pollrLikeUnban(guild, user, auditlog) {
try {
let a = await dbEI.getEvent(guild.id, 'pollrLikeUnban');
if (a.event.d === true) {
let entry = auditlog.entries[0];
let hb = '';
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'pollrLikeUnban event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(user) + '\n\n';
hastebinMessage += '---\n\n';
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('$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) {
console.log(e);
}
}
bot.on('guildBanRemove', async (guild, user) => {
try {
let auditlog = await bot.getGuildAuditLogs(guild.id, 1);
let a = await dbEI.getEvent(guild.id, 'guildBanRemove');
if (a.event.d === true) {
let auditlog = await bot.getGuildAuditLogs(guild.id, 1);
let entry = auditlog.entries[0];
let hb = '';
if (a.event.msg.includes("$hastebin")) {
@@ -274,6 +359,7 @@ exports.loadModule = function loadModule() {
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);
}
pollrLikeUnban(guild, user, auditlog);
}
catch (e) {
console.log(e);
@@ -392,7 +478,31 @@ exports.loadModule = function loadModule() {
return guildEmojiDelete(guild, emojis, oldEmojis);
}
});
// Add a second identical event for welcome message like memberJoined
async function memberJoin(guild, member) {
try {
let a = await dbEI.getEvent(guild.id, 'memberJoin');
if (a.event.d === true) {
let hb = '';
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'memberJoin event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(member) + '\n\n';
hastebinMessage += '---\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) {
console.log(e);
}
}
bot.on('guildMemberAdd', async (guild, member) => {
try {
let a = await dbEI.getEvent(guild.id, 'guildMemberAdd');
@@ -413,6 +523,7 @@ exports.loadModule = function loadModule() {
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);
}
memberJoin(guild, member);
}
catch (e) {
console.log(e);
@@ -420,6 +531,31 @@ exports.loadModule = function loadModule() {
});
let lastKickAuditLogId = {};
// Maybe make a second thing like guildMemberLeft
async function memberLeft(guild, member) {
try {
let a = await dbEI.getEvent(guild.id, 'memberLeft');
if (a.event.d === true) {
let hb = '';
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'memberLeft event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(member) + '\n\n';
hastebinMessage += '---\n\n';
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) {
console.log(e);
}
}
async function guildMemberRemove(guild, member) {
try {
let a = await dbEI.getEvent(guild.id, 'guildMemberRemove');
@@ -440,12 +576,68 @@ exports.loadModule = function loadModule() {
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);
}
memberLeft(guild, member);
}
catch (e) {
console.log(e);
}
}
async function shameKick(guild, member, auditlog) {
try {
let a = await dbEI.getEvent(guild.id, 'shameKick');
if (a.event.d === true) {
let entry = auditlog.entries[0];
let hb = '';
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'shameKick event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(member) + '\n\n';
hastebinMessage += '---\n\n';
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('$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) {
console.log(e);
}
}
async function pollrLikeKick(guild, member, auditlog) {
try {
let a = await dbEI.getEvent(guild.id, 'pollrLikeKick');
if (a.event.d === true) {
let entry = auditlog.entries[0];
let hb = '';
if (a.event.msg.includes("$hastebin")) {
let hastebinMessage = 'pollrLikeKick event triggered :\n\n';
hastebinMessage += 'Raw event info :\n\n';
hastebinMessage += JSON.stringify(member) + '\n\n';
hastebinMessage += '---\n\n';
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('$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) {
console.log(e);
}
}
// Make a second thing like that for Pollr like mod-log
async function guildMemberKick(guild, member, auditlog) {
try {
let a = await dbEI.getEvent(guild.id, 'guildMemberKick');
@@ -469,6 +661,8 @@ exports.loadModule = function loadModule() {
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);
}
shameKick(guild, member, auditlog);
pollrLikeKick(guild, member, auditlog);
}
catch (e) {
console.log(e);
@@ -479,7 +673,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[guild.id]) {
if (entry.actionType === 20 && entry.id !== lastKickAuditLogId[guild.id]) {
lastKickAuditLogId[guild.id] = entry.id;
return guildMemberKick(guild, member, auditlog);
}
else if (entry.actionType !== 22) {
@@ -697,6 +892,7 @@ exports.loadModule = function loadModule() {
else {
hastebinMessage += 'Member has deleted himself the message\n\n';
}
console.log(message);
hastebinMessage += 'Message Author\'s Name : ' + message.author.username + '#' + message.author.discriminator + '\n';
hastebinMessage += 'Message Author\'s Id : ' + message.author.id + '\n\n';
hastebinMessage += 'Message Channel Name : ' + message.channel.name + '\n';

View File

@@ -88,11 +88,26 @@ exports.initServer = function initServer(id, cId) {
msg: '',
c: 'f',
},
shameBan: {
d: true,
msg: '',
c: 'f',
},
pollrLikeBan: {
d: true,
msg: '',
c: 'f',
},
guildBanAdd: {
d: true,
msg: '',
c: 'f',
},
pollrLikeUnban: {
d: true,
msg: '',
c: 'f',
},
guildBanRemove: {
d: true,
msg: '',
@@ -113,16 +128,36 @@ exports.initServer = function initServer(id, cId) {
msg: '',
c: 'f',
},
memberJoin: {
d: false,
msg: '',
c: 'f',
},
guildMemberAdd: {
d: true,
msg: '',
c: 'f',
},
memberLeft: {
d: false,
msg: '',
c: 'f',
},
guildMemberRemove: {
d: true,
msg: '',
c: 'f',
},
shameKick: {
d: true,
msg: '',
c: 'f',
},
pollrLikeKick: {
d: true,
msg: '',
c: 'f',
},
guildMemberKick: {
d: true,
msg: '',
@@ -173,11 +208,6 @@ exports.initServer = function initServer(id, cId) {
msg: '',
c: 'f',
},
presenceUpdate: {
d: true,
msg: '',
c: 'f',
},
},
};
return put(id, deflateObj(obj));