forked from Galactic/galactic-bot
Allow audit logs to create infractions for bot cases
This commit is contained in:
parent
0d00855d8c
commit
a0f62fa4d5
@ -27,7 +27,6 @@ class AuditLogObserver extends Observer {
|
|||||||
const settings = await guild.settings();
|
const settings = await guild.settings();
|
||||||
if(!settings.moderationLog.channel || !settings.moderationLog.infractions.includes('BAN')) return undefined; //This is checked by the infraction handling, but it may save resources if checked earlier.
|
if(!settings.moderationLog.channel || !settings.moderationLog.infractions.includes('BAN')) return undefined; //This is checked by the infraction handling, but it may save resources if checked earlier.
|
||||||
const audit = await this._fetchFirstEntry(guild, user, 'MEMBER_BAN_ADD');
|
const audit = await this._fetchFirstEntry(guild, user, 'MEMBER_BAN_ADD');
|
||||||
if(!audit || audit.executor.id === this.client.user.id) return undefined;
|
|
||||||
new Infraction(this.client, {
|
new Infraction(this.client, {
|
||||||
type: 'BAN',
|
type: 'BAN',
|
||||||
targetType: 'USER',
|
targetType: 'USER',
|
||||||
@ -42,7 +41,6 @@ class AuditLogObserver extends Observer {
|
|||||||
const settings = await guild.settings();
|
const settings = await guild.settings();
|
||||||
if(!settings.moderationLog.channel || !settings.moderationLog.infractions.includes('UNBAN')) return undefined; //This is checked by the infraction handling, but it may save resources if checked earlier.
|
if(!settings.moderationLog.channel || !settings.moderationLog.infractions.includes('UNBAN')) return undefined; //This is checked by the infraction handling, but it may save resources if checked earlier.
|
||||||
const audit = await this._fetchFirstEntry(guild, user, 'MEMBER_BAN_REMOVE');
|
const audit = await this._fetchFirstEntry(guild, user, 'MEMBER_BAN_REMOVE');
|
||||||
if(!audit || audit.executor.id === this.client.user.id) return undefined;
|
|
||||||
new Infraction(this.client, {
|
new Infraction(this.client, {
|
||||||
type: 'UNBAN',
|
type: 'UNBAN',
|
||||||
targetType: 'USER',
|
targetType: 'USER',
|
||||||
@ -57,7 +55,6 @@ class AuditLogObserver extends Observer {
|
|||||||
const settings = await member.guild.settings();
|
const settings = await member.guild.settings();
|
||||||
if(!settings.moderationLog.channel || !settings.moderationLog.infractions.includes('KICK')) return undefined; //This is checked by the infraction handling, but it may save resources if checked earlier.
|
if(!settings.moderationLog.channel || !settings.moderationLog.infractions.includes('KICK')) return undefined; //This is checked by the infraction handling, but it may save resources if checked earlier.
|
||||||
const audit = await this._fetchFirstEntry(member.guild, member.user, 'MEMBER_KICK');
|
const audit = await this._fetchFirstEntry(member.guild, member.user, 'MEMBER_KICK');
|
||||||
if(!audit || audit.executor.id === this.client.user.id) return undefined;
|
|
||||||
new Infraction(this.client, {
|
new Infraction(this.client, {
|
||||||
type: 'KICK',
|
type: 'KICK',
|
||||||
targetType: 'USER',
|
targetType: 'USER',
|
||||||
@ -80,7 +77,6 @@ class AuditLogObserver extends Observer {
|
|||||||
if(!oldMember.roles.cache.has(mutedRole) && newMember.roles.cache.has(mutedRole)) { //Member was assigned muted role.
|
if(!oldMember.roles.cache.has(mutedRole) && newMember.roles.cache.has(mutedRole)) { //Member was assigned muted role.
|
||||||
if(!settings.moderationLog.infractions.includes('MUTE')) return undefined;
|
if(!settings.moderationLog.infractions.includes('MUTE')) return undefined;
|
||||||
const audit = await this._fetchFirstEntry(newMember.guild, newMember.user, 'MEMBER_ROLE_UPDATE');
|
const audit = await this._fetchFirstEntry(newMember.guild, newMember.user, 'MEMBER_ROLE_UPDATE');
|
||||||
if(!audit || audit.executor.id === this.client.user.id) return undefined;
|
|
||||||
new Infraction(this.client, {
|
new Infraction(this.client, {
|
||||||
type: 'MUTE',
|
type: 'MUTE',
|
||||||
targetType: 'USER',
|
targetType: 'USER',
|
||||||
@ -93,7 +89,6 @@ class AuditLogObserver extends Observer {
|
|||||||
} else if(oldMember.roles.cache.has(mutedRole) && !newMember.roles.cache.has(mutedRole)) { //Member was unassigned muted role.
|
} else if(oldMember.roles.cache.has(mutedRole) && !newMember.roles.cache.has(mutedRole)) { //Member was unassigned muted role.
|
||||||
if(!settings.moderationLog.infractions.includes('UNMUTE')) return undefined;
|
if(!settings.moderationLog.infractions.includes('UNMUTE')) return undefined;
|
||||||
const audit = await this._fetchFirstEntry(newMember.guild, newMember.user, 'MEMBER_ROLE_UPDATE');
|
const audit = await this._fetchFirstEntry(newMember.guild, newMember.user, 'MEMBER_ROLE_UPDATE');
|
||||||
if(!audit || audit.executor.id === this.client.user.id) return undefined;
|
|
||||||
new Infraction(this.client, {
|
new Infraction(this.client, {
|
||||||
type: 'UNMUTE',
|
type: 'UNMUTE',
|
||||||
targetType: 'USER',
|
targetType: 'USER',
|
||||||
@ -112,7 +107,7 @@ class AuditLogObserver extends Observer {
|
|||||||
if(audit.entries.size === 0) return null;
|
if(audit.entries.size === 0) return null;
|
||||||
|
|
||||||
const entry = audit.entries.filter((e) => e?.target?.id === user.id).first();
|
const entry = audit.entries.filter((e) => e?.target?.id === user.id).first();
|
||||||
if(!entry || entry.executor.bot) return null;
|
if(!entry || entry.executor.id === this.client.user.id) return null;
|
||||||
if(entry.target.id !== user.id) return null;
|
if(entry.target.id !== user.id) return null;
|
||||||
if(entry.action !== type) return null;
|
if(entry.action !== type) return null;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user