From d4e76a0fd7ea175d899078932f2a4c8107a946c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20Bl=C3=B6meke?= Date: Fri, 28 Jun 2019 23:53:10 +0200 Subject: [PATCH] Delete all vcalerts when a user gets banned Since they are unnecessary either way, they cannot be triggered anymore and would just idle in the DB --- src/plugins/LocateUser.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/LocateUser.ts b/src/plugins/LocateUser.ts index c74d2c00..fcdc0a9d 100644 --- a/src/plugins/LocateUser.ts +++ b/src/plugins/LocateUser.ts @@ -1,7 +1,7 @@ import { decorators as d, IPluginOptions, getInviteLink, logger } from "knub"; import { ZeppelinPlugin } from "./ZeppelinPlugin"; import humanizeDuration from "humanize-duration"; -import { Message, Member, Guild, TextableChannel, VoiceChannel, Channel } from "eris"; +import { Message, Member, Guild, TextableChannel, VoiceChannel, Channel, User } from "eris"; import { GuildVCAlerts } from "../data/GuildVCAlerts"; import moment = require("moment"); import { resolveMember, sorter, createChunkedMessage, errorMessage, successMessage } from "../utils"; @@ -146,6 +146,14 @@ export class LocatePlugin extends ZeppelinPlugin { } } + @d.event("guildBanAdd") + async onGuildBanAdd(_, user: User) { + const alerts = await this.alerts.getAlertsByUserId(user.id); + alerts.forEach(alert => { + this.alerts.delete(alert.id); + }); + } + async sendAlerts(userid: string) { const triggeredAlerts = await this.alerts.getAlertsByUserId(userid); const member = await resolveMember(this.bot, this.guild, userid);